why is _steadystate.m important when estimating a model

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.

why is _steadystate.m important when estimating a model

Postby gin » Tue Mar 26, 2013 12:59 pm

Dear all,

My goal is to estimate a model.

1) Why is _steadystate.m so important when the goal is to estimate the model? What is the disadvantage of just using initval; block in .mod file? I found that using the ss-file (attached) yields much slower estimation but good-looking posteriors, while using the initval; block yields faster computation but posteriors look degenerate, more like singletons.

2) what does the check = 0; in _steadystate.m mean and why does it appear both at the beginning and the end of the ss-file? When I switched check=1; in the top of the file, dynare gave an error even though residuals from resid(1) were all zero. No error was given when check=1; was set at the bottom of the file.

3) I have a Gelain(2010) model which seems to be linearized (attached); dynare finds ss-values to be zero. Given that information, may I just put ss-values equal to zero in the _steadystate.m file (as attached), or should I derive them?

4) Is it possible to use _steadystate.m file to give initial ss-values and let dynare solve for ss-values?
Attachments
ea_ge10est2_steadystate.m
(4.92 KiB) Downloaded 98 times
ea_ge10est2.mod
(18.78 KiB) Downloaded 89 times
-------------------------
gin
http://gin.mozello.com
gin
 
Posts: 47
Joined: Wed Feb 27, 2013 3:10 pm
Location: Riga, Latvia

Re: why is _steadystate.m important when estimating a model

Postby jpfeifer » Tue Mar 26, 2013 7:18 pm

1) Using a steady state file is only the right option in two cases: First, if you have parameters that depend on estimated parameters and need to be updated. Let's say you want to set the labor disutility parameter so that hours in steady state are always 0.2 and you estimate e.g. the Frisch elasticity of labor supply. Then the labor disutility parameter is a function of the Frisch elasticity and needs to be updated in every MCMC iteration. This can be easily done in a steady state file. However, an alternative would by to define the labor disutility as an expression instead of a parameter, i.e. using the pound operator # inside of the model-block. This gives the same updating. See http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=4148
The second case is if you want to use a numerical solver like fsolve to compute your steady state.

2) The check is an error indicator for Dynare's internal steady state computation. This output is required for Dynare's syntax, but is not needed for user-written steady state files. It appears at the beginning and end in two mutually exclusive cases, so it is only set once.

3) If you don't change parameters and the model is already linearized, put model(linear) and just omit the init_val-block. Dynare automatically sets the starting values to 0. Note that this does not work if constants were added to equations as is sometimes the case with Taylor rules. See also http://www.dynare.org/phpBB3/viewtopic.php?f=1&t=3700
------------
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 7 guests