IRFs, deviation or %deviation? from steady state?


Task: In a stochastic setup, I’ve entered my model in levels, selected the option of " relative_irf ", selected periods for simulation, chosen the default 2nd order approximation, and now looking to writeup my results.

Cause of confusion: A reply in [Help Regarding IRFs) says that “relative_irf” gives percentage deviation from steady state. A reply in [Dynare relative irf) says the opposite. I also just read in a published paper’s online appendix (from a high-quality journal) the authors saying they ran the model in levels, and although the IRFs are deviations from steady state, they report the numbers on graphs which they label as percentage deviations from steady state, without changing the Dynare-generated IRFs in any way.

Question 1: Are my Dynare-generated IRFs deviations from steady state, percentage deviations from steady state, or period t (percentage) deviations from a “baseline” stochastic simulation (i.e. the so-called Y1 series in Dynare Wiki’s explanation of how IRFs are computed)?

**Question 2: ** If the Dynare-generated IRFs are not % deviation from steady state, how can I convert them to % deviations from steady state? Divide the IRFs of X by steady state value of X ?

Question 3: What series does Dynare store in " oo_.endo_simul " ? With respect to what is said in the Dynare Wiki on how IRFs are computed, is this the so-called Y2 or the Y1 series?

I’d be grateful if someone can help me with my questions. I’ve tried looking, and can’t seem to sort this issue out.


1 Like

I have left a clarifying remake in the first post. The second one is correct. relative_irf only transforms the size of the initial shock from one standard deviation (each shock with its own standard deviation) to a unit shock size (absolute shock of 1 for all shocks).

Dynare only performs linearizations, not log-linearizations. The only exception is at first order where you can use the loglinear option of stoch_simul. See Remark 17 (Dynare’s loglinear option) in

At higher order, you need to perform a variable substitution to get IRFs in percentages. See Section “4.4 Linearization vs. Log-linearization” in the same document.

**Question 1: **At first order they are deviations from the steady state. At higher order, they are relative to a baseline stochastic simulation as you call it. To be more precise, the IRFs at higher order are Generalized Impulse responses where the location in the state space is average out. You can interpret this along the lines of a GIRF at the ergodic mean.

Question 2: The easiest thing is to add auxiliary variables that perform a log-transformation. For example, define

The IRF for y_percent will be in percentage deviations. You could divide by steady state, but the problem at higher order is that you get the average IRF in percent of the steady state values, but it is not in percentage deviations from steady state, because your baseline point relative to which the IRFs are computed is not the steady state.

Question 3: oo_.endo_simul stores a simulation series of length options_.periods. It is generated whenever periods>0. It has nothing to do with IRF-generation. See also [Gathering multiple IRFs)

Thanks a lot for your reply. It is very useful.