Does the new version handle unit roots?

Dear Musketeers,

Due to hint by a colleague, I just tried to impose a unit root to an exogenous shock process. Dynare seems to handle it technically:

  • it gives steady state that corresponds that of the stationary case. The steady state of the unit root shock process gets the same value as in the case of stationary process. resid gives zeros.
  • the unit root shows up in the output of the check command
  • decision and transition functions contains this unit root in a correct place
  • the levels of some variables are correctly NaNs
  • at the first glance the impulse responses look right.

What is going on here?


Dear Antti,
What exactly is your question? The Blanchard-Kahn conditions allow for unit roots (its outside of the unit circle, not outside or on).
Decision rules, eigenvalues and moments subsequently have to reflect the unit root.

The only problem is that there are infinitely many steady states. Dynare solves this issue by forcing the user to provide a value for the steady state and takes this approximation point as given.

Regarding estimation, the only difference is that you cannot initialize the Kalman filter with the unconditional variance. Hence, the diffuse Kalman filter is used.

Thnak you Johannes!

I give the steady state by initval block. This explains the steady state of the stationary version (which is what one wants here).

I interpret your reply that everything works here as expected!



Yes, as far as I can see everything works as expected.