Commit Graph

8105 Commits (4733d97cebde01370afaf617f790a70f051d4abc)

Author SHA1 Message Date
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
Sébastien Villemot c160d24074
Octave 6 implements intersect(…, 'stable')
[skip ci]
2020-11-30 18:26:50 +01:00
Willi Mutschler 03641585e4
Fix lsqnonlin in Octave 2020-11-26 17:07:46 +01:00
Willi Mutschler 25f1641db1
Change order of checks for NaN moments, improve warnings and errors 2020-11-26 16:45:07 +01:00
Sébastien Villemot 21e61ef954
Merge branch 'identification_fixes' of git.dynare.org:wmutschl/dynare 2020-11-26 16:36:34 +01:00
Sébastien Villemot 6076c1a140
Remove obsolete VAR estimation routine 2020-11-26 15:59:23 +01:00
Willi Mutschler a710532c3a
🐛 Fix identification error with unit root observables and diffuse_filter set
Fixes #1752
2020-11-26 13:49:14 +01:00
Willi Mutschler 4aa0fa540e
Display minimum in check plots in method of moments 2020-11-26 13:28:29 +01:00
Sébastien Villemot 2b17a711e0
Provisions for MATLAB R2020b
(cherry picked from commit fa12e5abfc)
2020-11-24 20:47:40 +01:00
Stéphane Adjemian (Charybdis) d8ddd9ef61
Fixed multiple periods expected shocks in the case of mshocks. 2020-11-24 15:04:41 +01:00
Sébastien Villemot 8c63c97d3c Merge branch 'numprocs' into 'master'
Add num_procs.m function in missing

See merge request Dynare/dynare!1778
2020-11-23 16:51:42 +00:00
Johannes Pfeifer eb52fd1eaa Add num_procs.m function in missing
Preserves ability to run Dynare with m-replacements

[skip CI]
2020-11-23 15:51:55 +01:00
Johannes Pfeifer 27946a7553 dyn_second_order_solver.m: remove unused code
Redundant due to transformation to one lead-lag problem
2020-11-22 21:23:55 +01:00
Willi Mutschler 3c1087a369
Fix for sylvester3a for purely forward-looking models
In purely forward-looking models ghx is empty and sylvester3a gives a "Operands to the || and && operators must be convertible to logical scalar values" error, as e becomes a "1×0 empty double row vector" and not a logical.
2020-11-21 09:46:10 +01:00
Johannes Pfeifer e42654b812 method_of_moments.m: Octave compatibility fix
Octave does not support randstream; related to https://git.dynare.org/Dynare/dynare/-/issues/1749
2020-11-19 10:07:35 +01:00
Stéphane Adjemian (Charybdis) 2cf5c5d0c1
Removed Octave's idiosyncrasies.
Matlab Production Server (MPS) fails when onboarding the dynare package
because of `endif` and `endfunction` which are not available in matlab's
syntax.
2020-11-17 17:32:30 +01:00
Sébastien Villemot 426e52e2d9 Merge branch 'mjdgges' into 'master'
Add mjdgges.m unit test

Closes #1438

See merge request Dynare/dynare!1771
2020-11-13 17:10:14 +00:00
Johannes Pfeifer c4c8a0256d Add mjdgges.m unit test
Closes https://git.dynare.org/Dynare/dynare/-/issues/1438
2020-11-13 15:55:20 +01:00
Sébastien Villemot 6dac5a5d1f
Particules submodule update
– Consistently use LaTeX labels in figures instead of relying on psfrag
– Fix eps-TeX-loaders
– auxiliary_particle_filter.m: set undefined variable (Ref. #1718)
2020-11-13 13:19:34 +01:00
Sébastien Villemot 79652f13d7 Merge branch 'nanmean_octave' into 'master'
nanmean: Compatibility fix for Octave

See merge request Dynare/dynare!1769
2020-11-13 12:18:40 +00:00
Sébastien Villemot e6c8daf922 Merge branch 'endog_prior_NaN' into 'master'
endogenous_prior.m: deal with missing data

Closes #1744

See merge request Dynare/dynare!1768
2020-11-13 11:53:19 +00:00
Johannes Pfeifer e9ef9a5f4b nanmean: Compatibility fix for Octave
Octave does not support Matlab's recommended syntax
2020-11-13 12:03:17 +01:00
Johannes Pfeifer 445cbf67d2 endogenous_prior.m: deal with missing data
Closes https://git.dynare.org/Dynare/dynare/-/issues/1744
2020-11-13 10:54:44 +01:00
Sébastien Villemot 74d7c8a7f4 Merge branch 'pf_init' into 'master'
Fix initialization of state variances

See merge request Dynare/dynare!1762
2020-11-12 11:22:41 +00:00
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
Stéphane Adjemian (Charybdis) b066012033
Fixed R² in SUR model when estimating a subset of equations.
Closes #5
2020-10-26 15:07:50 +01:00
Stéphane Adjemian (Charybdis) f36ee06041
Updated dseries submodule (matlab-fame-io improved initialization of daily dseries from FAME). 2020-10-21 19:29:07 +02: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
Stéphane Adjemian (Charybdis) 2428aa7e28
Updated dseries submodule (matlab-fame-io). 2020-10-14 10:44:05 +02:00
Stéphane Adjemian (Charybdis) 415c024445
Updated dseries submodule (added conversion to lower frequency routines). 2020-10-09 10:02:35 +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
Stéphane Adjemian (Charybdis) 2eb77f2323
Updated dseries submodule (bug fixes related to daily frequency). 2020-10-02 19:28:37 +02:00
Stéphane Adjemian (Charybdis) 80bfbc0736
Merge non linear shock decomposition for backward models.
Closes #2.
2020-09-29 18:17:25 +02:00
Sébastien Villemot 2acacf61f1
Matrix notation: fix bug in numerical Hessian of external functions 2020-09-29 16:52:02 +02:00
Houtan Bastani 1975e467b5
update jacob_element & hess_element for vector arguments 2020-09-29 16:52:02 +02:00
Stéphane Adjemian (Charybdis) 511908e011
Factorized initialization of fields required by solve_algo={12,14}.
Closes #3.
2020-09-25 23:45:21 +02:00
Stéphane Adjemian (Charybdis) e690c5de5a
Merge Enterprise/block_trust_region into enterprise. 2020-09-24 16:05:55 +02:00
Sébastien Villemot fa12e5abfc
Provisions for MATLAB R2020b 2020-09-24 15:43:06 +02:00
Stéphane Adjemian (Charybdis) c7c7358a5b
Cosmetic changes.
Closes #5
2020-09-24 13:33:46 +02:00
Dóra Kocsis 8fe39ded76
Change R2 computation in multivariate models (SUR) 2020-09-24 13:17:21 +02:00
Stéphane Adjemian (Charybdis) 17e6421ea3
Merged master into enterprise.
Fixed conflict in
 - doc/manual/source/running-dynare.rst
2020-09-23 15:28:19 +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 865ab47fa9
Provide block_trust_region MEX under solve_algo 13 and 14
- block trust region solver now available under solve_algo=13
  It is essentially the same as solve_algo=4, except that Jacobian by finite
  difference is not handled. A test file is added for that case
- block trust region solver with shortcut for equations that can be evaluated
  is now available under solve_algo=14 (in replacement of the pure-MATLAB solver)

Closes: Enterprise/dynare#3
2020-09-18 18:01:56 +02:00
Sébastien Villemot 0b41d17374
dynare_solve: fix display of number of dmperm blocks 2020-09-18 17:55:58 +02:00
Sébastien Villemot 4c2b906962
Add routine for shock decomposition of backward models
Closes: Enterprise/dynare#2
2020-09-18 17:40:45 +02:00
Stéphane Adjemian (Odysseus) 248ad18846 Merge remote-tracking branch 'Dynare/master' into enterprise
Fixed conflicts in:

 - .gitlab-ci.yml
 - matlab/dynare_config.m
 - matlab/dynare_solve.m
 - matlab/initvalf.m
 - matlab/perfect-foresight-models/make_ex_.m
 - matlab/perfect-foresight-models/perfect_foresight_setup.m
 - mex/build/matlab/Makefile.am
 - mex/build/matlab/configure.ac
 - mex/build/octave/Makefile.am
 - mex/build/octave/configure.ac
 - mex/sources/Makefile.am
 - preprocessor
 - tests/Makefile.am
2020-09-17 14:53:32 +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
Stéphane Adjemian (Charybdis) 31de6f20fd
Updated dseries submodule.
- Fixes plot method with additional arguments (bug introduced in 56e0645)
 - Adds daily frequency
 - Adds interface to dbnomics
2020-07-08 14:55:38 +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 663ee96376
dseries: daily frequency; DBnomics support 2020-06-25 13:55:42 +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
Stéphane Adjemian (Charybdis) 693aedda7d
Make the update of M_.params optional. 2020-06-24 13:22:36 +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
Sébastien Villemot 07914b58a2
dseries submodule update
— add bi-annual frequency
— do not return NaNs if a variable is 0 in all periods
— fixed bug (dates member was wrong)
2020-06-04 14:39:16 +02:00
Sébastien Villemot 2ec5e4075a
Block decomposition: remove unused 2nd and 3rd derivatives in output of dynamic functions 2020-06-03 17:00:17 +02:00
Sébastien Villemot 0d11f8182a
Block decomposition: no longer compute deterministic simulation from dynamic.m file
By the way, fix bug where oo_ was not modified by solve_one_boundary.

Also convert oo_.deterministic_simulations.status to a boolean in the block
routines, for consistency with the non-block case.
2020-06-02 17:46:29 +02:00
Stéphane Adjemian (Charybdis) c5d131b3ab
Bug fix. 2020-05-29 12:03:25 +02:00
Stéphane Adjemian (Charybdis) 04b0e8aaa1
Bug fix related to missing aux variables if fourth argument is empty. 2020-05-26 17:43:07 +02:00
Sébastien Villemot 50209dc56e
Block decomposition: no longer use global variables for temporary terms in the dynamic M-file
Rather use a single vector as in non-block mode.

By the way, change the order of output arguments in static functions, to be
closer to the dynamic ones.
2020-05-26 16:23:46 +02:00
Sébastien Villemot ea4d3f4d83
Block decomposition: fix interaction with steady_state_model block
This cas was omitted in previous commit.
2020-05-25 21:10:42 +02:00
Sébastien Villemot 2c6807a66b
Block decomposition: no longer use global variables for temporary terms in the static M-file
Rather use a single vector as in non-block mode.
2020-05-25 18:36:55 +02:00
Sébastien Villemot caea047c2d
solve_one_boundary: remove unused codepaths for solve_algo={0,1,2,3}
Those cases are handled by dynare_solve.
2020-05-25 17:59:54 +02:00
Sébastien Villemot bd7eb2f88d
Fixes to solve_algo ≥ 9
— allow solve_algo=9 without block nor bytecode
— allow solve_algo≥9 with block without bytecode
— test solve_algo=9
2020-05-25 17:22:17 +02:00
Sébastien Villemot 2015b79279
solve_{one_boundary,two_boundaries}: convert some input arguments to logical type 2020-05-25 16:59:20 +02:00
Sébastien Villemot 154fced8b7
Remove old SMM code
Ref. #1724
2020-05-18 17:30:40 +02:00
Stéphane Adjemian (Charybdis) a6ea878627
Fixed bug introduced in 179d57f13.
initvalf was failing if the datafile was in the current folder.
2020-05-18 13:42:53 +02:00
Stéphane Adjemian (Charybdis) 9a66f3ebd9
Allow shocks with initval_file. 2020-05-18 12:21:43 +02:00
Stéphane Adjemian (Charybdis) 179d57f138
Fixed path issue. 2020-05-18 12:21:27 +02:00
Michel Juillard b70d99d1b4
Refactoring of initval_file and histval_file
initval_file and hisvfal_file are now more flexible and have functionalities
similar to option datafile in estimation.

Closes: #1671
2020-05-14 16:45:54 +02:00
Stéphane Adjemian (Charybdis) f72160aa60
Fixed bug introduced in e41080fed (dseries with initval_file). 2020-05-07 11:17:59 +02:00
Stéphane Adjemian (Charybdis) c9efef0782
Updated dseries submodule (bug fix in rename method).
[skip ci]
2020-05-07 11:04:06 +02:00
Stéphane Adjemian (Charybdis) e41080fede
Pass dseries (saved in .mat or .m) to initval_file.
Allows to pass a dseries object saved on disk in a .mat file or .m to
initialize the paths for the endogenous variables and set the paths
for the exogenous variables. It is not required to pass the auxiliary
variables (automatically computed by initvalf routine), which is useful
if the baseline comes from another model. In this case, the
initval_file command or the datafile option of the
perfect_foresight_setup command sets the value of periods (deduced
from the number of observation in the dseries object and the number of
lags/leads in the model).
2020-05-06 22:36:06 +02:00
Stéphane Adjemian (Charybdis) 2566320834
Updated dseries submodule (new method). 2020-05-06 11:39:11 +02:00
Sébastien Villemot 09617453ea
Ensure that “extended_path” obeys the “bytecode” option
Closes: #1717
2020-05-04 22:42:08 +02:00
Houtan Bastani 25a977f4be
jacob_element & hess_element: remove unnecessary loops 2020-05-04 12:15:15 -04:00
Stéphane Adjemian (Charybdis) 79c09743d8
Updated dseries submodule (bug fix). 2020-04-30 11:47:30 +02:00
Stéphane Adjemian (Charybdis) 84ec142463
Return paths for the exogenous variables. 2020-04-09 10:40:46 +02:00
Stéphane Adjemian (Charybdis) f8bb514632
Return paths for all the endogenous variables if fourth argument is empty. 2020-04-08 17:59:23 +02:00
Sébastien Villemot 6e0f104d7e
Bump minimal MATLAB version to R2014a
Ref. #1713
2020-04-07 16:32:32 +02:00
Sébastien Villemot e95b93f783
dseries submodule update
— Efficiency change. OCTAVE_VERSION is a builtin function in Octave
— Fix bug dseries#43
— Cosmetic changes
— Fixed subsasgn method (when calling merge)
2020-04-07 12:48:00 +02:00
Stéphane Adjemian (Charybdis) 0cf1913e9c
Fixe displayed percentage in waitbar. 2020-04-06 09:13:36 +02:00
Stéphane Adjemian (Charybdis) 046960c4a8
Merge remote-tracking branch community/master into enterprise 2020-04-03 11:33:46 +02:00
Johannes Pfeifer b8b05300c1 missing_DiffuseKalmanSmootherH1_Z.m: fix bug with variable dimension 2020-04-02 19:22:55 +02:00
Stéphane Adjemian (Charybdis) 7f2cf925c8
Fixed YhatObs and Yobs returned by dyn_ols.
Adding back the calibrated part of the RHS.

(cherry picked from commit 545eb47abea080c4b1cf411f89b9f56226aeb724)
2020-04-02 10:50:10 +02:00
Willi Mutschler 64a2a4388a
🐛 📖 Fixes TaRB with student t proposal distribution 2020-04-01 14:46:22 +02:00
Sébastien Villemot 8df9813a0e Merge branch 'perfect_foresight' into 'master'
fix bug when no convergence and backward model

See merge request Dynare/dynare!1726
2020-03-31 15:18:05 +00:00
Michel Juillard fd09b98150 fix bug when no convergence and backward model 2020-03-31 15:40:49 +02:00
Sébastien Villemot 43ed7b2b69
Merge remote-tracking branch 'community/master' into enterprise 2020-03-27 16:28:41 +01:00
Stéphane Adjemian (Charybdis) 23c927b708
Updated build for matlab R2020a.
(cherry picked from commit 166865149e)
2020-03-26 15:38:41 +01:00
Stéphane Adjemian (Charybdis) e90549d2df
Bug fix. Dynare configuration hook was not evaluated.
(cherry picked from commit e2b20f3e3e)
2020-03-26 15:37:55 +01:00
Stéphane Adjemian (Charybdis) 166865149e
Updated build for matlab R2020a. 2020-03-26 11:20:24 +01:00
Stéphane Adjemian (Charybdis) 109bc5883c
Check the existence of the user configuration file. 2020-03-26 10:15:35 +01:00
Stéphane Adjemian (Charybdis) e2b20f3e3e
Bug fix. Dynare configuration hook was not evaluated. 2020-03-26 10:15:35 +01:00
Johannes Pfeifer 071ab1e14f imcforecast.m: fix faulty logic of warning
Steady state and time shift were missing
2020-03-21 12:06:24 +01:00
Johannes Pfeifer ef8671bb99 Correctly pass prior_trunc option in identification 2020-03-17 13:28:40 +01:00
Stéphane Adjemian (Charybdis) 6ffbda470e
Use merge instead of horcat. 2020-03-13 17:44:35 +01:00
Stéphane Adjemian (Charybdis) 4bd775948e
Allow empty argument. 2020-03-13 17:44:09 +01:00
Sébastien Villemot e93c7b6b25
Reorder files generated by “moments_varendo” option of “estimation”
If there were more than 10 files of Metropolis parameter draws, the ordering
the files containing the posterior moments could be different from that of the
parameter draws. This is because the “dir()” command was used to order the
files containing the parameter draws, and because the command uses alphabetic
ordering, file #10 would come before #2.

This commit enforces the numerical ordering of files.
2020-03-12 15:56:55 +01:00
Stéphane Adjemian (Charybdis) 2bc7944286
Removed warning. 2020-03-11 12:47:23 +01:00
Stéphane Adjemian (Charybdis) b4db697e0f
Cosmetic change. 2020-03-11 12:47:02 +01:00
Stéphane Adjemian (Charybdis) a4519f6b86
Bug fix (solve_algo={12,14}).
Removed threshold for detecting the non zero elements in the rows of
the Jacobian matrix. Using tolf as a threshold parameter for identifying
the non zero elements leaded (not systematically) the algorithm to not
reevaluate the residuals of the dynamic model while necessary.
2020-03-11 12:38:59 +01:00
Stéphane Adjemian (Charybdis) 492b0fffea
Cosmetic change. 2020-03-11 12:34:21 +01:00
Sébastien Villemot d01846e5be
Fix incorrect test for options_.posterior_sampler_options.posterior_sampling_method
Thanks to checkcode().
2020-03-10 14:13:49 +01:00
Johannes Pfeifer 99f4fcadcc model_diagnostics.m
Update parameter vector from steady state file and provide correct nocheck flag
2020-03-10 11:06:35 +01:00
Johannes Pfeifer 16f65a2f33 prior.m: fix missing function input
Prevents crashes in "prior moments"
2020-03-08 09:00:33 +01:00
Johannes Pfeifer b7ef2181f9 print_info.m: Fix bug in error handling
get_error_message.m needs to always provide the error string, only throwing out the error message needs to depend on noprint

Closes https://git.dynare.org/Dynare/dynare/issues/1714
2020-03-08 09:00:01 +01:00
Johannes Pfeifer 2004641a10 dyn_ramsey_static.m: abort of steady state file signals error code 2020-03-06 18:55:01 +01:00
Johannes Pfeifer 0a52dedfda Ramsey with multiple instruments: return properly sized vector if residuals are complex 2020-03-06 18:50:40 +01:00
Stéphane Adjemian (Charybdis) 0f96df82e9
Updated dseries submodule. 2020-03-06 11:27:25 +01:00
Houtan Bastani eb6ab0696a
gui: added fields to `oo_` to indicate which commands have been run 2020-03-03 11:45:46 +01:00
Houtan Bastani 2d468b5c1d
replace unused variables with `~` 2020-03-03 11:43:38 +01:00
Johannes Pfeifer 9e5cb1422d
Save jscale to record structure before running MCMC
Useful in conjunction with mh_tune_jscale in cases where the posterior sampler crashes
2020-02-29 10:28:50 +01:00
Stéphane Adjemian (Charybdis) 864d4c25c7
Updated simulation routine for nonlinear backward models.
Changes necessary for the latest patches on dynare_solve (solve_algo={12,14}).
2020-02-27 22:58:19 +01:00
Stéphane Adjemian (Charybdis) 67b18710e8
Bug fix and efficiency change.
- Even in models where there is only one endogenous variable in the
   LHS and where all the LHS are unique, it may be that because of the
   preprocessor transformations an auxiliary variable appears in more
   than one LHS. If diff(X) is on the LHS of an equation in the original
   model, the preprocessor will create an auxiliary variable AUX_DIFF
   which will appear in the the original equation, replacing diff(X),
   and in a new equation defining the auxiliary variable. In this case
   the, the Dulmage-Mendelsohn decomposition will associate AUX_DIFF
   with the original equation and X with the equation. This was
   problematic in the previous version of the algorithm, since it was
   assumed that each equation determines the LHS variable (here AUX_DIFF
   = X - X(-1) determines a RHS variable (X).

 - Changed the expression for evaluating an LHS variable under a log.

 - Improved efficiency by not evaluating the residuals of the model if
   not required for solving the current univariate block.
2020-02-27 22:08:21 +01:00