steady state file

Topics: Models
Apr 14, 2014 at 2:46 PM
Hello everyone,

I was trying to solve the steady state for the simple_SPBC example model using steady state files. When I compile the steady state object into the standalone m-file function, the command creates growth rates variables (like dA) for all variables that appear with lags and/or leads. Is it possible to solve the steady state without having to declare these additional variables (with their corresponding equations and steady state equations ) ?
If I have a model that is is stationary form (but still has equations with lags and leads), is it possible to specify this in the sstatefile command (I don't want to write for each equation its steady state version) ?

Many thanks,
Cristian
Coordinator
Apr 15, 2014 at 1:42 AM
Hi Cristian

I will look into this issues next week when back from my vacation. Could you please post the files in the meantime? It just helps to see what exactly you mean.

Best
Jaromir



Apr 15, 2014 at 8:21 AM
Hi Jaromir,

Thanks for your interest. You can find the files here: https://www.dropbox.com/sh/7w45bxf8g476cwi/GeKSm7JaIh (the .model file is the same as the one from the tutorial).

Best regards,
Cristian
Coordinator
Apr 21, 2014 at 9:00 PM
Cristian

Before I dive into the issue, may I ask you first why you need a stand-alone steady-state file? This feature was designed a long while ago when the function sstate(...) itself was not that powerful, and the stand-alone steady-state files are now not considered a standard way of doing things...

Is there a particular task that you, for some reason, cannot achieve (or a performence issue you bump into) when simply calling sstate(m,...)?


Jaromir
Marked as answer by jaromirbenes on 5/8/2014 at 9:23 AM
Apr 22, 2014 at 3:40 PM
Hi Jaromir,

I am having problems when computing the steady state of a model originally written in Dynare and the standalone seemed to have the advantage of being less black box; however, I thought about it more and I think it has something to do with endogenising parameters / exogenising ss values. I will look into it more. If you say the stand-alone files are not considered a standard way anymore and sstate(...) is powerful enough ... I trust you :). Apart from writing the ss version of the equations and using the 'blocks' option, what other tricks would you say I should use (generally speaking) ? Thanks again for your interest.

Best,
Cristian
Coordinator
Apr 22, 2014 at 4:09 PM
A few tips:
  • Make sure you use the option 'growth=' in models where there are non-zero deterministic growth rates.
  • You can do the endogenise/exogenise swap using the options 'exogenise=' and 'endogenise='.
  • Sometimes it helps to pre-assign and fix the known steady-state values using 'fix=', 'fixLevel=', and/or 'fixGrowth=' (i.e. for variables that have a trivial steady state, etc.)
  • A similar thing can be achieved by using dynamic links. You can e.g link one variable's steady state to an expression involving parameters and other variables' steady states. This is defined in the model file in a section called !links.
  • Furthermore, sometimes also helps to deliver initial values, especially for variables whose steady state is a (very) large or a small number -- for instance, the stock of physical capital in the common variety of dsge models.
  • In more complex cases, you can split the model file manually into block-recursive files (block-recursive in terms of steady state equations), and compute the steady state for each block separately, using the steady-state results from the previous block as parameters entering the next block. For this, you will need to make use of the options 'declareParameters=' and 'sstateOnly='. I can prepare an example if you want to experiment with this. Afterwards, you simply combine all the model files in one (enter a cell array of file names as the first input argument into the function model(...)) to build the final model object.
We can also look into that particular model from Dynare, and help you get it up and running.

Best,
Jaromir
Marked as answer by jaromirbenes on 5/8/2014 at 9:23 AM