Producing DSGE-VAR Forecast

Dear all,

I am estimating a DSGE-VAR as in Del Negro and Schorfheide (2004) and I am also interested in producing the DSGE-VAR forecasts.

First of all, I am aware that, in this case, the forecast command produces the DSGE, rather than the DSGE-VAR, forecasts so it is of no-help.

The point is that, how can I produced reliable DSGE-VAR forecasts?

The simpler option would be that of retrieving the DSGE-VAR parameters mode, and thus producing forecasts based on such VAR parametrization iterating forward (this can be easily done). However, I understand this procedure has some drawbacks, like for instance I am not considering parameters uncertainty (isn’t it?).

Are results from such procedure so much biased?

So what I can do? How do Del negro and Schorfheide obtain their results?

Thank you in advance

This is still on our todo-list. They issue is that you would need to draw from the posterior distribution of parameters and then iterate forward on the VAR as you suggested. Your approach would neglect parameter uncertainty, which can be sizeable. A first approach by a user was at Writtng a dsgevar_forecast function

Dear Professor,

How can I incorporate such function into dynare? I mean, do I have to call it after the estimation is executed or do I have to declare it somewhere else? Is the function you refer to reliable to produce forecast?

Just one more question, I am trying several ways for estimating a DSGE-VAR for forecasting purposes, one of them is fully in dynare, where I try to do as described in the previous comment (i.e. iterating forward at the VAR parameters mode, consider that the dsge_prior_weight turns out to be around 0.8, so not so small). I chose a lag order of 4 (but with 5 or 6 nothing changes) and the point is that the forecast are highly explosive (the order of magnitude is for instance a growth rate of GDP around 10000% after 10 steps ahead). I guess that this is a signal of some issue in the estimation procedure itself.
The point is that my data are not stationary in covariance although they are already first differenced: I have 7 observables (the same as in Smets and Wouters 2007, but for a European country, on a different time span including the two financial crises ) and only 2 out of 7 are stationary. I think that this is the main source of troubles, is that right? Or should I expect that drawing directly from the joint posterior would solve this issue?

Of course, I tried to fit a simpel OLS VAR(4) on the same data (directly on matlab), the forecasts still explode but at far slower and reasonable pace, that is what precisely puzzles me about the dynare outcome (i.e. when I forecast with the VAR parametrized at the DSGE-VAR posterior mode)!
Finally, I already estimated a DSGE a lá SW 2007 with same data and the forecasts are reasonable.

Sorry for having been a bit lengthy, and thank you in advance for your availability.

  1. No, that function is not reliable. It was never finished as far as I know. It is merely a building block.
  2. Yes, explosiveness is a problem. What do you mean with “your data are not stationary”. Given your use of a DSGE model, the model variables must not be explosive. Is there anything in the mode_check-plots indicating problems?
  1. Thank you very much, good to know it.

  2. With non stationary data I mean that, despite being first differenced, most of them (5 out of 7) have a unit root although not displaying any time trend (i.e. they are non-stationary in covariance). I will be more precise, they do not even explode (I mean like if they had a complex root with an explosive real part): I guess the non stationarity stems from the irregular behavior followed during the financial and sovereign debt crises, respectively (where of course for instance GDP becomes much more persistent than it was before, a kind of ‘‘structural break’’ if you want). In other words, it is a kind of non-stationarity that the DSGE model is able to deal with (although at the cost of some misspecification). Indeed, when I estimate the DSGE model on the same data the estimation is fine and the forecasts are of course not explosive. The mode_check plots do not indicate any serious problem in either cases.

My guess is that the unit root in the data somehow screws things up when a DSGE-VAR is to be estimated but it does not when the DSGE model is.

Can it be the case?

I would need to see the files to better understand what is going on