This page documents known bugs in Dynare. A bug is associated with the latest version in which it appears (i.e. it has been or will be fixed in the next version).

# Version 4.4.3

Ramsey policy: if a Lagrange multiplier appears in the model with a lead or a lag of more than one period, the steady state may be wrong (bug not yet fixed; see #633).

- Ramsey policy: when using an external steady state file, incorrect steady states could be accepted
Ramsey policy: when using an external steady state file with more than one instrument, Dynare crashes (a fix can be found here).

Ramsey policy: when using an external steady state file and running

`stoch_simul`after`ramsey_planner`, an incorrect steady state was used.The

`conditional_forecast`command produces wrong results in calibrated models when used at initial values outside of the steady state (given with`initval`) (bug not yet fixed; see #655).Running an MCMC a second time in the same folder with a different number of iterations may result in crashes due to the loading of stale files, (bug not yet fixed; see #566)

Calling estimation after identification can lead to crashes (bug not yet fixed; see #675)

Calling sensitivity with ML estimation can result in crashes (bug not yet fixed; see #676)

Identification does not correctly pass the

`lik_init`option, requiring the manual setting of`options_.diffuse_filter=1`in case of unit roots (bug not yet fixed; see #677)The

`detrending`and`prefiltering`options do not work correctly in some cases (bug not yet fixed; see #679)If

`conditional_variance_decomposition`is requested, although all variables contain unit roots, Dynare crashes instead of providing an error message (bug not yet fixed; see #691)If the steady state of an initial parameterization did not solve, the observation equation might erroneously feature no constant when the

`use_calibration`-option was used (bug not yet fixed; see #698; for now a fix can be found here)- When computing posterior moments, Dynare falsely displays that moment computations are skipped, although the computation was performed correctly
When

`identification`used`analytic_derivation`, the parameter values were not set before testing whether the steady state file changes parameter values, leading to subsequent crashes (bug not yet fixed; see #710; for now a fix can be found here)The

`STEADY_STATE`operator called on model local variables (so-called pound variables) does not work as expected. Thanks to Tom Holden for reporting this.- The substring operator in macro-processor was broken. The characters of the substring could be mixed with random characters from the memory space. Thanks to Tom Holden for reporting this.
Forecasting with exogenous deterministic variables provides wrong decision rules, yielding wrong forecasts. Thanks to Ansgar Rannenberg for reporting this. (bug not yet fixed; see #712)

Displaying of the MH-history with the

`internals`-command crashes if parameter names do not have same length (a fix can be found here)Termination criterion

`maxit`is hard-coded for`solve_algo=0`and cannot be changedDynare crashes for models with

`model(block)`if the Blanchard-Kahn conditions are not satisfied instead of generating an error messageThe

`verbose`-option does not work for`model(block)`When falsely specifying the

`model(linear)`for nonlinear models, incorrect steady states were accepted instead of aborting (bug not yet fixed; see #726)- Computation of the posterior parameter distribution was erroneously based on more draws than specified (there is one additional draw for every Markov chain)
The estimation option

`lyapunov=fixed_point`is broken (bug not yet fixed; see #736)Computation of

`filtered_vars`with only one requested step crashes Dynare (bug not yet fixed; see #737)Estimation with

`kalman_algo=3`is broken with non-diagonal measurement error (bug not yet fixed; see #738)The

`relative_irf`-option results in wrong output at`order>1`as it implicitly relies on linearity (bug not yet fixed; see #740)

# Version 4.4.2

- When loading a dataset in XLS, XLSX or CSV format, the first observation was discarded
When using the

`k_order_perturbation`option (implicit at 3rd order) without the`use_dll`option, crashes or unexpected behavior could happen if some 2nd or 3rd derivative evaluates to zero (while not being symbolically zero)- Ramsey policy: one can experience crashes or wrong results if an external function is used.
- Ramsey policy: If the steady state file was modifying parameters, the changes were not taken fully taken into account.
Wrong results if an external function is derived at 2nd order in conjunction with the

`bytecode`option.The confidence level for computations in

`estimation`,`conf_sig`cannot be changed and is fixed at 0.9 (bug not yet fixed in 4.4.2, contrary to the release announcement); the new option`mh_conf_sig`is now used to set this interval`conditional_forecast`with non-diagonal covariance matrix uses an incorrect decomposition of the covariance matrixSetting

`geweke_interval`was not possible; Dynare always defaulted to the standard value- Reading only one variable from an Excel-file for estimation leads to a crash during the initialization of estimation
The

`mode_file`-option lacks backward compatibility with older Dynare versionsUsing the

`mh_mode`-file with the`mode_file`-option is brokenUsing

`identification`with`var_exo_det`leads to crashes`identification`does not print results if the initial parameter set is invalid and then crashes later on if the MC sample is bigger than 1- Inconsistencies between static and dynamic models lead to crashes instead of error messages
- The use of external functions crashes the preprocessor when the derivatives of the external function are explicitly called
Using the

`block`option when a variable does not appear in the current period crashes Dynare instead of providing an error messageFor Ramsey, the equation numbers associated with the Lagrange multipliers stored in

`M_.aux_vars`are erroneously one too low

# Version 4.4.1

Geweke convergence diagnostics was computed on the wrong sample if

`mh_drop`was not equal to the default of 0.5.The

`loglinear`option of`stoch_simul`displays the steady state of the original values, not the logged ones and produces incorrect simulations and simulated moments. Theoretical moments are unaffected.Setting options for

`mode_compute`was only possible with at least Matlab 8.1 or Octave 3.8.- For unit root models, theoretical HP filtered moments were sometimes erroneously displayed as NaN
Specifying an endogenous variable twice after the

`estimation`-command leads to a crash in the computation of moments- Deterministic simulations crash on models with more than one lead or one lag on exogenous variables
- Homotopy in stochastic extended path with order greater than 0 was not working correctly (during the homotopy steps the perfect foresight model solver was called instead of the stochastic perfect foresight model solver).
<M_.fname>_optimal_mh_scale_parameter.mat was not deleted if mode_compute>0.

- MCMC convergence diagnostics were not computed if mh_replic is less than 2000, but the test should rely on the total number of iterations (if option load_mh_file is used).

# Version 4.4.0

- The syntax introduced in 4.4.0 for conditional forecast in a deterministic setup turned out to be problematic; a better syntax will be implemented in 4.4.1
- In MS-SBVAR, there was a bug preventing the computation of impulse responses on a constant regime
The

`annualAverages`option to`addTable`was removed. For similar functionality, use the`tableDataRhs`option to`addSeries`. Also, the`vlineAfter`option to`addTable`now also accepts a cell array

# Version 4.3.3

In an

`endval`block, auxiliary variables are not given the right value (this does not result in wrong results, but may prevent convergence of the steady state computation)Auxiliary variables are not correctly handled in an

`endval`block (they are not initialized)Deterministic simulations with

`stack_solve_algo=0`(the default value) crash if some exogenous has a lag strictly greater than 1`dynare++`binary broken on OS X if you do not have`gfortran 4.8.0`and`libmatio 1.5.1`installed through Homebrew.When using the

`mode_file`-option, the`initial_estimation_checks`were not performed for the loaded mode, but for the original starting values. Thus, potential prior violations by the mode only appeared during estimation, leading to potentially cryptic crashes and error messages.`mh_autocorrelation_function`and`trace_plot`only worked for deep parameters and structural shocks, but not for correlations (undocumented options)- If a shock/measurement error variance was set to 0 in calibration, the correlation matrix featured a 0 instead of a 1 on the diagonal, leading to wrong estimation results.
In the presence of calibrated covariances,

`estimation`did not enforce positive definiteness of the covariance matrix- ML estimation did not honor the zero lower bound on standard deviations, sometimes giving negative standard deviations
Estimation using the

`diffuse_filter`option together with the univariate Kalman filter and a diagonal measurement error matrix is broken. A fix can be found here- Use of a purely backward model with k_order_solver leads to crashes of Matlab
- Non-linear estimation does not skip the specified presample when computing the likelihood
IRFs and theoretical moments at order > 1 are broken for purely forward-looking models. Fixes can be found here

Simulated moments with constant variables leads to crashes when displaying autocorrelations. A fix can be found here

OSR sometimes crashes with cryptic error messages due to unaccounted error codes returned from

`resol`Check for stochastic singularity in

`initial_estimation_checks`is broken- Recursive estimation starting with pathological case of nobs=1 crashes
- Conditional variance decomposition within or after estimation crashes when at least one shock has been calibrated to zero variance
`estimated_params_init`and`estimated_params_bounds`blocks are broken for correlations`filter_step_ahead`-option produces no output in Bayesian estimation`sim1`within`simul`sometimes erroneously indicates convergence although the residuals are actually NaN or Inf.User-supplied functions specified with the

`mode_compute`-option lead to crashes- Deterministic simulations without specified exogenous variables lead to crashes
MS-SBVAR code did not update files between runs on windows. This means that if a mod file was updated between runs in the same folder and a

`file_tag`was not changed, then the results did not change.

# Version 4.3.2

Option

`use_dll`is broken under Windows- Degenerate case of purely static models (no leads/no lags) were not correctly handled
- Deterministic simulations over a single period were not correctly done
The sensitivity call

`dynare_sensitivity(identification=1,morris=2);`is buggy when there are no shocks estimated. A fix can be found here- The relative IRF-option of posterior IRFs is broken
`shock_decomposition`after using`selected_variables_only`-option fails- Sometimes, only the last open graph is saved, leading to missing and duplicate eps-graphs
rplot only works with

`rplottype=0`(undocumented option)- Estimation with measurement errors is wrong if a correlation between two measurement errors is calibrated
- Forecasting after ML estimation when not forecasting at least one observed variables (var_obs) leads to crashes
- Some functionalities crash with MATLAB R2013a (bytecode, MS-SBVAR)
Sometimes only the first order autocorrelation of

`moments_varendo`is saved instead of all up to`options_.ar`

# Version 4.3.1

Occasional bug in computation of posterior distribution of unconditional variance decomposition. The bug only appears for very large models and can be fixed be deleting the line 128 (

`DecompFileNumber = DecompFileNumber - 1;`) in`dsge_simulated_theoretical_variance_decomposition.m`Sometimes estimation and mode_compute=6 crash with the error

`Operands to the || and && operators must be convertible to logical scalar values`. A fix can be found hereBlock and bytecode with a stochastic model at order >= 2 is unsupported (a more explicit error message will be given in future releases)

Derivative of

`erf()`function is incorrectThe

`check`function does not set`oo_.dr.eigval`unless`stoch_simul`is used (contrary to what is indicated in the reference manual)- Bug in computation of conditional forecast when the constraint is only on one period
Estimation with

`mode_compute=3`is broken under Octave

# Version 4.3.0

- Shock decomposition is broken
- Bug in welfare computation when using ramsey_policy and histval
- Bug in estimation of models with missing observations
- Bug in posterior IRF
The option

`simul_replic`is broken. It must be set by specifying`options_.simul_replic=[Integer]`before the stoch_simul command`@#ifdef`brokenIdentification with

`max_dim_cova_group>1`is broken for specially degenerate models (when parameter theta has pairwise collinearity==1 with multiple other params, i.e. when all couples (theta,b), (theta,c), ... (theta,d) have perfect collinearity in the Jacobian of the model)`parallel_test`option is broken- The Windows package is broken with MATLAB 7.1 and 7.2
- Estimation with correlated shocks is broken
When using mode_compute=0 with a mode-file from mode_compute=6, mh_jscale is not loaded. A fix can be found here

- Using exogenous deterministic variables at 2nd order triggers a crash
The option

`no_create_init`for the`ms_estimation`command is broken.- Loading of datafiles with explicit filename extension was not working

# Version 4.2.5

- Backward models with option loglinear are incorrectly handled
Solving for hyperparameters of Inverse Gamma Priors sometimes crashes. A fix can be found here

The deterministic solver for purely forward models is broken. A fix can be found here

- When running estimation or identification on models with non-diagonal structural error covariance matrices while not simultaneously estimating the correlation between shocks (i.e. calibrating the correlation) Dynare handles the off-diagonal elements incorrectly or crashes.
When using the option prefiltering, smoother plots omitt the smoothed observables. A fix can be found here

In the rare case of entering and expression x as x^(alppha-1) with x being 0 in steady state and alppha being a parameter equal to 2, the Jacobian evaluates to 0 instead of 1. A fix can be found here

- Setting the prior for shock correlations fails if a lower bound is not explicitly specified.
- In rare cases where the last structural shock has very low standard deviation, posterior IRFs may crash. A fix is to add "stock_irf_dsge=zeros(options_.irf,nvar,M_.exo_nbr,MAX_nirfs_dsge);" in line 141 of PosteriorIRF_core1.m

# Version 4.2.4

- For Windows users only: the Dynare++ binary is broken in the Windows package (missing library); use the 4.2.2 package if you need Dynare++ (but otherwise use 4.2.4 for Dynare itself)
- Sometimes Dynare fails to detect MATLAB optimization toolbox

# Version 4.2.3

- 2nd order approximation broken for most models (this problem only affects 4.2.3, not previous versions)
`model_diagnostics`command broken- Inverse gamma priors give incorrect results in some cases with very small variances

# Version 4.2.2

`steady_state_model`is broken for lags higher than 2`simult_.m`does not work with`order=3`if`k_order_solver`has not been explicitly specified`stoch_simul`with`order=3`and without`periods`reports dummy theoretical moments`solve_algo=0`crashes under Octave in`check`and`stoch_simul`(but not`steady`)- Identification is buggy
- the test for singularity in the model reporting eigenvalues close to 0/0 may report false positive
`conditional_variance_decomposition`option doesn't work if one period is 0. Now, Dynare reports an error if the periods are not strictly positive.- Second order approximation buggy if one variable is not present at the current period

# Version 4.2.1

The

`conditional_forecast`command is buggy: it always uses the posterior mode, whatever the value of the`parameter_set`optionSome native MATLAB statements are not correctly passed on to MATLAB (e.g.

`x = { 'foo' 'bar' }`)With the

`block`option of`model`, the preprocessor fails if there is an expression of the form "a^b" (with no endogenous in "a" but an endogenous in "b")Potential crashes with

`external_function`- MEX files for MATLAB fail to compile with GCC 4.6
`STEADY_STATE`does not work correctly when it contains certain types of expressions (those that contain addition/subtraction) as it fails to place parenthesis around it- The secondary rank test following the order test of the Blanchard and Kahn condition is faulty and almost never triggered.
- The variance prior for BVAR "à la Sims" with only one lag is inconsistent; the solution implemented consists of adding one extra observation in the presample used to compute the prior; as a consequence, the numerical results for all estimations will be slightly different in future releases (thanks to Marek Jarociński for spotting this)
- The lambda parameter for HP filter was restricted to integer values for no good reason
The

`load_mh_file`option of`estimation`crashes under Octave for Windows (MinGW version)- Computation of steady state fails when model contains auxiliary variables because of leads or lags larger than 2 or because of the expectation operator.
- Identification does not work with MATLAB older than R2009b

# Version 4.2.0

`STEADY_STATE`operator is buggy- This version does not work with MATLAB 7.3 (R2006b) and older
`ramsey_policy`does not compute the value of the planner objective, contrarily to what is announced in the NewFeatures list`partial_information`option of`stoch_simul`is brokenOption

`conditional_variance_decomposition`of`stoch_simul`and`estimation`is brokenAutomatic detrending does not work in conjunction with

`EXPECTATION`operator- Octave 3.4 is not fully supported, though most files should work
Using percentage sign inside strings in MATLAB statements (like

`disp('% This is not a comment %')`) does not work- Beta prior with a very small standard deviation doesn't work unless you have Matlab Statistical toolbox.
- External functions do not work when assigned to model local variables
`identification`is buggyOption

`cova_compute`of`estimation`command is buggy3rd order approximation without

`use_dll`option can under some circumstances lead to a crash or a dummy result

# Version 4.1.3

- Under Octave, the deterministic solver fails on models with more than one lead or one lag
Exogenous variables in

`histval`are incorrectly handled in a stochastic setup`varexo_det`does not work in conjunction with`use_dll`- EXPECTATION operator works incorrectly when more than one such operator is invoked on the same expression with differing information sets (e.g., something like EXPECTATION(1)(x) and EXPECTATION(-2)(x) appear in the same model block).
- Estimation fails under Octave if there is only one observed variable
- This version of Dynare does not compile against Boost libraries 1.44 or newer

# Version 4.1.2

- third order approximation can be wrong or make Dynare fail on some models
`check`command fails in deterministic setup (corrected in unstable 07/23/2010)the covariance elements of

`optim_weights`(used with`osr`) are not working properlyin a stochastic setup, model local variables are systematically replaced by their expression in the static/dynamic M/C files, resulting in huge output if there is a lot of such variables (bugfix changeset)

- EXPECTATION operator with a lag makes stoch_simul crash
the

`histval`block is buggy in the presence of auxiliary variables (i.e. when there are lags of two or more)- the preprocessor crashes when the mean or stderr of an estimated parameter with beta PDF is specified as an expression instead of a plain value
- deterministic simulation with block decomposition crash when there is a purely backward or purely forward block of more than one equation
STEADY_STATE operator does not work with

`use_dll`option or with`block`without`bytecode`- the preprocessor crashes when some dynamic variables appear only in unused model local variables
`stoch_simul`: in the presence of non-stationary variables, and when selecting only a subset of variables for the output, the "NaN"s in the "mean" column may be wrongly placed

# Version 4.1.1

Models with leads on exogenous can be mishandled (creation of AuxiliaryVariables is buggy in that case)

Option

`mode_compute=6`of`estimation`command fails under Octave`normcdf()`primitive cannot be used with`bytecode`optionIn the macro-processor, integer ranges

`a:b`where`a>b`are not empty

# Version 4.1.0

- Optimal simple rule (OSR) is broken in models with no unit root
- Root mean squared error is wrong for BVAR forecast
- Dynare++ binary shipped in Windows package crashes on some MOD files (it is a problem with the C++ compiler used to create it). Until a new Dynare is released, Windows users should use the Dynare++ binary distributed in the snapshot
- Bug in mode_check when the last screen of plots isn't complete
- dynasave command is broken
- Under Octave 3.0, option stack_solve_algo=3 is broken
- Under Octave/Windows with USE_DLL, Dynare requires option 'cygwin' or 'msvc', although it makes no use of it
- Conditional forecasts are wrong in models with non zero steady state or trends

# Version 4.0.4

- 2nd order approximation of decision rules for stochastic models with leads greater than 2 are wrong
in deterministic models, putting a

`shocks`block*before*an`endval`block leads to wrong results; the right order is to put`endval`before`shocks`- this version doesn't support MATLAB R2009a and R2009b on 64-bit platforms
in estimation, option

`mode_file`shouldn't be used if the posterior mode has been computed for a model with a different specification, even if the list of estimated parameters is the same. This can result in wrong results without error message- with Octave, in stochastic simulations, Dynare will return wrong eigenvalues if the MEX file "mjdgges" is not present
- the resid() function messes up things when doing deterministic simulations, and should be avoided in that case

# Version 4.0.2

Option

`dr_algo`has been suppressed without warning in this version

# Version 4.0.1

- shocks_file option is missing
there is a bug in

`DsgeSmoother.m`for models with measurement errors (thanks for hlousek for reporting it)Octave crashes in mode_check.m, Make

`All``Figures.m and PosteriorIRF.m, because of missing saveas() function (thanks to Gianni Lombardo for reporting)`- estimation crashes when mode_file is specified, at least under Octave (thanks to Gianni Lombardo for reporting)

# Version 4.0.0

typo at the top of

`DiffuseKalmanSmootherH1.m`(thanks to Tsu-ting Tim Lin for reporting)- call to cumulative normal distribution is broken (thanks to Karl Walentin for reporting)
- script for building MEX files under Matlab R2008a is broken (thanks to Slim Bridji for reporting)
- homotopy mode 3 is broken
- BVAR à la Sims: Dynare doesn't accept integer values for tau and lambda parameters (thanks to Aqua for reporting)