Steady and steady state

My model has two possible steady states, but one is economically meaningless.
I can solve with a MATLAB file for the steady state that I want. Then, I set the INITVAL part of the program so that the variables have that values.
I expect DYNaRE then to find immediately the steady state, since this coincides with the initval values (I checked that this is the case)
Instead the command STEADY find other values as steady state. This sounds odd to me. I attach the .mod file that show sthis problem.

From the manual is not clear to me in section 3.6.3 how to set an external file so that the .mod file recognize the steady state values of the ordered variables.

My final goal is to simulate a dynamic transition from one steady state to another. I can set the initval and endval calculating them with an external .m file. But the the .mod file will calculate the ss and then the eigenvalues in the wrong way.

prova2.mod (3.2 KB)

Hi Guido,

the values that you enter in INITVAL don’t solve the steady state of the model that you coded in Dynare. I show that in prova2a.mod (attached) in using undocumented command resid(1) that displays the residual of each equation when the variables have the steady state values entered in INITVAL

I also removed the check command, because I realized that check, in version 4, doesn’t work with lagged exogenous variables.

Because we never tested models with lagged exogenous variables, there is a remote possibility that the residuals computation aboved are wrong. Please show me where is you think it is the case.

Otherwise, when you have corrected the problem, I will show you how to write a …_steadystate.m file for your model.


prova2a.mod (3.21 KB)

Hi Michel,

now the values that I enter in INITVAL solve the steady state of the model that I coded in Dynare. This is checked by the C1-C19 variables at the end.
Which, if I understand correctly, should be the same as your resid, but this is not the case.
As the steady state calculation. I attach a new prova2.mod

(The values that were in INITVAL didn’t solve the steady state of the model that I coded in Dynare, because I just posted a last version of the file in which I was experimenting by starting from a point close to ss by adding some small numbers)

I can calculate the steady states for my model, and then I load a mat file with ss values in the .mod file…but then the file do not run, because

"The rank condition ISN’T verified!

??? Error using ==> print_info
Impossible to find the steady state. Either the model doesn’t have a unique steady state of the guess values are too far from the solution"

I attach the relevant files. Run in order: neil_taylor_initval.m, neil_taylor_endval.m and then dynare neil_taylor_attempt1.mod.
It may be the lagged exogenous variable?
thanks, best
nonlinear_guido.m (749 Bytes)
neil_taylor_endval.m (1.54 KB)
neil_taylor_intival.m (1.5 KB)

it seems to me that the problem lies in the way Dynare find the (wrong) steady state, and then the algorithm collapses…


I think that I found the problem. In Dynare, if you want to do local approximation of a model with stoch_simul, the exogenous variables must have zero mean and zero steady state. You just need to add constant to a zero mean stochastic process to get what you want.

I think that there is still a problem of consistency between your Matlab steadystate file and your *.mod file (you didn’t post the last corrected version of the *.mod file) I can’t get the 5th equation to come even close.