Commit Graph

89 Commits (master)

Author SHA1 Message Date
Johannes Pfeifer 248d8ae84f occbin.DSGE_smoother.m: correct figure caption 2024-01-12 18:16:30 +01:00
Johannes Pfeifer 1b181fca57 OccBin tools: rework codes 2024-01-10 14:42:21 +01:00
Marco Ratto fbf62255c6
fix undefined new filter option 2023-12-21 14:02:20 +01:00
Johannes Pfeifer 774cb18aac posterior_moments.m: do not request density if output is not used
removes indicator and replaces it by nargout-check
2023-12-20 09:14:03 +01:00
Johannes Pfeifer d7ae0d0039 OccBin: improve consistency - Make name of opts_simul subfield homogeneous for likelihood computation and smoother - fill the new field opts_regime with init_binding_indicator init_regime_history, to avoid possible conflics with simulations done in realtime filtering steps - smoother: use init_binding_indicator and init_regime_history options set in options_.occbin.smoother 2023-12-18 16:16:50 +01:00
Marco Ratto ac346ef83d occbin.kalman_update_engine.m: embed use_relaxation and extend to work with 2 constraints 2023-12-18 16:16:49 +01:00
Marco Ratto 9b165d7785 occbin.map_regime.m: trap case where indicator is empty 2023-12-18 16:16:48 +01:00
Johannes Pfeifer 7b94310fd4 occbin.solver.m: fix header 2023-12-18 16:16:47 +01:00
Marco Ratto 8348cf009a OccBin: enhance search of filtered regime, using new kalman_update_engine.m
brute_force_regime_guess (default) and loss_function_regime_guess (optional, more time consuming) may be used to search for better solution (i.e. a solution providing better data density). Governed by options_.occbin.likelihood.number_of_initial_periods_with_extra_regime_guess
where the latter is 0 by default and can be set by user
2023-12-18 16:16:46 +01:00
Marco Ratto 75f5a463df OccBin smoother: trap realtime smoother error and use linear smoother for first guess 2023-12-18 16:16:45 +01:00
Marco Ratto e8d82ad840 Occbin: make convergence criteria for periodic solution more precise;
Also allows periodic loops to be a solution (periodic_solution_strict=false), provided regime is found that does not violate constraint in expectation AND the number of periods in violation is smaller than max allowed (periodic_solution_threshold= INTEGER)
2023-12-18 16:16:44 +01:00
Johannes Pfeifer ab6ea60967 Occbin smoother: try using smoothed shocks from linear smoother as last resort to initialize guess sequence of regimes 2023-12-18 16:16:43 +01:00
Marco Ratto 90fbb9559e 🐛 Occbin smoother: ensure all shocks are plotted with heteroskedastic_filter 2023-12-18 16:16:42 +01:00
Marco Ratto 3f1a37614f OccBin: store simul.piecewise and simul.linear in oo_.occbin.smoother, for easier post-processing of results 2023-12-18 16:16:40 +01:00
Marco Ratto ee5faf0783 🐛 Occbin smoother: set periods to the smpl size
Prevents crash if periods was too small
2023-12-18 16:16:39 +01:00
Marco Ratto cf7be44257 occbin.solver: initialize output ss to avoid crashes when call to resol fails 2023-12-18 16:16:38 +01:00
Stéphane Adjemian (Ryûk) 4982ce06b4
Remove unnecessary square brackets. 2023-12-18 10:49:49 +01:00
Stéphane Adjemian (Ryûk) 735bd66d4d
Remove unused output arguments. 2023-12-18 07:48:27 +01:00
Sébastien Villemot 9225e6b6df
Merge branch 'occbin_utilities' of git.dynare.org:rattoma/dynare
Ref. !2232
2023-12-15 11:25:58 +01:00
Sébastien Villemot 1239842909
Merge branch 'occbin_smoother' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2230
2023-12-15 11:25:35 +01:00
Marco Ratto 281f01f29e bug fixes and examples in testsuite 2023-12-14 22:26:40 +01:00
Johannes Pfeifer 0c07460f3b DSGE_smoother.m: clean up file and enable LaTeX output 2023-12-14 16:03:53 +01:00
Marco Ratto 0c4b59b19e utility to squeeze occbin shock decompositions 2023-12-13 20:56:24 +01:00
Marco Ratto 9b71845b87 utility to plot occbin regimes history 2023-12-13 20:54:20 +01:00
Marco Ratto 91a2cd2496 add utilities for forecast, irf, plot_irf, and their relevant options 2023-12-13 20:53:53 +01:00
Sébastien Villemot 7f58e819c6
Bump minimal required version of MATLAB to R2018b
Ref. #1907
2023-11-22 16:00:04 +01: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 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
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
Marco Ratto 63a299f64e new error codes introduced and applied for occbin smoother.
- 321 when simulation within occbin smoother fails
- 322 when occbin smoother does not converge.
2023-02-06 14:58:42 +01:00
Marco Ratto f565a0a84a bug fix and avoid missing output arguments and when smoother exits after non convergence of simulation. 2023-02-06 11:39:24 +01:00
Marco Ratto b886de92dc trap case when simulation does not converge within smoother 2023-02-03 14:25:32 +01:00
Marco Ratto cdd195576e store binding_indicator_history once it has been set 2023-02-03 14:24:58 +01:00
Marco Ratto 035db8b8c4 bug fixes when using guess regime 2023-02-03 14:20:51 +01:00
Marco Ratto 77e87be48b try with base regime before returning error 2023-02-03 14:20:39 +01:00
Marco Ratto 50aa20c742 eliminate buggy and useless check for existence of guess regime variable. this may create bugs in running PKF update step! 2023-02-03 14:20:02 +01:00
Marco Ratto 6598d615d1 in some cases, order is not yet set to 1 2023-02-03 14:19:16 +01:00
Marco Ratto a91c36f920 first_period_occbin_update is an index, not a boolean 2023-02-03 14:19:05 +01:00
Marco Ratto b90dff1986 retrieve states in period 0 from smoother and deploy this to:
- allow having binding regimes in period 1 with occbin
- further improve recovering of smoothed variables in period 1 under smoother_redux option
2023-02-03 14:18:10 +01:00
Johannes Pfeifer 80f6799c38 IVF: only store smoother results if requested 2022-11-23 16:44:18 +01:00
Johannes Pfeifer 1e2fb88d32 IVF: fix error handling for smoother 2022-11-23 15:37:12 +01:00
Johannes Pfeifer eeecccd29b IVF_core.m: fix header 2022-11-23 15:18:44 +01:00
Sébastien Villemot 3184db12f2 Merge branch 'occbin_smoother' into 'master'
OccBin Smoother: do not write non-converged results to oo_

Closes #1863

See merge request Dynare/dynare!2100
2022-11-16 18:40:05 +00:00
Johannes Pfeifer 4d603fb335 OccBin Smoother: do not write non-converged results to oo_
Closes https://git.dynare.org/Dynare/dynare/-/issues/1863
2022-11-16 17:13:08 +01:00
Marco Ratto b0ce054c00 missing line that stores info on violation of constraint in expectation (needed to check for periodic solutions) 2022-11-15 23:09:48 +01:00
Sébastien Villemot b336fbeb0d
Merge branch 'occbin_features' of git.dynare.org:rattoma/dynare
Ref. !2094
2022-11-04 14:59:06 +01:00
Marco Ratto a1e0c35c1f bug fix when max_check_ahead_periods interacts with curb_retrench 2022-11-04 11:20:52 +01:00
Marco Ratto 2f23604824 new option max_check_ahead_periods (renaming old undocumented option max_periods), that truncates the number of periods for which agents check ahead the regime (a sort of myopic behavior beyond max_check_ahead_periods),
the option is valid for simul, smoother and likelihood.
2022-11-04 11:17:37 +01:00