How are model IRFs matched with VAR IRFs?

Hi everyone,
I know IRF matching is to minimize the distance between the model IRFs and empirical IRFs.
But model IRFs are driven by exogenous shock while empirical IRFs are driven by shocks to a variable.
The shocks are different. How do I match them?
Is the technology shock in model equivalent to a shock to Y in VAR?


I am not familiar with the approach… But I suppose that in the VAR, to obtain what you call ‘‘empirical IRF’’, you do not just hit an exogenous variable… You must have an identification scheme. The identification scheme you consider is different, a priori, from the one embodied in a DSGE model (which comes with more restrictions than the VAR model). But the game is to minimize the gap between the identification schemes by adjusting the values of the DSGE’s parameters.

You may obtain more informations in this thread DSGE based-on IRF from VAR's.


Exactly, IRF-matching works with a structural VAR (sVAR), not a reduced form one.
An example is at

What about if one tries to match the conditionnal variances rather than the IRF point estimates of the SVAR ? when I try to modify the objective function minimized in your example by including moment conditions on conditionnal variances, for example : var(y_model) - var(y_target), where var(y_model) is the variance of y of the theoretical DSGE model we estimate, and var(y_target) is the conditionnal variance found through the empirical SVAR (a given fixed value), the program does not work (I use for instance diag(oo_.var)…)

Can someone please help ?

You set


which shuts off the computation of moments. That cannot work.

Oups !

Ok thanks !!