Commit Graph

8451 Commits (b7c74f8e9af9d0a13bbd195a3ff457be4d98e941)

Author SHA1 Message Date
Sébastien Villemot e66a1a63f8
local_state_space_iteration_2 MEX: enable parallelization by default 2021-10-20 15:33:04 +02:00
NormannR 1ad2680682 Fixes the evaluate_planner_objective routine Deals properly with the output provided by disp_th_moments 2021-10-18 17:08:28 +02:00
Johannes Pfeifer 226ed712bd Documentation: add missing author 2021-10-17 15:11:52 +02:00
Johannes Pfeifer c1483b4c61 Restore backward-compatibility when using load_mh_file
estim_params_ needs to be saved following 6e06acc7
2021-10-13 18:01:15 +02:00
Sébastien Villemot f9a550651d Merge branch 'k_order_fix' into 'master'
k_order_simulation bug: fixes simulations and adds/corrects integration test

Closes #1819

See merge request Dynare/dynare!1940
2021-10-12 15:34:29 +00:00
Johannes Pfeifer d5141ced42 simult_.m: remove redundant first simulation period for k_order_simulations
Closes https://git.dynare.org/Dynare/dynare/-/issues/1819
2021-10-12 15:20:26 +02:00
Sébastien Villemot eca7a25891
Merge branch 'lnsrch_display' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1943
2021-10-12 14:09:10 +02:00
Sébastien Villemot b9576cc2b7
Merge branch 'resid_ramsey' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1942
2021-10-12 14:08:51 +02:00
Johannes Pfeifer 2f35bae7da lnsrch1.m: prettify output 2021-10-11 20:06:09 +02:00
Johannes Pfeifer 37fbf5b665 resid.m: fix display when used together with optimal policy 2021-10-11 18:04:47 +02:00
Johannes Pfeifer ebe81eb6c9 display_problematic_vars_Jacobian.m: fix display when auxiliary equations outside of Ramsey are present 2021-10-11 17:45:03 +02:00
Sébastien Villemot d9ca83f317
Fix some files which were not UTF-8 encoded 2021-10-01 18:38:26 +02:00
Sébastien Villemot 236c69dac4
Testsuite: increase tolerance (again) in unitary tests for prior_draw.m 2021-10-01 17:39:57 +02:00
Sébastien Villemot 67713f555a
Merge branch 'model_diagnostics_loglinear' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1938
2021-09-28 18:23:37 +02:00
Sébastien Villemot e2a11a1a51
Reporting: fix crash when xrange argument of addGraph() is missing 2021-09-28 18:21:14 +02:00
Johannes Pfeifer fbd4fa7f3d model_diagnostics.m: fix compatibility with loglinear option 2021-09-28 09:35:27 +02:00
Sébastien Villemot 7e47713ae5
CI: bump to MATLAB R2021b 2021-09-24 16:43:30 +02:00
Sébastien Villemot 6669e55b97
Provisions for MATLAB R2021b 2021-09-24 16:43:30 +02:00
Sébastien Villemot 24c4e86a95
Merge branch 'thread_bug' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1935
2021-09-23 16:44:38 +02:00
Sébastien Villemot f7149d60cc
NLS estimation: workaround for Octave random failure to read the generated ssr_*.m file 2021-09-23 16:21:25 +02:00
Johannes Pfeifer 5f27d2e469 set_dynare_threads.m: fix naming bug 2021-09-23 12:48:08 +02:00
Sébastien Villemot c320af2cd0
Merge branch 'mh_mode' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1932
2021-09-22 16:24:39 +02:00
Johannes Pfeifer 6abc984d5e Fix mh_posterior_mode_estimation option
Closes https://git.dynare.org/Dynare/dynare/-/issues/1044
2021-09-22 10:00:47 +02:00
Johannes Pfeifer e754ec158c
stab_map_.m: move saved file to subfolder´ 2021-09-21 17:25:35 +02:00
Johannes Pfeifer 725fa79bbc
model_info.m: improve output display 2021-09-21 17:25:35 +02:00
Sébastien Villemot b60607a5b3
Fix spurious warning at startup under Octave about +pac/+bgp/{get,set}.m
This is a workaround for Octave bug 46849. It complements commit
4c0b2e8c4e.

The workaround consists in moving the two problematic files to a subfolder
which is not in the path at startup. They will be added to the path later, at a
time when the Octave:shadowed-function warning has already been disabled by
warning_config.m.

Closes: #1817
2021-09-21 15:19:06 +02:00
Sébastien Villemot 82d0b1caf4
Merge branch 'smoother2histval' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1930
2021-09-17 17:00:08 +02:00
Sébastien Villemot 7d4bb9ea44
Merge branch 'state_var_backwards' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1928
2021-09-17 16:57:16 +02:00
Sébastien Villemot b74c37d5e4
One last Octave compatibility fix
Closes: #1749
2021-09-17 15:22:07 +02:00
Johannes Pfeifer 2dd6510051 smoother2histval.m: undo logging
Closes https://git.dynare.org/Dynare/dynare/-/issues/1407
2021-09-17 14:43:50 +02:00
Johannes Pfeifer 62e80b0c07 smoother2histval.m: also set M_.exo_histval 2021-09-17 14:42:44 +02:00
Johannes Pfeifer 489e6684e9 smoother2histval.m: fix initialization and dimensions
Closes https://git.dynare.org/Dynare/dynare/-/issues/1775
2021-09-17 13:58:06 +02:00
Johannes Pfeifer 57bbec1f72 stochastic_solvers.m: set dr.state_var for purely backwards models at order=1
Subsequent codes may need it. Closes https://git.dynare.org/Dynare/dynare/-/issues/1703
2021-09-16 20:44:14 +02:00
Sébastien Villemot 49a396030b
Yet another batch of Octave compatibility fixes 2021-09-16 18:25:00 +02:00
Sébastien Villemot 240d82e64a
Fix typo
[skip ci]
2021-09-16 16:23:20 +02:00
Johannes Pfeifer 79ee6a5565 dyn_waitbar_close.m: fix closing of waitbars under Octave 2021-09-16 10:40:00 +02:00
Sébastien Villemot 5a21b11d77
Merge branch 'print_model_info' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1922
2021-09-15 18:35:50 +02:00
Sébastien Villemot ff06b9ad10
More Octave compatibility fixes 2021-09-15 18:35:30 +02:00
Sébastien Villemot f164750a91
Old MATLAB compatibility fix
This is a partial revert of 4346903c65. The
xlswrite function is actually not able to write XLS files on GNU/Linux and
macOS, and moreover its CSV fallback does not work with cell arrays.
2021-09-15 17:37:08 +02:00
Johannes Pfeifer 58ee240048 Clarify auxiliary variable types
Related to https://git.dynare.org/Dynare/dynare/-/issues/1811
2021-09-15 16:10:58 +02:00
Johannes Pfeifer 966234b044 model_info.m: add non-block info 2021-09-15 16:10:43 +02:00
Stéphane Adjemian (Ryûk) 13c6cf86ce
Cosmetic change (code factorization). 2021-09-15 13:45:39 +02:00
Stéphane Adjemian (Ryûk) 32b8d6c72a
Remove unnecessary condition. 2021-09-15 13:45:39 +02:00
Stéphane Adjemian (Ryûk) 60c8ed1948
Fix bug, pac.bgp.set should also work with exogenous variables. 2021-09-15 13:45:39 +02:00
Sébastien Villemot 809d313b7e Merge branch 'planner_matlab_2014' into 'master'
evaluate_planner_objective.m: compatibility fix for older Matlab versions

See merge request Dynare/dynare!1924
2021-09-15 11:34:09 +00:00
Johannes Pfeifer 85a5a5633c evaluate_planner_objective.m: compatibility fix for older Matlab versions
Use single quotes
2021-09-14 19:35:42 +02:00
Sébastien Villemot 4346903c65
Various Octave compatibility issues
Also improve on e42cf2e5b4 for the compatbilitity
with MATLAB < R2016a in occbin.write_regimes_to_xls.m.
2021-09-14 17:55:55 +02:00
Johannes Pfeifer 334020fc46 evaluate_planner_objective.m: fix wrong timing in setting of shocks 2021-09-11 09:44:36 +02:00
Johannes Pfeifer 0d483ff85f evaluate_planner_objective.m: Factorize setting of initial condition
also takes care of initially set shocks
2021-09-11 09:44:35 +02:00
NormannR acdad93822 Fixing the regression in behavior in evaluate_planner_objective (Ref: #1680)
- evaluate_planner_objective now returns conditional welfare depending on the initial value of the Lagrange multipliers when it is suitable to do so
   - histval blocks are no longer ignored
2021-09-11 09:44:35 +02:00
Sébastien Villemot ee0a4eb001
Reporting: fix detection of pdflatex on Debian Bookworm 2021-09-09 11:30:04 +02:00
Sébastien Villemot d54f2dd609
dseries submodule update
— fix detection of x13as on Debian bookworm/sid
— add ability to use self-compiled x13as on macOS
— add ISO 8601 weeks
— generalize isleapyear routine for vector of integers
2021-09-09 11:03:35 +02:00
Sébastien Villemot e42cf2e5b4
Various MATLAB R2014a compatibility fixes 2021-09-08 14:15:49 +02:00
Stéphane Adjemian (Charybdis) f1bf12c601
Apply patch from d440b7082 for (VAR based) expectations in PAC.
Fix the computation of h1 and h0 if the auxiliary model (VAR) has a constant.
2021-09-07 18:39:52 +02:00
Stéphane Adjemian (Ryûk) d440b70820
Fix var expectation weights when auxiliary model has a constant.
Increment index variables_id_in_var if constant is present in VAR model (first position in the Companion representation)..
2021-09-07 00:36:34 +02:00
Stéphane Adjemian (Ryûk) 4cf1a358ee
Fix growth neutrality correction in PAC/MCE equation. 2021-09-01 11:27:42 +02:00
Stéphane Adjemian (Ryûk) 380fd84cb3
Fix NLS estimation routine.
Closes #1798
2021-09-01 10:37:17 +02:00
Sébastien Villemot 7c0af1ce48
Merge branch 'gsa' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1920
2021-08-31 13:52:20 +02:00
Sébastien Villemot 757c0dd4cb
Merge branch 'k_order_simult' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1914
2021-08-31 13:51:43 +02:00
Johannes Pfeifer cba00755b1 stab_map_2.m: Only do skipline if actual printing happens 2021-08-31 11:13:37 +02:00
Johannes Pfeifer 54203f499e dynare_sensitivity.m: fix dead link 2021-08-31 11:13:02 +02:00
Johannes Pfeifer a2c60dba11 simult_.m: simulate user-requested order with k_order_solver
Also prevent inconsistent simulations
2021-08-30 19:36:51 +02:00
Sébastien Villemot 55850f465d
Merge branch 'noconstant' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1916
2021-08-30 16:37:55 +02:00
Sébastien Villemot b8a9dae60a
Merge branch 'mode_check' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1915
2021-08-30 16:36:57 +02:00
Sébastien Villemot f60043768b
Merge branch 'lyap' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1913

Closes: #1078
2021-08-30 16:16:27 +02:00
Sébastien Villemot d6483ef3f8
Merge branch 'mom_namespace' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1903
2021-08-30 16:13:29 +02:00
Johannes Pfeifer 83ea804fcc estimation: remove invalid check for presence of constant
a zero steady state is a local property depending on the parameter vector; if initial evaluation to true, the constant was ignored
2021-08-20 13:31:48 +02:00
Johannes Pfeifer 459fce927b mode_check.m: take care of almost binding bounds 2021-08-20 13:29:37 +02:00
Johannes Pfeifer 58b336b263 mode_check.m: fix logical condition that may otherwise lead to 0 size of interval 2021-08-20 13:09:06 +02:00
Stéphane Adjemian (Charybdis) d3678edbbe
Add try/catch block (cherry-picking failures).
Close and delete generated file if cherry picking fails for any reason.
2021-08-19 13:03:44 +02:00
Johannes Pfeifer f273c09e71 lyapunov_solver.m: make baseline compatible with sparse matrices 2021-08-19 11:16:24 +02:00
Stéphane Adjemian 8228a32d5c Merge branch 'block_fixes' into 'master'
Fix two bugs for block decomposed models

See merge request Dynare/dynare!1911
2021-08-17 17:18:18 +00:00
Stéphane Adjemian 8ae7b23843 Merge branch 'occbin_output' into 'master'
Occbin: remove redundant output

See merge request Dynare/dynare!1910
2021-08-17 17:15:07 +00:00
Johannes Pfeifer 5e29a6082f dr_block.m: make sure zx has correct dimensions if no initval is present
Also do earlier check for loglinear option
2021-08-17 14:26:28 +02:00
Johannes Pfeifer 60bf0fd387 block_kalman_filter: request missing output argument 2021-08-17 14:25:31 +02:00
Johannes Pfeifer a27bc872ad
execute_prior_posterior_function.m: move error in correct, transform error into warning 2021-08-17 11:06:01 +02:00
Johannes Pfeifer 0b491b3b09
Estimation: fix header column widths in display of results 2021-08-17 10:57:53 +02:00
Johannes Pfeifer e944b783b9 method_of_moments: move to separate namespace 2021-08-16 14:08:31 +02:00
Johannes Pfeifer 341aca25ad
Liu West: Remove redundant option 2021-08-16 12:34:10 +02:00
Johannes Pfeifer bfd92e79a7
Occbin: udpate options 2021-08-16 11:37:53 +02:00
Stéphane Adjemian (Charybdis) 1c54eb21d2
Cosmetic change (remove trailing spaces). 2021-08-16 11:19:28 +02:00
Willi Mutschler a5995aec03
MoM: Check availability of optim toolbox for default mode_compute
lsqnonlin is an optimization algorithm that is specifically well suited for minimizing quadratic objectives, so I would like to have it as default. However, we fallback to csminwel if the optimization toolbox for Matlab or optim for Octave are not available.
2021-08-16 10:58:35 +02:00
Willi Mutschler 31f3bfa3d0
MoM: Changed some defaults and cosmetical changes
//wip
2021-08-16 10:58:35 +02:00
Willi Mutschler fdba1170ae
MoM: Refactor check for duplicate moments, fix display of results
As we have a working interface now, this commit improves the provisional handling of finding duplicate moments. Previously, indices for GMM were created, but this is not really needed. This commit cleans this up and similar to SMM makes use of the matched_moments block.

As a by-product of the previous provisonal handling higher-order moments for SMM where not correctly displayed as no labels were created. This is now fixed. The comparison of data moments and estimated model moments is also in the same ordering as the inputed orthogonality conditions in matched_moments.

Signed-off-by: Willi Mutschler <willi@mutschler.eu>
2021-08-16 10:58:35 +02:00
Johannes Pfeifer 3c02d0c5b0 Occbin: remove redundant output 2021-08-10 13:54:59 +02:00
Stéphane Adjemian (Ryûk) ebfa72740f
Changed default for initial step bound factor.
Should fix simulation failure in pac/trend-component-10/example1, that
seems to be caused by a too large value of this parameter.
2021-07-24 12:20:29 +02:00
Stéphane Adjemian (Ryûk) 873a9b1a38
Fix call to solve1 routine. 2021-07-23 22:16:43 +02:00
Stéphane Adjemian (Ryûk) 993872d5af
Update dseries submodule (track master branch). 2021-07-23 20:39:00 +02:00
Stéphane Adjemian (Ryûk) 0d092a36a0
Acknowledge option trust_region_initial_step_bound_factor in matlab based trust_region routine. 2021-07-23 19:44:16 +02:00
Stéphane Adjemian (Ryûk) e72dde69d3
Add option for trust region algorithm (mex).
trust_region_initial_step_bound_factor is determinining thye initial
step bound. Default value is 100 (previous hard coded value was 1).
2021-07-23 19:44:16 +02:00
Sébastien Villemot b34be496c5 Merge branch 'evaluate_planner' into 'master'
evaluate_planner_objective.m: correctly rely on lag/lead structure for perfect foresight

See merge request Dynare/dynare!1890
2021-07-23 14:01:22 +00:00
Johannes Pfeifer 440a0e460b
Storage of results: use subfolder
Ref. #1758
2021-07-23 14:12:17 +02:00
Johannes Pfeifer e09d215964 evaluate_planner_objective.m: correctly rely on lag/lead structure for perfect foresight
Also cosmetic changes to indentation
2021-07-23 13:27:30 +02:00
Johannes Pfeifer 3d5601caec check_model.m: fix logic of check for non-contemporaneous variables and remove redundant checks
Closes https://git.dynare.org/Dynare/dynare/-/issues/1792
2021-07-23 11:25:43 +02:00
Sébastien Villemot 41814becf1 Merge branch 'moments_varendo' into 'master'
dsge_simulated_theoretical_correlation/dsge_simulated_theoretical_covariance:...

Closes #1769

See merge request Dynare/dynare!1888
2021-07-22 16:25:01 +00:00
Johannes Pfeifer 4d43e1850d dsge_simulated_theoretical_correlation/dsge_simulated_theoretical_covariance: only do computations once
Closes https://git.dynare.org/Dynare/dynare/-/issues/1769
2021-07-22 17:03:27 +02:00
Sébastien Villemot 3206ea9684 Merge branch 'evaluate_planner_objective' into 'master'
Streamline evaluate planner objective

See merge request Dynare/dynare!1887
2021-07-22 14:42:22 +00:00
Johannes Pfeifer 11c75592fb evaluate_planner_objective.m: compute required moments directly 2021-07-22 15:01:15 +02:00
Sébastien Villemot 8b8f919a0f Merge branch 'smoother2histval' into 'master'
Improvements for smoother2histval

See merge request Dynare/dynare!1886
2021-07-22 12:03:59 +00:00
Johannes Pfeifer 3fb41e075f Matlab implementation of the consider_all_endogenous_and_auxiliary option 2021-07-22 13:12:27 +02:00
Johannes Pfeifer a04c348d73 smoother2histval.m: provide warning when smoothed variables are missing 2021-07-22 12:22:18 +02:00
Sébastien Villemot 0e793faeb2 Merge branch 'pf_options' into 'master'
Particle filter: enable passing of option values and prepare for other samplers

Closes preprocessor#59

See merge request Dynare/dynare!1884
2021-07-22 09:50:10 +00:00
Johannes Pfeifer 80cad32068 Particle filter: enable passing of option values and prepare for other samplers 2021-07-21 23:00:32 +02:00
Sébastien Villemot dc45ac6361 Merge branch 'master' into 'master'
occbin fixes and two small new features

See merge request Dynare/dynare!1883
2021-07-21 18:21:16 +00:00
Marco Ratto 4caebd76c9 added 2 new occbin.simul options (defaults preserve current behavior):
1) algo_truncation: sets the number of iterations for a truncated guess-verify algorithm (i.e. if max_iter<=algo_truncation, no error is triggered on output, but the user is happy with the last regime in the algorithm)
2) reset_regime_in_new_period: is set to true, it resets the guess regimes to unconstrained when a new shock arrives, instead of starting with a guess regime consistent with the one identified in previous time periods. this sometimes allows more robust convergence/identification of the regimes
2021-07-21 18:03:23 +02:00
Stéphane Adjemian (Ryûk) cd2ed823b6
Fix constant in VAR and PAC expectations...
When the VAR auxiliary model has a constant.
2021-07-21 18:02:11 +02:00
Stéphane Adjemian (Ryûk) a69f68bb7c
Modify companion matrix if VAR model has a constant. 2021-07-21 18:02:04 +02:00
Marco Ratto ebdfcc80ec fixed bug introduced in 229282a1c4 2021-07-21 17:59:01 +02:00
Marco Ratto c48f737633 make header names compatible with earlier versions of MATLAB (e.g. it would crash with MATLAB 2017b) 2021-07-21 17:51:05 +02:00
Marco Ratto 85e35b1654 1) if not using relaxation, initial guess regime in verify step(occbin simul) is set equal to the guess regime used to updated states and shocks
2) fixed treatment of periodic solution in algo=3, now harmonized to algo=1
2021-07-21 17:51:03 +02:00
Marco Ratto d3e5e7b8ef Initialize state space matrices with occbin smoother, when realtime regimes are computed, otherwise they are set to 0 for t<first_period_occbin_update! 2021-07-21 17:51:00 +02:00
Marco Ratto bec52fe731 with occbin smoother do not overwrite updated variables that have been already computed with reduced state space 2021-07-21 17:50:58 +02:00
Sébastien Villemot 4c94da514e
CI: bump to Octave 6.3.0 2021-07-21 17:29:12 +02:00
Sébastien Villemot 1045c442a9
Merge branch 'occbin_mean' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1882
2021-07-21 16:42:00 +02:00
Sébastien Villemot a142907e44
Particles / Alternative samplers: header fixes and indentation 2021-07-21 16:37:56 +02:00
Johannes Pfeifer 944bf2b68e occbin: work with non-demeaned data and in constraints 2021-07-21 13:42:38 +02:00
Sébastien Villemot 229282a1c4
Occbin: the +<basename>/occbin_difference.m file is now generated by the preprocessor
Some fields have also changed under M_.occbin.

Ref. #569
2021-07-20 12:35:15 +02:00
Sébastien Villemot d5c35e3664
Occbin: fix function header 2021-07-19 15:30:54 +02:00
Marco Ratto 02072dde39
Add Occbin routines
Syntax is not yet finalized (see preprocessor#68).
Documentation still to be done.

Ref. #569
2021-07-16 17:20:11 +02:00
Stéphane Adjemian (Ryûk) 54f80e88d2
Add structural VAR as an auxiliary model for VAR based expectations and PAC expectations.
Ref. #1785

Just add option `structural` to the `var_model` command.
2021-07-16 10:25:18 +02:00
Stéphane Adjemian (Ryûk) 1d60c271d7
Add trap if equation has leads.
NLS estimation does not work if the equation has expected variables.
2021-07-15 17:36:02 +02:00
Stéphane Adjemian (Ryûk) 4b7a0ee29e
Change definition of islaggedvariables.
Previous definition could detect lags in an equation without any lag, for
instance if we have the following expression in the RHS: +(-1)*x.
2021-07-15 17:31:55 +02:00
Stéphane Adjemian (Ryûk) 14bc82b287
Add single equation estimation by NLS.
Ref. #1798.

See example in tests/estimation/example_nls.mod.
2021-07-15 16:55:49 +02:00
Johannes Pfeifer b2c6a6f7a1 initial_estimation_checks.m: error out if data is complex
Prevents cryptic message that likelihood became complex
2021-07-14 19:30:50 +02:00
Stéphane Adjemian (Ryûk) 2b4572affd
Allow arbitrary nonzero mean exogenous variables in PAC equations.
Previously any nonzero mean exogenous variable had to be centered on
the growth rate (first difference) of the (PAC's LHS) endogenous
variable.
2021-07-11 17:06:53 +02:00
Stéphane Adjemian (Ryûk) d9298ca03a
Bug fix, wrong definition of the growth neutrality correction...
In PAC equations with optimizing and rule of thumb agents (division
by lambda was missing). Also add comments.
2021-07-11 17:06:53 +02:00
Sébastien Villemot abd64c256e
New perfect_foresight_with_expectation_errors_{setup,solver} commands
These command solve the problem where agents think they know perfectly the
future (they behave as in perfect foresight), but make expectation errors.
Hence they can potentially be surprised in every period, and their expectations
about the future (incl. the final steady state) may change.

Currently the sequence of information sets needs to be passed through a CSV
file. Another interface may be added in the future.

The algorithm uses a sequence of (true) perfect foresight simulations (not
necessarily as many as there are periods, because if the information set does
not change between two periods, there is no need to do a new computation).

There are two possibilities for guess values:
— the default is to use the initial steady state for the simulation using the
  first-period information set; then use previously simulated values as guess
  values
— alternatively, with the terminal_steady_state_as_guess_value option, use the
  terminal steady state as guess value for all future periods (this is actually
  what the “true” perfect foresight solver does by default)
2021-07-09 18:16:46 +02:00
Stéphane Adjemian (Ryûk) fe63082c42
Add lagged information set in VAR based expectations. 2021-07-06 23:06:46 +02:00
Johannes Pfeifer f7a232061a
Remove unused options_-output
Prevents accidentally changing something
2021-06-22 18:17:11 +02:00
Sébastien Villemot 43607acf38
Merge branch 'resolveheader' of git.dynare.org:JohannesPfeifer/dynare
See merge request !1875
2021-06-16 17:41:40 +02:00
Sébastien Villemot 18a172bd45
Merge branch 'mcp_ramsey' of git.dynare.org:JohannesPfeifer/dynare
See merge request !1874
2021-06-16 17:41:40 +02:00
Sébastien Villemot 820df39ff7
Compatibility fix for MATLAB < R2019b
MATLAB < R2019b does not accept “bar(1, [2 3])”.
2021-06-16 17:41:40 +02:00
Johannes Pfeifer 1d10659b59 get_complementarity_conditions.m: fix equation numbering with ramsey_model
M_.equation_tags already contains the correct equation number
2021-06-16 13:21:49 +02:00
Johannes Pfeifer 32e1f34579 dynare_resolve.m: correct header and change naming of globals 2021-06-16 13:17:29 +02:00
Stéphane Adjemian (Ryuk) 8611143409
Updated particles submodule (fix for the online filter). 2021-06-15 22:09:35 +02:00
Normann Rion 3d27672c58
kth-order approximation of conditional welfare
Partially addresses issue #1680:
- unconditional welfare resorts to dynare++ simulation tools, which shall be updated very soon
TO DO:
- implement a function computing kth-order approximation of simulated moments of y
2021-06-15 15:04:31 +02:00
Stéphane Adjemian (Ryuk) edeb7911f3
Fix bug (initial period in extended path).
extended_path was crashing in preceeded by a call to the set_time command.
2021-06-15 14:24:38 +02:00
Sébastien Villemot be38866487
Fix handling of heteroskedastic_shocks block with several declared periods
Closes: #1791
2021-06-15 12:54:54 +02:00
Johannes Pfeifer e5b51f3257 DsgeSmoother.m: header cosmetics
[skip CI]
2021-06-15 11:16:41 +02:00
Sébastien Villemot 6258699060
Merge branch 'disclyap' of git.dynare.org:JohannesPfeifer/dynare
See merge request !1872
2021-06-14 15:29:01 +02:00
Sébastien Villemot 68bca0cd2a Merge branch 'pruned_state_space' into 'master'
pruned_state_space: handle shocks with 0 variances

See merge request Dynare/dynare!1871
2021-06-14 10:37:45 +00:00
Johannes Pfeifer e8c3758fc7 disclyap_fast.m: fix check for convergence with NaN
[skip CI]
2021-06-11 14:22:10 +02:00
Johannes Pfeifer 0116870399 pruned_state_space: handle shocks with 0 variances 2021-06-11 14:15:31 +02:00
Sébastien Villemot 45933779a4 Merge branch 'simult_' into 'master'
simult_.m: fix error message at order>3

See merge request Dynare/dynare!1870
2021-06-10 15:24:45 +00:00
Johannes Pfeifer 907066ae95 simult_.m: fix error message at order>3 2021-06-10 14:40:19 +02:00
Sébastien Villemot 766fff88f6
Use secure URL for link to GNU licenses 2021-06-09 17:35:05 +02:00
Sébastien Villemot 4733d97ceb
dseries: fix concatenation with empty dates objects 2021-06-09 17:33:25 +02:00
Sébastien Villemot 04c3fb3a31
Merge branch 'slice_record' of git.dynare.org:JohannesPfeifer/dynare
See merge request !1869
2021-06-09 14:41:03 +02:00
Johannes Pfeifer f38a1edaee posterior_sampler.m: trap case where record.ProposalCovariance is not filled (slice sampler) 2021-06-08 21:03:08 +02:00
Johannes Pfeifer e546d686eb dynare_solve.m: allow calling function directly 2021-06-04 21:24:53 +02:00
Johannes Pfeifer 4e0f2bf695 dynare_solve.m: have csolve honor selected options 2021-06-02 16:21:16 +02:00
Johannes Pfeifer f4c0781f45 calibrate_mh_scale_parameter.m: Expand header 2021-06-01 11:34:39 +02:00
Johannes Pfeifer f51a57374a mh_tune_jscale: fix display of stepsize and provide warning if no updating can occur. 2021-06-01 11:23:07 +02:00
Johannes Pfeifer fad86785da evaluate_planner_objective.m: do not evaluate non-existing terms for linear models
Closes https://git.dynare.org/Dynare/dynare/-/issues/1781
2021-05-28 17:00:44 +02:00
Stéphane Adjemian (Charybdis) 27ee801a67
Add specialized version of sim1 for static models.
Also add an integration test and fix homotopy error message.
2021-05-28 14:11:34 +02:00
MichelJuillard 5ab724d38f
Following a change in the calling sequence. Fixes #1789 2021-05-28 13:49:58 +02:00
Stéphane Adjemian 77612e6bb7 Merge branch 'particle' into 'master'
non_linear_dsge_likelihood.m: filter out explosive initial simulation

See merge request Dynare/dynare!1861
2021-05-28 11:42:24 +00:00
Johannes Pfeifer f97c138685 sim1_purely_backward.m: for purely static model, do not use past value for first iteration
Index 0 does not exist.
2021-05-27 22:37:45 +02:00
Johannes Pfeifer cac6f82e34 non_linear_dsge_likelihood.m: filter out explosive initial simulation 2021-05-27 21:04:35 +02:00
Sébastien Villemot abe8a05b43 Merge branch 'smoother_redux' into 'master'
Implement new option smoother_redux, to allow fast smoother for very large...

See merge request Dynare/dynare!1859
2021-05-27 16:33:21 +00:00
Sébastien Villemot c4e0cd0565 Merge branch 'posterior_smoother' into 'master'
prior_posterior_statistics_core.m: filter out cases where model does not solve

See merge request Dynare/dynare!1860
2021-05-27 16:09:19 +00:00
Marco Ratto 5fa6265944 Implement new option smoother_redux, to allow fast smoother for very large models. It runs smoother only for state variables and computes the remaining ones ex-post
Contains improvements, in order to recover as much as possible static unobserved (filtered, smoothed, updated, k-step ahead), Variance, State_uncertainty, k-step ahead variances trying to map lagged states onto current ones using pinv(T). This has exceptions (namely lagged shocks which are ONLY used to recover static NON observed variables). this exception is also trapped.
For such extensions we can only recover smoothed variables starting from d+1. Variances CANNOT be recovered for such variables (the smoother gives ZERO.)
2021-05-27 16:59:15 +02:00
Johannes Pfeifer 7541b1b116 prior_draw.m: cosmetic fix 2021-05-27 16:46:40 +02:00
Johannes Pfeifer 5d1d5b8a85 prior_posterior_statistics_core.m: filter out cases where model does not solve
Relax qz_criterium by factor of 10, when taking posterior subdraws. Also makes sure `prior` option works as intended.
2021-05-27 16:46:28 +02:00
Sébastien Villemot ae574fff78 Merge branch 'diagnostics' into 'master'
model_diagnostics.m: only provide message if imaginary component reaches tolerance level

See merge request Dynare/dynare!1855
2021-05-27 14:23:55 +00:00
Stéphane Adjemian (Charybdis) 3e7cd877d3
Fix error message consistently with 2743ca8fd.
[skip ci]
2021-05-26 19:11:01 +02:00
Stéphane Adjemian (Charybdis) 2743ca8fdb
Fix workspace if dynare is called from a function. 2021-05-26 19:07:44 +02:00
Marcoo Ratto 1645f38269
Implement heteroskedastic filter and smoother 2021-05-26 18:45:16 +02:00
Sébastien Villemot ba3522a9ba Merge branch 'compute_decision_rules' into 'master'
Use of the compute_decision_rules function to factorize code

See merge request Dynare/dynare!1856
2021-05-25 16:18:43 +00:00
Selma Malmberg 9c6cc04b0d Use of the compute_decision_rules function to factorize code (Ref.#1173) 2021-05-20 11:36:29 +02:00
Johannes Pfeifer 7e72b52677 model_diagnostics.m: only provide message if imaginary component reaches tolerance level 2021-05-20 11:23:48 +02:00
Johannes Pfeifer 456dc86ad1 identification: support optimal policy
Related to https://git.dynare.org/Dynare/dynare/-/merge_requests/1837
2021-05-14 13:38:42 +02:00
Johannes Pfeifer 7d4b01883d get_identification_jacobians.m: remove unnecessary reordering of equations 2021-05-14 13:35:01 +02:00
Johannes Pfeifer c8bc12ab6c forcst.m: fix case with measurement error 2021-05-12 17:44:35 +02:00
Sébastien Villemot 0d6bc47158
Merge branch 'rattoma/dynare-mh_initialize_from_previous_mcmc'
Ref. !1841
2021-05-11 18:51:57 +02:00
Marco Ratto a0f2b2399b
New option mh_initialize_from_previous_mcmc that allows to pick initial values for a new MCMC from a previous one
If an additional parameter is estimated, it is initialized using prior_draw.
2021-05-11 18:48:43 +02:00
Johannes Pfeifer cc045caa6f
loglinear: Take care of non-logged lagged/leaded exogenous variables
Closes: #1783
2021-05-11 17:47:25 +02:00
Johannes Pfeifer 5a2fbe2f89 dynare.m: remove non-working line feed 2021-05-11 14:24:02 +02:00
Sébastien Villemot bdb743eaa7
Merge branch 'rattoma/dynare-fast_realtime_shock_decomp'
Closes !1842
2021-05-10 15:55:28 +02:00
Marco Ratto 2d39991a0a
allow for a more accurate (and more expensive) fast realtime modality, triggered by fast_realtime=INTEGER_VECTOR and where vector fast_realtime controls periods for which the smoother is run. If max(fast_realtime)<nobs, the smoother is also run for the full sample. Manual updated accordingly. 2021-05-10 15:55:03 +02:00
Sébastien Villemot 3c7865a950
Merge branch 'rattoma/dynare-initial_estimation_checks_errors'
Ref. !1839
2021-05-07 17:52:45 +02:00
Marco Ratto 74121c2aee
New no_init_estimation_check_first_obs option that allows to skip check of singularity in first observation
(like deficient # of shocks in the presence of stockflow observed)
2021-05-07 17:51:03 +02:00
Sébastien Villemot 088fd64114
Merge branch 'rattoma/dynare-smoother_fixes'
Ref. !1847
2021-05-07 16:35:36 +02:00
Marco Ratto 551917581f
Bug fixes in fitered variances of smoother
- kalman_algo=1: kstep-ahead variances were WRONG, since Pf was initialized using P in PREVIOUS period
- kalman_algo=2: output argument for filtered varainces should be P1, not P (P are UPDATED variances, there).

For kalman_algo=2, also make a small factorization fix (compute P(:,:,t+1) before defining Pf, so to compute 1-step ahead variance only once)
2021-05-07 16:34:53 +02:00
Marco Ratto d43a057af3
store_smoother_results: fix header explanation of output arguments
Variances are now in declaration order.
2021-05-07 16:34:35 +02:00
Sébastien Villemot ca43df16e0 Merge branch 'dot_error' into 'master'
Filter out "Dot indexing is not supported for variables of this type." error...

See merge request Dynare/dynare!1846
2021-05-06 14:49:39 +00:00
Sébastien Villemot 58db4a4c21
Merge branch 'rattoma/dynare-parallel_without_psexec'
Ref. !1843
2021-05-06 16:31:15 +02:00
Marco Ratto 9ed9aa5963
For local clusters only, allow using start instead of psexec with windows, to properly allocate affinity when there are more than 32 cores. Manual updated accordingly. 2021-05-06 16:31:06 +02:00
Johannes Pfeifer f43ee91ed8 Filter out "Dot indexing is not supported for variables of this type." error if variable conflicts with namespace 2021-05-06 10:59:19 +02:00
Sébastien Villemot f9fb3bb386
Octave compatibility fix: xlswrite() from the io package does not return a 2nd output 2021-05-05 15:47:14 +02:00
Sébastien Villemot 96ad0fbec5
SUR / pooled OLS: workaround for Octave bug in dbstack(N)
See https://savannah.gnu.org/bugs/?60531

By the way, also add a safety check in pooled OLS for the case where the
function is directly called from the top-level.
2021-05-05 15:27:15 +02:00
Sébastien Villemot 04ba15e5cc
Preprocessor: forbid check and stoch_simul in block-decomposed mode with mfs > 0
Closes: #1726
2021-05-04 17:18:20 +02:00
Sébastien Villemot 0a7d60e7a6
Stochastic solution under block decomposition: minor simplification 2021-05-04 16:33:15 +02:00
Sébastien Villemot f617631b68 Merge branch 'mode_compute6' into 'master'
gmhmaxlik.m: show mode value in addition to change in mode

See merge request Dynare/dynare!1845
2021-05-04 09:12:27 +00:00
Johannes Pfeifer 9a4bbfef09 gmhmaxlik.m: show mode value in addition to change in mode 2021-05-03 20:33:21 +02:00
Sébastien Villemot 1e4d2f5aef
dseries: fix double() method for dates at yearly frequenc
Ref. dseries#47
2021-05-03 15:03:42 +02:00
Sébastien Villemot ec28179043
Perfect foresight: add warning when lmmcp and linear option are used together 2021-04-20 16:53:54 +02:00
Sébastien Villemot 0cef790498
Preprocessor: fix treatment of “series” option of “initval_file”
As a consequence, adapt histval_initvalf.m to the new format.
2021-04-20 10:44:18 +02:00
Stéphane Adjemian (Charybdis) 6fe97182da
Deactivate unit tests for gamrnd if statistical toolbox is available. 2021-04-09 12:44:59 +02:00
Stéphane Adjemian (Charybdis) 237aa465d2
Fix precision in perfect_foresight_solver for backward models. 2021-04-08 20:31:40 +02:00
Stéphane Adjemian (Charybdis) a03b65bab7
Honour option solve_algo with backward models in perfect_foresight_solver. 2021-04-08 20:31:40 +02:00
Stéphane Adjemian (Charybdis) 8683790927
Throw error if solve_algo={12,14} is used without JSON output. 2021-04-08 20:31:40 +02:00
Sébastien Villemot d5c8e8115e
Preprocessor update
— Properly escape some characters in JSON. As a consequence, remove the
  workaround that was in matlab/loadjson_.m
— Fix JSON output for load_params_and_steady_state
— Add maximum lead/lag and varobs to JSON output
2021-04-08 14:51:49 +02:00
Stéphane Adjemian (Charybdis) 3a823c488f
Fix PAC equations with lags on exogenous variables. 2021-04-02 15:52:30 +02:00
Johannes Pfeifer 3c11ee9581 posterior_sampler.m: make sure proposal density fields are set in parallel 2021-03-25 17:11:48 +01:00
Sébastien Villemot a42a9fff75 Merge branch 'foresight_debug' into 'master'
perfect foresight: provide debugging information for singular Jacobian

Closes #1732

See merge request Dynare/dynare!1834
2021-03-22 09:41:24 +00:00
Sébastien Villemot baa6c8dbbd
Provisions for MATLAB R2021a 2021-03-17 17:47:27 +01:00
Johannes Pfeifer b5a4c0695f perfect foresight: provide debugging information for singular Jacobian
Closes https://git.dynare.org/Dynare/dynare/-/issues/1732
2021-03-17 15:02:30 +01:00
Sébastien Villemot 47477e152a
Bump minimal Octave version to 6.2.0 2021-03-12 16:21:57 +01:00
Stéphane Adjemian (Charybdis) 3859ea0de0
Fix read_key_value_string if commas are followed by spaces. 2021-02-26 17:50:47 +01:00
Stéphane Adjemian (Charybdis) 6752426809
Bug fixes in particles submodule. 2021-02-26 10:40:37 +01:00
Stéphane Adjemian (Charybdis) 9e37e07075
Updated dseries submodule (time aggregation routines). 2021-02-26 09:44:24 +01:00
Normann Rion 9db1265892 Asssesing welfare in perfect-foresight frameworks
Ref. #1680
2021-02-25 15:12:28 +01:00
Sébastien Villemot 9066d31dd7 Merge branch 'ramsey_problem' into 'master'
Ref. #1680 : 2nd-order welfare

See merge request Dynare/dynare!1828
2021-02-23 16:08:53 +00:00
Sébastien Villemot 75882bcc11
Improve command suggestion for installing statistics package from Octave Forge
The “io” package is a dependency, hence must be explicitly installed first.

[skip ci]
2021-02-19 14:24:32 +01:00
Sébastien Villemot 3939544498
Remove remnants from estimation DLL 2021-02-18 14:26:10 +01:00
Normann Rion f532de0f29 Adds the discretionary case to the evaluate_planner_objective function 2021-02-18 12:00:44 +01:00
Normann Rion e880d1bcc3 Ref. #1680: 2nd-order welfare 2021-02-17 13:53:55 +01:00
Sébastien Villemot a51bdf8948
Merge branch 'smoother2histval' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1831
2021-02-16 16:58:59 +01:00
Sébastien Villemot 6d95abdb95
Merge remote-tracking branch 'origin/JohannesPfeifer-master-patch-11225'
Ref. !1830
2021-02-16 16:58:04 +01:00
Sébastien Villemot 9ddad32e4e
Merge branch 'shock_decomp_fixes' of git.dynare.org:rattoma/dynare
Ref. !1829
2021-02-16 16:56:52 +01:00
Sébastien Villemot 9d06016dc3
Merge branch 'fixes_4.7' of git.dynare.org:rattoma/dynare
See !1827
2021-02-16 16:55:31 +01:00
Nikola Bokan 592cd69e25
Bug-fix: staticmodel type. 2021-02-16 15:06:43 +01:00
Johannes Pfeifer 99c7d88c53 dyn_forecast.m: set first_obs and allow for Bayesian smoother input 2021-02-16 11:26:35 +01:00
Johannes Pfeifer 6b2555f0ad smoother2histval: fix computation of data length 2021-02-16 09:00:11 +00:00
Marco Ratto 50e80fe496 write xls output in Output subdir 2021-02-16 09:56:22 +01:00
Johannes Pfeifer a0d0270679 smoother2histval.m: suppress output
[skip CI]
2021-02-16 08:11:13 +00:00
Marco Ratto f592cca59d fixed wrong naming of shock decompositions 2021-02-13 19:07:28 +01:00
Marco Ratto b1ae98845d fixed bug in var list for expand menu 2021-02-13 19:07:02 +01:00
Marco Ratto dbcdaf75a6 fixed bug when SteadyState is not used for shock decompositions
fixed names of files, removing spaces and dots
use writetable with mac OS
2021-02-13 19:05:54 +01:00
Marco Ratto c8cd0a06ce allow to export expand groups to excel (instead than plotting them) 2021-02-13 19:04:39 +01:00
Marco Ratto f8b8ec6c18 fixes around init2shocks in plotting utilities 2021-02-13 19:04:01 +01:00
Marco Ratto faa203e029 condition computation of posterior statistics also to (options_.load_mh_file && ~options_.load_results_after_load_mh) and apply it to all cases 2021-02-13 18:53:17 +01:00
Marco Ratto 5c3b0ebc95 better handle newrat options, avoiding to treat newratflag in two places 2021-02-13 16:44:50 +01:00
Marco Ratto 915502ce13 copyright year and indentation 2021-02-13 11:29:40 +01:00
Marco Ratto d56bba724c autocov is initialized NaN with the original order and then only loop up to updted order compatible with sample size. 2021-02-13 11:27:18 +01:00
Marco Ratto 15ab85788c adjusted message in case of diffuse filter, where cointegration is most of the time the reason for such a warning 2021-02-12 19:10:45 +01:00
Marco Ratto 22ef0b1413 get statistics also when load_mh_file 2021-02-12 18:55:50 +01:00
Marco Ratto b9a6462462 bug fix in trapping option newratflag 2021-02-12 18:54:07 +01:00
Marco Ratto ebec3ede8a allow negative lag (i.e. a lead) 2021-02-12 18:50:55 +01:00
Marco Ratto 1519e4673a trap case when order is too big wrt sample size 2021-02-12 18:49:33 +01:00
Sébastien Villemot 2ee03c7e28
OLS: Octave compatibility fix
Cell arrays cannot be used for derefencing fields in a structure.

For some unknown reason, this was nevertheless accepted by MATLAB in this
context.
2021-02-04 16:54:09 +01:00
Sébastien Villemot 78fdd50894
cherrypick.m: Octave compatibility fix
The plus sign (+) was unescaped in the regular expression, which was confusing
Octave.

By the way, also remove unneeded parenthesis groupings.
2021-02-04 16:01:54 +01:00
Sébastien Villemot 901d8355e3
PAC iterative OLS: compatibility fix for Octave < 6 2021-02-04 16:01:30 +01:00
Sébastien Villemot 50a7507f9b
options_.bnlms.set_dynare_seed_to_default is a boolean 2021-02-04 12:37:36 +01:00
Sébastien Villemot 8e9085eea4
PAC NLS estimation: Octave compatibility fix
In regular expressions, the end-of-word operator (\>) does not behave the same
under Octave and under MATLAB. See:
https://savannah.gnu.org/bugs/index.php?59992

In this case, we can simply drop the \> operator, since there is no risk of
matching a partial variable name (since there is already “(-1)” at the end of
the pattern).

By the way, remove a useless parenthesis grouping in the regexp.
2021-02-02 17:02:04 +01:00
Sébastien Villemot 7bbe67748b
simul_backward: Octave compatibility fix 2021-02-02 17:02:04 +01:00
Sébastien Villemot 00e36dd342
var_expectation.update: Octave compatibility fix
There was a conflict between matlab/+var_expectation/update.m and
matlab/+var_expectation/+update/. So we renamed the (single) file in the latter
directory.
2021-02-02 17:01:59 +01:00
Sébastien Villemot 44a2e6463b
lyapunov_solver: increase tolerance for 2 unit tests, for MATLAB R2014a 2021-02-02 15:05:41 +01:00
Sébastien Villemot 1bb5612474
Merge branch 'resol' of git.dynare.org:JohannesPfeifer/dynare 2021-01-29 15:34:57 +01:00