... | ... | @@ -2,90 +2,243 @@ This page documents the changes between Dynare versions (including the unstable |
|
|
one). For previous versions of Dynare, please read the dedicated frozen page on
|
|
|
the [DynareWiki](http://www.dynare.org/DynareWiki/NewFeatures).
|
|
|
|
|
|
Dynare 4.7 (unstable)
|
|
|
Dynare 4.8 (unstable)
|
|
|
---------------------
|
|
|
- New Method of Moments toolbox: `method_of_moments` command (Dynare/dynare!1750) and `matched_moments` block (Dynare/preprocessor!23) that provide functionality to estimate parameters by (i) Generalized Method of Moments (GMM) up to 3rd-order pruned perturbation approximation or (ii) Simulated Method of Moments (SMM) up to any perturbation approximation order. Toolbox is inspired by replication codes accompanied to Andreasen et al. (2018), Born and Pfeifer (2014), and Mutschler (2018).
|
|
|
|
|
|
- Implementation of the Occbin algorithm by Guerrieri and Iacoviello (#569, preprocessor#68), together with the inversion filter of Cuba-Borda, Guerrieri, and Iacoviello and the piecewise Kalman filter of Giovannini, Pfeiffer, and Ratto (Dynare/dynare!1876)
|
|
|
- Performance improvements for k-order perturbation simulation and particle
|
|
|
filtering at higher order (⩾ 3).
|
|
|
|
|
|
- performance optimization to pruned state space system and Lyapunov solvers (Dynare/dynare!1749, Dynare/dynare!1745, Dynare/dynare#1737)
|
|
|
Dynare 4.7
|
|
|
----------
|
|
|
|
|
|
- New routines for simulating semi-structural (backward) models where
|
|
|
some equations incorporate expectations based on future values of a VAR or
|
|
|
VECM model. See the `var_model`, `trend_component_model` and
|
|
|
`var_expectation_model` commands, and the `var_expectation` operator.
|
|
|
|
|
|
- New routines for simulating semi-structural models where some equations are
|
|
|
specified using the polynomial adjustment costs (PAC) approach, as in
|
|
|
Angelini et al. (2019). The forward-looking terms of the PAC equations can
|
|
|
be computed either using a satellite VAR model, or using full
|
|
|
model-consistent expectations. See the `pac_model` command and the
|
|
|
`pac_expectation` operator.
|
|
|
|
|
|
- New Method of Moments toolbox that provide functionality to estimate
|
|
|
parameters by (i) Generalized Method of Moments (GMM) up to 3rd-order pruned
|
|
|
perturbation approximation or (ii) Simulated Method of Moments (SMM) up to
|
|
|
any perturbation approximation order. Tthe toolbox is inspired by
|
|
|
replication codes accompanied to Andreasen et al. (2018), Born and Pfeifer
|
|
|
(2014), and Mutschler (2018). It is accessible via the new
|
|
|
`method_of_moments` command (!1750) and the new `matched_moments` block
|
|
|
(preprocessor!23).
|
|
|
|
|
|
- Implementation of the Occbin algorithm by Guerrieri and Iacoviello (#569,
|
|
|
preprocessor#68), together with the inversion filter of Cuba-Borda,
|
|
|
Guerrieri, and Iacoviello and the piecewise Kalman filter of Giovannini,
|
|
|
Pfeiffer, and Ratto (!1876). It is available via the new block
|
|
|
`occbin_constraints` and the new commands `occbin_setup`, `occbin_solver`,
|
|
|
`occbin_graph` and `occbin_write_regimes`.
|
|
|
|
|
|
- Stochastic simulations
|
|
|
|
|
|
- `debug`-option of `perfect_foresight_solver` allows checking singularity of Jacobian for `sim1` and `sim1_linear`(https://git.dynare.org/Dynare/dynare/-/merge_requests/1834)
|
|
|
- `stoch_simul` now supports theoretical moments at `order=3` with
|
|
|
`pruning`. (dfc73576)
|
|
|
|
|
|
- `stoch_simul` now reports second moments based on the pruned state space
|
|
|
if the `pruning` option is set (in previous Dynare releases it would
|
|
|
report a second-order accurate result based on the linear solution).
|
|
|
(4cf9f7d1a7fa5dac8f91ff3344a6114c7f15959c)
|
|
|
|
|
|
- New `perfect_foresight_solver` to deal with purely static problems (https://git.dynare.org/Dynare/dynare/-/commit/27ee801a6755df021994acf061eb07d7feebf316)
|
|
|
- Estimation
|
|
|
|
|
|
- Performance optimization to pruned state space system and Lyapunov
|
|
|
solvers. (!1749, !1745, #1737)
|
|
|
|
|
|
- New option `mh_posterior_mode_estimation` to `estimation` to perform mode-finding by running the MCMC (https://git.dynare.org/Dynare/preprocessor/-/commit/8d14e18cdbaced798c5330e00c7f5df488187cd6)
|
|
|
- New option `mh_posterior_mode_estimation` to `estimation` to perform
|
|
|
mode-finding by running the MCMC.
|
|
|
(preprocessor@8d14e18cdbaced798c5330e00c7f5df488187cd6)
|
|
|
|
|
|
- New option `particle_filter_options` to set various particle filter options
|
|
|
- New heteroskedastic filter and smoother, where shocks standard error may
|
|
|
*unexpectedly* change in every period. Triggered by
|
|
|
`heteroskedastic_filter` option of the `estimation` command, and
|
|
|
configured via the `heteroskedastic_shocks` block. (!1844, !1851)
|
|
|
|
|
|
- `stoch_simul` now supports theoretical moments at `order=3` with `pruning` (dfc73576) and will report second moments based on the pruned state space if the `pruning`-option is set (https://git.dynare.org/Dynare/dynare/-/commit/4cf9f7d1a7fa5dac8f91ff3344a6114c7f15959c)
|
|
|
- New non-linear least squares optimizer based on `lsqnonlin` for computing
|
|
|
the mode (available under `mode_compute=13`).
|
|
|
|
|
|
- `discretionary_policy` is now able to solve nonlinear models (it will then use their first-order approximation, and the analytical steady state must be provided) (!1792)
|
|
|
- New option `mh_tune_guess` for setting the initial value for
|
|
|
`mh_tune_jscale`. (!1717)
|
|
|
|
|
|
- `evaluate_planner_objective` now i) applies a consistent approximation order, ii) also provides unconditional welfare, and iii) works with higher order approximation (only conditional welfare for order ⩾ 3) (!1828, !1866) and with perfect foresight (!1833).
|
|
|
- New option `smoother_redux` to `estimation` and `calib_smoother` to
|
|
|
trigger computing the Kalman smoother on a restricted state space instead
|
|
|
of the full one. (!1859)
|
|
|
|
|
|
- Option `block` of `model` can now be used in conjunction with `use_dll`
|
|
|
- New block `filter_initial_state` for setting the initial condition of the
|
|
|
Kalman filter/smoother. (7c8f4867)
|
|
|
|
|
|
- New heteroskedastic filter and smoother, where shocks standard error may *unexpectedly* change in every period. Triggered by `heteroskedastic_filter` option of the `estimation` command, and configured via the `heteroskedastic_shocks` block (!1844, !1851)
|
|
|
- New option `mh_initialize_from_previous_mcmc` to the `estimation` command
|
|
|
that allows to pick initial values for a new MCMC from a previous one.
|
|
|
(!1841)
|
|
|
|
|
|
- New non-linear least squares optimizer based on `lsqnonlin` for computing the mode (available under `mode_compute=13`)
|
|
|
- The `xls_sheet` option of the `estimation` command now takes a quoted
|
|
|
string as value. The former unquoted syntax is still accepted, but no
|
|
|
longer recommended. (preprocessor#67)
|
|
|
|
|
|
- Options `block` and `bytecode` of `model` can now be used in conjunction with model-local variables (variables declared with a pound-sign #) (#1243)
|
|
|
- New option `particle_filter_options` to set various particle filter options
|
|
|
|
|
|
- Macroprocessor: variables can be defined without a value (they are assigned integer 1) (preprocessor#43)
|
|
|
- Perfect foresight and extended path
|
|
|
|
|
|
- New option `mh_tune_guess` for setting the initial value for `mh_tune_jscale` (!1717)
|
|
|
- New specialized algorithm in `perfect_foresight_solver` to deal with
|
|
|
purely static problems. (27ee801a6755df021994acf061eb07d7feebf316)
|
|
|
|
|
|
- New option `smoother_redux` to `estimation` and `calib_smoother` to trigger computing the Kalman smoother on a restricted state space instead of the full one (!1859)
|
|
|
- The `debug` option of `perfect_foresight_solver` provides debugging
|
|
|
information if the Jacobian is singular. (!1834)
|
|
|
|
|
|
- New block `filter_initial_state` for setting the initial condition of the Kalman filter/smoother (7c8f4867)
|
|
|
- In deterministic models (perfect foresight or extended path), exogenous
|
|
|
variables with lead/lags are now replaced by auxiliary variables. This
|
|
|
brings those models in line with the transformation done on stochastic
|
|
|
models. However note that transformation is still not exactly the same
|
|
|
between the two classes of models, because there is no need to take into
|
|
|
account the Jensen inequality on the latter. In deterministic models,
|
|
|
there is a one-to-one mapping between exogenous with lead/lags and
|
|
|
auxiliaries, while in stochastic models, an auxiliary endogenous may
|
|
|
correspond to a more complex nonlinear expression.
|
|
|
(preprocessor@9bca65c7e525a2415fe46b27e8760208b22aba9d)
|
|
|
|
|
|
- New option `mh_initialize_from_previous_mcmc` to the `estimation` command that allows to pick initial values for a new MCMC from a previous one (!1841)
|
|
|
- Optimal policy
|
|
|
|
|
|
- Several improvements to `evaluate_planner_objective`:
|
|
|
|
|
|
- New option `schur_vec_tol` to the `identification` command, for setting the tolerance level used to find nonstationary variables in Schur decomposition of the transition matrix (!1794)
|
|
|
- it now applies a consistent approximation order when doing the
|
|
|
computation;
|
|
|
- in addition to the conditional welfare, it now also provides the
|
|
|
unconditional welfare;
|
|
|
- in a stochastic context, it now works with higher order approximation
|
|
|
(only the conditional welfare is available for order ⩾ 3); (!1828,
|
|
|
!1866)
|
|
|
- it now also works in a perfect foresight context. (!1833)
|
|
|
|
|
|
- The `identification`-command now supports optimal policy (!1852)
|
|
|
- `discretionary_policy` is now able to solve nonlinear models (it will
|
|
|
then use their first-order approximation, and the analytical steady state
|
|
|
must be provided). (!1792)
|
|
|
|
|
|
- The `fast_realtime` option of the `realtime_shock_decomposition` command now accepts a vector of integers, which runs the smoother for all the specified data vintages (!1842)
|
|
|
- Identification
|
|
|
|
|
|
- New `notime` option to the `dynare` command (preprocessor@27a8b3b70ed93e45f17e9792d0a23ea781b2b4dc)
|
|
|
- New option `schur_vec_tol` to the `identification` command, for setting
|
|
|
the tolerance level used to find nonstationary variables in Schur
|
|
|
decomposition of the transition matrix. (!1794)
|
|
|
|
|
|
- New `nocommutativity` option to the `dynare` command. This option tells the preprocessor not to use the commutativity of addition and multiplication when looking for common subexpressions. As a consequence, when using this option, equations in various outputs (LaTeX, JSON…) will appear as the user entered them (without terms or factors swapped). Note that using this option may have a performance impact on the preprocessing stage, though it is likely to be small.
|
|
|
(preprocessor@c9c36c037aa6d6c67f8fbb2236b03729a22e5878)
|
|
|
- The `identification` command now supports optimal policy. (!1852)
|
|
|
|
|
|
- Refactoring of `histval_file` and `initval_file` (#1671)
|
|
|
- Shock decomposition
|
|
|
|
|
|
- The `fast_realtime` option of the `realtime_shock_decomposition` command
|
|
|
now accepts a vector of integers, which runs the smoother for all the
|
|
|
specified data vintages. (!1842)
|
|
|
|
|
|
- dseries now support bi-annual (dseries!37) and daily (dseries@1b897b371e3822306c196b59bf771388b719bebb) frequency data
|
|
|
- Macro processor
|
|
|
|
|
|
- Macroprocessor variables can be defined without a value (they are
|
|
|
assigned integer 1). (preprocessor#43)
|
|
|
|
|
|
- dseries can now import data from [DBnomics](https://db.nomics.world), via the DBnomics/mdbnomics> plugin (dseries#44). Note that this does not yet work under Octave (dbnomics/mdbnomics#10). For the time being, the DBnomics plugin must be installed separately.
|
|
|
- LaTeX and JSON outputs
|
|
|
|
|
|
- routines for converting between time series frequencies (e.g. daily to monthly) have been added to dseries
|
|
|
- New `nocommutativity` option to the `dynare` command. This option tells
|
|
|
the preprocessor not to use the commutativity of addition and
|
|
|
multiplication when looking for common subexpressions. As a consequence,
|
|
|
when using this option, equations in various outputs (LaTeX, JSON…) will
|
|
|
appear as the user entered them (without terms or factors swapped). Note
|
|
|
that using this option may have a performance impact on the preprocessing
|
|
|
stage, though it is likely to be small.
|
|
|
(preprocessor@c9c36c037aa6d6c67f8fbb2236b03729a22e5878)
|
|
|
|
|
|
- the `use_dll` option can now directly be given to the `dynare` command (a9fea692e9d1f4bcdd6a7347a9d17a8b36578a4a)
|
|
|
- Model-local variables are now substituted out as part of the various
|
|
|
model transformations. This means that they will no longer appear in
|
|
|
LaTeX or in JSON files (for the latter, they are still visible with
|
|
|
`json=parse` or `json=check`).
|
|
|
|
|
|
- when compiling from source, it is no longer necessary to pass the `MATLAB_VERSION` version to the configure script; the version is now automatically detected
|
|
|
- Compilation of the model (`use_dll` option)
|
|
|
|
|
|
- In deterministic models, exogenous variables with lead/lags are now replaced by auxiliary variables. This brings those models in line with the transformation done on stochastic models. However note that transformation is still not exactly the same between the two classes of models, because there is no need to take into account the Jensen inequality on the latter. In deterministic models, there is a one-to-one mapping between exogenous with lead/lags and auxiliaries, while in stochastic models, an auxiliary endo may correspond to a more complex nonlinear expression (preprocessor@9bca65c7e525a2415fe46b27e8760208b22aba9d)
|
|
|
- Block decomposition (option `block` of `model`) can now be used in
|
|
|
conjunction with the `use_dll` option.
|
|
|
|
|
|
- When using the `loglinear` option, the output from Dynare now clearly shows that the results reported concern the log of the original variable (!1796)
|
|
|
- The `use_dll` option can now directly be given to the `dynare` command.
|
|
|
(a9fea692e9d1f4bcdd6a7347a9d17a8b36578a4a)
|
|
|
|
|
|
- Model-local variables are now substituted out as part of the various model transformations. This means that they will no longer appear in LaTeX or in JSON files (for the latter, they are still visible with `json=parse` or `json=check`)
|
|
|
|
|
|
- The total computing time of a run is now saved to `oo_.time` (https://git.dynare.org/Dynare/preprocessor/-/commit/c79ae5d4bd6d130026fbb6f1dee69a046eab71b6)
|
|
|
- dseries classes
|
|
|
|
|
|
- New `parallel_use_psexec` command-line Windows-specific option for parallel local clusters: when `true` (the default), use `psexec` to spawn processes; when `false`, use `start` (!1843)
|
|
|
- Routines for converting between time series frequencies (e.g. daily to
|
|
|
monthly) have been added.
|
|
|
|
|
|
- The `xls_sheet` option now takes a quoted string as value. The former unquoted syntax is still accepted, but no longer recommended (preprocessor#67)
|
|
|
- dseries now support bi-annual (dseries!37) and daily
|
|
|
(dseries@1b897b371e3822306c196b59bf771388b719bebb) frequency data.
|
|
|
|
|
|
- The `model_info` command now prints the typology of endogenous variables for non-block decomposed models
|
|
|
- dseries can now import data from [DBnomics](https://db.nomics.world), via
|
|
|
the DBnomics/mdbnomics> plugin (dseries#44). Note that this does not yet
|
|
|
work under Octave (dbnomics/mdbnomics#10). For the time being, the
|
|
|
DBnomics plugin must be installed separately.
|
|
|
|
|
|
- :warning: minimal required MATLAB version is now R2014a (8.3) (#1713)
|
|
|
- Misc improvements
|
|
|
|
|
|
- :warning: 32-bit support has been dropped under Windows (#1713)
|
|
|
- The `histval_file` and `initval_file` commands have been made more
|
|
|
flexible and now have functionalities similar to the `datafile` option of
|
|
|
the `estimation` command. (#1671)
|
|
|
|
|
|
- When using the `loglinear` option, the output from Dynare now clearly
|
|
|
shows that the results reported concern the log of the original variable.
|
|
|
(!1796)
|
|
|
|
|
|
- Options `block` and `bytecode` of `model` can now be used in conjunction
|
|
|
with model-local variables (variables declared with a pound-sign `#`).
|
|
|
(#1243)
|
|
|
|
|
|
- The `model_info` command now prints the typology of endogenous variables
|
|
|
for non-block decomposed models.
|
|
|
|
|
|
- The total computing time of a run (in seconds) is now saved to `oo_.time`.
|
|
|
(preprocessor@c79ae5d4bd6d130026fbb6f1dee69a046eab71b6)
|
|
|
|
|
|
- New `notime` option to the `dynare` command, to disable the printing and
|
|
|
the saving of the total computing time.
|
|
|
(preprocessor@27a8b3b70ed93e45f17e9792d0a23ea781b2b4dc)
|
|
|
|
|
|
- New `parallel_use_psexec` command-line Windows-specific option for
|
|
|
parallel local clusters: when `true` (the default), use `psexec` to spawn
|
|
|
processes; when `false`, use `start`. (!1843)
|
|
|
|
|
|
- when compiling from source, it is no longer necessary to pass the
|
|
|
`MATLAB_VERSION` version to the configure script; the version is now
|
|
|
automatically detected.
|
|
|
|
|
|
- Incompatible changes
|
|
|
|
|
|
- :warning: The structure of the `oo_.planner_objective` field has been
|
|
|
changed, in relation to the improvements to `evaluate_planner_objective`.
|
|
|
|
|
|
- :warning: The preprocessor binary has been renamed to
|
|
|
`dynare-preprocessor`, and is now located in a dedicated `preprocessor`
|
|
|
subdirectory.
|
|
|
|
|
|
- :warning: The `dynare` command no longer accepts `output=dynamic` and
|
|
|
`output=first` (those options actually had no effect).
|
|
|
|
|
|
- Platform requirements
|
|
|
|
|
|
- :warning: The minimal required MATLAB version is now R2014a (8.3). (#1713)
|
|
|
|
|
|
- :warning: The 32-bit support has been dropped for Windows. (#1713)
|
|
|
|
|
|
- References
|
|
|
|
|
|
- :warning: the preprocessor binary has been renamed to `dynare-preprocessor`, and is now located in a dedicated `preprocessor` subdirectory
|
|
|
- Andreasen et al. (2018) [TO BE COMPLETED]
|
|
|
- Angelini, Bokan, Christoffel, Ciccarelli and Zimic (2019): “Introducing ECB-BASE: The blueprint
|
|
|
of the new ECB semi-structural model for the euro area”, ECB Working Paper no. 2315
|
|
|
- Born and Pfeifer (2014) [TO BE COMPLETED]
|
|
|
- Mutschler (2018) [TO BE COMPLETED]
|
|
|
- Guerrieri and Iacoviello [TO BE COMPLETED]
|
|
|
- Cuba-Borda, Guerrieri and Iacoviello [TO BE COMPLETED]
|
|
|
- Giovannini, Pfeiffer and Ratto [TO BE COMPLETED]
|
|
|
|
|
|
- :warning: the `dynare` command no longer accepts `output=dynamic` and `output=first` (those options actually had no effect)
|
|
|
|
|
|
Dynare 4.6
|
|
|
----------
|
... | ... | @@ -782,4 +935,4 @@ Dynare 4.5 |
|
|
+ BVAR now saves the marginal data density in
|
|
|
`oo_.bvar.log_marginal_data_density` and stores prior and
|
|
|
posterior information in `oo_.bvar.prior` and
|
|
|
`oo_.bvar.posterior`. |
|
|
\ No newline at end of file |
|
|
`oo_.bvar.posterior`. |