Some questions on steady-state solving

Dear Experts,
I am having some problems solving the DSGE steady state with the following problems,The results of my run show:微信截图_20210919112512
My file is herexiashi.mod (4.0 KB)
Looking forward to your answers!

For starters, set all parameters:

Warning: Some of the parameters have no value (rho_p, b) when using steady.

After that, focus on t he equations with residuals. There are quite a few mistakes. For example:

%(24) Housing price shock
p=rho_p*log(p(-1))+ep;

%(25) Production technology and impact
a=rho_a*log(a(-1))+ea;

%(26)Housing demand shock
j=rho_j*log(j(-1))+ej;

should also have logs on the left side of the equation.

Thank you very much for answering my questions.I have recalculated the equations as you suggested but now the results still show that equation 1 and equation 19 do not reach steady state, please now my problem is still a steady state equation calculation error code.


xiashi1.mod (4.0 KB)

Use F9 in Matlab to execute the parameter initializations and the steady_state_model-block. You will see that lab_e is negative, making w_e complex.
See also Debugging parameter initializations and steady_state_model-blocks - YouTube

Thank you very much for your reply,I followed your instructions and changed the code,but the following problems have arisen,


Here is my mod filexiashi2.mod (4.1 KB)
I checked with the command model_diagnostics(M_,options_,oo_)
The results show that I have Colinear variables and Colinear equations
I tried to modify the equation, but a new problem arose and the results showed Blanchard & Kahn conditions are not satisfied: indeterminacy.

I checked with the command model_diagnostics(M_,options_,oo_),more Colinear equations
Here is my new mod file xiashi3.mod (4.1 KB)
Hope you can help me!

Check your timing. For example, why is

c_e/c_e(-1)=beta_e*((1-tau_k)*r_k+1-delt);

backward-looking? Isn’t this an Euler equation?

Thank you very much for your guidance, after I changed equation 5, the model reached steady state.I’m doing Bayesian estimation and the following error is reported.


mod.zip (2.9 KB)

Your model has a unit root, so you need the diffuse_filter option in estimation.

How do I write the steady-state equations of the following:

ln(A_t/A) = rho_a*ln(A_t-1/A) + eps_at;

ln(Z_t/Z) = rho_zln(Z_t-1/Z) + phi_qln(Q_t/Q) + eps_zt;

ln(R_t/R) = rho_rln(R_t-1/R) + phi_pi(1-rho_r)*ln(Pi_t/Pi) + eps_rt;

If variables without subscript “t” are already the stead-state.

Example, in steady state, eps_at = 0, eps_zt = 0, eps_rt = 0. There are no shocks in steady state.

So ln(A_t/A) = rho_aln(A_t-1/A) + eps_at; becomes ln(A/A) = rho_aln(A/A) or A/A = 1. Here, you can assume any value of A and A/A = 1 which is your steady state condition is satisfied. Normally, people choose A = 1. But, yeah, from your equation, there is no unique value for A in steady state.

If you had the following exogenous process, ln(A_t) = rho_aln(A_t-1) + eps_at;, same thing applies. In steady state ln(A) = rho_aln(A). Solve for A to get A = 1.

So in steady state, shocks are zero and time subscripts are removed. Then solve for Z, A, R.

1 Like

Thank you for your response.

A further question:

From the Euler equation, in the steadystate(SS) we know that R= Pi/beta. If the value of R is obtained from the equation, what do we use the SS equation from the monetary Policy rule to determine?

I see many papers used the real interest rate(R) or nominal interest rate(i) for monetary policy rule.

Sorry, but I don’t understand the last question.

If the steady-state Euler equation gives you R= Pi/beta, the steady-state monetary policy rule should give you the same thing. Check the papers, they always write the monetary policy rule such that there is a match between steady-state value for R from the Euler equation and steady value of R from monetary policy rule. R can only have one steady-state value, whether you calculate that from the Euler equation or monetary policy rule, it should give you the same value.

What I know is that people normally write the monetary policy rule such that steady-state R from the monetary policy equation matches steady-state R from the Euler equation. You can confirm that in the papers you read.