Output gap estimation

Hi all,

I am trying to estimate output gap using a method used in a recent IMF paper (imf.org/external/pubs/ft/wp/2015/wp1579.pdf). They use IRIS (as is typical for output gap measurement apparently) which requires the optimization toolbox which I cannot get. Therefore I am trying to do it in Dynare.

The problem is that potential output has a unit root, but I cannot simply use a first difference because I need the level for the gap equation (gap=actual -potential). How could I get around this? I am attaching the mod file - I get convergence if I made the process a non-unit root (I have 0.95 coefficient in the file).

Thanks a lot in advance!
dynmod.mod (1.41 KB)

Anyone? It’s urgent!!


I do not know if this is correct since I just started working with this kind of models and Dynare in general, however, i was having the same difficulty so I rewrote the gap equation. Now, Dynare solves for the same steady state IRIS does, but now I am having problems with estimating the parameters. Hope this helps you.


MVFIMF.mod (2.81 KB)

Thanks a lot! I’ll try it out and let you know

Update: Ok so it works fine for me - I cannot get lambda to be close, everything else is pretty similar to what they report - but with normal priors (which is equivalent to regularized maximum likelihood if I’m not mistaken). I’ll check into this soon.

All I changed was the lik_init option. It has to be changed to 2 or 3, since the model is non-stationary.

Yes, for models with unit roots you must use the diffuse Kalman filter option or directly set the lik_init option accordingly.

Thanks Johannes - is there a reference for this? I would like to know what’s going on for my peace of mind. Also, can you comment on whether I say above is true i.e. Bayesian MLE with a normal prior is equivalent to regularized maximul likelihood?

Well, according to this working paper from the same guys imf.org/external/pubs/ft/wp/2010/wp10285.pdf (page 19) you are right: Bayesian MLE with bounded normal prior is equivalent to regularized maximum likelihood. However I would really appreciate if you could explain why is it necessary to select lik_init option 2 if the model is stationary after modifying the gap equation.


Because the manual says so :slight_smile:

It is about the initialization of the Kalman filter recursion, see e.g. [Estimation with the diffuse_filter option)