Johannes Pfeifer
25803a6842
dynare_minimize_objective: fix use of analytic derivatives by employing wrapper function
2021-01-24 17:40:24 +01:00
Johannes Pfeifer
ff4278070a
dynare_minimize_objective.m: replace optimset by optimoptions to allow for both Pre and post R2016a option names
2021-01-24 09:21:09 +01:00
Johannes Pfeifer
d2a55d1e49
method_of_moments: adapt analytic jacobian output to interface used elsewhere
2021-01-24 09:21:09 +01:00
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