I’m a beginner in Dynare. I’ve browsed many posts regarding steady states in Ramsy optimal problems. My general questions are

Is it feasible to find connections between every variables at their SS with the instrument, say, R?
You usually call “SS condional on the instrument”.

I notice that many users are experienced in stoch_simul and in writing steady_state_model block or a separate file, but they still report error in Ramsey. So except the above Question 1, what else do I need to pay attention to, when solving the conditional SS?

In traditional SS solving session, people often directly set the SS real exchange rate rer to be 1, and set inflation pi as 1 too. Or they normalize some price level, e.g. p_H = 1. Do these strategies still work in Ramsey? Since sometimes I wonder that if the previous Question 1 has a negated answer, then we have to resort to assigning more values on other steady states, but in this way, these SS are now no longer “conditional on the instrument”, just deterministic.

No. Generally, there are variables whose steady state does depend on the instrument and there are others that do not depend on the instrument.

People struggle, because they do not understand the difference between a regular steady state and a steady state conditional on an instrument. The biggest challenge here is to take the value as the instrument as given and pass it through the file.

That very much depends on the setup. If it’s just a normalization, then you should be fine. But if the values you usually normalize depend on the value of the instrument, then this is not ok.

If some variables do not depend on this instrumet, say R_t, then do they create a scope for another instrument, e.g. \tau_t? (assuming \tau_t can not be expressed as a function of R_t) I think the answer is probably yes.

Following the above, suppose now I have 10 equilibrium/optimality conditions for 10 endogenous variables, including Taylor rule for R_t. It’s natural to exclude it, when doing Ramsey optimal problem. Then my next question is: I would like to introduce \tau_t as my second instrument, which extra equation should I exclude? Because I found in many papers the rule for \tau_t is not as clear as for R_t, but their authors definitely proceed to calculate the Ramsey. I’m not sure whether they use ramsey_model command, or use Levin et al.(2006) package, or just pure Matlab.

We can focus on the command ramsey_model(instrument(R, tau),... . In this case, how to execute in the latest version of Dynare? Thank you!

I also noticed the papers mentioning optimal monetary and fiscal policy interactions, eager to know their implementation in Dynare.

Exact the same doubt. The fiscal rule is not as straightforward as the Taylor rule.

May I borrow your idea here, after collecting all equations,

for optimal monetary policy,
equation number(9) + R = endogenous variables number (10), Taylor rule is deleted.

for optimal monetary and fiscal policies,
equation number(8) + R + tau = endog. variables (10), so compared with case above, which 1 equation should I delete from previous 9 equations?

Levin and ramsey_model essentially do the same thing.

For monetary policy, the Taylor rule determines how to set the nominal interest rate. If you do Ramsey, that rule is not needed anymore, because it is now chosen fully optimally under commitment. If you now do fiscal policy in your model, there must have been an equation determining the value of \tau. That’s the equation to leave out. If tau before was not a variable, you will now have a new variable and therefore 11 variables but only 9 equations.

In the budget constraint of households, to prevent some unit-root nonstationary behavior, authors would like to impose some frictions, as in SGU (2003), say: \displaystyle \frac{\delta}{2}\left(B^F_t-B^F\right)^2.

In the model; section of Dynare, we rewrite the term as follows: delta/2*(BF-BFss)^2,
where BFss acts as a parameter, requiring to be pre-determined in parameters section.

But then in the steady_state_model;below, we have to express it into a function of R.

It seems to produce a conflict.

I mean BFss will not be pinned down until steady_state_model; even if we grant initval; it is still after the parameters and model; sessions, in which we already have to use BFss in coding.

Updating dependent parameters in the steady state file is fine. The model solution will only be computed after computing the steady state and setting all parameters.

I’ve seen many .mod codes setting steady states in two parts.
They first set C_ss, Y_ss, L_ss expressions in the parameters session.
Then in steady_state_model; session, C_ss, Y_ss, L_ss pass through to C, Y, L.

Does it imply I can just focus on the steady_state_model; session?

Or in other words, I can combine all C_ss, Y_ss, L_ss expressions of parameters with C, Y, L in the steady_state_model; such that XX_ss is essentially redundant, we compute the ss of XX by directly writing XX = … in the steady_state_model; And overall, there is no need to write XX_ss equations in parameters?

I am unsure about how to “pass through the value of the instrument” in the steady state file for Ramsey. I have specified the instrument and it’s initial value in the .mod file, but if I don’t include the equation setting the steady state value of the instrument in the steady-state file, it gives me “unrecognized function or variable” and a couple of errors pertaining to evaluate_steady_state. Can you please provide an example code for writing a steady-state file conditional on the instrument?

Many codes available online use a log-linearized model for computing Ramsey. So they do not need to provide steady state files. Is it recommended to use a log-linearized model for welfare analysis? I am confused as welfare analysis requires second-order approximation and usually the models are using first order approximation.