We are pleased to announce the release of Dynare 5.0. This major release adds new features and fixes various bugs.
This release is compatible with MATLAB versions ranging from 8.3 (R2014a) to 9.11 (R2021b), and with GNU Octave version 6.4.0 (under Windows).
The new tools for semi-structural models and the improvements on the nonlinear solvers were funded by the ECB. Special thanks to Nikola Bokan (ECB) for his contributions and numerous bug reports and fixes.
New routines for simulating semi-structural (backward) models where some equations incorporate expectations based on future values of a VAR or trend component 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 the FRB/US model (see Brayton et al., 2014 and Brayton et al., 2000) and the ECB-BASE model (see 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 provides 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. The toolbox is inspired by replication codes accompanying Andreasen et al. (2018), Born and Pfeifer (2014), and Mutschler (2018). It is accessible via the new method_of_moments
command and the new matched_moments
block. Moreover, by default, a new non-linear least squares optimizer based on lsqnonlin
is used for minimizing the method of moments objective function (available under mode_compute=13
). GMM can further benefit from using gradient-based optimizers (usinganalytic_standard_errors
option and/or passing 'Jacobian','on'
to the optimization options) as the Jacobian of the moment conditions can be computed analytically.
Implementation of the Occbin algorithm by Guerrieri and Iacoviello (2015), together with the inversion filter of Cuba-Borda, Guerrieri, Iacoviello, and Zhong (2019) and the piecewise Kalman filter of Giovannini, Pfeiffer, and Ratto (2021). 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
stoch_simul
now supports theoretical moments at order=3
with pruning
.
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).
Estimation
Performance optimization to pruned state space systems and Lyapunov solvers.
New option mh_posterior_mode_estimation
to estimation
to perform mode-finding by running the MCMC.
New heteroskedastic filter and smoother, where shock standard errors may unexpectedly change in every period. Triggered by the heteroskedastic_filter
option of the estimation
command, and configured via the heteroskedastic_shocks
block.
New option mh_tune_guess
for setting the initial value for mh_tune_jscale
.
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.
New block filter_initial_state
for setting the initial condition of the Kalman filter/smoother.
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.
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.
New option particle_filter_options
to set various particle filter options.
Perfect foresight and extended path
New specialized algorithm in perfect_foresight_solver
to deal with purely static problems.
The debug
option of perfect_foresight_solver
provides debugging information if the Jacobian is singular.
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 the 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 for 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.
Optimal policy
Several improvements to evaluate_planner_objective
:
- 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);
- it now also works in a perfect foresight context.
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).
Identification
New option schur_vec_tol
to the identification
command, for setting the tolerance level used to find nonstationary variables in the Schur decomposition of the transition matrix.
The identification
command now supports optimal policy.
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.
Macro processor
- Macroprocessor variables can be defined without a value (they are assigned integer 1).
LaTeX and JSON outputs
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.
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
).
Compilation of the model (use_dll
option)
dseries classes
Misc improvements
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.
When using the loglinear
option, the output from Dynare now clearly shows that the results reported concern the log of the original variable.
Options block
and bytecode
of model
can now be used in conjunction with model-local variables (variables declared with a pound-sign #
).
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
.
New notime
option to the dynare
command, to disable the printing and the saving of the total computing time.
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
.
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.
Andreasen et al. (2018): “The pruned state-space system for non-linear DSGE models: Theory and empirical applications,” Review of Economic Studies, 85(1), 1–49
Angelini, Bokan, Christoffel, Ciccarelli and Zimic (2019): “Introducing ECB-BASE: The blueprint the new ECB semi-structural model for the euro area,” ECB Working Paper no. 2315
Born and Pfeifer (2014): “Policy risk and the business cycle,” Journal of Monetary Economics, 68, 68–85
Brayton, Davis and Tulip (2000): “Polynomial adjustment costs in FRB/US,” Unpublished manuscript
Brayton, Laubach, and Reifschneider (2014): “The FRB/US Model: A tool for macroeconomic policy analysis,” FEDS Notes. Washington: Board of Governors of the Federal Reserve System,
https://doi.org/10.17016/2380-7172.0012 Cuba-Borda, Guerrieri, Iacoviello, and Zhong (2019): “Likelihood evaluation of models with occasionally binding constraints,” Journal of Applied Econometrics, 34(7), 1073–1085
Giovannini, Pfeiffer, and Ratto (2021): “Efficient and robust inference of models with occasionally binding constraints,” Working Paper 2021-03, Joint Research Centre, European Commission
Guerrieri and Iacoviello (2015): “OccBin: A toolkit for solving dynamic models with occasionally binding constraints easily,” Journal of Monetary Economics, 70, 22–38
Mutschler (2018): “Higher-order statistics for DSGE models,” Econometrics and Statistics, 6(C), 44–56