Confidence Interval in IRF


Can we construct a confidence interval around the Impulse Response Function Analysis, I have performed IRF analysis but there is only one line. Please comment.



1 Like

For stoch_simul the model is calibrated and there is no uncertainty about the parameters. Thus, the confidence bands are simply 0.

For estimation, Bayesian IRFs will plot HPDIs/Bayesian confidence bands.


Thank you very much indeed, as I am also estimating the model could you please advise me how to plot HPDIs/Bayesian confidence bands.

Regards and best wishes


Use the bayesian_irf option. See the manual.


Thanks for reply, actually i used that command following the manual and your kind advise, the irf but still without band around, if you please have look and help me one more time.

Regards and wishes

StockandBond.mod (8.41 KB)
BondsandStock.xls (39.5 KB)

Without running a MCMC (mh_replic=0), there will be no draws from which to compute HPDIs

Thanks, it almost worked but then I got following error, please help again.

regards (Ali)

??? Error using ==> chol
Matrix must be positive definite.

Error in ==> metropolis_hastings_initialization at 68
d = chol(vv);

Error in ==> random_walk_metropolis_hastings at 69
ix2, ilogpo2, ModelName, MhDirectoryName, fblck, fline, npar, nblck, nruns,
NewFile, MAX_nruns, d ] = …

Error in ==> dynare_estimation_1 at 909

Error in ==> dynare_estimation at 70

Error in ==> StockandBond at 404

Error in ==> dynare at 120
evalin(‘base’,fname) ;

Try mode_compute=6 or 9.

Thank you very much Pfeiffe. Option 6 . :slight_smile:

I was under the impression that IRFs reported for approximations of order 2 (or higher) are average IRFs computed over a number of simulations (the default number is 50 I think). Doesn’t this imply that IRFs for order 2 or higher should indeed have confidence intervals/bands? For more info see

At order > 1 there is still no parameter uncertainty, but rather shock/state uncertainty. I would not necessarily interpret the resulting distribution of IRFs as a confidence interval, but yes, you get a distribution of IRFS.

Yes, there is definitely not any parameter uncertainty, only state shock uncertainty. Do you know how to access the information necessary to compute these confidence bands from the standard Dynare (or Dynare++) output? I would really like to know. Whenever I see talks where the presenter shows IRFs for a higher order perturbation solution w/o confidence bands it always makes me wonder whether or not zero would fall within such a band.

In Dynare’s irf.m you have

y = y+(y2(:,M_.maximum_lag+drop+1:end)-y1(:,M_.maximum_lag+drop+1:end));

Here the different replications are just added to each other. You would have to change it to get the replications and compute the bands you want. Please keep me updated on the results.

1 Like

Dear Prof. Pfeifer,

Whay does the confidence level by default in dynare? is it 5% and 95%? from the picture, the grey area in some variabels are wider, but in some varibles are narrower, what kind of information can we get from these?

Thank you,

The standard values for conf_sig and mh_conf_sig are 0.9, i.e. we have 90 percent bands. You can see that the responses for some variables are more precisely estimated than for others.

1 Like

Thank you Prof. Pfeifer for answering my question,