Model starts from a different steady-state than my initvals

Dear Dynare users,

I solve a multi-country DSGE model in dynare to obtain the ifrs. I write the model in linear form therefore the model is expressed in percentage deviations, so I also set zero initial values. (I write the command initval; and then all the variables take zero initial value).

After I write the initval; command I DO NOT write the steady; command as I want the model to start from the zero steady-state that I have chosen !

However, when I obtain the ifrs, it seems that the model starts from a different steady-state (it is close to zero, but not zero, some variables have a steady-state like 0.25 etc).

This is crucial because I want to compare the model ifrs with those of ramsey/discretionary policy which when I use then the model starts (normally) from the zero steady-state !!!

Thank you in advance,

If you have a linear model and start from 0, but Dynare finds a different steady state than 0, your model equations are wrong. For linear models, unless there is singularity, the steady state is unique. Dynare then does not find “a” steady state, but “the” steady state given the equations you entered. Dynare finding something else than you imagined, implies that you still have a mistake somewhere. Use

after initval to see which equations have non-zero residuals given the initial values of 0 and fix them.

Hi jpfeifer,

Thank you very much for your reply. I did exactly what you told me but I get ZERO residuals for all 14 equations. This implies that there is no mistake in my equations, right ?

Please provide the mod-file

Please find attached the .mod file. Thank you a lot in advance.
nifrs.mod (9.95 KB)

Notice in the .mod file that in the second equation (dynamic IS with unemployment of country B), If I change the sign of ‘‘phi_b4zetas_ba’’, from minus to plus, then the model is solved with a Zero steady-state. However I checked by hand again and again and it seems that the minus sign (the one i have initially) is correct. Don’t know if this helps.

I am not sure what you are doing. The mod-file with the plus solves with 0 steady state. With the minus, it also solves with 0 steady state, but the Blanchard-Kahn conditions are not satisfied. So there must be a mistake somewhere else if you think the minus is correct. But it has nothing to do with the steady state.

I keep the minus (since I have found that it is correct) and also use the command check; Then I still find that the rank condition is verified. I am saying that the model does not start from a zero steady-state since I see in the IRF that almost none variable starts of converges to a zero steady-state.

However when I put the plus (even if it is wrong) then clearly all variables deviate from and then converge to a zero steady-state.

Can this related with the coefficients associated with the interest rate-rule ? (shall i change the parameter values?)

I kind of see your point. I use the model_diagnostics(M_,options_,oo_)
command and for the model with the minus (the one that i think is correct), it says that there is a collinear relationship. So I guess despite the fact the rank condition is verified, the Blacnahrd KAhn condition is not. Do you understand from the diagnostics which equation is the problematic ?

A last but important comment. I run the ramsey and discretionary policy for this model and it works perfectly (As i mentioned in the beginning). I use the model_diagnostics(M_,options_,oo_) and there is no problem at all. It seems then that the problem is in the interest rate rule (Which I assumed in advance in order to close the model).

Notice that the interest rate rule is not present in the ramsey, discretion problem that’s why i guessed that that is the problem when i run the IRF. Given that this is an interest rate rule that I assumed, it is probably wrong. Any suggestions on how to define a proper interest rate rule to close the model and having the B-K conditions satisfied?

You seem to be confusing something. IRFs do not start at the steady state in the period when the shock hits. Take consumption: it will react immediately. Moreover, IRFs will only go back to steady state in infinite time if the model is stationary (you need to plot really many periods). But in your case, the model has a unit root (use the check; command to see this). Thus, at least some IRFs will be permanent.


I see your point. Thank you very much for this. I did what you suggested. Any ideas on how to deal with this ? ( I mean, if this is normal for a model, or should I change something, like the interest rate rule or the parameter values etc).

Thank you again.

It’s hard to tell as I don’t know the model. You should again try to find out where the unit root comes from. Follow the procedure we discussed in [The rank condition ISN’T verified_1 colinear relationship). Maybe that way you find out whether there is an economic reason for the unit root.

Thank you very much. I will do so.