Skip to content
Snippets Groups Projects
Verified Commit 594d847c authored by Sébastien Villemot's avatar Sébastien Villemot
Browse files

Merge branch 'occ_checks' of git.dynare.org:JohannesPfeifer/dynare

Ref. !2040
parents 83d28495 852d1352
Branches
Tags
1 merge request!2040Document Markowitz and PKF incompatibilities and throw proper errors if triggered
......@@ -3101,8 +3101,11 @@ Finding the steady state with Dynare nonlinear solver
 
.. option:: markowitz = DOUBLE
 
Value of the Markowitz criterion, used to select the
pivot. Only used when ``solve_algo = 5``. Default: 0.5.
Value of the Markowitz criterion (:math:(0,\infty)`) used to select the
pivot with sparse Gaussian elimination (``solve_algo = 5``). This criterion
governs the tradeoff between selecting the pivot resulting in the most
accurate solution (low ``markowitz`` values) and the one that preserves
maximum sparsity (high ``markowitz`` values). Default: 0.5.
 
*Example*
 
......@@ -5374,6 +5377,11 @@ All of these elements are discussed in the following.
to NaN and the standard deviation of the associated shock set to 0 for the
corresponding periods using the ``heteroskedastic_shocks``-block.
 
Note that models with unit roots will require the user to specify the ``diffuse_filter``-option as
otherwise Blanchard-Kahn errors will be triggered. For the piecewise Kalman filter, the
initialization steps in the diffuse filter will always rely on the model solved for the baseline
regime, without checking whether this is the actual regime in the first period(s).
*Example*
 
::
......@@ -5482,7 +5490,8 @@ All of these elements are discussed in the following.
.. option:: likelihood_piecewise_kalman_filter
 
Employ the piecewise Kalman filter of *Giovannini, Pfeiffer, and Ratto (2021)* when estimating
the model. Default: enabled.
the model. Note that this filter is incompatible with univariate Kalman filters, i.e. ``kalman_algo=2,4``.
Default: enabled.
 
.. option:: likelihood_max_kalman_iterations
 
......@@ -7513,7 +7522,9 @@ block decomposition of the model (see :opt:`block`).
Koopman (2012)* and *Koopman and Durbin (2003)* for the
multivariate and *Koopman and Durbin (2000)* for the univariate
filter) to estimate models with non-stationary observed
variables.
variables. This option will also reset the ``qz_criterium`` to
count unit root variables towards the stable variables. Trying to estimate
a model with unit roots will otherwise result in a Blanchard-Kahn error.
 
When ``diffuse_filter`` is used the ``lik_init`` option of
``estimation`` has no effect.
......
......@@ -20,7 +20,7 @@ function DynareResults = initial_estimation_checks(objective_function,xparam1,Dy
% SPECIAL REQUIREMENTS
% none
% Copyright © 2003-2018 Dynare Team
% Copyright © 2003-2022 Dynare Team
%
% This file is part of Dynare.
%
......@@ -80,6 +80,12 @@ if DynareOptions.occbin.likelihood.status || DynareOptions.occbin.smoother.statu
if DynareOptions.prefilter
error('initial_estimation_checks:: Occbin is incompatible with the prefilter option due to the sample mean generally not corresponding to the steady state with an occasionally binding constraint.')
end
if ~DynareOptions.occbin.likelihood.inversion_filter && (DynareOptions.kalman_algo==2 || DynareOptions.kalman_algo==4)
error('initial_estimation_checks:: Occbin is incompatible with the selected univariate Kalman filter.')
end
if DynareOptions.fast_kalman_filter
error('initial_estimation_checks:: Occbin is incompatible with the fast Kalman filter.')
end
end
if (DynareOptions.occbin.likelihood.status && DynareOptions.occbin.likelihood.inversion_filter) || (DynareOptions.occbin.smoother.status && DynareOptions.occbin.smoother.inversion_filter)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment