... | @@ -74,16 +74,14 @@ Dynare 4.6 |
... | @@ -74,16 +74,14 @@ Dynare 4.6 |
|
|
|
|
|
- Identification (!1648, !1689, !1683, !1711)
|
|
- Identification (!1648, !1689, !1683, !1711)
|
|
|
|
|
|
- Added minimal system identification check of *Komunjer and Ng (2011,
|
|
- Added minimal system identification check of *Komunjer and Ng (2011)*.
|
|
Econometrica)*.
|
|
|
|
|
|
|
|
- Added spectrum identification check of *Qu and Tkachenko (2012,
|
|
- Added spectrum identification check of *Qu and Tkachenko (2012)*.
|
|
Quantitative Economics)*.
|
|
|
|
|
|
|
|
- Identification is now also available for approximation orders 2 and 3
|
|
- Identification is now also available for approximation orders 2 and 3
|
|
with either analytical or numerical parameter derivatives. The relevant
|
|
with either analytical or numerical parameter derivatives. The relevant
|
|
moments and spectrum are computed from the pruned state space system
|
|
moments and spectrum are computed from the pruned state space system
|
|
as in *Mutschler (2015, JEDC)*.
|
|
as in *Mutschler (2015)*.
|
|
|
|
|
|
- All tests (moments, spectrum, minimal system, strength) can be turned
|
|
- All tests (moments, spectrum, minimal system, strength) can be turned
|
|
off.
|
|
off.
|
... | @@ -148,45 +146,47 @@ Dynare 4.6 |
... | @@ -148,45 +146,47 @@ Dynare 4.6 |
|
(union, intersection, difference, cartesian power and product), type
|
|
(union, intersection, difference, cartesian power and product), type
|
|
checking and conversion.
|
|
checking and conversion.
|
|
|
|
|
|
- Added support for comprehensions (e.g. the set containing the squares of
|
|
- Added support for comprehensions (*e.g.* the set containing the squares of
|
|
all even numbers between 1 and 5 can be constructed with `[ i^2 for i in
|
|
all even numbers between 1 and 5 can be constructed with `[ i^2 for i in
|
|
1:5 when mod(i,2) == 0]`)
|
|
1:5 when mod(i,2) == 0]`).
|
|
|
|
|
|
- User-defined functions can be declared using the `@#define` operator (e.g.
|
|
- User-defined functions can be declared using the `@#define` operator (*e.g.*
|
|
`@#define f(x) = 2*x^2+3*x+5`)
|
|
`@#define f(x) = 2*x^2+3*x+5`).
|
|
|
|
|
|
- `@#elseif`-clauses are now supported in conditional statements
|
|
- `@#elseif`-clauses are now supported in conditional statements.
|
|
|
|
|
|
- `@#for` loops can iterate over several variables at the same time (e.g.
|
|
- `@#for` loops can iterate over several variables at the same time (*e.g.*
|
|
`@#for (i,j) in X`, where `X` is an array containing tuples of size 2)
|
|
`@#for (i,j) in X`, where `X` is an array containing tuples of size 2).
|
|
|
|
|
|
- A `defined()` function allows testing whether macro variables have been defined
|
|
- A `defined()` function allows testing whether macro variables have been
|
|
|
|
defined.
|
|
|
|
|
|
- Empty arrays (with the `[]` syntax) are now possible (#707)
|
|
- Empty arrays (with the `[]` syntax) are now possible (#707).
|
|
|
|
|
|
- Arrays of arrays are now supported
|
|
- Arrays of arrays are now supported.
|
|
|
|
|
|
- New macro directives `@#echomacrovars` and `@#echomacrovars(save)` for
|
|
- New macro directives `@#echomacrovars` and `@#echomacrovars(save)` for
|
|
displaying or saving the values of all macro-variables. (#1564)
|
|
displaying or saving the values of all macro-variables. (#1564)
|
|
|
|
|
|
- Inline comments are now supported
|
|
- Inline comments are now supported.
|
|
|
|
|
|
- :warning: All division operations are now done with doubles (as opposed to
|
|
- :warning: All division operations are now done with doubles (as opposed to
|
|
integers). To achieve the old functionality, use the new `floor` operator.
|
|
integers). To achieve the old functionality, use the new `floor` operator.
|
|
|
|
|
|
- :warning: Colon syntax used to require braces around it to create an array
|
|
- :warning: Colon syntax used to require braces around it to create an array
|
|
(e.g. `[1:3]` would create `[1,2,3]`). Now this is not necessary (`1:3`
|
|
(*e.g.* `[1:3]` would create `[1,2,3]`). Now this is not necessary (`1:3`
|
|
creates `[1,2,3]` while `[1:3]` would create `[[1,2,3]]`)
|
|
creates `[1,2,3]` while `[1:3]` would create `[[1,2,3]]`).
|
|
|
|
|
|
- :warning: Previously, printing a boolean would print `1` or `0`. Now, it
|
|
- :warning: Previously, printing a boolean would print `1` or `0`. Now, it
|
|
prints `true` or `false`. To achieve the old functionality, you must cast
|
|
prints `true` or `false`. To achieve the old functionality, you must cast
|
|
it to a real, e.g. `@{(real)(1!=0)}`
|
|
it to a real, *e.g.* `@{(real)(1!=0)}`.
|
|
|
|
|
|
- LaTeX output
|
|
- LaTeX output
|
|
|
|
|
|
- New command `write_latex_steady_state_model` (#1496)
|
|
- New command `write_latex_steady_state_model`. (#1496)
|
|
|
|
|
|
- New option `planner_discount_latex_name` of `ramsey_model` and `discretionary_policy`. (#1686)
|
|
- New option `planner_discount_latex_name` of `ramsey_model` and
|
|
|
|
`discretionary_policy`. (#1686)
|
|
|
|
|
|
- New command `model_local_variable` command for assigning a LaTeX name to
|
|
- New command `model_local_variable` command for assigning a LaTeX name to
|
|
model-local variables. (#563)
|
|
model-local variables. (#563)
|
... | @@ -212,21 +212,31 @@ Dynare 4.6 |
... | @@ -212,21 +212,31 @@ Dynare 4.6 |
|
- New `compilation_setup` block for specifying a custom compiler or custom
|
|
- New `compilation_setup` block for specifying a custom compiler or custom
|
|
compilation flags.
|
|
compilation flags.
|
|
|
|
|
|
- Model and variables declaration
|
|
- Model, variables and parameters declaration
|
|
|
|
|
|
- New syntax to declare model variables in the `model` block. (#1386)
|
|
- New syntax to declare model variables and parameters on-the-fly in the
|
|
|
|
`model` block. To do this, simply follow the symbol name with a vertical
|
|
|
|
line (`|`, pipe character) and either an `e`, an `x`, or a `p`. For
|
|
|
|
example, to declare a parameter named `alpha` in the model block, you
|
|
|
|
could write `alpha|p` directly in an equation where it appears.
|
|
|
|
Similarly, to declare an endogenous variable `c` in the model block you
|
|
|
|
could write `c|e`. (#1386)
|
|
|
|
|
|
|
|
- New syntax to declare model variable and parameters on-the-fly in
|
|
|
|
equation tags. In the tag, simply state the type of variable to be
|
|
|
|
declared (`endogenous`, `exogenous`, or `parameter` followed by an equal
|
|
|
|
sign and the variable name in single quotes. Hence, to declare a variable
|
|
|
|
`c` as endogenous in an equation tag, you can type `[endogenous='c']`.
|
|
|
|
(see 01d5a1308244ffb5a85e7f8f1d6a9e104b458715)
|
|
|
|
|
|
- New `epilogue` block for computing output variables of interest that may
|
|
- New `epilogue` block for computing output variables of interest that may
|
|
not be necessarily defined in the model (e.g. various kinds of
|
|
not be necessarily defined in the model (*e.g.* various kinds of
|
|
real/nominal shares or relative prices, or annualized variables out of a
|
|
real/nominal shares or relative prices, or annualized variables out of a
|
|
quarterly model).
|
|
quarterly model).
|
|
|
|
|
|
- Allow for on-the-fly variable declaration in equation tags (see
|
|
|
|
01d5a1308244ffb5a85e7f8f1d6a9e104b458715)
|
|
|
|
|
|
|
|
- Command-line options
|
|
- Command-line options
|
|
|
|
|
|
- Added the possibility to declare Dynare command-line options in the mod
|
|
- Added the possibility to declare Dynare command-line options in the `.mod`
|
|
file.
|
|
file.
|
|
|
|
|
|
- New option `nopreprocessoroutput` to disable printing of messages from
|
|
- New option `nopreprocessoroutput` to disable printing of messages from
|
... | @@ -242,28 +252,29 @@ Dynare 4.6 |
... | @@ -242,28 +252,29 @@ Dynare 4.6 |
|
- Preprocessor outputs and inputs
|
|
- Preprocessor outputs and inputs
|
|
|
|
|
|
- Added JSON output to the preprocessor. A representation of the model file
|
|
- Added JSON output to the preprocessor. A representation of the model file
|
|
and the whole content of the `*.mod` file is saved in `*.json` files.
|
|
and the whole content of the `.mod` file is saved in `.json` files.
|
|
These JSON files can be easily parsed from any language (C++, Fortran,
|
|
These JSON files can be easily parsed from any language (C++, Fortran,
|
|
Python, Julia, Matlab, ...). This new feature opens the possibility to
|
|
Python, Julia, MATLAB, Octave…). This new feature opens the possibility to
|
|
develop alternative back-ends for the Dynare language.
|
|
develop alternative back-ends for the Dynare language.
|
|
|
|
|
|
- :warning: Most files generated by the preprocessor are now grouped under
|
|
- :warning: Most files generated by the preprocessor are now grouped under
|
|
two subdirectories. Assuming your file is `FILENAME.mod`, then M-files
|
|
two subdirectories. Assuming your file is `FILENAME.mod`, then M-files
|
|
and MEX-files will be under `+FILENAME/`, while other output (JSON,
|
|
and MEX-files will be under `+FILENAME/`, while other output (JSON,
|
|
LaTeX, source code for the MEX files) will be under `FILENAME/`
|
|
LaTeX, source code for the MEX files) will be under `FILENAME/`.
|
|
|
|
|
|
- The macro-generated output is now more readable (no more line numbers and
|
|
- The macro-generated output is now more readable (no more line numbers and
|
|
empty lines). The old behaviour can be restored using the `linemacro`
|
|
empty lines). The old behaviour can be restored using the `linemacro`
|
|
option (see above).
|
|
option (see above).
|
|
|
|
|
|
- Ability to call the preprocessor by passing the `.mod` file as a string
|
|
- Ability to call the preprocessor by passing the `.mod` file as a string
|
|
argument from the macOS or GNU/Linux command line (#1509)
|
|
argument from the macOS or GNU/Linux command line. (#1509)
|
|
|
|
|
|
- dseries classes
|
|
- dseries classes
|
|
|
|
|
|
- New functionalities and efficiency improvements.
|
|
- New functionalities and efficiency improvements.
|
|
|
|
|
|
- Complete rewrite using the new `classdef` syntax and exploiting in place modifications when possible.
|
|
- Complete rewrite using the new `classdef` syntax and exploiting in place
|
|
|
|
modifications when possible.
|
|
|
|
|
|
- Integration of the `dates` classes within `dseries`.
|
|
- Integration of the `dates` classes within `dseries`.
|
|
|
|
|
... | @@ -282,24 +293,43 @@ Dynare 4.6 |
... | @@ -282,24 +293,43 @@ Dynare 4.6 |
|
|
|
|
|
- Misc
|
|
- Misc
|
|
|
|
|
|
- External functions can be located in MATLAB namespaces. (#1639)
|
|
- External functions can be located in MATLAB/Octave namespaces. (#1639)
|
|
|
|
|
|
- Improvements to the balanced growth path test that is performed after
|
|
- Improvements to the balanced growth path test that is performed after
|
|
Dynare has detrended the model (given the trends on variables declared by
|
|
Dynare has detrended the model (given the trends on variables declared by
|
|
the user): the default tolerance has been raised, and a different value
|
|
the user): the default tolerance has been raised, and a different value
|
|
can be set with new option `balanced_growth_test_tol` to the `model`
|
|
can be set with new option `balanced_growth_test_tol` to the `model`
|
|
block; as a consequence, failing the test is now an error again (#1389)
|
|
block; as a consequence, failing the test is now an error again. (#1389)
|
|
|
|
|
|
- New collection of `get` and `set` utilities to retrieve and alter
|
|
- New collection of MATLAB/Octave utilities to retrieve and alter objects:
|
|
objects. (!1686)
|
|
`get_irf`, `get_mean`, `get_shock_stderr_by_name`, `get_smooth`,
|
|
|
|
`get_update`, `set_shock_stderr_value`. (!1686)
|
|
|
|
|
|
- :warning: Previously, when some MEX files were missing, Dynare would
|
|
- :warning: Previously, when some MEX files were missing, Dynare would
|
|
automatically fall back to slower M-file functional alternative; this is
|
|
automatically fall back to slower M-file functional alternative; this is
|
|
no longer the case. It is however still possible to manually add these
|
|
no longer the case. It is however still possible to manually add these
|
|
alternatives in the MATLAB path (they are located under
|
|
alternatives in the MATLAB/Octave path (they are located under
|
|
`matlab/missing/mex`; this only applies to the `mjdgges`, `gensylv`,
|
|
`matlab/missing/mex`; this only applies to the `mjdgges`, `gensylv`,
|
|
`A_times_B_kronecker_C`, `sparse_hessian_times_B_kronecker_C` and
|
|
`A_times_B_kronecker_C`, `sparse_hessian_times_B_kronecker_C` and
|
|
`local_state_space_iteration_2` DLLs)
|
|
`local_state_space_iteration_2` DLLs).
|
|
|
|
|
|
|
|
- References
|
|
|
|
|
|
|
|
- Komunjer, I. and S. Ng (2011), “[Dynamic Identification of Dynamic
|
|
|
|
Stochastic General Equilibrium
|
|
|
|
Models](https://www.onlinelibrary.wiley.com/doi/abs/10.3982/ECTA8916),”
|
|
|
|
*Econometrica*, 79(6), 1995–2032
|
|
|
|
|
|
|
|
- Qu, Z. and D. Tkachenko (2012), “[Identification and frequency domain
|
|
|
|
quasi‐maximum likelihood estimation of linearized dynamic stochastic
|
|
|
|
general equilibrium
|
|
|
|
models](https://onlinelibrary.wiley.com/doi/abs/10.3982/QE126),”
|
|
|
|
*Quantitative Economics*, 3(1), 95–132
|
|
|
|
|
|
|
|
- Mutschler, W. (2015), “[Identification of DSGE models—The effect of
|
|
|
|
higher-order approximation and
|
|
|
|
pruning](https://www.sciencedirect.com/science/article/pii/S0165188915000731),”
|
|
|
|
*Journal of Economic Dynamics and Control*, 56, 34–54
|
|
|
|
|
|
|
|
|
|
Dynare 4.5
|
|
Dynare 4.5
|
... | | ... | |