Impossible to find steady state in Ireland 2003

You cannot simply plug in data from the real world. That would require an appropriate scaling of most variables, e.g. via a productivity factor.

Hello, I apologize for delay. I substituted the initial values of variables by the averages of the variables for the three countries, weighted by productivity. I used the GDP per hour worked as a % of the USA. For example, if initial value of consumption before was computed as (1+3+2)/3, now it was computed as (1x0.6115+3x0.7286+2x0.8378)/3, the weights corresponding to the productivity computed as GDP per hour worked relative to the USA for Slovenia, Italy and Austria.

The Dynare still reports: error: The steady state has NaNs or Inf. Should I have multiplied the productivity other way, e.g. in the model equations or use multiple initial values for the used countries? Thank you in advance.
Model1.mod (2.0 KB)

For example

ln(e)=(1-rhoe)*ln(steady_state(e))+rhoe*e(-1)+epsilone;
ln(z)=(1-rhoz)*ln(steady_state(z))+rhoz*z(-1)+epsilonz;

prevents computing the steady state numerically as you are trying to endogenously compute a steady state that needs to be specified by you. Also, you specified initial values of 0 for e,z, but you are taking their logs.
Also, see An infinity of steady states with Taylor rules

I have corrected the initial values for e and z. Regarding the steady_state operator, my model includes variables in certain time period and in steady state, e.g. e(t) and e (you can see it on https://d-nb.info/1026165547/34 p. 62). How would I denote both? I saw the possibility of writing R and Rbar/R_ss on the link you sent, but even setting the Rbar to some initial value would still leave R as another variable, requiring some initial value too.

Model.mod (2.0 KB)

None of this changes the fact that these objects cannot be endogenously computed. Also, in t hat PDF the steady state is explicitly provided in C.3.

OK, so steady state operator goes away. I’m not sure how to use the steady state in Mr Röhe’s paper in my case, where I have to state initial values and equations with steady state variables. Can I introduce the steady state equations inside the model block? I have introduced additional variables y_ss, pi_ss etc. and set their value to the initial value in the model, as in The steadystate file did not compute the steady state.

I still get the message; error: Impossible to find the steady state (the sum of square residuals of the static equations is 242604047897428410205353479174390707626049099439580515812856364670248749087860797378127724544.0000).

Model.mod (1.9 KB)

Where did you get the hard-coded numbers from. With

gamm=0.042;
e=4.02;

you will get e^(1/gamm)= 2.4341e+14;

Gamm or gamma is interest rate elasticity of money demand, it’s from that paper p. 50 (average of estimated values for Germany, France and Spain).

E is a money demand shock, the same paper suggests that ln(e) is 1.39, so I computed e=4.02. The empirical data in the same table on p. 50 suggests it’s 3.81.

You need to provide more details. Where does the process come from? How is it supposed to work? Where exactly do the numbers come from? IS there are meaning behind the exactl value of ln(e)? Scaling that works in the data does not necessarily work in a model.

Gamma is the absolute value of the interest rate elasticity of money demand. It enters the expected utility function on page 43 in that pdf and is greater then zero.

E enters the same utility function and is characterised by the autoregressive process as on the same page (equation 3.4), determined by ln(e) and money demand shock parameters 0<rho(e)<1 and epsilon, which is normally distributed with mean 0 and variance sigma(e) squared.

Both are used to characterise expected utility function of households, which is subject to a budget constraint.

The numbers are from empirical study of Germany, France, Spain and Italy for 1980-2008 period, they are maximum likelihood estimates obtained using Kalman filter. I don’t know for any meaning behind ln(e) number. For ln(z) it is said

“Concerning ln(z), we chose a prior mean of 8.13 for the euro area and 9.18 for the US, both with a standard deviation of 1. We set the prior means of ln(z) so that the steady state values of ct and it in the model match the respective average values of consumption and investment in the data.”

and

“Finally, we find the estimates of ln(z) to be almost equal across all model specifications within each region. Note that ln(z) has no impact on the dynamics of the model specifications, since it only serves to determine steady states (see section 4.5).”

ln(e) isn’t explicitly mentioned, except for the specification mentioned above and the numerical estimates.

So it may be best to find some other empirical estimates that would work better with my model?

Are you trying to replicate that exact paper?

No, sorry, I want to do an estimation for three other countries. I just quoted the paper and page because I’m not sure how to write an equation with superscripts and underscripts here. I plan to do various parameter stability tests other than that paper’s authors, when I get the model to work.

Usually, the starting point is an exact replication. Once you get that to work, you start modifying things. Otherwise, it’s often impossible to tell where things went wrong.

1 Like

OK, in my case, would it be possible to include steady_state_model block instead of initial values, since I know the steady state?

Yes, you should do that.

The Dynare reports that some variables are undefined, if I add the steady state equations that I know. When I set the missing variables to initial values, large sum of residuals is the output again. Is there a mistake in my steady_state_model block?

Model.mod (2.3 KB)

Yes, there are various errors. Your code must be sequentially executable. For example, you are using lamb before it is set and the equation for c has c on both sides.

Thanks for your advice, program finally showed some improvement, although it still reports an error:

resid: The initial values for the steady state of the following variables are complex:
c
m
lambd
ksi

and

error: The steadystate file did not compute the steady state

Model.mod (2.3 KB)

There must be something wrong with your formula for lambda to result in something complex.

I have checked two extra times formula for lambda, and it seems to be OK. However, in the denominator, I have computed power (1+alpha)/(1-alpha) when I was manually solving for steady state and not 1/(1-alpha). I trusted the authors and used their version, however the Dynare still reports same problem even if I change it to my version. I don’t know if it’s practice in academic world to include some obvious traps to force students to compute correct solutions for steady states themselves and not copy it from papers, as I’ve found several “errors” like this in the PhD dissertation.

I’m sending full Dynare output.

Dynare output.txt (2.2 KB)