... | ... | @@ -7,22 +7,22 @@ Dynare 6 |
|
|
|
|
|
- Implementation of the Sequential Monte-Carlo sampler (new value `hssmc` for option `posterior_sampling_method`) as described by Herbst and Schorfheide (JAE, 2014).
|
|
|
|
|
|
- New perfect foresight simulation with expectation errors. In such a scenario, agents make expectation errors, in the sense that the path they had anticipated in period 1 does not realize exactly. More precisely, in some simulation periods, they may receive new information that makes them revise their anticipation for the path of future shocks. Also, under this scenario, it is assumed that agents behave as under perfect foresight, *i.e.* they take their decisions as if there was no uncertainty and they knew exactly the path of future shocks; the new information that they may receive comes as a total surprise to them. Implemented by new `perfect_foresight_with_expectation_errors_setup` and `perfect_foresight_with_expectation_errors_solver` commands, and `shocks(learnt_in=…)`, `mshocks(learnt_in=…)` and `endval(learnt_in=…)` blocks.
|
|
|
- New perfect foresight simulation with expectation errors. In such a scenario, agents make expectation errors in that the path they had anticipated in period 1 is not realized exactly. More precisely, in some simulation periods, they may receive new information that makes them revise their anticipation for the path of future shocks. Also, under this scenario, it is assumed that agents behave as under perfect foresight, *i.e.* they make their decisions as if there is no uncertainty and they know exactly the path of future shocks; the new information that they may receive comes as a total surprise to them. Implemented by new `perfect_foresight_with_expectation_errors_setup` and `perfect_foresight_with_expectation_errors_solver` commands, and `shocks(learnt_in=…)`, `mshocks(learnt_in=…)` and `endval(learnt_in=…)` blocks.
|
|
|
|
|
|
- IRF matching with stochastic simulations:
|
|
|
- Dynare supports both Frequentist (as in Christiano, Eichenbaum, and Evans (2005, JPE)) as well as Bayesian IRF matching approaches (as in Christiano, Trabandt, and Walentin (2010, Handbook)). The core idea of IRF matching is to treat empirical impulse responses (e.g. given from a SVAR or local projection estimation) as data and select model parameters that align the model's IRFs closely with their empirical counterparts. (!2191)
|
|
|
- Dynare supports both Frequentist (as in Christiano, Eichenbaum, and Evans (2005, JPE)) as well as Bayesian IRF matching approaches (as in Christiano, Trabandt, and Walentin (2010, Handbook)). The core idea of IRF matching is to treat empirical impulse responses (e.g. given from an SVAR or local projection estimation) as data and select model parameters that align the model's IRFs closely with their empirical counterparts. (!2191)
|
|
|
- New options to `method_of_moments` command. (preprocessor!85)
|
|
|
- New blocks `matched_irfs` and `matched_irfs_weights` to specify the values and weights of the empirical impulse response functions. (preprocessor#124)
|
|
|
|
|
|
- Pruning à la Andreasen et al. (2018) is now available at an arbitrary approximation order when performing stochastic simulations with `stoch_simul` (!2147), and at 3rd order when performing particle filtering (!2071, particles!16, !2045)
|
|
|
|
|
|
- New `log` option to the `var` statement. In addition to the endogenous variable(s) thus declared, this option also triggers the creation of auxiliary variable(s) equal to the log of the corresponding endogenous variable(s). For example, given a ``var(log) y`` statement, two endogenous will be created (``y`` and ``LOG_y``), and an auxiliary equation linking the two will also be added (equal to ``y = exp(LOG_y)``). Moreover, every occurrence of ``y`` in the model will be replaced by ``exp(LOG_y)``. This option is for example useful when one wants to perform a loglinear approximation of some variable(s) in the context of a first-order stochastic approximation; or when one wants to ensure the variable(s) stay(s) in the definition domain of the function defining the steady state or the dynamic residuals when the nonlinear solver is used. (#349)
|
|
|
- New `log` option to the `var` statement. In addition to the endogenous variable(s) thus declared, this option also triggers the creation of auxiliary variable(s) equal to the log of the corresponding endogenous variable(s). For example, given a ``var(log) y`` statement, two endogenous will be created (``y`` and ``LOG_y``), and an auxiliary equation linking the two will also be added (equal to ``y = exp(LOG_y)``). Moreover, every occurrence of ``y`` in the model will be replaced by ``exp(LOG_y)``. This option is, for example, useful when one wants to perform a loglinear approximation of some variable(s) in the context of a first-order stochastic approximation; or when one wants to ensure the variable(s) stay(s) in the definition domain of the function defining the steady state or the dynamic residuals when the nonlinear solver is used. (#349)
|
|
|
|
|
|
- New model editing features (21a8a5794a83b5098cad0fe7beab93dcbe5ef6bf and 4db28998687b8845568e8750d99a1b45f0d6a94f)
|
|
|
|
|
|
- multiple `model` blocks are now supported (this was already working but not explicitly documented)
|
|
|
|
|
|
- :warning: multiple `estimated_params` blocks now concatenate their contents, instead of overwriting previous ones; an `overwrite` option has been implemented to provide the old (undocumented) behaviour (preprocessor@60ef6bbdbd2f95b7f8d52b1c10cf6bb9aa7773cc, preprocessor@ea44aa19d6dd2bf4c508ee081b2b6cae2a647250)
|
|
|
- :warning: multiple `estimated_params` blocks now concatenate their contents instead of overwriting previous ones; an `overwrite` option has been implemented to provide the old (undocumented) behavior (preprocessor@60ef6bbdbd2f95b7f8d52b1c10cf6bb9aa7773cc, preprocessor@ea44aa19d6dd2bf4c508ee081b2b6cae2a647250)
|
|
|
|
|
|
- new `model_options` statement to set model options in a global fashion (preprocessor#19)
|
|
|
|
... | ... | @@ -44,9 +44,9 @@ Dynare 6 |
|
|
|
|
|
- Estimation
|
|
|
|
|
|
- New `conditional_likelihood` option to the `estimation` command. When the option is set, instead of using the Kalman filter to evaluate the likelihood, Dynare will evaluate the conditional likelihood based on the first order reduced form of the model, by assuming that the initial state vector is at its steady state (b7693c32, f7694208)
|
|
|
- New `conditional_likelihood` option to the `estimation` command. When the option is set, instead of using the Kalman filter to evaluate the likelihood, Dynare will evaluate the conditional likelihood based on the first-order reduced form of the model by assuming that the initial state vector is at its steady state (b7693c32, f7694208)
|
|
|
|
|
|
- The `estimation` command now accepts the `additional_optimizer_steps` option, to sequentially execute several optimizers when looking for the posterior mode (!2178)
|
|
|
- The `estimation` command now accepts the `additional_optimizer_steps` option to sequentially execute several optimizers when looking for the posterior mode (!2178)
|
|
|
|
|
|
- The `generate_trace_plots` command now allows comparing multiple chains. (baf8243f)
|
|
|
|
... | ... | @@ -64,9 +64,9 @@ Dynare 6 |
|
|
|
|
|
- :warning: `mode_compute` will recursively update the covariance matrix across the `NumberOfMh` Metropolis-Hastings runs, starting with the `InitialCovarianceMatrix` in the first run, instead of computing it from scratch in every Metropolis-Hastings run (e5102eee)
|
|
|
|
|
|
- Steady state computation
|
|
|
- Steady-state computation
|
|
|
|
|
|
- Steady state computation now allows accounting for `mcp` tags (!1877)
|
|
|
- Steady-state computation now allows accounting for `mcp` tags (!1877)
|
|
|
|
|
|
- New option `tolx` of `steady` that governs the termination based on the step tolerance (preprocessor!60)
|
|
|
|
... | ... | @@ -95,17 +95,17 @@ Dynare 6 |
|
|
|
|
|
- Perfect foresight
|
|
|
|
|
|
- Significant performance improvement of `stack_solve_algo=1` (LBJ algorithm) when used in conjuction with options `block` and/or `bytecode` of the `model` block (17b016d983be260aa09926809d1f3465307c58e2, be648d350b162152e999b8ffad830dce6b373190, 77a7d5c3dec67b6d9943fc23c11afbb1d0cfd431)
|
|
|
- Significant performance improvement of `stack_solve_algo=1` (LBJ algorithm) when used in conjunction with options `block` and/or `bytecode` of the `model` block (17b016d983be260aa09926809d1f3465307c58e2, be648d350b162152e999b8ffad830dce6b373190, 77a7d5c3dec67b6d9943fc23c11afbb1d0cfd431)
|
|
|
|
|
|
- When using block decomposition (with the `block` option of the `model` block), the option `mfs` now defaults to `1`. This setting should deliver better performance on most models, so it is a better default value.
|
|
|
|
|
|
- New option `relative_to_initval` option to the `mshocks` block, to use the initial steady state as a basis for the multiplication when there is an `endval` block (5145bd0708697230c7adeb23c8a0dabf37f4cb3f)
|
|
|
|
|
|
- New option `static_mfs` to the `model` block (and the `model_options` command). Controls the minimum feedback set computation for the static model. Defaults to `0` (corresponding to the behaviour in Dynare 5.x)
|
|
|
- New option `static_mfs` to the `model` block (and the `model_options` command). Controls the minimum feedback set computation for the static model. Defaults to `0` (corresponding to the behavior in Dynare 5.x)
|
|
|
|
|
|
- Homotopy
|
|
|
|
|
|
- New `endval_steady` option to `perfect_foresight_setup` command to compute terminal steady state as the same time as the transitory dynamics (and new options `steady_solve_algo`, `steady_tolf`, `steady_tolx`, `steady_maxit` and `steady_markowitz` to control the steady state nonlinear solver) (d5a3a8e16af56af23c8eb27a693b2e67579bfde0)
|
|
|
- New `endval_steady` option to `perfect_foresight_setup` command to compute terminal steady state at the same time as the transitory dynamics (and new options `steady_solve_algo`, `steady_tolf`, `steady_tolx`, `steady_maxit` and `steady_markowitz` to control the steady state nonlinear solver) (d5a3a8e16af56af23c8eb27a693b2e67579bfde0)
|
|
|
|
|
|
- New `homotopy_linearization_fallback` and `homotopy_marginal_linearization_fallback` options to `perfect_foresight_solver` command to get an approximate solution when homotopy fails to go to 100% (d5a3a8e16af56af23c8eb27a693b2e67579bfde0)
|
|
|
|
... | ... | @@ -113,7 +113,7 @@ Dynare 6 |
|
|
|
|
|
- Purely backward/forward/static models are now supported (fe142b663ef34d26969191d2a096b08aecc1eb10)
|
|
|
|
|
|
- The `stack_solve_algo=1` and `stack_solve_algo=6` options were merged. Both are now synonymous, and provide the LBJ algorithm. They work both with and without the `block` and `bytecode` options. Using `stack_solve_algo=1` is now recommended, but `stack_solve_algo=6` is kept for backward compatibility reasons (06f665e231c1a66863612eb75802ff4f0b698c57)
|
|
|
- The `stack_solve_algo=1` and `stack_solve_algo=6` options were merged. Both are now synonymous and provide the LBJ algorithm. They work both with and without the `block` and `bytecode` options. Using `stack_solve_algo=1` is now recommended, but `stack_solve_algo=6` is kept for backward compatibility reasons (06f665e231c1a66863612eb75802ff4f0b698c57)
|
|
|
|
|
|
|
|
|
- Semi-structural models
|
... | ... | @@ -129,16 +129,16 @@ Dynare 6 |
|
|
|
|
|
- The `remove` and `remove_` methods now accept a list of variables (it would previously accept only a single variable) (dseries@b7ca9c3e, c02e5505)
|
|
|
|
|
|
- New matlab command `dplot` to represent different versions of a mathematical expression by fetching variable values from different dseries objects (dseries@d6c8d039a2f828e5ea009d7181c8145d23932d69).
|
|
|
- New MATLAB command `dplot` to plot mathematical expressions generated from variables fetched from (different) dseries objects (dseries@d6c8d039a2f828e5ea009d7181c8145d23932d69).
|
|
|
|
|
|
|
|
|
- Misc
|
|
|
|
|
|
- New `display_parameter_values` command to print the parameter values to the command window (!2268).
|
|
|
|
|
|
- New `collapse_figures_in_tabgroup` command to dock all figure (!2263)
|
|
|
- New `collapse_figures_in_tabgroup` command to dock all figures (!2263).
|
|
|
|
|
|
- When `use_dll` option of the `model` block is set, the preprocessor now takes advantage of parallelization when compiling the MEX files (preprocessor@f6053df7545174885486a457a2253897a1ed4e27, preprocessor@5cf4729ab0790084af0b0a9e9a1062ddefff3401, preprocessor@dd66459e5f2e5c57ea25cb4a0e8709b22ff3195b, preprocessor@3dd40c6c42d82997972e90899da8632a747f5c90)
|
|
|
- When the `use_dll` option of the `model` block is set, the preprocessor now takes advantage of parallelization when compiling the MEX files (preprocessor@f6053df7545174885486a457a2253897a1ed4e27, preprocessor@5cf4729ab0790084af0b0a9e9a1062ddefff3401, preprocessor@dd66459e5f2e5c57ea25cb4a0e8709b22ff3195b, preprocessor@3dd40c6c42d82997972e90899da8632a747f5c90)
|
|
|
|
|
|
- Support for new mathematical primitives: complementary error function (`erfc`), hyperbolic functions (`cosh`, `sinh`, `tanh`, `acosh`, `asinh`, `atanh`) (preprocessor#85, preprocessor@c0ea8d72038cd6c57e48aca26d2d29866848ae0a)
|
|
|
|
... | ... | @@ -148,18 +148,18 @@ Dynare 6 |
|
|
|
|
|
- Under the MATLAB Desktop, autocompletion is now available for the `dynare` command and other CLI commands (thanks to Eduard Benet Cerda from MathWorks) (36a2a41e357780d468582c78c4cbb738c5bb4b26)
|
|
|
|
|
|
- Model debugging: the preprocessor now creates files for evaluating separately the left- and right-hand sides of model equations. For a model file called `ramst.mod`, you can call `[lhs,rhs]=ramst.debug.static_resid(y,x,params);` (for the static model) and `[lhs,rhs]=ramst.debug.dynamic_resid(y,x,params,steady_state);` (for the dynamic model), where `y` are the endogenous, `x` the exogenous, `params` the parameters, and `steady_state` is self-explanatory. NB: In the dynamic case, the vector `y` of endogenous must have $3n$ elements where $n$ is the number of endogenous (including auxiliary ones); the first $n$ elements correspond to the lagged values, the middle $n$ elements to the contemporaneous values, and the last $n$ elements to the lead values.
|
|
|
- Model debugging: The preprocessor now creates files for evaluating the left- and right-hand sides of model equations separately. For a model file called `ramst.mod`, you can call `[lhs,rhs]=ramst.debug.static_resid(y,x,params);` (for the static model) and `[lhs,rhs]=ramst.debug.dynamic_resid(y,x,params,steady_state);` (for the dynamic model), where `y` are the endogenous, `x` the exogenous, `params` the parameters, and `steady_state` is self-explanatory. NB: In the dynamic case, the vector `y` of endogenous must have $3n$ elements where $n$ is the number of endogenous (including auxiliary ones); the first $n$ elements correspond to the lagged values, the middle $n$ elements to the contemporaneous values, and the last $n$ elements to the lead values.
|
|
|
|
|
|
- New `search` interactive command for listing the equations in which given variable(s) appear (#1886)
|
|
|
- New MATLAB `search` interactive command for listing the equations in which given variable(s) appear (requires `json` command line option) (#1886).
|
|
|
- :warning: Dynare will not duplicate information stored in `oo_.endo_simul, oo_.exo_simul`, and `oo_.irfs` in the base workspace. New helper functions `send_endogenous_variables_to_workspace`, `send_exogenous_variables_to_workspace`, and `send_irfs_to_workspace` can be used to explicitly request these outputs and to mimic the old behavior (!2229).
|
|
|
|
|
|
- :warning: The `dynare_sensitivity` command has been renamed `sensitivity`. The old name is still accepted, but will trigger a warning (66bc9fd9c2707c787efae797e1976b7052159dc4)
|
|
|
- :warning: The `dynare_sensitivity` command has been renamed `sensitivity`. The old name is still accepted but will trigger a warning (66bc9fd9c2707c787efae797e1976b7052159dc4)
|
|
|
|
|
|
- :warning: The `model_info` command allows to print the block decomposition even if the `block`-option of the `model` has not been used by specifying the new options `block_static` and `block_dynamic`. The old `static`-option of the command is superseded by the `block_static`-option. (45450651 and preprocessor@2fd06811)
|
|
|
|
|
|
- :warning: The default location for the configuration file has changed. On Linux and macOS, the configuration file is searched by default under `dynare/dynare.ini` in the configuration directories defined by the XDG specification (typically `$HOME/.config/dynare/dynare.ini` for the user-specific configuration and `/etc/xdg/dynare/dynare.ini` for the system-wide configuration, the former having precedence over the latter). Under Windows, the configuration file is searched by default in `%APPDATA%\dynare\dynare.ini` (typically `c:\Users\USERNAME\AppData\Roaming\dynare\dynare.ini`) (43b24facb)
|
|
|
|
|
|
- There is now a default value for the global initialization file (`GlobalInitFile` option of the configuration file): the `global_init.m` in the Dynare configuration directory (typically `$HOME/.config/dynare/global_init.m` under Linux and macOS, and `c:\Users\USERNAME\AppData\Roaming\dynare\global_init.m`` under Windows) (43b24facb)
|
|
|
- There is now a default value for the global initialization file (`GlobalInitFile` option of the configuration file): the `global_init.m` in the Dynare configuration directory (typically `$HOME/.config/dynare/global_init.m` under Linux and macOS, and `c:\Users\USERNAME\AppData\Roaming\dynare\global_init.m` under Windows) (43b24facb)
|
|
|
|
|
|
- :warning: the `periods` command has been removed (1b47c8a5e551be046fba8b592d29f38e17099bfe)
|
|
|
|
... | ... | @@ -167,7 +167,7 @@ Dynare 6 |
|
|
|
|
|
- :warning: the `block` option of the `model` block no longer has an effect when used in conjunction with `stoch_simul` or `estimation` commands (8f1a4cb3637fe4936ade877c88e6a120af2b5f24)
|
|
|
|
|
|
- :warning: the Dynare++ executable is no longer distributed, since almost all of its functionalities have been integrated inside Dynare for MATLAB/Octave (c1922c3ad0a920d48fd32ec7026bfd5ebd55a824)
|
|
|
- :warning: the Dynare++ executable is no longer distributed since almost all of its functionalities have been integrated inside Dynare for MATLAB/Octave (c1922c3ad0a920d48fd32ec7026bfd5ebd55a824)
|
|
|
|
|
|
- :warning: a macro-processor variable defined without a value (such as `@#define var` in the `.mod` file or alternatively `-Dvar` on the `dynare` command line) is now assigned the `true` logical value (it was previously assigned `1`) (preprocessor#43)
|
|
|
|
... | ... | |