Steady state in an environmental DSGE model

Dear all,

I would like to use the Carattini et al. model (https://www.sciencedirect.com/science/article/abs/pii/S1094202523000492), the codes for which are available here Code and data files for "Climate Policy, Financial Frictions, and Transition Risk" but I am encountering problems. They seem to occur with all versions and unfortunately I have not been able to correct them. I am using the R2024a version of Matlab and 6.0 of Dynare.

I provide the basic version of the ‘2_Efficient_policies’ folder as an example, hoping you can help me understand what I am doing wrong.

The errors are:

Error using edsge_nopol_steadystate
Too many input arguments.
Error in evaluate_steady_state_file (line 47)
[ys,params1,check] = h_steadystate(ys_init, exo_ss,M_,options_);
Error in evaluate_steady_state (line 275)
[ys,params,info] = evaluate_steady_state_file(ys_init,exo_ss,M_, options_,steadystate_check_flag);
Error in steady (line 112)
[oo_.steady_state,M_.params,info] = evaluate_steady_state(oo_.steady_state,[oo_.exo_steady_state; oo_.exo_det_steady_state],M_,options_,~options_.steadystate.nocheck);
Error in edsge_nopol.driver (line 618)
steady;
Error in dynare (line 310)
evalin(‘base’,[fname ‘.driver’]);

Thank you in advance for your time.

edsge_nopol.mod (2.4 KB)
edsge_nopol_steadystate.m (2.1 KB)
findss_nopol.m (933 Bytes)

It seems that the error is due to the misdeclaration of \rm Ib variable in your model.
I think that this variable is private investment or non-government investment in your DSGE model.
For better understanding I write for you a private capital law of motion equation.

{ K_{t}=(1-\delta) K_{t-1}+\left[1-S(\frac{I_{t} }{ I_{t-1}})\right]I_{t} X_{t} }

{ S(\frac{I_{t}}{ I_{t-1}})=\frac{k_{a}}{2}(\frac{I_{t}}{I_{t-1}}-1)^{2} }

k_{a} is a constant parameter.
X_{t} is investment specific technology shock.

Dynare error is for not maximum cardinality of Ib variable.

1 Like

The files you posted were written for Dynare 4.5. The modern syntax is as attached:
edsge_nopol.mod (2.4 KB)
edsge_nopol_steadystate.m (2.1 KB)
findss_nopol.m (936 Bytes)

1 Like

Before I posted here, I had never detected the non-maximum cardinality error, only the one I reported at the beginning. Trying the files again I encountered that too, which would be even stranger.

In any case, I think it was a syntax problem that Prof. Pfeifer solved, since the files he provided calculate the correct steady state.

I thank you both for your help.