Numerically finding the steady state of a DSGE model

Hello everyone,

I’m trying to run the attached model as I’m new to Dynare. Any assistance in showing me how to execute the Matlab files relating to the steady state and the Dynare files would be greatly appreciated.

ReplicationFiles.zip (6.7 KB)

Thank you.

What exactly is the question? Running

dynare model

works as expected.

1 Like

I really appreciate your response.
Neither Matlab nor Dynare are familiar to me. How to execute the model is my issue.
Although I am aware that in Dynare I must first add the path before running the model, the Matlab files make things more difficult. I attempted first to run the Matlab file, but I received error messages.
All I need is that you please explain how to run the model, keeping in mind that I don’t know how to use Matlab or Dynare.

I sincerely appreciate your kind assistance.

You are not supposed to run the Matlab files. They will be called when you execute Dynare with the command above.

1 Like

I discovered that I also needed to install the Optimization Toolbox. Now it works.
Thank you so much for your great help.

I’m having a trouble in simulating shocks in this model. When I type, for example:

var errBeta;    
periods 1; 
values 0.00864; 

the shock is not imposed and there are no impulse response functions after running the model. However, if I type:

var errBeta =0.00864;

then the shock is imposed, and I can see the impulse response functions after running the model. As I understand, the first type of shock specification imposes the shock for only period 1, while the second specification imposes the shock for all periods.

I’m wondering why using the first type of shock specification does not produce IRFs.

Thank you so much for your time and help.

Below are the codes as they appear in Dynare:

shocks;

var errZ;    % TFP
periods 1; 
values  0;

var errBgcgNP; % QE
periods 1:10; 
values 0 ;

var errBgcgRI; % QE
periods 1; 
values 0 ;

var errlam;  % Matching efficiency
periods 0:12 ; 
values 0 ;

var errphi;  % Deleveraging
periods 1;//1:12 13 14 15 16; 
values 0;//-.33 -.27 -.20 -.13 -.06  ;//-0.28 -.15 0;

var errMP;   % Controls whether the ZLB is binding
periods 1:4 5:20 ; 
values  0 0;//-0.005 0;

var errN;    % recapitalize banks
periods 0; 
values 0;// 8.270757781004315;

var errBeta;    % impacience
periods 1; 
values 0.00864; //0.00864; // 0.00363

end;

stoch_simul(order=2, irf=12, periods=300);

I think this is something related to the type of simulation. If it is stochastic, I should describe the shock as

var errBeta=0.01^2;
stoch_simul(order=2, irf=40);

which means that this shock is, by default, normally distributed with a mean of zero and a variance of 0.012. So I don’t assume that the values of the shock are known to me. The only thing I know is that it is normally distributed with a mean of zero and a variance of 0.012.

On the other hand, if the shock is perfectly foresight (perfect foresight simulation) in the sense that I know exactly what is the value of the shock in the given period, I should use the following specification:

var errBeta;
periods 1;
values 0.0083;

perfecet_foresight_setup(periods=100);
perfecet_foresight_solver(maxit=100,tolf=1e-5,tolx=1e-5);

Am I right? In this case, what is the difference between the perfect foresight simulation and the deterministic simulation?

As the name says, in stochastic simulations the future shocks are unknown and agents have rational expectations, i.e. they know the shock distributions (which then matter for the solution at higher order, because agents may have e.g. precautionary behavior). In contrast, under perfect foresight the shock realizations are known and agents expect no further shock than those specified. Thus, there is no role of stochastics for the model solution.

In terms of output, please see

1 Like