Commit Graph

8451 Commits (b7c74f8e9af9d0a13bbd195a3ff457be4d98e941)

Author SHA1 Message Date
Stéphane Adjemian (Ryûk) f2193e8ec8
Add more checks on the initial evaluation. 2022-03-03 18:33:34 +01:00
Stéphane Adjemian (Ryûk) 3c85695b99
Use isinf() instead of isfinite() in solve1 routine. 2022-03-03 18:30:36 +01:00
Stéphane Adjemian (Ryûk) e815fb2901
Display exitflag returned by fsolve.
When the Newton fails in the simulation of backward models.
2022-03-03 18:19:33 +01:00
Stéphane Adjemian (Ryûk) e6592b3943
Display more info if Newton fails in backward model simulations. 2022-03-03 16:57:59 +01:00
Stéphane Adjemian (Ryûk) 7ee124bbba
Fix bug.
Return the paths for the endogenous only before the nonlinear solver crash.
2022-03-03 10:57:40 +01:00
Stéphane Adjemian (Charybdis) 90ae54a6ff
Translate to English. 2022-03-03 09:35:30 +01:00
Stéphane Adjemian (Charybdis) 9d1e07a2e4
Fix headers. 2022-03-03 09:35:30 +01:00
Sébastien Villemot ae1e31b7e0
Restore the possibility of calling the “resid” function without argument
Can be useful when writing “z = resid;” in a .mod file (i.e. not using the
preprocessor syntax).
2022-03-01 16:40:51 +01:00
Sébastien Villemot 3d7299c1e4
New option “non_zero” to the “resid” command
When this option is given, the “resid” command only displays non-zero residuals
2022-03-01 14:26:16 +01:00
Sébastien Villemot 0147faad5f
Fix stack_solve_algo=1 without bytecode, on solve two boundaries simple/complete blocks
The result for the last simulation period was wrong.
2022-02-25 16:32:16 +01:00
Stéphane Adjemian (Charybdis) c9825c803a
Fix description of the conditional_forecast command.
Closes #1844
2022-02-24 20:33:47 +01:00
Sébastien Villemot 4d39c6fab5 Merge branch 'error_message' into 'master'
get_error_message.m: condition on index being non-zero

See merge request Dynare/dynare!2003
2022-02-24 16:23:16 +00:00
Johannes Pfeifer a60ce435bd get_error_message.m: condition on index being non-zero
dsge_likelihood will expand the vector due to entry four of info containing the penalty, creating a 0 for entry 2
2022-02-22 12:22:51 +01:00
Sébastien Villemot a4f4d4462c
Merge branch 'disp_dr' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2002
2022-02-21 16:19:36 +01:00
Johannes Pfeifer d79895b66a Display of decision rules: deal with overflow of fields 2022-02-20 11:00:34 +01:00
Sébastien Villemot 1a9abc247f
Merge branch 'mom' of git.dynare.org:JohannesPfeifer/dynare
Ref. !2001
2022-02-18 14:22:53 +01:00
Stéphane Adjemian (Charybdis) e7d11dd7b1
Remove aux variables from target definition (PAC). 2022-02-18 09:13:17 +01:00
Johannes Pfeifer b5dc90b311 mom: add missing trust_region_initial_step_bound_factor option 2022-02-18 00:50:08 +01:00
Johannes Pfeifer 05519aaaa1 mom: add missing verbosity option 2022-02-18 00:48:39 +01:00
Sébastien Villemot a376d8c9fe
Fix steady state computation with bytecode+block and solve_algo ⩽ 4 or ⩾ 9
– Temporary terms were not correctly passed between blocks
– solve_algo ⩾ 9 was incorrectly passed through bytecode own’s solver instead
  of through dynare_solve
2022-02-17 17:28:37 +01:00
Sébastien Villemot 3734762af7
For stack_solve_algo={2,3} and solve_algo={7,8}, rather use a “crout” ILU decomposition for the preconditioner
In 3025a14ed9, the call to the deprecated “luinc”
has been replaced by a call to “ilu”.

However, the type of “ilu” decomposition had not been specified. The default,
“nofill”, does not make use of the “droptol” option which was used with
“luinc”. Also, under Octave, it does not work when there is a zero on the
diagonal of the input matrix.

Rather use the “crout” type, which addresses these two issues.
2022-02-14 12:34:50 +01:00
Sébastien Villemot fa7b331cf4
Fix crash in simulation of “Solve forward/backward complete” blocks with stack_solve_algo=4 (without bytecode) 2022-02-11 18:11:42 +01:00
Sébastien Villemot bb793d87cc
Block decomposition: fix deterministic simulations for block of type “Solve backward”
The results were incorrect for those two kinds of block, when not using bytecode.
2022-02-09 14:07:33 +01:00
Sébastien Villemot dd34554c4e
Block decomposition: fix computation of eigenvalues for blocks of “Solve backward complete” type 2022-02-09 14:07:33 +01:00
Sébastien Villemot 685598c6e2
Add interface to “static” and “incidence” options of “model_info”
These options were implemented and described in the reference manual, but their
interface was missing.

By the way, make various minor improvements to the description of “model_info”
in the reference manual. In particular, remove the single quotes around the two
aforementioned options (which are a remnant from an older interface).
2022-02-09 14:07:30 +01:00
Sébastien Villemot 39f47dc957
local_state_space_iteration_k MEX now uses the Fortran code (instead of the C++ code)
Closes: #1802
2022-02-04 11:49:46 +01:00
Johannes Pfeifer 4ccc7c7262 mom.objective_function.m: fix field naming 2022-02-03 15:12:46 +01:00
Sébastien Villemot 2cb6988de6
Merge branch 'jscale' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1999
2022-02-03 09:25:16 +01:00
Sébastien Villemot adb4007bda
Merge branch 'smm_lsqnonlin' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1998
2022-02-03 09:24:37 +01:00
Johannes Pfeifer 217de5084c check_posterior_sampler_options: make global variable an input
Does not properly work for scale_file-option as caller has variable not global
2022-02-02 16:20:12 +01:00
Johannes Pfeifer 57eda3886d SMM: fix logic for check of vector output 2022-02-02 13:27:46 +01:00
Stéphane Adjemian (Charybdis) 1d916b1fe2
Bug fix.
[skip ci]
2022-01-27 11:07:09 +01:00
Stéphane Adjemian (Ryûk) fca5b99a03
Fix bug (missing condition).
The cherrypick was failing if the selected equations were not about a PAC equation (e.g. a VAR expectation
model), because the code was assuming the existence of the pac field in M_.
2022-01-27 10:49:19 +01:00
Sébastien Villemot df185cf19b Merge branch 'mom_field' into 'master'
mom: fix error message if matched_moments-block is missing

See merge request Dynare/dynare!1997
2022-01-26 14:39:24 +00:00
Johannes Pfeifer 4ef4b929d5 mom: fix error message if matched_moments-block is missing 2022-01-25 16:26:12 +01:00
Sébastien Villemot 9c79b0d73f
Octave: better workaround for bug 46282 2022-01-25 11:32:08 +01:00
Stéphane Adjemian (Ryûk) f5f47cd834
Add new option last_simulation_period to initval_file command.
Also adjust the periods in Simulated_time_series (output of the perfect
foresight solver in the workspace). Note that this dseries object contains the
observations for the initial condition (M_.orig_maximum_lag observations) and
for the terminal condition (M_.orig_maximum_lead observations).

See #1838.

Fix testsuite (wrong file name)
2022-01-21 17:39:47 +01:00
Stéphane Adjemian (Charybdis) 38e1cd5d4e
Do not include auxiliaries in Simulated_time_series...
And add paths for the exogenous variables.
2022-01-21 16:50:42 +01:00
Stéphane Adjemian (Ryûk) a08de9e661
Partial fix for #1837. 2022-01-19 09:20:22 +01:00
Sébastien Villemot 1edb8ba7ba Merge branch 'planner_check' into 'master'
evaluate_planner_objective.m: fix check for NaN moments

See merge request Dynare/dynare!1996
2022-01-18 16:45:06 +00:00
Johannes Pfeifer b5d129de1f evaluate_planner_objective.m: fix check for NaN moments 2022-01-18 16:12:20 +01:00
Stéphane Adjemian (Charybdis) 1fd4904ccc
Fix evaluate routine if PAC's growth option is constant. 2022-01-17 16:56:58 +01:00
Stéphane Adjemian (Charybdis) e1d0ce28d2
Remove aux variables from evaluate routine.
Auxiliary variables were still present in the growth neutrality correction. This
commit remove the auxiliaries, so that the user doesn't need to update the
database with the auxiliary variable definitions.

Also adds integration test.

TODO Check that it works with log unary op
TODO Complete tests by checking that the written evaluate routine works
2022-01-14 20:45:46 +01:00
Johannes Pfeifer 3b59253416 occbin: fix bug if there is only a surprise shock in the first period 2022-01-14 08:47:37 +01:00
Johannes Pfeifer 958dcf7b48 online auxiliary filter: add option to set termination condition of loop 2022-01-13 18:42:55 +01:00
Sébastien Villemot ca4601bd1c
dyntable: fix column width calculation in case of minus sign
By the same token, improve the logical expression for determining whether all
values are infinite (it was nevertheless giving the right result, because an
“all()” is implicit when an array of booleans is passed to an “if” statement).
2022-01-11 17:44:24 +01:00
Sébastien Villemot 6f83afbf42
Octave: fix some warning ids
Those warning ids were renamed in Octave 3.8.
2022-01-11 17:22:58 +01:00
Marco Ratto 9305cd1ef1 fixed header of occbin solver 2022-01-06 15:02:43 +01:00
Marco Ratto 06a7e6c7be bug fixes with occbin smoother: reset nested waitbars and fix names of outut structure of solver 2022-01-06 15:01:35 +01:00
Marco Ratto 8ac3f4b22b fixed bugs in initialization of heteroskedastic shocks and first_obs>1 and nobs< full dimension of dataset 2022-01-06 14:59:33 +01:00
Marco Ratto 8130125fa7 reset nested waitbars when computing posterior smoother with occbin 2022-01-06 14:57:57 +01:00
Marco Ratto bad52b292d fixed index of variable names defined more than once 2022-01-06 14:51:56 +01:00
Stéphane Adjemian (Ryûk) d18d728f7b
Fix definition of R2 in NLS routine. 2022-01-05 16:45:35 +01:00
Willi Mutschler 7f3bc60ce0
lsqnonlin only supported for method_of_moments 2022-01-04 14:33:05 +01:00
Stéphane Adjemian (Ryûk) e1a63fbf81
Fix bug introduced in 25231f66.
Set decompose equal to false if the expectation model is not a PAC.
2022-01-03 22:25:48 +01:00
Stéphane Adjemian (Ryûk) 25231f6634
Account for PAC components in evaluate routine.
The print_expectations routine was previously only considering the
aggregate expectation (for the target). Now it updates the
database (dseries) with each component of the PAC model. The growth
neutrality correction is included in the aggregate expectation but not
in the expectations of the components.
2022-01-03 17:28:57 +01:00
Sébastien Villemot bdb21f9ad6
ver_less_than.m: add missing semicolons in unit tests
[skip ci]
2022-01-03 16:09:26 +01:00
Sébastien Villemot 86b09bccf9
dseries update
– load_m_file_data.m: pass structure instead of file
– removed utilities/misc/ordinal.m routine
2022-01-03 15:42:03 +01:00
Sébastien Villemot 1e5b7d4e04
Merge branch 'warning' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1986
2022-01-03 15:22:39 +01:00
Sébastien Villemot 93883aad57
Merge branch 'version_utilities' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1985
2022-01-03 15:22:18 +01:00
Johannes Pfeifer 8cf6fe0be4 perfect_foresight_setup.m: add line skip 2021-12-30 14:27:12 +01:00
Johannes Pfeifer 086e0895cb initial_estimation_checks.m: fix warning display 2021-12-27 13:03:47 +01:00
Stéphane Adjemian (Charybdis) 1c953cca01
Moved CLI routines. 2021-12-21 16:22:30 +01:00
Stéphane Adjemian (Charybdis) 4b18aafa9b
Add CLI for evaluate_smoother. 2021-12-21 16:17:29 +01:00
Johannes Pfeifer 97b98d155e Partially revert "Remove more utilities related to conversion of oo_ between Dynare versions"
This partially reverts commit 26597bf093.
2021-12-21 12:44:49 +01:00
Sébastien Villemot 04ab1e5696
Merge branch 'steady_debug' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1982
2021-12-20 12:08:17 +01:00
Stéphane Adjemian (Ryûk) ba7a53b38b
Code factorization (NLS). 2021-12-19 17:14:25 +01:00
Johannes Pfeifer b966e5eb7a evaluate_steady_state.m: do not check auxiliary initial values if they haven't been set 2021-12-19 11:39:24 +01:00
Stéphane Adjemian (Ryûk) 60d8f44c4a
Fix estimation range. 2021-12-18 22:27:45 +01:00
Stéphane Adjemian (Ryûk) 2a796c8e34
Account for logged variables under diffs. 2021-12-18 19:58:55 +01:00
Stéphane Adjemian (Ryûk) cc90bd4cf5
Fix typos in regular expressions. 2021-12-18 19:28:58 +01:00
Stéphane Adjemian (Ryûk) 8fa8ee8235
Bug fix (wrong dimension for exogenous variables).
Also removed the distinction between exogenous and endogenous variables when
replacing variables by columns in the data matrix.
2021-12-17 20:54:28 +01:00
Stéphane Adjemian (Ryûk) 4512000f0f
Display estimation results PAC/NLS. 2021-12-17 20:53:39 +01:00
Stéphane Adjemian (Ryûk) 8c8a2cf0fa
Add trap if SSR is not a real number. 2021-12-17 14:54:58 +01:00
Stéphane Adjemian (Ryûk) 1cf99b5227
Do not update the database if there is no aux. variables. 2021-12-17 14:21:10 +01:00
Stéphane Adjemian (Ryûk) b297353b06
PAC decomposition between stationary and non-stationary components.
The taget in PAC equation can be decomposed into an arbitrary number of components (variables
in the VAR auxiliary model).

TODO Iterative OLS estimation (which is not the preferred estimation routine).
TODO Decomposition in the routine evaluating the forecasts for each component.
2021-12-17 12:17:13 +01:00
Sébastien Villemot f8fc786459
Merge branch 'het_shocks' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1980
2021-12-15 10:27:06 +01:00
Sébastien Villemot 600e468448
Merge branch 'cosmetics_header' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1979
2021-12-15 10:26:52 +01:00
Stéphane Adjemian (Ryûk) 4dd3ee8546
Add CLI for some routines.
- steady,
 - check,
 - evaluate_likelihood,
 - evaluate_posterior_kernel, and
 - evaluate_prior.

*Example*

After running a mod file, on the Matlab's command line:

>> cli.check

EIGENVALUES:
         Modulus             Real        Imaginary

               0                0                0
       1.389e-16        1.389e-16                0
          0.6452           0.6452                0
          0.9707           0.9707                0
           1.038            1.038                0
       1.271e+16        1.271e+16                0
        2.33e+17         2.33e+17                0

There are 3 eigenvalue(s) larger than 1 in modulus
for 3 forward-looking variable(s)

The rank condition is verified.
2021-12-14 14:45:57 +01:00
Johannes Pfeifer 3dc398f590 dynare_estimation_1.m: improve comment on Hessian recomputation 2021-12-14 11:22:41 +01:00
Johannes Pfeifer 7303275bef dsge_likelihood.m: update header 2021-12-14 11:22:41 +01:00
Johannes Pfeifer fdb14b3af8 IVF: turn off near-singularity warning in estimation 2021-12-14 11:21:16 +01:00
Johannes Pfeifer 8a76c689ea IVF: properly deal with error code 2021-12-14 11:21:16 +01:00
Johannes Pfeifer 1bfb9ffbb9 heteroskedastic shocks: take into account first_obs 2021-12-14 11:21:16 +01:00
Sébastien Villemot 301fe42ed8
Merge branch 'varendo' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1978
2021-12-14 11:09:47 +01:00
Sébastien Villemot 6a41cbdb13
Merge branch 'minimal_state' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1963
2021-12-14 11:09:28 +01:00
Sébastien Villemot 7770c99f1b
dseries: prevent horse-race condition when saving and loading mat file 2021-12-14 11:00:16 +01:00
Johannes Pfeifer c60a1624d1 identification: separate error code and option
Solves issues with Monte Carlo sampling where error code affected option for later draws
2021-12-13 15:14:23 +01:00
Johannes Pfeifer de90c5d246 Provide warning if moments_varendo is not set but conditional_variance_decomposition 2021-12-13 13:08:59 +01:00
Sébastien Villemot 4fac512bfd
Merge branch 'dsge_var' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1973
2021-12-13 12:40:27 +01:00
Stéphane Adjemian (Ryûk) f687b531fd
Bug fix (wrong indexing in present value evaluation). 2021-12-11 18:44:01 +01:00
Johannes Pfeifer fc05ddd5fe dsge_var_likelihood.m: remove unused output arguments 2021-12-10 12:01:40 +01:00
Johannes Pfeifer 5f732803d8 dsge_var: pass data moments as function inputs instead of via base workspace
going via base prevents parallel execution
2021-12-10 12:01:07 +01:00
Sébastien Villemot f7f7c77411
Merge branch 'ramsey_debug' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1977
2021-12-10 11:12:33 +01:00
Sébastien Villemot ee5eec3224
Merge branch 'disp_th_moments' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1975
2021-12-10 11:01:59 +01:00
Sébastien Villemot 6dd787569a
Merge branch 'SMM' of git.dynare.org:JohannesPfeifer/dynare
Ref. !1974
2021-12-10 11:01:37 +01:00
Johannes Pfeifer 741772d514 evaluate_steady_state.m: correctly condition debugging info on existence of objects from steady state file 2021-12-10 09:05:55 +01:00
Johannes Pfeifer f5def11a23 disp_th_moments.m: honor noprint 2021-12-09 09:01:10 +01:00
Johannes Pfeifer 137ba73c4c SMM: add forgotten error code
[skip CI]
2021-12-08 19:07:18 +01:00
Johannes Pfeifer d5a2015ded mom: gracefully exit if unobserved moments are matched. 2021-12-08 09:38:41 +01:00