Commit Graph

1572 Commits (d43a057af3c7ad301afef3471358e88df2cb5bed)

Author SHA1 Message Date
Willi Mutschler eae5e2f029
MoM: Add analytical standard errors for GMM
Reset analytic_derivation_mode for steadystate file parameter changes


MoM: Fix GMM analytical standard errors wrong dimensions in autocovs
2020-12-18 16:16:10 +01:00
Johannes Pfeifer 4cf9f7d1a7 stoch_simul.m: reports second moments based on pruned state space at order=2 when pruning is specified
Related to https://git.dynare.org/Dynare/dynare/-/merge_requests/1744
2020-12-17 09:45:28 +01:00
Stéphane Adjemian (Charybdis) e066556d7a
Added integration test for d8ddd9ef6. 2020-12-07 22:25:54 +01:00
Sébastien Villemot 1c0d1409ea
Fix the use of [static]/[dynamic] equations with the “block” option 2020-12-07 16:24:13 +01:00
Sébastien Villemot fdf5bfbb58
Testsuite: cosmetic fix 2020-12-07 15:10:06 +01:00
Sébastien Villemot 4cc946842b
Add further Octave 6 test for intersect(…, 'stable')
Forgotten in c160d2407.

[skip ci]
2020-12-04 18:41:53 +01:00
Sébastien Villemot 8ba1a15262
Remove outdated Occbin files 2020-12-03 10:50:58 +01:00
Sébastien Villemot c160d24074
Octave 6 implements intersect(…, 'stable')
[skip ci]
2020-11-30 18:26:50 +01:00
Willi Mutschler fcef3ca09f
Don't do bgp/solow in Octave
[skip ci]
The levenberg-marquardt algorithm is not available in octave's implementation of fsolve, so we check the verbatim block only in matlab
2020-11-26 17:12:57 +01:00
Sébastien Villemot f27852d1ec
Add test for mshocks block 2020-11-26 15:48:57 +01:00
Willi Mutschler 3c1087a369
Fix for sylvester3a for purely forward-looking models
In purely forward-looking models ghx is empty and sylvester3a gives a "Operands to the || and && operators must be convertible to logical scalar values" error, as e becomes a "1×0 empty double row vector" and not a logical.
2020-11-21 09:46:10 +01:00
Johannes Pfeifer 904296738d bgp-tests: Octave compatibility fixes 2020-11-19 13:42:35 +01:00
Sébastien Villemot fcb52478e4
Preprocessor: replace exogenous with lead/lags by auxiliary variables in deterministic models
Several tests need to be adapted, because they were implicitly making the
assumption that there is no auxiliary variable.

Incidentally, this closes #1731. This commit therefore also removes the
workaround introduced in 0391dbbeb1.
2020-11-09 16:34:12 +01:00
Johannes Pfeifer d38a4428cc Move macro_processor/example1_macro.mod to subfolder 2020-11-02 16:00:03 +01:00
Johannes Pfeifer b4f3eb4a1c Add unit test for ifndef
See https://git.dynare.org/Dynare/dynare/-/issues/1747
2020-11-02 16:00:03 +01:00
Sébastien Villemot cf68570813
Testsuite: workaround for glibc bug #19329
This bug is causing random crashes in the testsuite on our runners.

See https://sourceware.org/bugzilla/show_bug.cgi?id=19329

(cherry picked from commit f46dfba961)
2020-10-23 15:32:07 +02:00
Sébastien Villemot 299769c51b
Testsuite/MATLAB: output stderr to log file
(cherry picked from commit 2a472a0a6b)
2020-10-23 15:32:06 +02:00
Sébastien Villemot f46dfba961
Testsuite: workaround for glibc bug #19329
This bug is causing random crashes in the testsuite on our runners.

See https://sourceware.org/bugzilla/show_bug.cgi?id=19329
2020-10-23 12:35:35 +02:00
Sébastien Villemot 2a472a0a6b
Testsuite/MATLAB: output stderr to log file 2020-10-22 18:25:42 +02:00
Sébastien Villemot 6f415dff61
Testsuite: add missing line continuation symbol in the list of .mod files
This was causing some tests to be skipped.

The bug had been introduced e7162a2a69.
2020-10-21 16:36:18 +02:00
Sébastien Villemot e21cb1ad6b
LMMCP: fix the purely backward and purely forward cases
Closes: #1720
2020-10-21 16:30:40 +02:00
Sébastien Villemot 33d8bc55f3
Redisable tests/pac/trend-component-31/example.mod, it is not yet ready (some fixes are needed in the M code) 2020-10-16 18:11:01 +02:00
Sébastien Villemot 8e3127d69e
Preprocessor rebase
– PAC model: fixes to M_.pac.MODEL.ar (information about autoregressive part)
  + Fix order of items in this structure. Previously, items were ordered
    according to the declaration order of parameters. Now, items are order
    according to lag order (first lag appears first)
  + Gracefully handle the case where there is no autoregressive part
    (Ref. Dynare/preprocessor#52)
– Block decomposition:
  + bugfix for solve one boundary blocks with mfs>0
  + fix evaluation of recursive variables in solved blocks
  (Ref. Dynare/dynare#1726)
— Fix various potential bugs with model local variable
— Ensure that negative constants are never marked as temporary terms

By the way, activate tests/pac/trend-component-31/example.mod, since it should
now work.
2020-10-16 16:53:26 +02:00
Sébastien Villemot 7270f722e4
Activate test for two PAC equations in the same file 2020-10-16 16:30:38 +02:00
Sébastien Villemot 71e3e0d49e
Fix extended_path with bytecode
By the way, document and enforce the fact that stochastic extended_path (i.e.
order > 0) is not compatible with either bytecode or block.

Closes: #1742
2020-10-14 17:25:58 +02:00
Sébastien Villemot 43311a230f
Testsuite: histval_initval_file_unit_tests.m is not a TLS file 2020-10-14 17:16:35 +02:00
Sébastien Villemot 8acdb9f7cc
Testsuite: MATLAB R2014a compatibility fixes 2020-10-08 17:26:17 +02:00
Sébastien Villemot e7162a2a69
Block decomposition: new tests for mfs>0
Ref. #1726
2020-10-07 19:01:09 +02:00
Stéphane Adjemian (Charybdis) 80bfbc0736
Merge non linear shock decomposition for backward models.
Closes #2.
2020-09-29 18:17:25 +02:00
Sébastien Villemot 8d4a80956c
Add tests for matrix notation
Closes: Enterprise/dynare#1
2020-09-29 16:52:20 +02:00
Sébastien Villemot 66361eb28d
Add test for shock decomposition of backward models
Ref: Enterprise/dynare#2
2020-09-28 18:26:29 +02:00
Stéphane Adjemian (Charybdis) e690c5de5a
Merge Enterprise/block_trust_region into enterprise. 2020-09-24 16:05:55 +02:00
Stéphane Adjemian (Charybdis) 17e6421ea3
Merged master into enterprise.
Fixed conflict in
 - doc/manual/source/running-dynare.rst
2020-09-23 15:28:19 +02:00
Stéphane Adjemian (Charybdis) a40f30cada
Closes #1761 (Fixes for histval_initval_file) 2020-09-23 12:19:18 +02:00
Sébastien Villemot d61f4166ad
Testsuite: add a test for a purely forward variable in block+bytecode mode
Closes: #1727
2020-09-22 16:46:58 +02:00
Michel Juillard c2e43c0093 fix histval_initval_file unit tests 2020-09-20 11:11:26 +02:00
Michel Juillard 9e94252d1a fix target values for periods 2020-09-19 12:18:24 +02:00
Michel Juillard 91b4cfd3a8 fixes handling of periods in histval_file/initval_file 2020-09-19 12:14:43 +02:00
Sébastien Villemot 865ab47fa9
Provide block_trust_region MEX under solve_algo 13 and 14
- block trust region solver now available under solve_algo=13
  It is essentially the same as solve_algo=4, except that Jacobian by finite
  difference is not handled. A test file is added for that case
- block trust region solver with shortcut for equations that can be evaluated
  is now available under solve_algo=14 (in replacement of the pure-MATLAB solver)

Closes: Enterprise/dynare#3
2020-09-18 18:01:56 +02:00
Sébastien Villemot fcc3a3cec2
Testsuite: fix repeated typo in equation name
[skip ci]
2020-09-18 17:40:44 +02:00
Stéphane Adjemian (Odysseus) 248ad18846 Merge remote-tracking branch 'Dynare/master' into enterprise
Fixed conflicts in:

 - .gitlab-ci.yml
 - matlab/dynare_config.m
 - matlab/dynare_solve.m
 - matlab/initvalf.m
 - matlab/perfect-foresight-models/make_ex_.m
 - matlab/perfect-foresight-models/perfect_foresight_setup.m
 - mex/build/matlab/Makefile.am
 - mex/build/matlab/configure.ac
 - mex/build/octave/Makefile.am
 - mex/build/octave/configure.ac
 - mex/sources/Makefile.am
 - preprocessor
 - tests/Makefile.am
2020-09-17 14:53:32 +02:00
Johannes Pfeifer 96be513ecf Remove matched_moments_ as input argument as it is now a field of M_ 2020-08-05 15:58:58 +02:00
Stéphane Adjemian (Odysseus) 579fb9e685 Fixed bug introduced in edede274f2. 2020-07-24 22:30:51 +02:00
Stéphane Adjemian (Charybdis) edede274f2
Make the detection of the target in PAC equation more robust.
In a PAC equation, the error correction term must be written as:

β×(yₜ₋₁-xₜ₋₁)

where x is the endogenous variable determined by the equation and y
the target for x. The ordering matters, if not respected the
preprocessor wll not identify the error correction term (hence the
target) and will throw an error. The target must be an endogenous
variable or the log of an endogenous variable. For a more general
target, ie an expression, one can create an auxiliary variable.

We impose the ordering, target comes first in the error correction
term, so that the stability condition is always β>0 (this constraint
can be enforced when estimating the PAC equation).
2020-07-24 17:36:31 +02:00
Stéphane Adjemian (Charybdis) 7f50b02910
Added test where the PAC equation doesn't have lags on the endogenous variable.
This example is currently failing.
2020-07-22 12:25:05 +02:00
Stéphane Adjemian (Charybdis) 897e2fc63b
Added test with two PAC equations in the same mod file. 2020-07-22 12:21:23 +02:00
Johannes Pfeifer 9fa24aa7be RBC_MoM: filter out additional pathological cases with try-catch 2020-07-17 20:35:53 +02:00
Johannes Pfeifer 791e5e9d97 RBC_MoM-test: filter out pathological cases
[skip CI]
2020-07-17 15:16:05 +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 19b7d202d2 testsuite: Add test cases 2020-07-16 14:54:04 +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
Johannes Pfeifer 540f0454d2 Code Review of GMM routines
- fix prefilter option
- Implement iterative GMM
2020-07-16 11:38:40 +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 8a00ee3dff AnSchorfheide_pruned_state_space.mod: remove test part that only showcases that in Andreasen's code there is an error 2020-07-15 15:37:49 +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
Sébastien Villemot 51278b2f90
Testsuite / External functions: also test coefficients of 2nd order policy function 2020-07-10 18:25:23 +02:00
Sébastien Villemot acdca03e43
Testsuite / External functions: add file missing in previous commit 2020-07-09 18:42:17 +02:00
Sébastien Villemot 5b88113668
Testsuite / External functions: add check for numerical results 2020-07-09 18:40:36 +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 dfc7357636 Add display of theoretical moments at order=3 with pruning 2020-06-30 13:46:54 +02:00
Johannes Pfeifer ac728c0492 Add test cases for moments with measurement errors 2020-06-29 13:21:08 +02:00
Sébastien Villemot ee05ff6c6a
Block decomposition now compatible with 'use_dll' option 2020-06-23 15:49:27 +02:00
Willi Mutschler 42503e102e
✔️ Add unit tests for correct identification analysis 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
Sébastien Villemot d0fb9ce5b8
Preprocessor update
— Bug fix: allow external functions in model local variables (also add corresponding
  integration test)
— JSON output:
  + do not append two underscores after model local variable names in their
    definition
  + when writing the model after computing pass, use TEF terms for (not
    derived) external functions
  + write model local variables in parsed model (modfile.json) (Closes: #1723)
— In the driver file, provide mapping between model local variables and indices
  in the temporary terms vector (Closes: #1722)
2020-06-05 17:16:11 +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
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 e5f45ef7b1
Testsuite: fix calls to fataltest.m 2020-05-13 14:58:09 +02:00
Sébastien Villemot ac1b7cc9e1
Testsuite: fix formula for maximum difference error test 2020-05-13 14:57:58 +02:00
Sébastien Villemot b2841ff98c
Testsuite: minor simplification 2020-05-13 12:57:14 +02:00
Sébastien Villemot 6e0f104d7e
Bump minimal MATLAB version to R2014a
Ref. #1713
2020-04-07 16:32:32 +02:00
Stéphane Adjemian (Charybdis) 046960c4a8
Merge remote-tracking branch community/master into enterprise 2020-04-03 11:33:46 +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 43ed7b2b69
Merge remote-tracking branch 'community/master' into enterprise 2020-03-27 16:28:41 +01:00
Johannes Pfeifer 16cbfa7f29 noprint: add integration test 2020-03-08 09:01:00 +01:00
Sébastien Villemot 3ec1d15107
Fix interaction of “predetermined_variables” with “histval” (preprocessor#47)
Also add a corresponding regression test case.
2020-03-02 17:10:58 +01:00
Stéphane Adjemian c1541bebbf Merge branch 'Ramsey_estimation' into 'master'
testsuite: add integration test for estimation with Ramsey

See merge request Dynare/dynare!1719
2020-03-02 08:30:13 +00:00
Johannes Pfeifer 068a3e4bde testsuite: add integration test for estimation with Ramsey
[skip ci]
2020-03-02 09:17:36 +01:00
Stéphane Adjemian (Charybdis) 2083246a35
Add initial condition for mh_tune_jscale.
Closes #1717.
2020-02-29 13:25:24 +01:00
Johannes Pfeifer f89c1b58d8 Add integration test for steady state parameter updating 2020-02-25 14:48:29 +01:00
Johannes Pfeifer 3cf622cdc1 Output M_ in stoch_simul.m and discretionary_policy.m
Fixes https://git.dynare.org/Dynare/dynare/issues/1711 together with https://git.dynare.org/Dynare/preprocessor/-/merge_requests/15
2020-02-24 14:14:41 +01:00
Willi Mutschler f4dc2ee743
🐛 Fix wrong third-order computation in pruned state space system
Related to #1706

 Add unit test for pruned state space up to order 3


//


Changed tolerance in new test
2020-02-16 22:55:16 +01:00
Houtan Bastani 71def361fb
macro processor: add test of tuple index in @#for loop
[skip ci]
2020-02-14 17:29:41 +01:00
Sébastien Villemot 633f1ad85a
Testsuite: change the seed for some Octave test
Under Octave, the default seed in fs2000ns_uncorr_ME.mod leads to a generated
dataset that makes fs2000ns_corr_ME.mod and fs2000ns_corr_ME_missing.mod
fail (due to a large difference between univariate and multivariate diffuse
filters).
2020-02-13 18:12:10 +01:00
Sébastien Villemot 3b60e26e63
Testsuite: properly clean generated datafiles under kalman/likelihood_from_dynare/ 2020-02-12 18:02:08 +01:00
Johannes Pfeifer 30bfa16211 Fixes related to estimation under discretion 2020-02-06 13:30:00 +01:00
Sébastien Villemot a8e54d791a
Testsuite: set the random seed for unitary tests, for reproducibility 2020-02-04 18:19:35 +01:00
Sébastien Villemot 177c5c359f
Implement estimation under discretionary optimal policy
Also add a test case.

For the time being, estimating parameters that appear in the discount factor is
not supported.

Ref. #1173
2020-02-03 18:29:45 +01:00
Johannes Pfeifer 6cf5e6495a fs2000_simul.mod: make sure we use the estimated parameter vector
Makes the simulation converge without turning to homotopy
2020-01-31 13:22:47 +01:00
Stéphane Adjemian (Odysseus) d5e2b0f9f8 Updated integration test with new interface for aggregate routine. 2020-01-29 18:28:35 +01:00
Johannes Pfeifer 9e82432f87 Gali_discretion.mod: filter out NaN in planner_objective
Related to https://git.dynare.org/Dynare/dynare/issues/1699
2020-01-29 17:48:16 +01:00
Sébastien Villemot 7f02fe5a78
Testsuite: increase numerical tolerance for sw_minimal.mod test
Needed for some runners, e.g. lupi
2020-01-27 23:16:41 +01:00
Stéphane Adjemian (Charybdis) 82f642fbca
Added missing case in integration tests for particle filters.
There was not test for the conditional particle filter (CPF).
2020-01-27 22:57:41 +01:00
Sébastien Villemot fc27fad46d
Preprocessor: Do not simplify constant equations which have a tag attached
In particular, in the case of an 'mcp' tag, this could lead to a convergence
failure.

Also modify the lmmpc/rbcii.mod test so that it fails if convergence is not
obtained, in order to detect such regressions earlier.

Closes: #1697

This preprocessor update also includes the following changes:
— removal of license.txt, now merged in back in the main Dynare one
– various code simplifications and modernizations in the macro processor
— minor code simplification in parsing of the --+ options: … +-- line
2020-01-27 16:12:25 +01:00
Sébastien Villemot 01d5d734c6
CI: skip two further tests under MATLAB R2009b, that apparently trigger a MATLAB bug 2020-01-24 16:40:55 +01:00
Sébastien Villemot 3b9cc0e9f7
Testsuite: use whitespace-separated syntax for options in .mod file
Follows from d3e90a8dbf.
2020-01-24 16:01:17 +01:00
Willi Mutschler 3d51ee9e23
Added unit tests for minimal state space system 2020-01-24 14:20:05 +01:00
Willi Mutschler aa0f278edc
📃 Update license 2020-01-24 12:45:15 +01:00