Commit Graph

8009 Commits (78fdd508943694ff87700b51c676434d6b4264df)

Author SHA1 Message Date
Johannes Pfeifer 2b79eb2850 solvopt.m: suppress incidental output 2021-01-24 09:21:08 +01:00
Johannes Pfeifer 916058cbfd initial_estimation_checks.m: Do not allow quadratic equation solver for non-quadratic problems 2021-01-24 09:21:08 +01:00
Johannes Pfeifer b652b6d932
csminwel1.m: two small fixes
- gh always exists, no need to check
- allow having non-bad gradient in first iteration
2021-01-23 22:18:45 +01:00
Johannes Pfeifer 5bee25c06e
weibull prior: fix second derivative output and suppress display of output 2021-01-23 09:57:17 +01:00
Johannes Pfeifer 82aa669b30
prior densities: make sure derivative output has correct dimensions 2021-01-23 09:57:17 +01:00
Stéphane Adjemian (Charybdis) 2b7dbff459
Cosmetic change.
[skip ci]
2021-01-23 09:53:54 +01:00
Johannes Pfeifer f19decf297
non_linear_dsge_likelihood.m: consistently use options_.particles.pruning
Closes https://git.dynare.org/Dynare/dynare/-/issues/1756
2021-01-22 21:19:07 +01:00
Johannes Pfeifer 29537b761b
csminwel1.m: fix bug with user-supplied gradient function
transformation to function handle made subsequent ischar-checks non-functioning
2021-01-22 21:19:07 +01:00
Johannes Pfeifer de16e9c00a
dynare_estimation_1: restore exiting with mode_compute=0 and order=1 2021-01-22 21:19:07 +01:00
Johannes Pfeifer ade1dfce5e
compute_moments_varendo: cosmetic fix to display 2021-01-22 21:19:07 +01:00
Johannes Pfeifer b38d6f8139
compute_moments_varendo: use pruned state space at higher order 2021-01-22 21:19:07 +01:00
Johannes Pfeifer 314948ce34
compute_moments_varendo: skip computations for various unsupported cases 2021-01-22 21:19:07 +01:00
Johannes Pfeifer dedfd0c08f
compute_moments_varendo: skip variance decomposition at higher order 2021-01-22 21:19:07 +01:00
Johannes Pfeifer 9f903db283
disp_th_moments_pruned_state_space.m: cosmetic fix to header 2021-01-22 21:19:07 +01:00
Johannes Pfeifer 417f038cc5
Particle filters: do not compute Kalman smoother
Related to https://git.dynare.org/Dynare/dynare/-/issues/1757
2021-01-22 21:19:07 +01:00
Johannes Pfeifer 0b87f66443
non_linear_dsge_likelihood.m: do not set use_k_order_solver with pruning
local_state_space_iteration_k does not support it, use local_state_space_iteration_2 at order=2 instead and error out with order=3
2021-01-22 21:19:07 +01:00
Sébastien Villemot dfa6359dd3
Merge branch 'solve_opt' of git.dynare.org:JohannesPfeifer/dynare 2021-01-22 18:33:12 +01:00
Sébastien Villemot 565d61aad3
Merge branch 'kalman_analytic_bug' of git.dynare.org:JohannesPfeifer/dynare 2021-01-22 18:32:42 +01:00
Sébastien Villemot 35df056905
histval_file: workaround for bug in MATLAB ≤ R2019a
Ref. dseries#45
2021-01-22 18:31:31 +01:00
Johannes Pfeifer 731a168f69 Make mh_tune_jscale work with use_mh_covariance_matrix 2021-01-22 15:01:23 +01:00
Johannes Pfeifer fa739c3a63 posterior_sampler_initialization.m: update record if different sampler is used
Also removes redundant field
2021-01-22 15:01:23 +01:00
Johannes Pfeifer c78890d5ca posterior_sampler_initialization.m: Allow running different samplers after each other
Transform error to warning
2021-01-22 15:01:22 +01:00
Johannes Pfeifer 32bdb82cf8 Make load_mh_file honor use_mh_covariance option 2021-01-22 15:01:02 +01:00
Johannes Pfeifer a89f21b53d solvopt.m: prevent returning with inf 2021-01-22 14:56:49 +01:00
Johannes Pfeifer 371fdb227b solvopt.m: use gradient as second output instead of expecting separate function 2021-01-22 14:56:49 +01:00
Johannes Pfeifer c6c9b4e356 kalman_filter.m: fix bug when using analytic_derivation 2021-01-22 14:54:17 +01:00
Sébastien Villemot bc053018a0
Remove risky steady state (unfinished) code
Incidently, remove the possibility of passing model derivatives as arguments to
the k_order_perturbation. That possibility was only used by the risky steady
state code.

Closes: #1338
2021-01-22 11:32:36 +01:00
Sébastien Villemot cc38c4e9f7
Merge branch 'kalman_headers' of git.dynare.org:JohannesPfeifer/dynare 2021-01-19 17:29:24 +01:00
Sébastien Villemot 315bfa6f51
SUR OLS: compatibility fix for MATLAB R2014a
Under MATLAB R2014a, the strjoin() function wants a 1×n cell array, and rejects
a n×1 cell array. Octave and MATLAB R2020b are more permissive.
2021-01-19 16:27:28 +01:00
Sébastien Villemot 57326339e9
SUR Gibbs: do not try to create plot under Octave and MATLAB < R2014b
The histogram() function does not exist there.
2021-01-19 16:27:26 +01:00
Sébastien Villemot f81b330f14
Methods of moments: compatibility fix for MATLAB < R2015a
The mean(…, 'omitnan') syntax does not exist before R2015a. Use nanmean
instead (either provided by the statistics toolbox, or by our fallback under
matlab/missing/stats/).
2021-01-19 15:50:14 +01:00
Sébastien Villemot 4944a711db
MATLAB R2014a compatibility: fix crash of rplot with several variable names
Under MATLAB R2014a, the strjoin() function wants a 1×n cell array, and rejects
a n×1 cell array. Octave and MATLAB R2020b are more permissive.
2021-01-19 15:50:14 +01:00
Sébastien Villemot f946baf6c5
Testsuite: add workaround for crash of MATLAB R2014a with TeX option
The TeX option crashes MATLAB R2014a run with "-nodisplay" option
(as is done from the testsuite). We disable the TeX option in that case.

Since we can’t directly test whether "-nodisplay" has been passed, we test for
the "TOP_TEST_DIR" environment variable, which is set by the testsuite.

Note that it was not tested whether the crash happens with more recent MATLAB
versions, so when OLD_MATLAB_VERSION is increased, one should make a test
before removing this workaround.
2021-01-19 15:50:11 +01:00
Johannes Pfeifer 869147c13a Kalman filter functions: clarify header comments 2021-01-18 17:33:21 +01:00
Stéphane Adjemian (Charybdis) 38e300b94e
Merge #1786.
Do not compute cholesky decomposition of H if the matrix has zeros on
the diagonal.
2021-01-16 11:24:10 +01:00
Johannes Pfeifer ad17b8ec33
Particle filtering: provide more informative error messages in typical problematic cases
Also adds test cases
2021-01-15 22:11:20 +01:00
Johannes Pfeifer fe93589148
non_linear_dsge_likelihood.m: return in case of exception without computing prior 2021-01-15 22:11:20 +01:00
Stéphane Adjemian (Charybdis) b3e8dbe018
Do not rely on internal representation of @dates, use methods instead...
... Or add a new method if one is missing.
2021-01-15 20:44:09 +01:00
Sébastien Villemot 4c0b2e8c4e
Mitigation for spurious warning in Octave
Because of a bug, Octave wrongly complains that matlab/+pac/+bgp/{get,set}.m
shadow built-in functions (see https://savannah.gnu.org/bugs/?46849).

We disable the warning as early as we can after running the dynare command.
However the warning will nevertheless appear two times in a given Octave
session (the first time when the addpath to Dynare is done, the second time
when the dynare command is run).
2021-01-15 18:08:04 +01:00
Sébastien Villemot e26a5e2805
NLS: compatibility fix for Octave and MATLAB < R2014b 2021-01-15 17:42:00 +01:00
Sébastien Villemot 547969df45
Trust region: compatibility fix for Octave and MATLAB < R2017b
When merging the enterprise code, the dogleg subfunction was modified to
incorporate a call to decomposition(), which does not exist under Octave and
MATLAB < R2017b.

For those cases, we reinstate the old code (which uses a plain matrix right
divide).
2021-01-15 17:30:17 +01:00
Sébastien Villemot 8f07a134a3
OLS + aggregate: compatibility fix for Octave < 6
unique(…, 'stable') does not exist in Octave 5.
2021-01-15 17:19:38 +01:00
Stéphane Adjemian (Charybdis) 6c5d61355b
Updated dseries submodule (new implementation of @dates). 2021-01-15 12:46:02 +01:00
Willi Mutschler 52a57eaf60
MoM: Remove duplicate check in gradient helper function 2021-01-14 14:17:55 +01:00
Willi Mutschler a697002a4e
MoM: Gradient-based optimizers can use analytical Jacobian for GMM
New option analytic_jacobian for mode_compute 1, 3, and 13
2021-01-14 10:03:39 +01:00
Sébastien Villemot 6639cd8a41
Merge branch 'MoM' of git.dynare.org:JohannesPfeifer/dynare 2021-01-13 15:59:05 +01:00
Sébastien Villemot 7476d741a2
Merge branch 'estimation_forecast' of git.dynare.org:JohannesPfeifer/dynare 2021-01-13 15:58:25 +01:00
Stéphane Adjemian (Odysseus) f4508a6ca1 Revert "update jacob_element & hess_element for vector arguments"
This reverts commit 1975e467b5.
2021-01-12 16:48:49 +01:00
Stéphane Adjemian (Odysseus) 47affc94e1 Revert "Matrix notation: fix bug in numerical Hessian of external functions"
This reverts commit 2acacf61f1.
2021-01-12 16:48:21 +01:00
Stéphane Adjemian (Odysseus) 8fd18fa9ba Merge remote-tracking branch enterprise into master. 2021-01-12 16:45:51 +01:00
Stéphane Adjemian (Odysseus) 0e1c9312e2
Merge remote-tracking branch 'Dynare/master' into enterprise 2021-01-11 11:06:55 +01:00
Johannes Pfeifer ea03868a6b mode_compute=0: run dyn_forecast after smoother when forecast > 0 2021-01-10 19:46:18 +01:00
Johannes Pfeifer fbb1272164 Fix mode_compute=12 and filter out mode_compute=11 2021-01-10 17:30:35 +01:00
Sébastien Villemot c397828eb7
Merge branch 'smoother2histval' of git.dynare.org:JohannesPfeifer/dynare 2021-01-08 19:02:44 +01:00
Stéphane Adjemian (Charybdis) 18b54dfa98
Updated dseries submodule. 2021-01-07 22:00:51 +01:00
Johannes Pfeifer b2efc7a604 smoother2histval.m: fix bug when variable names are similar 2021-01-07 21:44:06 +01:00
Sébastien Villemot 4434edae0b Merge branch 'MoM_testsuite' into 'master'
Method of Moments: Updates to testsuite

See merge request Dynare/dynare!1799
2021-01-07 19:52:13 +00:00
Willi Mutschler b3e3501a6d
MoM: Fix bug in SMM with ME
Occurs by running RBC_MoM_SMM_ME with mode_compute=9
2021-01-07 14:25:26 +01:00
Willi Mutschler 2b554e0511
MoM: cosmetical changes to description of options in testsuite 2021-01-07 13:39:45 +01:00
Willi Mutschler ba8d5d364d
MoM: Update copyright years 2021-01-07 10:32:35 +01:00
Sébastien Villemot 8e7d0d2c5d
Preprocessor binary renamed and moved, various other improvements to make install rules
– preprocessor binary renamed to dynare-preprocessor
— the preprocessor binary is now installed under a preprocessor/ top-level directory
— a backward-compatibility symlink is still provided under
  matlab/preprocessor64/dynare_m
— the make install rule now install PDF and HTML documentation when those have
  been built

Closes: #1728
2021-01-06 18:17:20 +01:00
Sébastien Villemot 860775ca49
Merge branch 'labels' of git.dynare.org:JohannesPfeifer/dynare 2021-01-06 14:30:52 +01:00
Sébastien Villemot 25d5352350
Include Dynare version and input arguments into log file
The log file is now started from dynare.m.

Closes: #1743
2021-01-06 14:29:37 +01:00
Willi Mutschler e2f16b504c
MoM: Improve mode_compute=0 and more details on optimizers 2021-01-06 13:57:07 +01:00
Johannes Pfeifer ca978b6bf7 get_labels_transformed_vars.m: fix header
[skip CI]
2021-01-06 10:27:53 +01:00
Sébastien Villemot 8b3da285d2
Merge branch 'msbvar' of git.dynare.org:JohannesPfeifer/dynare 2021-01-04 14:27:32 +01:00
Johannes Pfeifer 3ef988dfcd msbvar: provide error is chain is not specified
See https://forum.dynare.org/t/cannot-have-number-of-chains-for-variance-or-coefficient-bigger-than-1/16650
2021-01-01 11:31:33 +01:00
Johannes Pfeifer 9c52aec23d Adjust output of loglinear option to make clear when a logged variable is used
- use of function for getting labels will allow to accommodate https://git.dynare.org/Dynare/dynare/-/issues/349
- incidentally fixes a bug in the display of the simulated variance decomposition for observables with measurement error
2020-12-23 13:53:44 +01:00
Sébastien Villemot 5deaca993b
Merge branch 'discretion' of git.dynare.org:JohannesPfeifer/dynare 2020-12-22 12:29:38 +01:00
Johannes Pfeifer 9728a52889 evaluate_planner_objective.m: lift size restriction by solving Lyapunov equation instead of using Kronecker 2020-12-19 14:12:12 +01:00
Johannes Pfeifer 4b793da2c3 discretionary_policy: allow for non-linear model to be used 2020-12-18 18:22:39 +01:00
Willi Mutschler 205b87d195
MoM: Fix typos, improve messages and checks, schur_vec_tol option, dname 2020-12-18 16:16:30 +01:00
Willi Mutschler 2359a1496c
MoM: Changed default qz_criterium and added Schur_vec_tol 2020-12-18 16:16:30 +01:00
Willi Mutschler 4d9ee3f8e5
MoM: Update To-Do list
- lsqnonlin takes less time in Andreasen toolbox due to different handling of bounds; our approach is better (objective is smaller for RBC model)
- user-specified weightning matrix does work
- qz_criterium is set to  1+e-6 to allow for unit-roots (but observables need to be stationary)
- informative message is printed that NaN values in data moments are replaced by mean
- estimated_params_bounds work as well as informative message when parameters are not calibrated
- SMM at any order without pruning works
- SMM with pruning works for orders 1,2,3; for orders above 3 simult_.m throws an error that pruning is not available
- Analytical standard errors for GMM and Bayesian estimation is included
- dirname is not needed
- Remaining to dos are updated
2020-12-18 16:16:30 +01:00
Willi Mutschler 5d475d4527
MoM: Checks and fixes for perturbation order and pruning
- Set pruning to false as default, for GMM we turn it on for order>2 and display a message for the user that we do so
- Provide error if users try GMM with order > 3
- For SMM, order > 2 and no pruning, simult_.m uses Dynare++ routines which require a seed
2020-12-18 16:16:10 +01:00
Willi Mutschler 363610affe
MoM: Save checkplot data also in graphs folder 2020-12-18 16:16:10 +01:00
Willi Mutschler eae5e2f029
MoM: Add analytical standard errors for GMM
Reset analytic_derivation_mode for steadystate file parameter changes


MoM: Fix GMM analytical standard errors wrong dimensions in autocovs
2020-12-18 16:16:10 +01:00
Sébastien Villemot ec8ea32b3e
Merge branch 'dname' of git.dynare.org:JohannesPfeifer/dynare 2020-12-18 15:43:30 +01:00
Sébastien Villemot ba71db647e
Merge branch 'Schur_vec_tol' of git.dynare.org:JohannesPfeifer/dynare 2020-12-18 15:40:57 +01:00
Johannes Pfeifer 7bdf07631a Provide better warnings when using ramsey_constraints 2020-12-18 12:59:29 +00:00
Johannes Pfeifer 83774a1f44 global_initialization.m: Remove automatic creation of directories
When using `dname` they would be redundant
2020-12-17 20:10:58 +01:00
Johannes Pfeifer f2cde3b6d9 Make schur_vec_tol settable and document it
Related to https://git.dynare.org/Dynare/preprocessor/-/merge_requests/29
Also convert it to lowercase as all other options
2020-12-17 19:59:22 +01:00
Sébastien Villemot b8d396e388
Merge branch 'pruned_moments' of git.dynare.org:JohannesPfeifer/dynare 2020-12-17 16:47:02 +01:00
Sébastien Villemot 49e73e48d3
dseries: Octave 6 compatibility fixes 2020-12-17 16:44:26 +01:00
Sébastien Villemot 44f3a26042
Octave 6 compatibility fix
By the way, remove an obsolete version test for MATLAB (since we now require
R2014a).
2020-12-17 16:08:32 +01:00
Johannes Pfeifer 4cf9f7d1a7 stoch_simul.m: reports second moments based on pruned state space at order=2 when pruning is specified
Related to https://git.dynare.org/Dynare/dynare/-/merge_requests/1744
2020-12-17 09:45:28 +01:00
Johannes Pfeifer da3943beba Make sure output is saved in dname-folder
That's where other functions are looking for them
2020-12-16 22:41:55 +01:00
Sébastien Villemot 4aa25e26b2 Merge branch 'ramsey_tag' into 'master'
get_complementarity_conditions.m: fix variable naming

See merge request Dynare/dynare!1788
2020-12-14 17:55:37 +00:00
Johannes Pfeifer 3f18acb1f2 get_complementarity_conditions.m: fix variable naming
Model structure must be named M_ for eval-statement with parameters replaced by position in M_.params to work
2020-12-14 17:46:08 +01:00
Sébastien Villemot 9351fd662f Merge branch 'cova_compute' into 'master'
🐛 allow cova_compute=0 with user-defined MCMC_jumping_covariance

See merge request Dynare/dynare!1787
2020-12-10 11:35:51 +00:00
Johannes Pfeifer 35b1a6859f 🐛 allow cova_compute=0 with user-defined MCMC_jumping_covariance 2020-12-09 22:31:43 +01:00
Stéphane Adjemian (Charybdis) 12ef75314a
Apply d8ddd9ef6 to deterministic exogenous variables.
(cherry picked from commit eceba8d6da)
2020-12-09 14:59:20 +01:00
Stéphane Adjemian (Charybdis) ffa828a659
Fixed multiple periods expected shocks in the case of mshocks.
(cherry picked from commit d8ddd9ef61)
2020-12-09 14:59:20 +01:00
Stéphane Adjemian (Charybdis) a669c3765d
Cosmetic change in doc headers. 2020-12-07 22:25:54 +01:00
Stéphane Adjemian (Charybdis) eceba8d6da
Apply d8ddd9ef6 to deterministic exogenous variables. 2020-12-07 22:25:54 +01:00
Sébastien Villemot 7e9a87c313
evaluate_steady_state.m: small simplification 2020-12-07 16:25:01 +01:00
Sébastien Villemot 1c0d1409ea
Fix the use of [static]/[dynamic] equations with the “block” option 2020-12-07 16:24:13 +01:00
Houtan Bastani a16023103b
ensure only lowercase files are retrieved 2020-12-07 12:31:37 +01:00
Sébastien Villemot 05c7925620
Accessors for posterior distributions of objects, needed by the MATLAB GUI 2020-12-07 12:31:26 +01:00
Sébastien Villemot 8ba1a15262
Remove outdated Occbin files 2020-12-03 10:50:58 +01:00