Fixed indentation and removed tabs.

time-shift
Stéphane Adjemia (Scylla) 2018-12-01 22:56:11 +01:00
parent 50a9ea718b
commit 8eeddf996a
Signed by untrusted user who does not match committer: stepan
GPG Key ID: A6D44CB9C64CE77B
1 changed files with 290 additions and 292 deletions

View File

@ -26,385 +26,383 @@ GNU Octave instructions are generated; in the second step, the program
actually runs the computations. Both steps are triggered automatically actually runs the computations. Both steps are triggered automatically
by the ``dynare`` command. by the ``dynare`` command.
.. matcomm :: dynare FILENAME[.mod] [OPTIONS…] .. matcomm:: dynare FILENAME[.mod] [OPTIONS…]
This command launches Dynare and executes the instructions This command launches Dynare and executes the instructions
included in ``FILENAME.mod``. This user-supplied file contains the included in ``FILENAME.mod``. This user-supplied file contains the
model and the processing instructions, as described in model and the processing instructions, as described in
:ref:`model-file`. The options, listed below, can be passed on the :ref:`model-file`. The options, listed below, can be passed on the
command line, following the name of the ``.mod`` file or in the command line, following the name of the ``.mod`` file or in the
first line of the ``.mod`` file itself (see below). first line of the ``.mod`` file itself (see below).
dynare begins by launching the preprocessor on the ``.mod dynare begins by launching the preprocessor on the ``.mod
file``. By default (unless ``use_dll`` option has been given to file``. By default (unless ``use_dll`` option has been given to
``model``), the preprocessor creates three intermediary files: ``model``), the preprocessor creates three intermediary files:
- ``filename.m``
- ``filename.m``
Contains variable declarations, and computing tasks.
Contains variable declarations, and computing tasks.
- ``FILENAME_dynamic.m``
- ``FILENAME_dynamic.m`` Contains the dynamic model equations. Note that Dynare might
introduce auxiliary equations and variables (see
Contains the dynamic model equations. Note that Dynare might :ref:`aux-variables`). Outputs are the residuals of the
introduce auxiliary equations and variables (see dynamic model equations in the order the equations were
:ref:`aux-variables`). Outputs are the residuals of the declared and the Jacobian of the dynamic model equations. For
dynamic model equations in the order the equations were higher order approximations also the Hessian and the
declared and the Jacobian of the dynamic model equations. For third-order derivatives are provided. When computing the
higher order approximations also the Hessian and the Jacobian of the dynamic model, the order of the endogenous
third-order derivatives are provided. When computing the variables in the columns is stored in
Jacobian of the dynamic model, the order of the endogenous ``M_.lead_lag_incidence``. The rows of this matrix represent
variables in the columns is stored in time periods: the first row denotes a lagged (time t-1)
``M_.lead_lag_incidence``. The rows of this matrix represent variable, the second row a contemporaneous (time t) variable,
time periods: the first row denotes a lagged (time t-1) and the third row a leaded (time t+1) variable. The columns of
variable, the second row a contemporaneous (time t) variable, the matrix represent the endogenous variables in their order
and the third row a leaded (time t+1) variable. The columns of of declaration. A zero in the matrix means that this
the matrix represent the endogenous variables in their order endogenous does not appear in the model in this time
of declaration. A zero in the matrix means that this period. The value in the ``M_.lead_lag_incidence`` matrix
endogenous does not appear in the model in this time corresponds to the column of that variable in the Jacobian of
period. The value in the ``M_.lead_lag_incidence`` matrix the dynamic model. Example: Let the second declared variable
corresponds to the column of that variable in the Jacobian of be ``c`` and the ``(3,2)`` entry of ``M_.lead_lag_incidence``
the dynamic model. Example: Let the second declared variable be 15. Then the 15th column of the Jacobian is the derivative
be ``c`` and the ``(3,2)`` entry of ``M_.lead_lag_incidence`` with respect to ``c(+1)``.
be 15. Then the 15th column of the Jacobian is the derivative
with respect to ``c(+1)``. - ``FILENAME_static.m``
- ``FILENAME_static.m`` Contains the long run static model equations. Note that Dynare
might introduce auxiliary equations and variables (see
:ref:`aux-variables`). Outputs are the residuals of the static
model equations in the order the equations were declared and
the Jacobian of the static equations. Entry ``(i,j)`` of the
Jacobian represents the derivative of the ith static model
equation with respect to the jth model variable in declaration
order.
These files may be looked at to understand errors reported at the
simulation stage.
``dynare`` will then run the computing tasks by executing ``FILENAME.m``.
A few words of warning are warranted here: the filename of the
``.mod`` file should be chosen in such a way that the generated
``.m`` files described above do not conflict with ``.m`` files
provided by MATLAB/Octave or by Dynare. Not respecting this rule
could cause crashes or unexpected behaviour. In particular, it
means that the ``.mod`` file cannot be given the name of a
MATLAB/Octave or Dynare command. Under Octave, it also means that
the ``.mod`` file cannot be named ``test.mod``.
*Options*
.. option:: noclearall
By default, ``dynare`` will issue a ``clear all`` command to
MATLAB (<R2015b) or Octave, thereby deleting all workspace
variables and functions; this option instructs ``dynare`` not
to clear the workspace. Note that starting with Matlab 2015b
``dynare`` only deletes the global variables and the functions
using persistent variables, in order to benefit from the JIT
(Just In Time) compilation. In this case the option instructs
``dynare`` not to clear the globals and functions.
Contains the long run static model equations. Note that Dynare .. option:: onlyclearglobals
might introduce auxiliary equations and variables (see
:ref:`aux-variables`). Outputs are the residuals of the static
model equations in the order the equations were declared and
the Jacobian of the static equations. Entry ``(i,j)`` of the
Jacobian represents the derivative of the ith static model
equation with respect to the jth model variable in declaration
order.
These files may be looked at to understand errors reported at the simulation stage. By default, ``dynare`` will issue a ``clear all`` command to
MATLAB versions before 2015b and to Octave, thereby deleting
``dynare`` will then run the computing tasks by executing ``FILENAME.m``. all workspace variables; this option instructs ``dynare`` to
clear only the global variables (i.e. ``M_, options_, oo_,
estim_params_, bayestopt_``, and ``dataset_``), leaving the
other variables in the workspace.
.. option:: debug
Instructs the preprocessor to write some debugging information
about the scanning and parsing of the ``.mod`` file.
A few words of warning are warranted here: the filename of the .. option:: notmpterms
``.mod`` file should be chosen in such a way that the generated
``.m`` files described above do not conflict with ``.m`` files Instructs the preprocessor to omit temporary terms in the
provided by MATLAB/Octave or by Dynare. Not respecting this rule static and dynamic files; this generally decreases
could cause crashes or unexpected behaviour. In particular, it performance, but is used for debugging purposes since it makes
means that the ``.mod`` file cannot be given the name of a the static and dynamic files more readable.
MATLAB/Octave or Dynare command. Under Octave, it also means that
the ``.mod`` file cannot be named ``test.mod``.
*Options*
.. option:: noclearall .. option:: savemacro[=FILENAME]
By default, ``dynare`` will issue a ``clear all`` command to Instructs ``dynare`` to save the intermediary file which is
MATLAB (<R2015b) or Octave, thereby deleting all workspace obtained after macro-processing (see :ref:`macro-proc-lang`);
variables and functions; this option instructs ``dynare`` not the saved output will go in the file specified, or if no file
to clear the workspace. Note that starting with Matlab 2015b is specified in ``FILENAME-macroexp.mod``
``dynare`` only deletes the global variables and the functions
using persistent variables, in order to benefit from the JIT
(Just In Time) compilation. In this case the option instructs
``dynare`` not to clear the globals and functions.
.. option:: onlyclearglobals .. option:: onlymacro
By default, ``dynare`` will issue a ``clear all`` command to Instructs the preprocessor to only perform the
MATLAB versions before 2015b and to Octave, thereby deleting macro-processing step, and stop just after. Mainly useful for
all workspace variables; this option instructs ``dynare`` to debugging purposes or for using the macro-processor
clear only the global variables (i.e. ``M_, options_, oo_, independently of the rest of Dynare toolbox.
estim_params_, bayestopt_``, and ``dataset_``), leaving the
other variables in the workspace.
.. option:: debug .. option:: nolinemacro
Instructs the preprocessor to write some debugging information Instructs the macro-preprocessor to omit line numbering
about the scanning and parsing of the ``.mod`` file. information in the intermediary ``.mod`` file created after
the macro-processing step. Useful in conjunction with
``savemacro`` when one wants that to reuse the intermediary
``.mod`` file, without having it cluttered by line numbering
directives.
.. option:: notmpterms .. option:: nolog
Instructs the preprocessor to omit temporary terms in the Instructs Dynare to no create a logfile of this run in
static and dynamic files; this generally decreases ``FILENAME.log.`` The default is to create the logfile.
performance, but is used for debugging purposes since it makes
the static and dynamic files more readable.
.. option:: savemacro[=FILENAME] .. option:: params_derivs_order=0|1|2
Instructs ``dynare`` to save the intermediary file which is When :comm:`identification`, :comm:`dynare_sensitivity` (with
obtained after macro-processing (see :ref:`macro-proc-lang`); identification), or :ref:`estimation_cmd <estim-comm>` are
the saved output will go in the file specified, or if no file present, this option is used to limit the order of the
is specified in ``FILENAME-macroexp.mod`` derivatives with respect to the parameters that are calculated
by the preprocessor. 0 means no derivatives, 1 means first
derivatives, and 2 means second derivatives. Default: 2
.. option:: onlymacro .. option:: nowarn
Instructs the preprocessor to only perform the Suppresses all warnings.
macro-processing step, and stop just after. Mainly useful for
debugging purposes or for using the macro-processor
independently of the rest of Dynare toolbox.
.. option:: nolinemacro .. option:: json = parse|transform|compute
Instructs the macro-preprocessor to omit line numbering Causes the preprocessor to output a version of the ``.mod``
information in the intermediary ``.mod`` file created after file in JSON format.
the macro-processing step. Useful in conjunction with
``savemacro`` when one wants that to reuse the intermediary
``.mod`` file, without having it cluttered by line numbering
directives.
.. option:: nolog If ``parse`` is passed, the output will be written after the
parsing of the ``.mod`` file to a file called
``FILENAME.json``.
Instructs Dynare to no create a logfile of this run in If ``transform`` is passed, the JSON output of the transformed
``FILENAME.log.`` The default is to create the logfile. model (maximum lead of 1, minimum lag of -1, expectation
operators substituted, etc.) will be written to a file called
``FILENAME.json`` and the original, untransformed model will
be written in ``FILENAME_original.json``.
.. option:: params_derivs_order=0|1|2 And if ``compute`` is passed, the output is written after the
computing pass. In this case, the transformed model is written
to ``FILENAME.json``, the original model is written to
``FILENAME_original.json``, and the dynamic and static files
are written to ``FILENAME_dynamic.json`` and
``FILENAME_static.json``.
When :comm:`identification`, :comm:`dynare_sensitivity` (with .. option:: jsonstdout
identification), or :ref:`estimation_cmd <estim-comm>` are
present, this option is used to limit the order of the
derivatives with respect to the parameters that are calculated
by the preprocessor. 0 means no derivatives, 1 means first
derivatives, and 2 means second derivatives. Default: 2
.. option:: nowarn Instead of writing output requested by ``json`` to files,
write to standard out.
Suppresses all warnings. .. option:: onlyjson
.. option:: json = parse|transform|compute Quit processing once the output requested by ``json`` has been
written.
Causes the preprocessor to output a version of the ``.mod`` .. option:: jsonderivsimple
file in JSON format.
If ``parse`` is passed, the output will be written after the Print a simplified version (excluding variable name(s) and lag
parsing of the ``.mod`` file to a file called information) of the static and dynamic files in
``FILENAME.json``. ``FILENAME_static.json`` and ``FILENAME_dynamic.``.
If ``transform`` is passed, the JSON output of the transformed .. option:: warn_uninit
model (maximum lead of 1, minimum lag of -1, expectation
operators substituted, etc.) will be written to a file called
``FILENAME.json`` and the original, untransformed model will
be written in ``FILENAME_original.json``.
And if ``compute`` is passed, the output is written after the Display a warning for each variable or parameter which is not
computing pass. In this case, the transformed model is written initialized. See :ref:`param-init`, or
to ``FILENAME.json``, the original model is written to :comm:`load_params_and_steady_state
``FILENAME_original.json``, and the dynamic and static files <load_params_and_steady_state>` for initialization of
are written to ``FILENAME_dynamic.json`` and parameters. See :ref:`init-term-cond`, or
``FILENAME_static.json``. :comm:`load_params_and_steady_state
<load_params_and_steady_state>` for initialization of
endogenous and exogenous variables.
.. option:: jsonstdout .. option:: console
Instead of writing output requested by ``json`` to files, Activate console mode. In addition to the behavior of
write to standard out. ``nodisplay``, Dynare will not use graphical waitbars for long
computations.
.. option:: onlyjson .. option:: nograph
Quit processing once the output requested by ``json`` has been Activate the ``nograph`` option (see :opt:`nograph`), so that
written. Dynare will not produce any graph.
.. option:: jsonderivsimple .. option:: nointeractive
Print a simplified version (excluding variable name(s) and lag Instructs Dynare to not request user input.
information) of the static and dynamic files in
``FILENAME_static.json`` and ``FILENAME_dynamic.``.
.. option:: warn_uninit .. option:: nopathchange
Display a warning for each variable or parameter which is not By default Dynare will change Matlab/Octaves path if
initialized. See :ref:`param-init`, or ``dynare/matlab`` directory is not on top and if Dynares
:comm:`load_params_and_steady_state routines are overriden by routines provided in other
<load_params_and_steady_state>` for initialization of toolboxes. If one wishes to override Dynares routines, the
parameters. See :ref:`init-term-cond`, or ``nopathchange`` options can be used. Alternatively, the path
:comm:`load_params_and_steady_state can be temporarly modified by the user at the top of the
<load_params_and_steady_state>` for initialization of ``.mod`` file (using Matlab/Octaves ``addpath`` command).
endogenous and exogenous variables.
.. option:: console .. option:: mingw
Activate console mode. In addition to the behavior of Tells Dynare that your MATLAB is configured for compiling MEX
``nodisplay``, Dynare will not use graphical waitbars for long files with the MinGW compiler from TDM-GCC (see
computations. :ref:`compil-install`). This option is only available under
Windows, and is used in conjunction with ``use_dll``.
.. option:: nograph .. option:: msvc
Activate the ``nograph`` option (see :opt:`nograph`), so that Tells Dynare that your MATLAB is configured for compiling MEX
Dynare will not produce any graph. files with Microsoft Visual C++ (see
:ref:`compil-install`). This option is only available under
Windows, and is used in conjunction with ``use_dll``.
.. option:: nointeractive .. option:: cygwin
Instructs Dynare to not request user input. Tells Dynare that your MATLAB is configured for compiling MEX
files with Cygwin (see :ref:`compil-install`). This option is
only available under Windows, and is used in conjunction with
``use_dll``.
.. option:: nopathchange .. option:: parallel[=CLUSTER_NAME]
By default Dynare will change Matlab/Octaves path if Tells Dynare to perform computations in parallel. If
``dynare/matlab`` directory is not on top and if Dynares CLUSTER_NAME is passed, Dynare will use the specified cluster
routines are overriden by routines provided in other to perform parallel computations. Otherwise, Dynare will use
toolboxes. If one wishes to override Dynares routines, the the first cluster specified in the configuration file. See
``nopathchange`` options can be used. Alternatively, the path :ref:`conf-file`, for more information about the configuration
can be temporarly modified by the user at the top of the file.
``.mod`` file (using Matlab/Octaves ``addpath`` command).
.. option:: mingw .. option:: conffile=FILENAME
Tells Dynare that your MATLAB is configured for compiling MEX Specifies the location of the configuration file if it differs
files with the MinGW compiler from TDM-GCC (see from the default. See :ref:`conf-file`, for more information
:ref:`compil-install`). This option is only available under about the configuration file and its default location.
Windows, and is used in conjunction with ``use_dll``.
.. option:: msvc .. option:: parallel_slave_open_mode
Tells Dynare that your MATLAB is configured for compiling MEX Instructs Dynare to leave the connection to the slave node
files with Microsoft Visual C++ (see open after computation is complete, closing this connection
:ref:`compil-install`). This option is only available under only when Dynare finishes processing.
Windows, and is used in conjunction with ``use_dll``.
.. option:: cygwin .. option:: parallel_test
Tells Dynare that your MATLAB is configured for compiling MEX Tests the parallel setup specified in the configuration file
files with Cygwin (see :ref:`compil-install`). This option is without executing the ``.mod`` file. See :ref:`conf-file`, for
only available under Windows, and is used in conjunction with more information about the configuration file.
``use_dll``.
.. option:: parallel[=CLUSTER_NAME] .. option:: -DMACRO_VARIABLE=MACRO_EXPRESSION
Tells Dynare to perform computations in parallel. If Defines a macro-variable from the command line (the same
CLUSTER_NAME is passed, Dynare will use the specified cluster effect as using the Macro directive ``@#define`` in a model
to perform parallel computations. Otherwise, Dynare will use file, see :ref:`macro-proc-lang`).
the first cluster specified in the configuration file. See
:ref:`conf-file`, for more information about the configuration
file.
.. option:: conffile=FILENAME .. option:: -I<<path>>
Specifies the location of the configuration file if it differs Defines a path to search for files to be included by the
from the default. See :ref:`conf-file`, for more information macroprocessor (using the ``@#include`` command). Multiple
about the configuration file and its default location. ``-I`` flags can be passed on the command line. The paths will
be searched in the order that the ``-I`` flags are passed and
the first matching file will be used. The flags passed here
take priority over those passed to ``@#includepath``.
.. option:: parallel_slave_open_mode .. option:: nostrict
Instructs Dynare to leave the connection to the slave node Allows Dynare to issue a warning and continue processing when
open after computation is complete, closing this connection
only when Dynare finishes processing.
.. option:: parallel_test 1. there are more endogenous variables than equations.
2. an undeclared symbol is assigned in ``initval`` or ``endval``.
3. exogenous variables were declared but not used in the
``model`` block.
Tests the parallel setup specified in the configuration file .. option:: fast
without executing the ``.mod`` file. See :ref:`conf-file`, for
more information about the configuration file.
.. option:: -DMACRO_VARIABLE=MACRO_EXPRESSION Only useful with model option ``use_dll``. Dont recompile the
MEX files when running again the same model file and the lists
of variables and the equations havent changed. We use a 32
bit checksum, stored in ``<model filename>/checksum``. There
is a very small probability that the preprocessor misses a
change in the model. In case of doubt, re-run without the fast
option.
Defines a macro-variable from the command line (the same .. option:: minimal_workspace
effect as using the Macro directive ``@#define`` in a model
file, see :ref:`macro-proc-lang`).
.. option:: -I<<path>> Instructs Dynare not to write parameter assignments to
parameter names in the .m file produced by the
preprocessor. This is potentially useful when running
``dynare`` on a large ``.mod`` file that runs into workspace
size limitations imposed by MATLAB.
Defines a path to search for files to be included by the .. option:: compute_xrefs
macroprocessor (using the ``@#include`` command). Multiple
``-I`` flags can be passed on the command line. The paths will
be searched in the order that the ``-I`` flags are passed and
the first matching file will be used. The flags passed here
take priority over those passed to ``@#includepath``.
.. option:: nostrict Tells Dynare to compute the equation cross references, writing
them to the output ``.m`` file.
Allows Dynare to issue a warning and continue processing when These options can be passed to the preprocessor by listing them
after the name of the ``.mod`` file. They can alternatively be
defined in the first line of the ``.mod`` file, this avoids typing
them on the command line each time a ``.mod`` file is to be
run. This line must be a Dynare comment (ie must begin with //)
and the options must be comma separated between ``--+`` options:
and ``+--``. As in the command line, if an option admits a value
the equal symbol must not be surrounded by spaces. For instance
``json = compute`` is not correct, and should be written
``json=compute``.
1. there are more endogenous variables than equations. *Output*
2. an undeclared symbol is assigned in ``initval`` or ``endval``.
3. exogenous variables were declared but not used in the ``model`` block.
.. option:: fast Depending on the computing tasks requested in the ``.mod`` file,
executing the ``dynare`` command will leave variables containing
results in the workspace available for further processing. More
details are given under the relevant computing tasks. The
``M_``,``oo_``, and ``options_`` structures are saved in a file
called ``FILENAME_results.mat``. If they exist, ``estim_params_``,
``bayestopt_``, ``dataset_``, ``oo_recursive_`` and
``estimation_info`` are saved in the same file.
Only useful with model option ``use_dll``. Dont recompile the .. matvar:: M_
MEX files when running again the same model file and the lists
of variables and the equations havent changed. We use a 32
bit checksum, stored in ``<model filename>/checksum``. There
is a very small probability that the preprocessor misses a
change in the model. In case of doubt, re-run without the fast
option.
.. option:: minimal_workspace Structure containing various information about the model.
Instructs Dynare not to write parameter assignments to .. matvar:: options_
parameter names in the .m file produced by the
preprocessor. This is potentially useful when running
``dynare`` on a large ``.mod`` file that runs into workspace
size limitations imposed by MATLAB.
.. option:: compute_xrefs Structure contains the values of the various options used by
Dynare during the computation.
Tells Dynare to compute the equation cross references, writing .. matvar:: oo_
them to the output ``.m`` file.
These options can be passed to the preprocessor by listing them Structure containing the various results of the computations.
after the name of the ``.mod`` file. They can alternatively be
defined in the first line of the ``.mod`` file, this avoids typing
them on the command line each time a ``.mod`` file is to be
run. This line must be a Dynare comment (ie must begin with //)
and the options must be comma separated between ``--+`` options:
and ``+--``. As in the command line, if an option admits a value
the equal symbol must not be surrounded by spaces. For instance
``json = compute`` is not correct, and should be written
``json=compute``.
*Output* .. matvar:: dataset_
Depending on the computing tasks requested in the ``.mod`` file, A ``dseries`` object containing the data used for estimation.
executing the ``dynare`` command will leave variables containing
results in the workspace available for further processing. More
details are given under the relevant computing tasks. The ``M_,
oo_``, and ``options_`` structures are saved in a file called
``FILENAME_results.mat``. If they exist, ``estim_params_,
bayestopt_, dataset_, oo_recursive_`` and ``estimation_info`` are
saved in the same file.
.. matvar:: oo_recursive_
.. matvar:: M_ Cell array containing the ``oo_`` structures obtained when
estimating the model for the different samples when performing
recursive estimation and forecasting. The ``oo_`` structure
obtained for the sample ranging to the `i` -th observation is
saved in the `i` -th field. The fields for non-estimated
endpoints are empty.
Structure containing various information about the model. *Example*
.. matvar:: options_ Call dynare from the MATLAB or Octave prompt, without or with options:
Structure contains the values of the various options used by
Dynare during the computation.
.. matvar:: oo_
Structure containing the various results of the computations.
.. matvar:: dataset_
A ``dseries`` object containing the data used for estimation.
.. matvar:: oo_recursive_
Cell array containing the ``oo_`` structures obtained when
estimating the model for the different samples when performing
recursive estimation and forecasting. The ``oo_`` structure
obtained for the sample ranging to the `i` -th observation is
saved in the `i` -th field. The fields for non-estimated
endpoints are empty.
:ex:
Call dynare from the MATLAB or Octave prompt, without or with options:
.. code-block:: matlab .. code-block:: matlab
>> dynare ramst >> dynare ramst
>> dynare ramst.mod savemacro >> dynare ramst.mod savemacro
Alternatively the options can be passed in the first line Alternatively the options can be passed in the first line of
of ``ramst.mod``: ``ramst.mod``:
.. code-block:: dynare .. code-block:: dynare
// --+ options: savemacro, json=compute +-- // --+ options: savemacro, json=compute +--
and then dynare called without passing options on the command and then dynare called without passing options on the command line:
line:
.. code-block:: matlab .. code-block:: matlab
@ -452,8 +450,8 @@ parser works, this is not the case. The most common example of
misleading line and column numbers (and error message for that matter) misleading line and column numbers (and error message for that matter)
is the case of a missing semicolon, as seen in the following example:: is the case of a missing semicolon, as seen in the following example::
varexo a, b varexo a, b
parameters c, ...; parameters c, ...;
In this case, the parser doesnt know a semicolon is missing at the In this case, the parser doesnt know a semicolon is missing at the
end of the ``varexo`` command until it begins parsing the second line end of the ``varexo`` command until it begins parsing the second line