Commit Graph

7090 Commits (9c52aec23d603bed838198f5a113f7958cae7d57)

Author SHA1 Message Date
Johannes Pfeifer dab5d38068 Fix initialization of state variances
- incomplete computation of variances in case 1
- wrong ordering for case 2
2020-11-12 10:43:04 +01:00
Johannes Pfeifer c0c1b98326 discretionary_policy_1.m: take care of presence of auxiliary equations
Happens e.g. with news shocks
2020-11-11 22:08:19 +01:00
Sébastien Villemot fcb52478e4
Preprocessor: replace exogenous with lead/lags by auxiliary variables in deterministic models
Several tests need to be adapted, because they were implicitly making the
assumption that there is no auxiliary variable.

Incidentally, this closes #1731. This commit therefore also removes the
workaround introduced in 0391dbbeb1.
2020-11-09 16:34:12 +01:00
Sébastien Villemot 029ab65e68
Perfect foresight with initval_file: fix another bug when M_.orig_maximum_lag ≠ M_.maximum_lag
Similar to 95dcb5f4b7.
2020-11-05 16:08:57 +01:00
Sébastien Villemot 95dcb5f4b7
Perfect foresight with initval_file: fix bug when M_.orig_maximum_lag ≠ M_.maximum_lag
By the way, remove inexact comment about a similar code in histvalf.m
2020-11-05 15:39:55 +01:00
Sébastien Villemot 5fab01c534
Perfect foresight: fix case where max lead/lag on exo is greater than max lead/lag on endo
Bug introduced in commit e21cb1ad6b

Ref. #1720
2020-10-21 19:12:22 +02:00
Sébastien Villemot e21cb1ad6b
LMMCP: fix the purely backward and purely forward cases
Closes: #1720
2020-10-21 16:30:40 +02:00
Sébastien Villemot 4ba0f0a9c3
LMMCP: don’t report a wrong maxerror, rather put NaN 2020-10-20 18:27:19 +02:00
Sébastien Villemot 46da76c0ce
LMMCP: fix bug when periods=1
The fix in commit 24cc67e585 was incorrect.
2020-10-20 18:20:04 +02:00
Sébastien Villemot 87cc519321
LMMCP / linear perfect foresight: fix bug for models with a single equation
The routines use the find() function applied to a subset of columns of the
Jacobian, which in this case is a row vector. When passed a row vector, find()
returns row vectors (while it returns column vectors when passed a column
vector or a matrix). This case was not correctly handled.
2020-10-20 18:20:02 +02:00
Sébastien Villemot df58037feb
Reporting: rename @graph class to @report_graph, to avoid name clash with MATLAB’s @graph 2020-10-20 14:39:47 +02:00
Sébastien Villemot e3207b1d8c
Extended path: remove ep.use_bytecode flag
It’s actually useless and complicates the code. Simply rely on
options_.bytecode.

Ref. #1742
2020-10-15 11:06:59 +02:00
Sébastien Villemot 10333f99e2
Fix extended_path + bytecode under Octave
Ref. #1742
2020-10-15 10:59:15 +02:00
Sébastien Villemot 71e3e0d49e
Fix extended_path with bytecode
By the way, document and enforce the fact that stochastic extended_path (i.e.
order > 0) is not compatible with either bytecode or block.

Closes: #1742
2020-10-14 17:25:58 +02:00
Sébastien Villemot e576dc8c81
Block decomposition: fix evaluation of recursive variables in solved blocks
Ref. #1726
2020-10-06 18:31:13 +02:00
Sébastien Villemot fa12e5abfc
Provisions for MATLAB R2020b 2020-09-24 15:43:06 +02:00
Stéphane Adjemian (Charybdis) 202bf913c0
Cosmetic changes. 2020-09-23 13:56:08 +02:00
Michel Juillard c366a8c3da fix bugs 2020-09-20 16:52:31 +02:00
Michel Juillard c2e43c0093 fix histval_initval_file unit tests 2020-09-20 11:11:26 +02:00
Michel Juillard 57c94a1c76 revise options checks 2020-09-19 19:17:42 +02:00
Michel Juillard b6582c2d5f fix handling firstsimulationperiod 2020-09-19 12:18:24 +02:00
Michel Juillard 91b4cfd3a8 fixes handling of periods in histval_file/initval_file 2020-09-19 12:14:43 +02:00
Sébastien Villemot b9812a0ff0
Fix another issue with extended_path + bytecode
As reported in https://forum.dynare.org/t/extended-path-bytecode/16577
2020-09-08 13:13:00 +02:00
MichelJuillard 0391dbbeb1 fix bug with lag on exogenous variables on more than one period
(cherry picked from commit 492124ce9886e6aef4f4cefef302241d7edfe024)
2020-09-04 14:02:04 +00:00
Sébastien Villemot 26597bf093
Remove more utilities related to conversion of oo_ between Dynare versions
Ref. #915
2020-09-03 16:45:21 +02:00
Johannes Pfeifer d7b7ce8940 AnalyseComputationalEnvironment.m: define missing command string used in error message 2020-09-02 12:41:31 +02:00
Sébastien Villemot b891695680
Merge branch 'JohannesPfeifer/dynare-MoM' 2020-09-01 15:14:43 +02:00
Johannes Pfeifer 96be513ecf Remove matched_moments_ as input argument as it is now a field of M_ 2020-08-05 15:58:58 +02:00
Sébastien Villemot f6c2471eef
New MEX for solving discrete Lyapunov equations with doubling algorithm
This is a Fortran 2008 rewrite of disclyap_fast.m.

Closes: #1737
2020-07-30 16:34:35 +02:00
Sébastien Villemot daea99d1b0 Merge branch 'parameter_setting' into 'master'
Move setting of parameters out of check_bounds_and_definiteness_estimation.m

See merge request Dynare/dynare!1754
2020-07-21 08:30:57 +00:00
Johannes Pfeifer 3b85fea02e Move setting of parameters out of check_bounds_and_definiteness_estimation.m
Increases transparency
2020-07-17 15:02:12 +02:00
Sébastien Villemot 4d22c4c0c0
Drop 32-bit binaries from Windows package
Closes: #1713
2020-07-17 12:52:58 +02:00
Sébastien Villemot 1dbbef9f2e Merge branch 'moment_estimation' into 'master'
First implementation of moment estimation

See merge request Dynare/dynare!1750
2020-07-16 15:41:15 +00:00
Willi Mutschler b273a2792b Fix iterated method of moments
Also improve fprintf descriptions and comments and other cosmetical changes
2020-07-16 14:47:20 +02:00
Sébastien Villemot cda3253d2c Merge branch 'ME_traceplots' into 'master'
Fix trace plots with measurement errors and their correlations

See merge request Dynare/dynare!1752
2020-07-16 09:39:47 +00:00
Sébastien Villemot 499451d50a Merge branch 'pruned_state_space' into 'master'
Speed up pruned_state_space_system.m by e.g. using persistent variables

See merge request Dynare/dynare!1749
2020-07-16 09:39:01 +00:00
Willi Mutschler 9c99eac55c Move more options to substructure options_mom_.mom 2020-07-16 11:38:41 +02:00
Willi Mutschler 552b995215 Remove stuff and checks that are already done in the preprocessor 2020-07-16 11:38:41 +02:00
Johannes Pfeifer 540f0454d2 Code Review of GMM routines
- fix prefilter option
- Implement iterative GMM
2020-07-16 11:38:40 +02:00
Johannes Pfeifer a40807caa9 plot_priors.m: Allow for optional title 2020-07-16 11:38:39 +02:00
Johannes Pfeifer e14e9641e8 Factorize checking of positive definiteness 2020-07-16 11:38:38 +02:00
Willi Mutschler 3615962a61 First draft of method of moments toolbox with GMM and SMM 2020-07-16 11:38:38 +02:00
Johannes Pfeifer f717712ed6 Fix trace plots with measurement errors and their correlations
Problem was introduced when transitioning to cell arrays
2020-07-15 14:34:04 +02:00
Johannes Pfeifer 1cc29d765b DsgeSmoother: add warning if there is stochastic singularity 2020-07-15 11:00:48 +02:00
Sébastien Villemot e525798a64
External functions: decrease step used for numerical derivation 2020-07-09 18:40:36 +02:00
Johannes Pfeifer 9e92dfd7c4 Speed up pruned_state_space_system.m by e.g. using persistent variables 2020-07-08 19:50:31 +02:00
Johannes Pfeifer d10242fbab dynare_minimize_objective.m: change parameter names to expected cell array 2020-07-08 11:44:47 +02:00
Johannes Pfeifer 6b592cbb00 newrat: Further replacement of varargins by explicit options 2020-07-08 11:44:34 +02:00
Sébastien Villemot dc6e3406e5 Merge branch 'tolerance' into 'master'
Correctly distinguish tolerance between steady and perfect foresight

See merge request Dynare/dynare!1746
2020-07-07 09:46:28 +00:00
Sébastien Villemot 6a6271225c Merge branch 'minimize_objective' into 'master'
Minimize objective

See merge request Dynare/dynare!1737
2020-07-07 09:35:39 +00:00
Johannes Pfeifer 607a273bb0 Correctly distinguish tolerance between steady and perfect foresight
steady uses options_.solve_tolf as a termination criterion, so subsequent checks should do the same. Similarly, solve_tolx was never used.
2020-07-06 13:11:23 +02:00
Sébastien Villemot 3736272331 Merge branch 'lyap' into 'master'
disclyap_fast.m: bugfixes and improvements

See merge request Dynare/dynare!1745
2020-07-01 08:14:46 +00:00
Johannes Pfeifer 287ec91982 disclyap_fast.m: bugfixes and improvements
- loop termination criterion did not match subsequent check
- dimensions of NaN were incorrect
- exitflag was mostly meaningless due to erroring out
- Make max_iter an optional input
- Move file from partial information folder to Matlab
2020-06-30 16:43:00 +02:00
Sébastien Villemot 4913cfb3f0 Merge branch 'third_order_moments' into 'master'
Add display of theoretical moments at order=3 with pruning

See merge request Dynare/dynare!1744
2020-06-30 14:38:22 +00:00
Johannes Pfeifer 9d2ec5f040 disp_th_moments.m: cosmetic changes 2020-06-30 15:31:55 +02:00
Johannes Pfeifer dfc7357636 Add display of theoretical moments at order=3 with pruning 2020-06-30 13:46:54 +02:00
Sébastien Villemot e5cf2a3739 Merge branch 'ME_moments' into 'master'
Bugfixes around moment computation with measurement errors

See merge request Dynare/dynare!1743
2020-06-29 14:05:42 +00:00
Johannes Pfeifer f3329c2db6 compute_moments_varendo.m: delete stale results field
Otherwise, results from old runs will not be updated
2020-06-29 13:21:25 +02:00
Johannes Pfeifer 6e06acc7f4 Fix moment computation with Measurement errors
- check logic for M_.H was faulty
- M_.H was not updated in posterior sampling
2020-06-29 13:20:02 +02:00
Johannes Pfeifer 69fc7acb9c Add function for updating measurement error covariance matrix 2020-06-26 18:28:07 +02:00
Johannes Pfeifer 695ec4b6c1 set_parameters_locally.m: fix comment 2020-06-26 18:28:07 +02:00
Sébastien Villemot faa4416b99 Merge branch 'pnames' into 'master'
Move definition of prior distribution names to separate function to make it...

See merge request Dynare/dynare!1742
2020-06-26 11:55:28 +00:00
Johannes Pfeifer e92054e16b Move definition of prior distribution names to separate function to make it useable in other contexts. 2020-06-26 12:07:16 +02:00
Sébastien Villemot fdd9676071 Merge branch 'dyn_latex_table' into 'master'
dyn_latex_table.m: move latex output to latex subfolder

See merge request Dynare/dynare!1741
2020-06-26 10:04:28 +00:00
Johannes Pfeifer 1c759bb232 dyn_latex_table.m: move latex output to latex subfolder 2020-06-25 17:09:49 +02:00
Sébastien Villemot 71c20d76df
dseries: daily frequency; DBnomics support 2020-06-25 11:45:04 +02:00
Sébastien Villemot 530f2fa5a6
Merge remote-tracking branch 'jpfeifer/rplot' 2020-06-25 10:50:56 +02:00
Johannes Pfeifer f0f02c3159 disp_moments.m: filter out 0 variance variables
Otherwise, division by 0 will result in incorrect moment displays

Closes #1736
2020-06-25 09:42:17 +02:00
Johannes Pfeifer 61fd9d7c7d rplot.m: fix TeX-ylabel 2020-06-25 09:28:03 +02:00
Johannes Pfeifer 5c56295c82 imcforecast.m: fix typo in description
[skip CI]
2020-06-24 21:36:41 +02:00
Sébastien Villemot 49b35be90a
Preprocessor: various improvements to the use_dll mode
In particular, higher order derivatives are now returned as sparse matrices by
the static/dynamic files, instead of 3-column matrices (which was inconsistent
with the M-file mode).
2020-06-23 19:38:49 +02:00
Sébastien Villemot bcc213644f Merge branch 'factorize_checks' into 'master'
Factorize prior bound and definiteness checks

See merge request Dynare/dynare!1736
2020-06-23 16:17:55 +00:00
Sébastien Villemot 75211742b8
MATLAB+Windows: workaround to allow the preprocessor to delete the +modfile folder
For an instance of this bug, see
https://forum.dynare.org/t/issue-with-dynare-preprocessor-4-6-1/15448/1
2020-06-23 18:14:12 +02:00
Sébastien Villemot 81f3e81f3e
Remove obsolete workaround for Octave 2020-06-23 17:59:33 +02:00
Johannes Pfeifer 4a9f9263df Make newrat and gmhmaxlik independent of varargin inputs
Makes the optimizers useable in other contexts where varargin is different
2020-06-23 15:04:11 +02:00
Johannes Pfeifer 3e725e3292 mr_hessian.m
Do not save files by default; prevents horse-race write access crashes for fast mod-files under Windows
2020-06-23 15:00:08 +02:00
Johannes Pfeifer cfe1069367 Factorize prior bound and definiteness checks
also removes useless isestimation check
2020-06-22 20:37:31 +02:00
Willi Mutschler b0fddeeef3
Remove duplicate output of identification ranks tol
We already print it in the Settings
2020-06-20 22:38:47 +02:00
Willi Mutschler 97134cc362
🐛 Fix issue with endogenous params in steady state
Identification should switch to analytic_derivation_mode=-2 if steady state block/file changes parameter values. Dynare/dynare!1732 already adresses this when there is a prior specified. This fix also addresses this when there are no priors.

kim2.mod is now not only an integration test but also a unit test for this.
2020-06-20 22:38:47 +02:00
Willi Mutschler 347be1f89a
🐛 Fix wrong computations when identification(useautocorr) 2020-06-20 22:38:47 +02:00
Willi Mutschler 926a54388e
🐛 wrong setting of small values to zeros in identification 2020-06-20 22:38:47 +02:00
Willi Mutschler db01f54357
🐛 Add warning and turn off identification strength if not enough mom 2020-06-20 22:38:47 +02:00
Sébastien Villemot 41fe087106
Block decomposition: static and dynamic files are now pure wrappers around the per-block files
Systematically call top-level static/dynamic files, instead of per-block ones.
2020-06-19 18:46:56 +02:00
Sébastien Villemot ebc0b7ecb2
Block decomposition: move logic for Jacobians in stochastic mode outside the dynamic file 2020-06-19 18:46:56 +02:00
Sébastien Villemot 39c5867cd4 Merge branch 'Tex_figures' into 'master'
Use LaTeX labels in figures

See merge request Dynare/dynare!1734
2020-06-18 14:23:50 +00:00
Johannes Pfeifer 312d053ae1 Use LaTeX labels in figures 2020-06-17 21:48:25 +02:00
Sébastien Villemot 0305b427a6
Block decomposition: use same orientation convention as oo_.endo_simul for matrix of simulated paths
Improves consistency, but also efficiency (less transpose needed).
2020-06-17 18:19:35 +02:00
Sébastien Villemot 20431ed312
Block decomposition: in the dynamic file, y and T are now vectors as in non-block mode 2020-06-17 18:19:21 +02:00
Sébastien Villemot adbb9c9117
Block decomposition, stack_solve_algo=4: fix set of variables over which line search is done 2020-06-16 18:46:40 +02:00
Sébastien Villemot 6931614809
Block decomposition: for “solve two-boundaries” blocks, move the iteration loop outside the dynamic file 2020-06-16 18:46:40 +02:00
Sébastien Villemot c25ff09307
Block decomposition: for “solve two boundaries” block, no longer compute “b” (-residuals+g1*y) in the dynamic function 2020-06-16 18:46:40 +02:00
Sébastien Villemot e72bce1a67
Block decomposition: remove useless “y” output for static/dynamic files of solved blocks 2020-06-16 18:46:40 +02:00
Marco Ratto 616d2b0faf Bug fix in initializing analytic_derivation option. This is then checked in dynare_estimation_init for parameter endogenized in steady state.
Ref. #1733
2020-06-16 16:07:48 +00:00
Sébastien Villemot 7bec234f7f
Block decomposition: for evaluate blocks, move the iteration loop outside the dynamic file 2020-06-15 18:29:42 +02:00
Sébastien Villemot bfbff6a2fb
Block decomposition: remove duplicate “periods” arg. to dynamic file of complete two-boundaries blocks 2020-06-15 18:29:42 +02:00
Sébastien Villemot 87718ce8b7 Merge branch 'disp_moments' into 'master'
disp_moments.m: make error message informative

See merge request Dynare/dynare!1730
2020-06-15 09:47:22 +00:00
Johannes Pfeifer c47682caae disp_moments.m: make error message informative
[skip CI]
2020-06-15 11:45:45 +02:00
Johannes Pfeifer d54b45cbac PosteriorIRF_core1.m: Add missing else statement that triggered crashes in rare cases 2020-06-12 17:53:46 +02:00
Sébastien Villemot 1d172528d7
Block decomposition: fixed bug introduced in 2ec5e4075a 2020-06-04 19:43:57 +02:00
Sébastien Villemot fae433fb18
Block decomposition: fix bug introduced in 0d11f8182a 2020-06-04 18:15:54 +02:00