Using "unit_root_vars"

This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location where you will have to reset your password.
Forum rules
This forum is closed. You can read the posts but cannot write. We have migrated the forum to a new location (https://forum.dynare.org) where you will have to reset your password.

Using "unit_root_vars"

Postby donihue » Thu Jan 02, 2014 6:17 pm

The attached small non-stationary teaching model runs perfectly under Dynare 4.4.0, although producing the
"WARNING: mod1.dyn:39.1-41: ''unit_root_vars'' is now obsolete; use the ''diffuse_filter'' option of ''estimation'' instead*
Note that the model is only simulated, not estimated, and there appears to be no option in "stoch_simul" equivalent to ''diffuse_filter''.

However, commenting out the "unit_root_vars" line causes the model to crash with the message
"The steadystate file did not compute the steady state"

Is this behaviour a bug or something more subtle?

Regards
Donihue
Attachments
mod1.mod
(607 Bytes) Downloaded 140 times
donihue
 
Posts: 34
Joined: Mon Sep 12, 2011 1:12 pm

Re: Using "unit_root_vars"

Postby jpfeifer » Fri Jan 03, 2014 8:26 am

The behavior without the diffuse_filter option is correct. If your model has a unit-root, there are infinitely many steady states and you need to tell Dynare which one to use. You did so using the steady_state_model-block. But the the provided steady state is not a steady state, hence the error message.

The bug is that when you use the diffuse_filter option, the correctness of the steady state is not checked as
Code: Select all
options_.steadystate.nocheck

is set to 1. The displayed IRFs and the model solution are computed at values that are not a steady state.
------------
Johannes Pfeifer
University of Cologne
https://sites.google.com/site/pfeiferecon/
jpfeifer
 
Posts: 6940
Joined: Sun Feb 21, 2010 4:02 pm
Location: Cologne, Germany

Re: Using "unit_root_vars"

Postby StephaneAdjemian » Fri Jan 03, 2014 12:08 pm

Hi,

A model containing a random walk with drift has no steady state. But conditional on this variable (if this variable is the only trend in the model) the model admits a steady state. In your case,
you chose arbitrarily a value for the steady state of the trended variable (lgdp_eq) which is wrong by definition, and conditionally on this you set the steady state of the other variables accordingly. Your approach is correct. But you should not use the unit_root_vars command (which is deprecated), you should not use the resid command because you know that your steady state is wrong (or just to check that the residuals of the static equations are zero except for the equation with the random walk with drift for lgdp_eq). If you remove theses two commands and add the option nocheck to the steady command, your mod file will run fine. You just have to replace:

Code: Select all
steady;


by

Code: Select all
steady(nocheck);


Dynare will then set the steady state by considering what you defined in the steady state block and will not check that this steady state is correct.

Best,
Stéphane.
Stéphane Adjemian
Université du Maine, GAINS and DynareTeam
https://stepan.adjemian.eu
StephaneAdjemian
 
Posts: 429
Joined: Wed Jan 05, 2005 4:24 pm
Location: Paris, France.

Re: Using "unit_root_vars"

Postby donihue » Fri Jan 03, 2014 4:51 pm

Thank you both, Johannes and Stéphane, for your replies, which seem to confirm my suspicion that one can set almost anything at all (even values wrong "by definition") as steady-state values so long as "steady" does not "check", which seems to be what the obsolete "unit_root_vars" command ensures.

Stéphane, could you possibly enlighten me as to why one must also remove the "resid" command to get the model to work with "steady(nocheck)"?

Regards
Donihue
donihue
 
Posts: 34
Joined: Mon Sep 12, 2011 1:12 pm

Re: Using "unit_root_vars"

Postby jpfeifer » Fri Jan 03, 2014 6:21 pm

I guess because only the steady command with nocheck actually sets the option. If you want to use resid(1) for the display, put
options_.steadystate.nocheck=1;

before it.
------------
Johannes Pfeifer
University of Cologne
https://sites.google.com/site/pfeiferecon/
jpfeifer
 
Posts: 6940
Joined: Sun Feb 21, 2010 4:02 pm
Location: Cologne, Germany

Re: Using "unit_root_vars"

Postby donihue » Fri Jan 03, 2014 7:16 pm

Thank you, Johannes. That did indeed work.

Is there a reference somewhere for the various possible "options_" in a mod file?

Regards
Donihue
donihue
 
Posts: 34
Joined: Mon Sep 12, 2011 1:12 pm

Re: Using "unit_root_vars"

Postby jpfeifer » Sat Jan 04, 2014 7:24 am

No, there isn't as many options are rather only for internal use, depending on certain commands (like this one). The closest thing is looking at global_initialization.
------------
Johannes Pfeifer
University of Cologne
https://sites.google.com/site/pfeiferecon/
jpfeifer
 
Posts: 6940
Joined: Sun Feb 21, 2010 4:02 pm
Location: Cologne, Germany


Return to Dynare help

Who is online

Users browsing this forum: No registered users and 6 guests