Commit Graph

7062 Commits (a16023103bbe533a41a446306046edc6cb5156d8)

Author SHA1 Message Date
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
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
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
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
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
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
Johannes Pfeifer b8b05300c1 missing_DiffuseKalmanSmootherH1_Z.m: fix bug with variable dimension 2020-04-02 19:22:55 +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
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
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
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