Correlated innovatons IRF

hi all
i have a question about the bayesian irfs that is produced by dynare when the structural innovations are correlated. are these irfs computed after the innovations are orthogonalized?


Dear Reuben,

You are right, look at the command
cs = transpose(chol(SS));
in the function stoch_simul.m of the Dynare code (c:/dynare/x.x.x/matlab).



Sorry to drag up an old thread, thought I’d give some advice to anyone else puzzled by Dynare’s handling of IRFs with correlated innovations.

If you want more sensible shocks, I suggest changing that line of stoch_simul.m to the following:

[tmpV, tmpD] = eig( SS );
cs = tmpV * sqrt( tmpD ) * tmpV';

The eigenvalue square root gives a much more intuitive result. (It will normally preserve zeros and orderings.)


Could you please explain the economic intuition behind your orthogonalization scheme?

The one that is currently in Dynare is one that is frequently used in VAR analysis. You compute the effect of a first shock, then for each additional shocks that are correlated with the previous ones, you compute the effect of the shocks that goes beyond the effect already accounted by the correlation. Obviously the results depends on the ordering of the shocks, but the user can modify this ordering in the VAREXO statement.



Yes I know the VAR literature. These are quite different circumstances though.

In a VAR you have some unidentified shocks and you are trying to identify them. Here you have a range of already identified shocks (in some loose sense), which just happen to be correlated. To put it another way, in an unidentified VAR you have a shock that tells you nothing about the quantity you’re interested in, here though I am precisely interested in the effects of a shock that works through multiple channels simultaneously (to varying degrees). If I really wanted an equation to be affected by multiple shocks, but to know the effects of each shock on the equation independently, then I would just add all of those multiple shocks to the equation (rather than adding one correlated shock).

I don’t know what use-cases you have for people adding correlated shocks to DSGE models. I will tell you my particular one, perhaps it is the exception rather than the rule. I have a model with a continuum of industries (approximated at a range of discrete points), and each industry receives a specific shock, though industries close together receive correlated shocks. (Conditions are similar in industries producing similar products.) For concreteness you might think of these shocks across industries as being drawn from a Brownian Bridge for example (though in fact this is not the process I’m working with). There are two things I might be interested in learning. The first is the impact of a shock to one particular industry, without any corresponding shocks to other industries (despite the correlation structure). This would correspond to you taking IRFs at [1 0 0 0 …], [0 1 0 0 …] etc. The second is a representative shock to a given industry, which will always be accompanied by shocks to near-by industries due to the correlation structure. This corresponds to the code in my previous message.