steady

steady — computes the steady state of a model

Synopsis

steady [(OPTION [, OPTION...])] ;

Options

solve_algo = INTEGER

Determines the non-linear solver to use. Possible values for the option are:

  • 0: uses MATLAB® Optimization Toolbox FSOLVE

  • 1: uses Dynare's own nonlinear equation solver

  • 2: splits the model into recursive blocks and solves each block in turn

  • 3: Chris Sims' solver

  • 4: similar to value 2, except that it deals differently with nearly singular Jacobian

  • 5: Newton algorithm with a sparse Gaussian elimination (SPE)

Default value is 2.

homotopy_mode = INTEGER

Use a homotopy (or divide-and-conquer) technique to solve for the steady state (see homotopy_setup for a short description of the technique). This option can take three possible values:

  • 1: in this mode, all the parameters are changed simultaneously, and the distance between the boudaries for each parameter is divided in as many intervals as there are steps (as defined by homotopy_steps option); the problem is solves as many times as there are steps

  • 2: same as mode 1, except that only one parameter is changed at a time; the problem is solved as many times as steps times number of parameters

  • 3: Dynare tries first the most extreme values. If it fails to compute the steady state, the interval between initial and desired values is divided by two for all parameters. Every time that it is impossible to find a steady state, the previous interval is divided by two. When it succeeds to find a steady state, the previous interval is multiplied by two. In that last case homotopy_steps contains the maximum number of computations attempted before giving up.

homotopy_steps = INTEGER

Defines the number of steps when performing a homotopy. See homotopy_mode option for more details.

Description

Computes the equilibrium value of the endogenous variables for the value of the exogenous variables specified in the previous initval or endval block.

steady uses an iterative procedure and takes as initial guess the value of the endogenous variables set in the previous initval or endval block.

For complicated models, finding good numerical initial values for the endogenous variables is the trickiest part of finding the equilibrium of that model. Often, it is better to start with a smaller model and add new variables one by one.

If you know how to compute the steady state for your model, you can provide a MATLAB® function doing the computation instead of using steady. The function should be called with the name of the .mod file followed by _steadystate. See fs2000a_steadystate.m in examples/fs2000 directory.

Output variables

The steady state is available in oo_.steady_state. Endogenous variables are ordered in order of declaration used in var command as in M_.endo_names.

Examples

See initval and endval.