Issues with steady state estimation

Hi,

I’m new a Dynare and I’m having troubles with estimating steady state values in the rbc-model.

Error using print_info (line 32)
The steadystate file did not compute the steady state

Error in steady (line 102)

  • print_info(info,options_.noprint, options_);*

Error in rbc_adam.driver (line 232)
steady;

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;
Can someone please help me?

Thanks in advance!
rbc_adam.mod (1.4 KB)

TO continue debugging, try rbc_adam.mod (1.4 KB)
I fixed the equation for Z and replaced steady_state_model, which requires the full analytical steady state but initval. Now the Blanchard/Kahn conditions fail. Usually it’s a timing error.

Hi,
Thanks for taking your time to look at the file.
I have rearranged the timing in the initval equations hence now i obtained a new error message:

Error using print_info (line 32)
The Jacobian matrix evaluated at the steady state contains elements that are not real or are
infinite.

Error in check (line 48)

  • print_info(info, 0, options);*

Error in rbc_adam_new.driver (line 255)
oo_.dr.eigval = check(M_,options_,oo_);

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;

Do you know how to solve for these kinds of errors?
Thank you in advance!
rbc_adam_new.mod (1.4 KB)

You are using Yc before it is defined in the initval-block.

Thanks - I tried to declare/define the variables before using them in the initval-block but the problems seems not to be solved?

initval;
Z = 1;
Yc = 1-calpha_c;
Rc = calpha_c*(1-calpha_c)^(1-calpha_c);
Qc = (cbeta*Rc)/((1-cbeta)*(1-cdelta_c));
Hi = (((1-calpha_i)*Qc)/(1-calpha_c)^(1-calpha_c))^(1/calpha_i);
Yi = Hi^(1-calpha_i);
Y = Yc + Qc*Yi;
C = 1-calpha_c;
Hc = 1-calpha_c;
Ri = ((calpha_i)/(1-calpha_i))*Hi*((1-calpha_c)^(1-calpha_c));
Inv = Qc*(((1-calpha_i)*Qc)/W)^((1-calpha_i)/calpha_i);
W = 1-calpha_c;
end;

Error using print_info (line 32)
The Jacobian matrix evaluated at the steady state contains elements that are not real or are
infinite.

Error in check (line 48)

  • print_info(info, 0, options);*

Error in rbc_adam_new.driver (line 255)
oo_.dr.eigval = check(M_,options_,oo_);

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;

Sorry for all the questions

You are still using W in the second to last line.

Thanks again for looking at it.
This type of error are usually a timing error, right?

Error using print_info (line 32)
Blanchard & Kahn conditions are not satisfied: no stable equilibrium.

initval;
Z = 1;
Hc = 1-calpha_c;
Yc = (1-calpha_c)^(1-calpha_c);
W = (1-calpha_c)^(1-calpha_c);
C = (1-calpha_c)^(1-calpha_c);
Rc = calpha_c*(1-calpha_c)^(1-calpha_c);
Qc = (cbetaRc)/((1-cbeta)(1-cdelta_c));
Hi = (((1-calpha_i)Qc)/(1-calpha_c)^(1-calpha_c))^(1/calpha_i);
Yi = Hi^(1-calpha_i);
Inv = Qc
(((1-calpha_i)Qc)/W)^((1-calpha_i)/calpha_i);
Y = Yc + Qc
Yi;
Ri = ((calpha_i)/(1-calpha_i))Hi((1-calpha_c)^(1-calpha_c));
end;

Yes, as I said above:

I tried to change the timing for each of the variables relative to when they are declared/included, but i still cannot achieve a solution. Would it be possible for your to provide som insight/tips on where the timing of the variables goes wrong?

rbc_adam_new.mod (1.4 KB)

Again, I really appreciate you taking your time to help. Thanks

Why are there no predetermined variables in your model?

I tried to declare Qc as predetermined variables as it is stated as (+1) but then obtain

There are 4 eigenvalue(s) larger than 1 in modulus
for 2 forward-looking variable(s)

The rank condition ISN’T verified!

Error using print_info (line 32)
Blanchard & Kahn conditions are not satisfied: no stable equilibrium.

Error in stoch_simul (line 103)
print_info(info, options_.noprint, options_);

Error in rbc_adam_new.driver (line 266)
[info, oo_, options_, M_] = stoch_simul(M_, options_, oo_, var_list_);

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;

There is one unique timing. You need to find it. Approach it with economic intuition.

Thanks for your feedback. Do you think the model would be able to estimate the simulation by rearranging the timing of variables as it has declared values of steady states? Or should I look at the steady states equations again?

It’s not about the steady state. The steady state is a static object. Is there a paper you are working with?

Yes “Stock Price Cycles and Business Cycles” by Adam & Merkel (2019).

Thanks for your feedback.

Why are the capital stocks a parameter in your model, not a variable?

I have assumed it is equal to one as I found k_i equal to one in steady state and then equalised k_i = k_c as a rough assumption in order to find steady state values for the other variables

Again, steady state computations are different from the actual dynamic system you need to enter in the model-block.

Yes. I have tried to declare the variables Ki and Kc in the model block hence i again receive issues with the steady state values

Residuals of the static equations:

Equation number 1 : 0 : C
Equation number 2 : 44.47 : Qc
Equation number 3 : 0 : Rc
Equation number 4 : 0 : Hc
Equation number 5 : 0 : W
Equation number 6 : 0 : Ri
Equation number 7 : 0 : Yc
Equation number 8 : 0 : Yi
Equation number 9 : 0 : Y
Equation number 10 : 0 : Inv
Equation number 11 : 0 : Hi
Equation number 12 : -3.2518 : Kc
Equation number 13 : 0 : Ki
Equation number 14 : 0 : X
Equation number 15 : 0 : 15

Error using print_info (line 32)
The steadystate file did not compute the steady state

Error in steady (line 102)
print_info(info,options_.noprint, options_);

Error in rbc_adam_new.driver (line 241)
steady;

Error in dynare (line 293)
evalin(‘base’,[fname ‘.driver’]) ;

rbc_adam_new.mod (1.6 KB)

Thank you in advance!

Then you need to sit down with pencil and paper and solve for the steady state.