This maintenance release fixes various bugs.
The Windows, macOS, MATLAB online and source packages are available for download at the Dynare website.
This release is compatible with MATLAB versions ranging from 9.5 (R2018b) to 24.2 (R2024b), and with GNU Octave versions ranging from 7.1.0 to 9.2.0 (NB: the Windows package requires version 9.2.0 specifically).
Here is a list of the problems identified in version 6.1 and that have been fixed in version 6.2:
qmc_sequence
MEX file from the macOS package would fail to loadmode_compute=11
) required the Statistics Toolboxmode_compute=11
) would not work with the discretionary_policy
commanddiscretionary_policy
command would crash if there were fewer than two
exogenous variablesforecast
command with a model solved at order>1
without
varexo_det
would return forecasts based on a first order approximation
instead of providing an error messageforecast
command with a model solved at order=2
with
varexo_det
and pruning
would return forecasts without pruning
instead
of providing an error messageforecast
command with a model solved at order=3
would crashorder>1
rand_multivariate_student
as the proposal density in the
tailored_random_block_metropolis_hastings
posterior sampler would return
wrong resultsonlyclearglobals
of the dynare
command was not working as intendeddet_cond_forecast
command would crash with plans including only
expected shocksAs a reminder, the list of new features introduced in versions 6.x can be found in the release notes for 6.0.
]]>The keynote speakers will be Eric Leeper (University of Virginia) and Todd Schoellman (Federal Reserve Bank of Minneapolis).
We welcome theoretical, empirical, and quantitative submissions on all topics within macro. We seek papers using different types of software tools besides Dynare.
All papers should be submitted via the submission form. The deadline
for submissions is August September 15th, 2024 and notifications of acceptance
will be sent by September 26th, 2024. There is no fee to attend, lunch
on both days and a conference dinner will be provided. Authors of
accepted papers will be responsible for their airfare and
accommodation.
For any other requests, please contact: conference@dynare.org.
]]>This maintenance release fixes various bugs.
The Windows, macOS, MATLAB online and source packages are already available for download at the Dynare website.
This release is compatible with MATLAB versions ranging from 9.5 (R2018b) to 24.1 (R2024a), and with GNU Octave versions ranging from 7.1.0 to 9.1.0 (NB: the Windows package requires version 9.1.0 specifically).
Here is a list of the problems identified in version 6.0 and that have been fixed in version 6.1:
auxname
was missing in the documentation of the pac_model
commandperfect_foresight_with_expectation_errors_solver
command could return
incorrect results when used in conjunction with
homotopy_linearization_fallback
or
homotopy_marginal_linearization_fallback
optionshorizon
option of the
var_expectation_model
command was incorrectbytecode
option in a Ramsey model
was brokenheteroskedastic_filter
option of the estimation
command would cause a
crash if there was only one shockmethod_of_moments
command would crash during the J-test for just and
underidentified modelswarning
settings were internally overwritten with the
method_of_moments
command or the piecewise Kalman filterbayesian_irf
, moments_varendo
,
or smoother
options of the estimation
command had been specifiedbvar_irf
command would ignore the SquareRoot
option and instead
employ a Cholesky decompositionMoreover, a new homotopy_exclude_varexo
option to the
perfect_foresight_solver
command has been added, to exclude some exogenous
variables from the homotopy procedure (i.e. to keep them at their value
corresponding to 100% of the shock during all homotopy iterations).
As a reminder, the list of new features introduced in versions 6.x can be found in the release notes for 6.0.
]]>The workshop aims at presenting, discussing, and sharing experiences regarding advanced features and expert use of Dynare. It welcomes and stimulates exchanges and contributions with/from the audience.
The 2024 iteration of the workshop will focus on the following topics:
The workshop is addressed to advanced Dynare users with backgrounds ranging from academia to policy institutions.
The course will be open to a maximum of 20 qualified and selected participants. Interested parties can apply by sending the following information to school@dynare.org:
CV and a recent research paper (not necessarily using Dynare) (PDFs only)
The filled-in attached application form (saved as a PDF)
Applications should be submitted no later than April 30th, 2024. We will notify successful applicants by May 31st, 2024 the latest.
No fee is due. Lunches, coffee breaks, a social dinner on September 19th, and workshop material are provided.
European Commission, Joint Research Centre, Ispra site via E. Fermi 2749 21027 Ispra (VA), Italy.
Participants will have to fund their own travel and accommodation expenses. The organizers have pre-booked rooms in nearby recommended hotels from September 17 until September 20, 2024. The workshop will start around 9:00 on Wednesday and finish around 17:00 on Friday.
Organizers will provide connections between the JRC and Milan Airports (Malpensa and Linate) and the Milano Centrale Train Station on the days of arrival and departure. We also organize two daily connections (morning and late afternoon) between the JRC and the pre-booked hotels. There will be no connection provided from other hotels to/from JRC.
The course is jointly organized by the Joint Research Centre and CEPREMAP. Organizers and animators:
Local organisers: Eleonora Beghetto, Katia Colombo, Adrian Ifrim, Beatrice Pataracchia, Josselin Roman, Jan Teresinski.
This is a laptop-only workshop. Each participant is required to come with his/her laptop with MATLAB R2018b or later and the latest stable Dynare version installed. We will provide WiFi access, but participants shouldn’t rely on it to access a MATLAB license server at their own institution. As an alternative to MATLAB, it is possible to use GNU Octave (free software, compatible with MATLAB syntax).
Please note that electricity plugs are Schuko type F: attendees should make sure to have the adapter to plug in in their laptop.
]]>The following features are implemented:
Julia is an open source programming language. It is recommended to use it with VScode. See also Julia in Visual Studio Code.
Documentation is available at: https://DynareJulia.github.io/Dynare.jl.
Installation in Julia can be done with the following commands:
julia> using Pkg
julia> pkg"add Dynare"
Thank you for reporting any error, question or desired additional feature on the Dynare forum or as a GitHub issue.
]]>This major release adds new features and fixes various bugs.
The Windows, macOS, MATLAB Online and source packages are already available for download at the Dynare website.
This release is compatible with MATLAB versions ranging from 9.5 (R2018b) to 23.2 (R2023b), and with GNU Octave versions ranging from 7.1.0 to 8.4.0 (NB: the Windows package requires version 8.4.0 specifically).
The Sequential Monte Carlo sampler as described by Herbst and Schorfheide
(2014) is now available under value hssmc
for option
posterior_sampling_method
.
New routines for 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 were 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. Available under 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 routines for IRF matching with stochastic simulations:
Both frequentist (as in Christiano, Eichenbaum, and Evans, 2005) and Bayesian (as in Christiano, Trabandt, and Walentin, 2010) IRF matching approaches are implemented. 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.
Available under option mom_method = irf_matching
option to the
method_of_moments
command.
New blocks matched_irfs
and matched_irfs_weights
for specifying the
values and weights of the empirical impulse response functions.
Pruning à la Andreasen et al. (2018) is now available at an arbitrary
approximation order when performing stochastic simulations with
stoch_simul
, and at 3rd order when performing particle filtering.
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 for performing a loglinear approximation of some variable(s)
in the context of a first-order stochastic approximation; or for ensuring
that 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.
New model editing features
Multiple model
blocks are now supported (this was already working but
not explicitly documented).
Multiple estimated_params
blocks now concatenate their contents (instead
of overwriting previous ones, which was the former undocumented behavior);
an overwrite
option has been added to provide the old behavior.
New model_options
statement to set model options in a global fashion.
New model_remove
command to remove equations.
New model_replace
block to replace equations.
New var_remove
command to remove variables (or parameters).
New estimated_params_remove
block to remove estimated parameters.
Stochastic simulations
Performance improvements for simulation of the solution under perturbation and for particle filtering at higher order (⩾ 3).
Performance improvement for the first order perturbation solution using
either cycle reduction (dr=cycle_reduction
option) or logarithmic
reduction (dr=logarithmic_reduction
).
New nomodelsummary
option to the stoch_simul
command, to suppress the
printing of the model summary and the covariance of the exogenous shocks.
Estimation
A truncated normal distribution can now be specified as a prior, using the
3rd and 4th parameters of the estimated_params
block as the bounds.
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.
New additional_optimizer_steps
option to the estimation
command to
trigger the sequential execution of several optimizers when looking for
the posterior mode.
The generate_trace_plots
command now allows comparing multiple chains.
The Geweke and Raftery-Lewis convergence diagnostics will now also be
displayed when mh_nblocks>1
.
New robust
, TolGstep
, and TolGstepRel
options to the optimizer
available under mode_compute=5
(“newrat”).
New brooks_gelman_plotrows
option to the estimation
command for
controlling the number of parameters to depict along the rows of the
figures depicting the Brooks and Gelman (1998) convergence diagnostics.
New mh_init_scale_factor
option to the estimation
command tor govern
the overdispersion of the starting draws when initializing several Monte
Carlo Markov Chains. This option supersedes the mh_init_scale
option,
which is now deprecated.
Steady state computation
Steady state computation now accounts for occasionally-binding constraints
of mixed-complementarity problems (as defined by mcp
tags).
New tolx
option to the steady
command for governing the termination
based on the step tolerance.
New fsolve_options
option to the steady
command for passing options to
fsolve
(in conjunction with the solve_algo=0
option).
New option from_initval_to_endval
option to the homotopy_setup
block,
for easily computing homotopy from initial to terminal steady state (when
the former is already computed).
New non_zero
option to resid
command to restrict display to non-zero
residuals.
Perfect foresight
Significant performance improvement of the stack_solve_algo=1
option to
the perfect_foresight_solver
command (Laffargue-Boucekkine-Juillard
algorithm) when used in conjunction with options block
and/or bytecode
of the model
block.
New 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.
New static_mfs
option to the model
block (and to the model_options
command), for controlling the minimum feedback set computation for the
static model. It defaults to 0
(corresponding to the behavior in Dynare
version 5).
Various improvements to homotopy
New endval_steady
option to the perfect_foresight_setup
command for
computing the 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
for controlling the
steady state nonlinear solver).
New homotopy_linearization_fallback
and
homotopy_marginal_linearization_fallback
options to the
perfect_foresight_solver
command to get an approximate solution when
homotopy fails to go to 100%.
New homotopy_initial_step_size
, homotopy_min_step_size
,
homotopy_step_size_increase_success_count
and
homotopy_max_completion_share
options to the
perfect_foresight_solver
command to fine tune the homotopy behavior.
Purely backward, forward and static models are now supported by the homotopy procedure.
The stack_solve_algo=1
and stack_solve_algo=6
options of the
perfect_foresight_solver
command were merged and are now synonymous.
They both provide the Laffargue-Boucekkine-Juillard algorithm and work
with and without the block
and bytecode
options of the model
block.
Using stack_solve_algo=1
is now recommended, but stack_solve_algo=6
is
kept for backward compatibility.
OccBin
New simul_reset_check_ahead_periods
option to the occbin_setup
and
occbin_solver
commands, for resetting check_ahead_periods
in each
simulation period.
new simul_max_check_ahead_periods
, likelihood_max_check_ahead_periods
,
and smoother_max_check_ahead_periods
options to the occbin_setup
command, for truncating the number of periods for which agents check ahead
which regime is present.
Optimal policy
The osr
command now accepts the analytic_derivation
and
analytic_derivation_mode
options.
The evaluate_planner_objective
command now computes the unconditional
welfare for higher-order approximations (⩾ 3).
New periods
and drop
options to the evaluate_planner_objective
command.
Semi-structural models
New pac_target_info
block for decomposing the PAC target into an
arbitrary number of components. Furthermore, in the presence of such a
block, the new pac_target_nonstationary
operator can be used to select
the non stationary part of the target (typically useful in the error
correction term of the PAC equation).
New kind
option to the pac_model
command. This option allows the user
to select the formula used to compute the weights on the VAR companion
matrix variables that are used to form PAC expectations.
Performance improvement to solve_algo=12
and solve_algo=14
, which
significantly accelerates the simulation of purely backward, forward and
static models with the perfect_foresight_solver
command and the routines
for semi-structural models.
dseries classes
The remove
and remove_
methods now accept a list of variables (they
would previously only accept a single variable).
New MATLAB/Octave command dplot
to plot mathematical expressions
generated from variables fetched from (different) dseries objects.
Misc
New display_parameter_values
command to print the parameter values in
the command window.
New collapse_figures_in_tabgroup
command to dock all figures.
Performance improvement for the use_dll
option of the model
block. The
preprocessor now takes advantage of parallelization when compiling the MEX
files.
New mathematical primitives available: complementary error function
(erfc
), hyperbolic functions (cosh
, sinh
, tanh
, acosh
, asinh
,
atanh
).
New last_simulation_period
option to the initval_file
command.
The calib_smoother
command now accepts the nobs
and
heteroskedastic_filter
options.
Under the MATLAB Desktop, autocompletion is now available for the dynare
command and other CLI commands (thanks to Eduard Benet Cerda from
MathWorks).
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 interactive MATLAB/Octave command search
for listing the equations
in which given variable(s) appear (requires json
command line option).
The model_info
command allows to print the block decomposition even if
the block
option of the model
block has not been used, by specifying
the new options block_static
and block_dynamic
.
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).
For those compiling Dynare from source, the build system has been entirely rewritten and now uses Meson; as a consequence, it is now faster and easier to understand.
References:
The default value of the mode_compute
option of the estimation
command
has been changed to 5
(it was previously 4
).
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 in perfect foresight simulation on most models.
The default location for the configuration file has changed. On Linux and
macOS, the configuration file is now 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 now searched by default in
%APPDATA%\dynare\dynare.ini
(typically
c:\Users\USERNAME\AppData\Roaming\dynare\dynare.ini
).
The information stored in oo_.endo_simul, oo_.exo_simul
, and oo_.irfs
is
no longer duplicated in the base workspace. New helper functions
send_endogenous_variables_to_workspace
,
send_exogenous_variables_to_workspace
, and send_irfs_to_workspace
have
been introduced to explicitly request these outputs and to mimic the old
behavior.
The dynare_sensitivity
command has been renamed sensitivity
. The old
name is still accepted but triggers a warning.
The syntax resid(1)
is no longer supported.
The mode_compute=6
option to the estimation
command now recursively
updates 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.
The periods
command has been removed.
The Sigma_e
command has been removed.
The block
option of the model
block no longer has an effect when used in
conjunction with stoch_simul
or estimation
commands.
The Dynare++ executable is no longer distributed since almost all of its functionalities have been integrated inside Dynare for MATLAB/Octave.
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
).
The parallel_slave_open_mode
option of the dynare
command has been
renamed parallel_follower_open_mode
.
The static
option of the model_info
command is now deprecated and is
replaced by the block_static
option.
mh_initialize_from_previous_mcmc
option of the estimation
command
would not work if estimation was conducted with a different prior and the
last draw in the previous MCMC fell outside the new prior boundsmh_recover
option of the estimation
command, the status
bar always started at zero instead of showing the overall progress of the
recovered chainmodel_diagnostics
command would fail to check the correctness of
user-defined steady state filesheteroskedastic_shocks
blockheteroskedastic_filter
optionplot_shock_decomposition
command would fail with the init2shocks
block if the initial_condition_decomposition
was not run beforeplot_priors=1
option of
the estimation
command and Brooks and Gelman (1998) convergence diagnosticsshock_decomposition
command was too big, making
the close button inaccessiblestoch_simul
at order=2
with pruning
would not contain unconditional and conditional variance decompositionThe school will provide an introduction to Dynare and to Dynamic Stochastic General Equilibrium (DSGE) modeling.
The course will focus on simulation and estimation of DSGE models with Dynare. The school will also be an opportunity to introduce new features in Dynare 6.
This Summer school is aimed at beginners as well as at more experienced researchers. PhD students are encouraged to participate. Time will be devoted to the (Dynare related) problems encountered by students in their research.
Interested people should apply by sending an email to school@dynare.org.
Application should be done no later than March 17, 2024. You will have to attach a CV and a recent research paper (please only send PDFs). We will confirm acceptance the following week (no later than March 22th, 2024).
Registration fee (including lunches, coffee breaks and one diner): € 400 for academics and € 1800 for institutional members.
This workshop is organized with the support of Banque de France, CEPREMAP, and DSGE-net.
Will be available soon.
École Normale Supérieure
48 boulevard Jourdan
75014 Paris
France
On Thursday evening, after a visit to the most famous museum of Impressionist painters in Paris, there will be a dinner at the Musée d’Orsay.
This is a laptop only workshop. Each participant is required to come with their laptop with MATLAB R2018b or later installed. We will provide WiFi access, but participants shouldn’t rely on it to access a MATLAB license server at their own institution. As an alternative to MATLAB, it is possible to use GNU Octave (free software, compatible with MATLAB syntax).
]]>No installation on the local computer is needed to use this package. Everything takes place within the web browser.
Dynare for MATLAB Online can be downloaded from the dedicated tab on the Dynare download page.
Running Dynare through MATLAB Online can for example be useful:
The Dynare Team would like to thanks the MathWorks company, and in particular Eduard Benet Cerda, for providing excellent technical support and help throughout the process of creating this package.
]]>This maintenance release fixes various bugs.
The Windows, macOS and source packages are already available for download at the Dynare website.
All users are strongly encouraged to upgrade.
This release is compatible with MATLAB versions ranging from 8.3 (R2014a) to 23.2 (R2023b), and with GNU Octave version 8.3.0 (under Windows).
Note for macOS users with an Apple Silicon processor: this is the first Dynare release that comes with native Apple Silicon (arm64) support under MATLAB. Please download the corresponding package, to be used with MATLAB R2023b for Apple Silicon.
Here is a list of the problems identified in version 5.4 and that have been fixed in version 5.5:
use_dll
option of the model
block, the expression sign(x)
would evaluate to ±1 instead of 0 if x=0
steady
command was such that the residuals
were all below tolerance, except some that are NaN
, then this guess value
was incorrectly accepted as the solution to the steady state problemmethod_of_moments
command with GMM was ignoring the
analytic_standard_errors
option when using mode_compute=4
extended_path
command at order=0
was brokenparallel_use_psexec
command-line option was ignoredbytecode
option of the model
block, using the operators abs()
,
cbrt()
and sign()
would lead to a crashfast
command-line option was broken under MATLAB with Windowsexpectation
or diff
operator was present in the modelendogenous_prior
option of the estimation
command could erroneously
display a warning message about missing observationsmodel_comparison
command would crash if the .mod
file name had less
than four charactersshock_decomposition
command would overwrite previously stored smoother
resultsx13
interface in dseries did not handle missing values, particularly at
the beginning of a seriesx13
interface in dseries would occasionally crash under Windows with
segmentation violationsshocks(surprise)
simulation
was conductedinternals
command would not find the location of the _results.mat
fileprior optimize
command would not work with mode_compute=5
As a reminder, the list of new features introduced in versions 5.x can be found in the release notes for 5.0.
]]>To minimize maintenance efforts while ensuring high levels of security, reliability, and performance, our Docker containers are built from the official MATLAB container base image using a custom Dockerfile. Additionally, we provide an example docker-compose file for complete access to the Ubuntu Desktop via VNC.
More information and instructions for customizations are available here.
Tags | Dynare Version | MATLAB® Version | Octave Version | Operating System | Base Image |
---|---|---|---|---|---|
latest | 5.4 | R2023a | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2023a |
5.4 | 5.4 | R2023a | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2023a |
5.3 | 5.3 | R2022b | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2022b |
5.2 | 5.2 | R2022a | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2022a |
5.1 | 5.1 | R2022a | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2022a |
5.0 | 5.0 | R2021b | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2021b |
4.6.4 | 4.6.4 | R2021a | 5.2.0 | Ubuntu 20.04 | mathworks/matlab:R2021a |