Commit Graph

9577 Commits (07d859d01823cf643fecdfd4bb76f92d95c8dbed)

Author SHA1 Message Date
Sébastien Villemot 39f9d4352a
The “mshocks” block now accepts the “learnt_in” option 2023-10-17 17:24:15 -04:00
Sébastien Villemot 4875554a39
Perfect foresight homotopy: make marginal linearization more robust
For marginal linearization, an extra simulation is needed. This extra
simulation is first computed using the first simulation as guess value. If that
does not work, the present commits adds an additional attempt for computing
that extra simulation, using a full homotopy loop from the beginning.

As a consequence, the present commits puts the homotopy loop in a dedicated
function.
2023-10-13 15:31:44 -04:00
Sébastien Villemot 2ae485705e
Perfect foresight homotopy: turn a nested function into a local one
The behaviour of local functions is easier to understand, since they do not
have access to the workspace of the caller.
2023-10-13 14:40:45 -04:00
Sébastien Villemot cc7c024389
Perfect foresight homotopy: display the full output of every iteration
As a consequence, print the full iterations summary table after each iteration.
2023-10-13 09:19:10 -04:00
Sébastien Villemot 9ebd8a8372
Make perfect foresight hotomopy loop more readable
Only modify oo_ when the homotopy procedure is finished, now that oo_ is no
longer an input to perfect_foresight_solver_core.

By the way, fix the treatment of the exogenous steady state (it is now set
in a consistent way with the endogenous steady state, if the shock is not
simulated up to 100%).

Also fix the initial guess when doing a second attempt at recomputing the
terminal steady state and failing (in the absence of a permanent shock). It was
supposed to use the initial steady state as an initial guess for that second
attempt (through oo_.steady_state), but since that latter variable was modified
in the loop, it would actually correspond to the same initial guess as in the
first attempt.
2023-10-13 09:16:37 -04:00
Sébastien Villemot a6eb943aae
Remove oo_ as an input argument to perfect_foresight_solver_core 2023-10-12 15:44:53 -04:00
Sébastien Villemot e4a4d2d8e6
Bytecode MEX: get M_ and options_ through input arguments rather than as global variables 2023-10-11 18:50:32 -04:00
Sébastien Villemot b59dc2cf1a
det_cond_forecast: fix bug with bytecode+block
The plan must immediately follow the “extended_path” string in the input
arguments of bytecode. Bug introduced in f84753025d.
2023-10-11 18:50:32 -04:00
Sébastien Villemot 88146bcc6f
solve_block_decomposed_problem: drop oo_ as an input argument 2023-10-11 18:50:32 -04:00
Sébastien Villemot a241aa2bd7
Drop (almost empty) initvalf.m wrapper 2023-10-11 18:50:32 -04:00
Sébastien Villemot f94e7ae9a6
Perfect foresight homotopy: display duration of every iteration 2023-10-11 18:50:32 -04:00
Stéphane Adjemian (Ryûk) 2c923c613b
Closes #1835. 2023-10-11 21:40:59 +02:00
Stéphane Adjemian (Argos) 06926e0153
Bug fix (missing semicolon). 2023-10-11 15:47:57 +02:00
Johannes Pfeifer a00eb5e1de
stoch_simul.m: add nomodelsummary option 2023-10-11 09:31:40 -04:00
Johannes Pfeifer cbf57b1af6
set_state_space.m: remove unused options_ input argument 2023-10-11 09:30:45 -04:00
Johannes Pfeifer 328f6f3229
check.m and model_diagnostics.m: use consistent global naming 2023-10-11 09:26:05 -04:00
Johannes Pfeifer 36a2a41e35
Add function signatures for command line functions 2023-10-11 09:26:05 -04:00
Johannes Pfeifer 6f8fc22d57
bug: internals.m: account for new location of results files in 5.x 2023-10-11 09:26:05 -04:00
Johannes Pfeifer 7f5d8b81c2
bug: minus_logged_prior_density.m: fix expected dimension of unused output arguments
Hessian needs to be empty for newrat
2023-10-11 09:26:04 -04:00
Johannes Pfeifer f0b10ca9df
Octave: workaround for intersect with stable flag providing wrong third output (Octave bug #60347)
Uses function removed in 47477e152a
2023-10-11 09:26:04 -04:00
Johannes Pfeifer d5f8d3fffe
check_model.m: add check for negative variances to prevent cryptic message about correlations 2023-10-11 09:26:04 -04:00
Johannes Pfeifer 94207ab851
🐛 check_for_calibrated_covariances.m: correct logic of check
Did not properly distinguish between unset correlation and starting value of 0
2023-10-11 09:26:04 -04:00
Johannes Pfeifer 5a3ae27b13
set_all_parameters.m: only operate on covariance matrices if necessary 2023-10-11 09:26:04 -04:00
Johannes Pfeifer 2eb9475e0e
🐛 make sure output arguments are set before return 2023-10-11 09:26:03 -04:00
Sébastien Villemot 8cc646fbf6
Bytecode MEX: remove syntax where no MATLAB array is passed
Those arrays were then read via oo_ and options_.

As a consequence, this commit drops the dependency of bytecode MEX upon the oo_
global variable.
2023-10-10 17:44:14 -04:00
Sébastien Villemot 2e3fbfc040
New option “from_initval_to_endval” to “homotopy_setup” block 2023-10-10 13:19:12 -04:00
Sébastien Villemot 6b44e08daa
steady: add check over the value of homotopy_mode option 2023-10-06 16:41:54 -04:00
Sébastien Villemot 7f6f66c1c9
steady: add a warning if homotopy_setup block is present but homotopy_mode=0 2023-10-06 16:17:09 -04:00
Sébastien Villemot 727f925f01
steady: set a more sensible default value for homotopy_steps (10)
Also document it.
2023-10-06 16:11:53 -04:00
Sébastien Villemot d4b6e61497
steady: check that the homotopy_setup block is present when homotopy_mode is specified 2023-10-06 16:07:41 -04:00
Sébastien Villemot c3680b9f85
steady: fix typo in comments 2023-10-06 16:02:02 -04:00
Sébastien Villemot 4dea001d8d
steady: variable renamings in relation to homotopy
– use consistent naming for M_, oo_, options_
– use more explicit names for a few other variables
2023-10-06 15:42:34 -04:00
Sébastien Villemot 068070d336
steady: various refactoring related to homotopy
- homotopy_mode = 2: in case of failure, print last successful point as in the
  other two modes
- homotopy_mode = 1: if there is a failure at the first iteration (starting
  values), do not incorrectly report that there was a successful point
- homotopy_mode = 3: if there is a failure at the first iteration (starting
  values), honour the option homotopy_force_continue
– homotopy2: remove globals
2023-10-06 15:42:31 -04:00
Johannes Pfeifer 32d5bc05a1
Octave: support ofig graph format 2023-10-05 10:28:28 -04:00
Sébastien Villemot d77561e241
Update comment following the switch to Meson
[skip ci]
2023-10-03 15:02:07 +02:00
Sébastien Villemot e4afa5eee0 Merge branch 'more_globals' into 'master'
Eliminate some more globals

See merge request Dynare/dynare!2187
2023-10-03 12:48:34 +00:00
Johannes Pfeifer 7ff7561280 Use consistent variable naming and add/fix headers 2023-10-02 11:12:31 +02:00
Johannes Pfeifer 3a115d4fcc Remove full oo_ input from likelihood functions 2023-10-02 09:48:34 +02:00
Johannes Pfeifer 268a668f32 occbin.dynare_resolve.m: remove oo_ structure as full input 2023-10-02 09:29:15 +02:00
Johannes Pfeifer ab61f79c9e dsge_likelihood.m: use consistent naming of global objects 2023-10-02 09:24:32 +02:00
Johannes Pfeifer f34653b0f7 mom.objective_function.m: remove unused input 2023-10-02 09:22:36 +02:00
Johannes Pfeifer fa29689b13 mom.get_data_moments.m: do not pass full oo_ structure 2023-10-02 09:19:29 +02:00
Johannes Pfeifer acb9518dec get_perturbation_params_derivs and friends: do not pass full oo_ structure 2023-10-02 09:18:58 +02:00
Johannes Pfeifer c5ab1c7f11 Decrease waitbar refresh rates to not clutter the console output 2023-10-01 18:04:34 +02:00
Johannes Pfeifer e65662151f Eliminate set_dynare_seed.m calls with globals 2023-09-28 17:00:21 +02:00
Sébastien Villemot f2abdb6ec8
Merge branch 'doc' of git.dynare.org:wmutschl/dynare
Ref. !2188
2023-09-28 15:38:17 +02:00
Sébastien Villemot 0e5bba7567
Testsuite: fix workaround for TeX option with MATLAB R2014a
MATLAB R2014a run with -nodisplay crashes with the TeX option. A workaround was
introduced in commit f946baf6c5. The present
commit updates this workaround following the move to the Meson build system.

By the way, use consistent variable naming in tests/run_mod_file.m.
2023-09-28 15:17:00 +02:00
Stéphane Adjemian (Argos) 85e9ec7fdc
Fix cherrypicked models without parameters or exogenous variables. 2023-09-28 09:39:18 +02:00
Stéphane Adjemian (Ryûk) de626fb4e8
Add remark.
[skip ci]
2023-09-28 09:01:37 +02:00
Sébastien Villemot ceff825ed4
Fix typo 2023-09-27 13:24:51 +02:00
Sébastien Villemot befe645728
Simplify function for getting the path to MEX files
This function could optionally modify the path, but that possibility was never
used.
2023-09-27 13:24:51 +02:00
Sébastien Villemot 432fd2d1b1
aggregate: Octave compatibility fix
The textscan() function under Octave does not accept delimiters specified as a
cell array.
2023-09-27 12:27:47 +02:00
Willi Mutschler e6aff20142
doc: clarify NumberOfThreadsPerJob and SingleCompThread
[skip ci]
2023-09-27 10:40:27 +02:00
Johannes Pfeifer 9b86dd4c33
bug: simul_backward_model_init.m: fix error message 2023-09-25 17:17:37 +02:00
Johannes Pfeifer 13bf261088
prior_posterior_statistics_core.m: remove unused variables 2023-09-25 17:17:37 +02:00
Johannes Pfeifer 710a5fba52
slice: cosmetic changes 2023-09-25 17:17:37 +02:00
Johannes Pfeifer 6d8927775b
Remove unused steadystate_partial option and related inline function restricted_steadystate.m 2023-09-25 17:17:37 +02:00
Johannes Pfeifer bf7ac27fd7
prior_posterior_statistics_core.m: consolidate both forecast functions into one inline function 2023-09-25 17:17:37 +02:00
Johannes Pfeifer dc9560e610
selec_posterior_draws.m: remove global variables 2023-09-25 17:17:37 +02:00
Johannes Pfeifer b4104584a2
gmhmaxlik_core.m: remove unused global variables 2023-09-25 17:17:37 +02:00
Johannes Pfeifer 71b63c6e8e
Remove unused lik_algo-option 2023-09-25 17:17:37 +02:00
Johannes Pfeifer 8da98057b9
Have computation of decision rules and smoother only input and output required arguments instead of full oo_ and M_ 2023-09-25 17:17:34 +02:00
Johannes Pfeifer 4fa5df0c24 simult.m: remove oo_ as input and output 2023-09-25 12:08:47 +02:00
Johannes Pfeifer 22c0f2279f non_linear_dsge_likelihood.m: rename variables 2023-09-25 12:08:45 +02:00
Johannes Pfeifer 01f29784d7 bug: initialize undefined variable in OccBin smoother 2023-09-25 12:08:44 +02:00
Johannes Pfeifer b5880e0e56 bug: minus_logged_prior_density.m: fix reading out of error codes 2023-09-25 12:08:43 +02:00
Johannes Pfeifer 5231fc04c1 Remove global variables from prior_posterior_statistics.m and PosteriorIRF.m 2023-09-25 12:08:41 +02:00
Johannes Pfeifer 782a2e8d69 dynare_estimation_1.m: move display and storing of classical smoother to separate function 2023-09-25 12:08:40 +02:00
Stéphane Adjemian (Ryûk) 6417520c09
Allow cherrypicking and aggregation with PAC/MCE. 2023-09-23 17:43:19 +02:00
Stéphane Adjemian (Ryûk) 8d7a5e69d7
Return Computing and preprocessing time. 2023-09-22 22:29:42 +02:00
Sébastien Villemot 9a1f150e38
Merge branch 'default_mode_compute' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2160
2023-09-22 14:35:45 +02:00
Sébastien Villemot c424366440
CI: bump to MATLAB R2023b 2023-09-22 10:52:57 +02:00
Sébastien Villemot 5ae5102f89 CI: bump to MATLAB R2023b 2023-09-22 10:52:17 +02:00
Sébastien Villemot 7eb1959f66
Provisions for MATLAB R2023b 2023-09-22 10:49:27 +02:00
Johannes Pfeifer 552e6575cc Use newrat as default mode-finder
Tends to perform better than csminwel
2023-09-20 12:55:29 +02:00
Sébastien Villemot 6f5e346bf6
Merge branch 'preparations_irf_matching' of git.dynare.org:wmutschl/dynare
Ref. !2181
2023-09-20 10:17:14 +02:00
Sébastien Villemot 14a71a6d98
Merge branch 'additional_optimizer_steps' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2178
2023-09-20 10:15:38 +02:00
Sébastien Villemot 44f307ce45
Merge branch 'dynare-complex_resid'
Ref. !2155
2023-09-20 10:09:07 +02:00
Johannes Pfeifer 87ce652088
Account for complex value during resid and steady 2023-09-20 10:08:53 +02:00
Johannes Pfeifer f6a8473144 estimation: support additional_optimizer_steps
Closes https://git.dynare.org/Dynare/dynare/-/issues/1573
2023-09-19 18:14:24 +02:00
Willi Mutschler 330b10ec85
cosmetical changes to headers and comments 2023-09-19 13:26:33 +02:00
Willi Mutschler 649f668dd1
cosmetical: don't use hh for figure/plot/table handles
We use it to denote the hessian and even store it in many mat files.
2023-09-19 13:26:33 +02:00
Willi Mutschler c8be1a3274
Refactor mode_check codes 2023-09-19 13:26:33 +02:00
Willi Mutschler a41fbdefbc
estimation: more flexible handling of displayed string in command window
Also removed estim_params_ as unused input argutment to CutSample
2023-09-19 13:26:33 +02:00
Willi Mutschler 9a4e022eb7
remove global from GetAllPosteriorDraws 2023-09-19 13:26:33 +02:00
Willi Mutschler 268d511e29
estimation: better organize files into folders (latex,graphs,output) 2023-09-19 13:26:33 +02:00
Willi Mutschler 8f650a9cca
Put raftery lewis convergence under oo_.convergence 2023-09-19 13:26:33 +02:00
Johannes Pfeifer 7df3ff5059 dynare_solve.m: fix logic of initial guess randomization which forgot case of imaginary numbers 2023-09-19 12:52:55 +02:00
Johannes Pfeifer b0358b9939 dynare_solve.m: add option to disable randomization of starting value 2023-09-19 12:52:54 +02:00
Johannes Pfeifer 62c3a14026 get_error_message.m: fix typo in error message 2023-09-19 12:52:53 +02:00
Johannes Pfeifer dafe3fbdb2 evaluate_steady_state.m: do not require second solver call if debug is requested
All output has already been computed before
2023-09-19 12:52:52 +02:00
Johannes Pfeifer 757b6e10ec display_static_residuals: make output more legible in presence of tags 2023-09-19 12:52:51 +02:00
Johannes Pfeifer 624eabe2e8 dynare_solve.m: improve warning message 2023-09-19 12:52:50 +02:00
Johannes Pfeifer 68ff5c4110 evaluate_steady_state.m: Filter out small complex residuals 2023-09-19 12:52:49 +02:00
Johannes Pfeifer ff83c4aea7 evaluate_steady_state_file.m: Octave bug 52568 was fixed in Octave 6 2023-09-14 16:55:13 +02:00
Sébastien Villemot db331c53d4
Merge branch 'display_static_residuals' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2176
2023-09-14 12:06:34 +02:00
Sébastien Villemot bea2d7905b
Merge branch 'dynare-bvar'
Ref. !2175
2023-09-14 12:05:59 +02:00
Johannes Pfeifer 14634946dc
🐛 bvar_irf: SquareRoot-option erroneously used Cholesky decomposition 2023-09-14 12:05:21 +02:00
Johannes Pfeifer 2b313b0308
BVAR: move to subfolder 2023-09-14 12:05:18 +02:00
Johannes Pfeifer 838bb2f4b5 display_static_residuals.m: fix bug introduced in 4598dba40c 2023-09-13 15:26:05 +02:00