Problem with steady state

Hi, I can’t find the steady state of this deterministic model. It’s very similar to a previous version that I have already simulated, apart from two equations and money in the utility function. In the initval-block I need to specify the value of P (price level), which I normalize to 1, and M (money), which I write as a function of the other variables at the steady state of “Euler equation 2”, but it doesn’t work:

Impossible to find the steady state. Either
the model doesn’t have a steady state, there
are an infinity of steady states, or the
guess values are too far from the solution

Try the most recent unstable version. It should result in


M 333.333
P 1
c 1
h 1
pi 0
w 1
R 0.00300903
r_e 0.00300903
y 1
gdp 1
gdp_hat 0
k 0
u 4.02789
g 0
c_hat 0
w_hat 0
y_hat 0
h_hat 0[/quote]

Alternatively, use this in the initval block for Dynare 4.4.3.

In addition: Maybe I am missing something, but

MODEL_DIAGNOSTICS: The following endogenous variables aren't present at the current period in the model: M
Your model only determines expected money, but not its actual value.

I tried the latest unstable version (10-Nov-2014) but it doesn’t work. What did you do ? Moreover, I replaced M(+1) with M. That should overcome the problem you mentioned. Thanks.

Just try to use the values above as your initvals.

This is the first thing I’ve done but I was unsuccessful. How did you obtain those values ?

Did you correctly set your path? The attached file runs with my unstable version. But I still get a collinearity warning between M and P. Are you sure your model determines them separately? Because it looks as if only real_balances=M/P is defined.

You are right about real balances. I’ve corrected it. But it doesn’t work…

Always post the updated file, state which version you are using and what the problem is.

I have also encountered problems with the steady state. After fixing the mistake in an earlier case (thank you Johannes), I get the error.

Under the unstable version, I get:
Warning: Matrix is singular to working precision.

In trust_region>dogleg at 196
In trust_region at 113
In dynare_solve at 157
In evaluate_steady_state at 194
In resol at 104
In check at 73
In Ch1Modelv9 at 240
In dynare at 185
Error using print_info (line 37)
The generalized Schur (QZ) decomposition failed. For more information, see the documentation for Lapack function
dgges: info=10, n=8. You can also run model_diagnostics to get more information on what may cause this problem.
Error in check (line 76)
print_info(info, 0, options);
Error in Ch1Modelv9 (line 240)
oo_.dr.eigval = check(M_,options_,oo_);
Error in dynare (line 185)
evalin(‘base’,fname) ;

But then under the stable version, I get:

An infinite element was encountered when trying to solve equation(s) 1, 4, 5, 8, 9, 10, 11, 13, 12, 14, 2, 3
with respect to the variable(s): y, inv, v, n, k, w, q_n, q_k, i_k, h_n, y_k, y_n.
The values of the endogenous variables when the problem was encountered were:
y -2.771
c 0.9163
inv -0.381
v -3.368
n -2.019
k 0.8689
sdf -0.01005
w -1215
q_n -2.011
q_k -2.053
i_k -0.121
h_n -0.5668
y_k -0.5998
y_n 0.1805
a 0
z 0

My question is what would be the ideal numbers to use as a steady state value?


Miss Red Riding Hood

See the remarks in Pfeifer(2013): “A Guide to Specifying Observation Equations for the Estimation of DSGE Models”

But in your case, I would check every equation if the log/exp transformation is correct. The posted values where the solver stopped look strange. c is bigger than y adn i_k is negative.

I’ve tried both the unstable version (2014-11-10) and the stable version 4.4.3, both with the initial values you provided and with the “original” initial values. The problem is always the same:
Error using print_info (line 74)
Impossible to find the steady state. Either the
model doesn’t have a steady state, there are an
infinity of steady states, or the guess values
are too far from the solution

With regard to the problem of collinearity I defined real_balances=M/P, as you suggested, because probably the model doesn’t determine M and P separately. Is this the correct procedure ?

You must be doing something wrong with the unstable version. Please post the log-file after running the model with the unstable version.
Also: adding the definition of real balances does not alter the fact that M and P are only jointly determined. You would need to fix money supply. Currently, the interest rate and the utility function determine real balances. But there is nothing pinning down M and P separately. You should replace all occurences of M/P by realbalances. When doing this, you will also notices that there is one equation too much, i.e. there is redundancy