Multiple IRFs on 1 graph


Is it possible to have multiple IRFs on 1 graph to reflect different parameter values? Thanks.


There is no way to implement this in Dynare directly. However, Dynare saves all impulse responses in the results structure oo_. You can always run the model for different parameter values, save the IRFs and then plot them yourself.


I was able to do it very easily in Matlab; i merely copied and pasted the curves into 1 graph and matlab automatically adjusted the scales where necessary. On a more TRIVIAL note is there any way to create an impulse response graph where the shock has no impact on the variable? In other words can irfs be generated where the irf line is simple a horizontal line on the x-axis. As it stands Dynare does not generate any graph for such a case.

Again, you can plot them by hand as Dynare stores the IRF values in oo._irfs. Another way to let Dynare generally plot all IRFs, is to change its file stoch_simul.m. In my Dynare version, line 167 reads

if max(y(i_var(j),:)) - min(y(i_var(j),:)) > 1e-10

It tells Dynare to plot only IFS with amplitudes larger than 1e-10. If you change 1e-10 to 0, everything will be plotted.


I have a related question, I want to compute IRFs with a different parameter values but with holding steady state constant. In other words, I want to ignore the steady state effect of the change of parameter value. Is there away to modify Dynare codes to do that?

Thanks in advance

You are not supposed to do this. The effect of a parameter on the steady state cannot be separated from its effect on the dynamics. What you are trying to do will be wrong.

Thanks for the reply,

I understand why you think it is wrong. However, this has been the norm in the monetary economics literature to evaluate the effect of financial frictions on the macroeconomic dynamics (See Bernanke, Gertler and Gilchrist (1999)). Part of the reasoning that I can think of is that the focus of these experiments is how the presence/absence of financial frictions affect the response of macroeconomic variables to various shocks in the short run, the long run effect on the steady state is simply not of interest for this particular literature.

Any suggestion about how this could be done in Dynare?

Please provide the explicit reference/paragraph where you think that Bernanke, Gertler and Gilchrist (1999) ignored to effect of parameter changes on the decision rules.

They mentioned that in section 5.2.1: Response to a monetary policy shock:
" In each picture the hatched line designates the “baseline” impulse response, generated by fixing the external finance premium at its steady state
level instead of allowing it to respond to changes in the capital-net worth ratio. In other words,** the baseline simulations are based on a model with the same steady state as the complete model with imperfect credit markets, but in which the additional dynamics associated with the financial accelerator have been “turned off”.** "

In the model that I am working with, the equivalent of the financial accelerator is turned off by setting one particular parameter to zero(mu=0). Therefore, I am looking for ways to let dynare computes IRFs with mu=0 while keeping the steady state unchanged from the case where mu>0.

I think you are misinterpreting what the literature is doing. They do not compute decision rules off-equilibrium. Rather, they shut off dynamic channels that do not affect the steady state of the model. For example, in the RBC model with investment adjustment costs, shutting off adjustment costs will not alter the steady state.
It is the same in Bernanke/Gertler/Gilchrist. If you look at equation (4.17) it describes how the finance premium reacts to net worth. Everything is in deviations from steady state. As far as I understand it, they simply set nu to 0 so that the finance premium does not react. This will not affect the steady state as they correctly note.

Is it possible to know how to do this exactly? I am quite new with Dynare and I don´t know what code would I need after running the model.

Many thanks

This thread if four years old. What exactly are you trying to do?