|
|
This page documents the fixed bugs in Dynare. For bugs fixed in previous versions of Dynare, please read the dedicated frozen page on the [DynareWiki](http://www.dynare.org/DynareWiki/KnownBugs).
|
|
|
|
|
|
|
|
|
Bugs in version 4.4.3 that have been fixed in version 4.5.0
|
|
|
-----------------------------------------------------------
|
|
|
|
|
|
- BVAR models
|
|
|
|
|
|
+ `bvar_irf` could display IRFs in an unreadable way when they moved from
|
|
|
negative to positive values,
|
|
|
|
|
|
+ In contrast to what is stated in the documentation, the confidence interval
|
|
|
size `conf_sig` was 0.6 by default instead of 0.9.
|
|
|
|
|
|
|
|
|
- Conditional forecasts
|
|
|
|
|
|
+ The `conditional_forecast` command produced wrong results in calibrated
|
|
|
models when used at initial values outside of the steady state (given with
|
|
|
`initval`),
|
|
|
|
|
|
+ The `plot_conditional_forecast` option could produce unreadable figures if
|
|
|
the areas overlap,
|
|
|
|
|
|
+ The `conditional_forecast` command after MLE crashed,
|
|
|
|
|
|
+ In contrast to what is stated in the manual, the confidence interval size
|
|
|
`conf_sig` was 0.6 by default instead of 0.8.
|
|
|
|
|
|
+ Conditional forecasts were wrong when the declaration of endogenous
|
|
|
variables was not preceeding the declaration of the exogenous
|
|
|
variables and parameters.
|
|
|
|
|
|
|
|
|
- Discretionary policy
|
|
|
|
|
|
+ Dynare allowed running models where the number of instruments did not match
|
|
|
the number of omitted equations,
|
|
|
|
|
|
+ Dynare could crash in some cases when trying to display the solution,
|
|
|
|
|
|
+ Parameter dependence embedded via a `steady_state` was not taken into
|
|
|
account, typically resulting in crashes.
|
|
|
|
|
|
- dseries class
|
|
|
|
|
|
+ When subtracting a dseries object from a number, the number was instead
|
|
|
subtracted from the dseries object.
|
|
|
|
|
|
|
|
|
- DSGE-VAR models
|
|
|
|
|
|
+ Dynare crashed when estimation encountered non-finite values in the Jacobian
|
|
|
at the steady state,
|
|
|
|
|
|
+ The presence of a constant was not considered for degrees of freedom
|
|
|
computation of the Gamma function used during the posterior computation; due
|
|
|
to only affecting the constant term, results should be be unaffected, except
|
|
|
for model_comparison when comparing models with and without.
|
|
|
|
|
|
|
|
|
- Estimation command
|
|
|
|
|
|
+ In contrast to what was stated in the manual, the confidence interval size
|
|
|
`conf_sig` for `forecast` without MCMC was 0.6 by default instead of 0.9,
|
|
|
|
|
|
+ Calling estimation after identification could lead to crashes,
|
|
|
|
|
|
+ When using recursive estimation/forecasting and setting some elements of
|
|
|
`nobs` to be larger than the number of observations T in the data,
|
|
|
`oo_recursive_` contained additional cell entries that simply repeated the
|
|
|
results obtained for `oo_recursive_T`,
|
|
|
|
|
|
+ Computation of Bayesian smoother could crash for larger models when
|
|
|
requesting `forecast` or `filtered_variables`,
|
|
|
|
|
|
+ Geweke convergence diagnostics were not computed on the full MCMC chain when
|
|
|
the `load_mh_file` option was used,
|
|
|
|
|
|
+ The Geweke convergence diagnostics always used the default `taper_steps` and
|
|
|
`geweke_interval`,
|
|
|
|
|
|
+ Bayesian IRFs (`bayesian_irfs` option) could be displayed in an unreadable
|
|
|
way when they move from negative to positive values,
|
|
|
|
|
|
+ If `bayesian_irfs` was requested when `mh_replic` was too low to compute
|
|
|
HPDIs, plotting was crashing,
|
|
|
|
|
|
+ The x-axis value in `oo_.prior_density` for the standard deviation and
|
|
|
correlation of measurement errors was written into a field
|
|
|
`mearsurement_errors_*` instead of `measurement_errors_*`,
|
|
|
|
|
|
+ Using a user-defined `mode_compute` crashed estimation,
|
|
|
|
|
|
+ Option `mode_compute=10` did not work with infinite prior bounds,
|
|
|
|
|
|
+ The posterior variances and covariances computed by `moments_varendo` were
|
|
|
wrong for very large models due to a matrix erroneously being filled up with
|
|
|
zeros,
|
|
|
|
|
|
+ Using the `forecast` option with `loglinear` erroneously added the unlogged
|
|
|
steady state,
|
|
|
|
|
|
+ When using the `loglinear` option the check for the presence of a constant
|
|
|
was erroneously based on the unlogged steady state,
|
|
|
|
|
|
+ Estimation of `observation_trends` was broken as the trends specified as a
|
|
|
function of deep parameters were not correctly updated during estimation,
|
|
|
|
|
|
+ When using `analytic_derivation`, the parameter values were not set before
|
|
|
testing whether the steady state file changes parameter values, leading to
|
|
|
subsequent crashes,
|
|
|
|
|
|
+ If the steady state of an initial parameterization did not solve, the
|
|
|
observation equation could erroneously feature no constant when the
|
|
|
`use_calibration` option was used,
|
|
|
|
|
|
+ When computing posterior moments, Dynare falsely displayed that moment
|
|
|
computations are skipped, although the computation was performed correctly,
|
|
|
|
|
|
+ If `conditional_variance_decomposition` was requested, although all
|
|
|
variables contain unit roots, Dynare crashed instead of providing an error
|
|
|
message,
|
|
|
|
|
|
+ Computation of the posterior parameter distribution was erroneously based
|
|
|
on more draws than specified (there was one additional draw for every Markov
|
|
|
chain),
|
|
|
|
|
|
+ The estimation option `lyapunov=fixed_point` was broken,
|
|
|
|
|
|
+ Computation of `filtered_vars` with only one requested step crashed Dynare,
|
|
|
|
|
|
+ Option `kalman_algo=3` was broken with non-diagonal measurement error,
|
|
|
|
|
|
+ When using the diffuse Kalman filter with missing observations, an additive
|
|
|
factor log(2*pi) was missing in the last iteration step,
|
|
|
|
|
|
+ Passing of the `MaxFunEvals` and `InitialSimplexSize` options to
|
|
|
`mode_compute=8` was broken,
|
|
|
|
|
|
+ Bayesian forecasts contained initial conditions and had the wrong length in
|
|
|
both plots and stored variables,
|
|
|
|
|
|
+ Filtered variables obtained with `mh_replic=0`, ML, or
|
|
|
`calibrated_smoother` were padded with zeros at the beginning and end and
|
|
|
had the wrong length in stored variables,
|
|
|
|
|
|
+ Computation of smoothed measurement errors in Bayesian estimation was broken,
|
|
|
|
|
|
+ The `selected_variables_only` option (`mh_replic=0`, ML, or
|
|
|
`calibrated_smoother`) returned wrong results for smoothed, updated, and
|
|
|
filtered variables,
|
|
|
|
|
|
+ Combining the `selected_variables_only` option with forecasts obtained
|
|
|
using `mh_replic=0`, ML, or `calibrated_smoother` leaded to crashes,
|
|
|
|
|
|
+ `oo_.UpdatedVariables` was only filled when the `filtered_vars` option was specified,
|
|
|
|
|
|
+ When using Bayesian estimation with `filtered_vars`, but without
|
|
|
`smoother`, then `oo_.FilteredVariables` erroneously also contained filtered
|
|
|
variables at the posterior mean as with `mh_replic=0`,
|
|
|
|
|
|
+ Running an MCMC a second time in the same folder with a different number of
|
|
|
iterations could result in crashes due to the loading of stale files,
|
|
|
|
|
|
+ Results displayed after Bayesian estimation when not specifying
|
|
|
the `smoother` option were based on the parameters at the mode
|
|
|
from mode finding instead of the mean parameters from the
|
|
|
posterior draws. This affected the smoother results displayed, but
|
|
|
also calls to subsequent command relying on the parameters stored
|
|
|
in `M_.params` like `stoch_simul`,
|
|
|
|
|
|
+ The content of `oo_.posterior_std` after Bayesian estimation was based on
|
|
|
the standard deviation at the posterior mode, not the one from the MCMC, this
|
|
|
was not consistent with the reference manual,
|
|
|
|
|
|
+ When the initialization of an MCMC run failed, the metropolis.log file was
|
|
|
locked, requiring a restart of Matlab to restart estimation,
|
|
|
|
|
|
+ If the posterior mode was right at the corner of the prior bounds, the
|
|
|
initialization of the MCMC erroneously crashed,
|
|
|
|
|
|
+ If the number of dropped draws via `mh_drop` coincided with the number of
|
|
|
draws in a `_mh'-file`, `oo_.posterior.metropolis.mean` and
|
|
|
`oo_.posterior.metropolis.Variance` were NaN.
|
|
|
|
|
|
|
|
|
- Estimation and calibrated smoother
|
|
|
|
|
|
+ When using `observation_trends` with the `prefilter` option, the mean shift
|
|
|
due to the trend was not accounted for,
|
|
|
|
|
|
+ When using `first_obs`>1, the higher trend starting point of
|
|
|
`observation_trends` was not taken into account, leading, among other things,
|
|
|
to problems in recursive forecasting,
|
|
|
|
|
|
+ The diffuse Kalman smoother was crashing if the forecast error variance
|
|
|
matrix becomes singular,
|
|
|
|
|
|
+ The multivariate Kalman smoother provided incorrect state estimates when
|
|
|
all data for one observation are missing,
|
|
|
|
|
|
+ The multivariate diffuse Kalman smoother provided incorrect state estimates
|
|
|
when the `Finf` matrix becomes singular,
|
|
|
|
|
|
+ The univariate diffuse Kalman filter was crashing if the initial covariance
|
|
|
matrix of the nonstationary state vector is singular,
|
|
|
|
|
|
|
|
|
- Forecats
|
|
|
|
|
|
+ In contrast to what is stated in the manual, the confidence interval size
|
|
|
`conf_sig` was 0.6 by default instead of 0.9.
|
|
|
|
|
|
+ Forecasting with exogenous deterministic variables provided wrong decision
|
|
|
rules, yielding wrong forecasts.
|
|
|
|
|
|
+ Forecasting with exogenous deterministic variables crashed when the
|
|
|
`periods` option was not explicitly specified,
|
|
|
|
|
|
+ Option `forecast` when used with `initval` was using the initial values in
|
|
|
the `initval` block and not the steady state computed from these initial
|
|
|
values as the starting point of forecasts.
|
|
|
|
|
|
|
|
|
- Global Sensitivity Analysis
|
|
|
|
|
|
+ Sensitivity with ML estimation could result in crashes,
|
|
|
|
|
|
+ Option `mc` must be forced if `neighborhood_width` is used,
|
|
|
|
|
|
+ Fixed dimension of `stock_logpo` and `stock_ys`,
|
|
|
|
|
|
+ Incomplete variable initialization could lead to crashes with `prior_range=1`.
|
|
|
|
|
|
|
|
|
- Indentification
|
|
|
|
|
|
+ Identification did not correctly pass the `lik_init` option,
|
|
|
requiring the manual setting of `options_.diffuse_filter=1` in
|
|
|
case of unit roots,
|
|
|
|
|
|
+ Testing identification of standard deviations as the only
|
|
|
parameters to be estimated with ML leaded to crashes,
|
|
|
|
|
|
+ Automatic increase of the lag number for autocovariances when the
|
|
|
number of parameters is bigger than the number of non-zero moments
|
|
|
was broken,
|
|
|
|
|
|
+ When using ML, the asymptotic Hessian was not computed,
|
|
|
|
|
|
+ Checking for singular values when the eigenvectors contained only
|
|
|
one column did not work correctly,
|
|
|
|
|
|
|
|
|
- Model comparison
|
|
|
|
|
|
+ Selection of the `modifiedharmonicmean` estimator was broken,
|
|
|
|
|
|
|
|
|
- Optimal Simple Rules
|
|
|
|
|
|
+ When covariances were specified, variables that only entered with
|
|
|
their variance and no covariance term obtained a wrong weight,
|
|
|
resulting in wrong results,
|
|
|
|
|
|
+ Results reported for stochastic simulations after `osr` were based
|
|
|
on the last parameter vector encountered during optimization,
|
|
|
which does not necessarily coincide with the optimal parameter
|
|
|
vector,
|
|
|
|
|
|
+ Using only one (co)variance in the objective function resulted in crashes,
|
|
|
|
|
|
+ For models with non-stationary variables the objective function was computed wrongly.
|
|
|
|
|
|
|
|
|
- Ramsey policy
|
|
|
|
|
|
+ If a Lagrange multiplier appeared in the model with a lead or a lag
|
|
|
of more than one period, the steady state could be wrong.
|
|
|
|
|
|
+ When using an external steady state file, incorrect steady states
|
|
|
could be accepted,
|
|
|
|
|
|
+ When using an external steady state file with more than one
|
|
|
instrument, Dynare crashed,
|
|
|
|
|
|
+ When using an external steady state file and running `stoch_simul`
|
|
|
after `ramsey_planner`, an incorrect steady state was used,
|
|
|
|
|
|
+ When the number of instruments was not equal to the number of
|
|
|
omitted equations, Dynare crashed with a cryptic message,
|
|
|
|
|
|
+ The `planner_objective` accepted `varexo`, but ignored them for computations,
|
|
|
|
|
|
|
|
|
- Shock decomposition
|
|
|
|
|
|
+ Did not work with the `parameter_set=calibration` option if an
|
|
|
`estimated_params` block is present,
|
|
|
|
|
|
+ Crashed after MLE.
|
|
|
|
|
|
|
|
|
- Perfect foresight models
|
|
|
|
|
|
+ The perfect foresight solver could accept a complex solution
|
|
|
instead of continuing to look for a real-valued one,
|
|
|
|
|
|
+ The `initval_file` command only accepted column and not row vectors,
|
|
|
|
|
|
+ The `initval_file` command did not work with Excel files,
|
|
|
|
|
|
+ Deterministic simulations with one boundary condition crashed in
|
|
|
`solve_one_boundary` due to a missing underscore when passing
|
|
|
`options_.simul.maxit`,
|
|
|
|
|
|
+ Deterministic simulation with exogenous variables lagged by more
|
|
|
than one period crashed,
|
|
|
|
|
|
+ Termination criterion `maxit` was hard-coded for `solve_algo=0`
|
|
|
and could no be changed,
|
|
|
|
|
|
+ When using `block`/`bytecode`, relational operators could not be enforced,
|
|
|
|
|
|
+ When using `block` some exceptions were not properly handled,
|
|
|
leading to code crashes,
|
|
|
|
|
|
+ Using `periods=1` crashed the solver (bug only partially fixed).
|
|
|
|
|
|
|
|
|
- Smoothing
|
|
|
|
|
|
+ The univariate Kalman smoother returned wrong results when used
|
|
|
with correlated measurement error,
|
|
|
|
|
|
+ The diffuse smoother sometimes returned linear combinations of the
|
|
|
smoothed stochastic trend estimates instead of the original trend
|
|
|
estimates.
|
|
|
|
|
|
- Perturbation reduced form
|
|
|
|
|
|
+ In contrast to what is stated in the manual, the results of the
|
|
|
unconditional variance decomposition were only stored in
|
|
|
`oo_.gamma_y(nar+2)`, not in `oo_.variance_decomposition`,
|
|
|
|
|
|
+ Dynare could crash when the steady state could not be computed
|
|
|
when using the `loglinear` option,
|
|
|
|
|
|
+ Using `bytcode` when declared exogenous variables were not
|
|
|
used in the model leaded to crashes in stochastic simulations,
|
|
|
|
|
|
+ Displaying decision rules involving lags of auxiliary variables of
|
|
|
type 0 (leads>1) crashed.
|
|
|
|
|
|
+ The `relative_irf` option resulted in wrong output at `order>1` as
|
|
|
it implicitly relies on linearity.
|
|
|
|
|
|
|
|
|
- Displaying of the MH-history with the `internals` command crashed
|
|
|
if parameter names did not have same length.
|
|
|
|
|
|
- Dynare crashed when the user-defined steady state file returned an
|
|
|
error code, but not an conformable-sized steady state vector.
|
|
|
|
|
|
- Due to a bug in `mjdgges.mex` unstable parameter draws with
|
|
|
eigenvalues up to 1+1e-6 could be accepted as stable for the
|
|
|
purpose of the Blanchard-Kahn conditions, even if `qz_criterium<1`.
|
|
|
|
|
|
- The `use_dll` option on Octave for Windows required to pass a
|
|
|
compiler flag at the command line, despite the manual stating this
|
|
|
was not necessary.
|
|
|
|
|
|
- Dynare crashed for models with `block` option if the Blanchard-Kahn
|
|
|
conditions were not satisfied instead of generating an error
|
|
|
message.
|
|
|
|
|
|
- The `verbose` option did not work with `model(block)`.
|
|
|
|
|
|
- When falsely specifying the `model(linear)` for nonlinear models,
|
|
|
incorrect steady states were accepted instead of aborting.
|
|
|
|
|
|
- The `STEADY_STATE` operator called on model local variables
|
|
|
(so-called pound variables) did not work as expected.
|
|
|
|
|
|
- The substring operator in macro-processor was broken. The
|
|
|
characters of the substring could be mixed with random characters
|
|
|
from the memory space.
|
|
|
|
|
|
- Block decomposition could sometimes cause the preprocessor to crash.
|
|
|
|
|
|
- A bug when external functions were used in model local variables
|
|
|
that were contained in equations that required auxiliary
|
|
|
variable/equations led to crashes of Matlab.
|
|
|
|
|
|
- Sampling from the prior distribution for an inverse gamma II
|
|
|
distribution when `prior_trunc>0` could result in incorrect
|
|
|
sampling.
|
|
|
|
|
|
- Sampling from the prior distribution for a uniform distribution
|
|
|
when `prior_trunc>0` was ignoring the prior truncation.
|
|
|
|
|
|
- Conditional forecasts were wrong when the declaration of endogenous
|
|
|
variables was not preceeding the declaration of the exogenous
|
|
|
variables and parameters. |