[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 4.12 Deterministic simulation

When the framework is deterministic, Dynare can be used for models with the assumption of perfect foresight. Typically, the system is supposed to be in a state of equilibrium before a period ‘`1`’ when the news of a contemporaneous or of a future shock is learned by the agents in the model. The purpose of the simulation is to describe the reaction in anticipation of, then in reaction to the shock, until the system returns to the old or to a new state of equilibrium. In most models, this return to equilibrium is only an asymptotic phenomenon, which one must approximate by an horizon of simulation far enough in the future. Another exercise for which Dynare is well suited is to study the transition path to a new equilibrium following a permanent shock. For deterministic simulations, Dynare uses a Newton-type algorithm, first proposed by Laffargue (1990) and Boucekkine (1995), instead of a first order technique like the one proposed by Fair and Taylor (1983), and used in earlier generation simulation programs. We believe this approach to be in general both faster and more robust. The details of the algorithm can be found in Juillard (1996).

Command: simul ;
Command: simul (OPTIONS…);

  Description

  Triggers the computation of a deterministic simulation of the model for the number of periods set in the option `periods`.

  Options

  `periods = INTEGER`

    Number of periods of the simulation

  `stack_solve_algo = INTEGER`

    Algorithm used for computing the solution. Possible values are:

    `0`

      Newton method to solve simultaneously all the equations for every period, see Juillard (1996) (Default).

    `1`

      Use a Newton algorithm with a sparse LU solver at each iteration (requires `bytecode` and/or `block` option, see section Model declaration).

    `2`

      Use a Newton algorithm with a Generalized Minimal Residual (GMRES) solver at each iteration (requires `bytecode` and/or `block` option, see section Model declaration; not available under Octave)

    `3`

      Use a Newton algorithm with a Stabilized Bi-Conjugate Gradient (BICGSTAB) solver at each iteration (requires `bytecode` and/or `block` option, see section Model declaration).

    `4`

      Use a Newton algorithm with a optimal path length at each iteration (requires `bytecode` and/or `block` option, see section Model declaration).

    `5`

      Use a Newton algorithm with a sparse Gaussian elimination (SPE) solver at each iteration (requires `bytecode` option, see section Model declaration).

  `markowitz = DOUBLE`

    Value of the Markowitz criterion, used to select the pivot. Only used when `stack_solve_algo = 5`. Default: `0.5`.

  `minimal_solving_periods = INTEGER`

    Specify the minimal number of periods where the model has to be solved, before using a constant set of operations for the remaining periods. Only used when `stack_solve_algo = 5`. Default: `1`.

  `datafile = FILENAME`

    If the variables of the model are not constant over time, their initial values, stored in a text file, could be loaded, using that option, as initial values before a deteministic simulation.

  Output

  The simulated endogenous variables are available in global matrix `oo_.endo_simul`.

MATLAB/Octave variable: oo_.endo_simul

  This variable stores the result of a deterministic simulation (computed by `simul`) or of a stochastic simulation (computed by `stoch_simul` with the `periods` option).

  The variables are arranged row by row, in order of declaration (as in `M_.endo_names`). Note that this variable also contains initial and terminal conditions, so it has more columns than the value of `periods` option.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ]

This document was generated by SÃ©bastien Villemot on May 24, 2011 using texi2html 1.82.