Commit Graph

6995 Commits (acdca03e430ef76191de4e162e22ed7fa069c880)

Author SHA1 Message Date
Sébastien Villemot 87718ce8b7 Merge branch 'disp_moments' into 'master'
disp_moments.m: make error message informative

See merge request Dynare/dynare!1730
2020-06-15 09:47:22 +00:00
Johannes Pfeifer c47682caae disp_moments.m: make error message informative
[skip CI]
2020-06-15 11:45:45 +02:00
Johannes Pfeifer d54b45cbac PosteriorIRF_core1.m: Add missing else statement that triggered crashes in rare cases 2020-06-12 17:53:46 +02:00
Sébastien Villemot 1d172528d7
Block decomposition: fixed bug introduced in 2ec5e4075a 2020-06-04 19:43:57 +02:00
Sébastien Villemot fae433fb18
Block decomposition: fix bug introduced in 0d11f8182a 2020-06-04 18:15:54 +02:00
Sébastien Villemot 07914b58a2
dseries submodule update
— add bi-annual frequency
— do not return NaNs if a variable is 0 in all periods
— fixed bug (dates member was wrong)
2020-06-04 14:39:16 +02:00
Sébastien Villemot 2ec5e4075a
Block decomposition: remove unused 2nd and 3rd derivatives in output of dynamic functions 2020-06-03 17:00:17 +02:00
Sébastien Villemot 0d11f8182a
Block decomposition: no longer compute deterministic simulation from dynamic.m file
By the way, fix bug where oo_ was not modified by solve_one_boundary.

Also convert oo_.deterministic_simulations.status to a boolean in the block
routines, for consistency with the non-block case.
2020-06-02 17:46:29 +02:00
Sébastien Villemot 50209dc56e
Block decomposition: no longer use global variables for temporary terms in the dynamic M-file
Rather use a single vector as in non-block mode.

By the way, change the order of output arguments in static functions, to be
closer to the dynamic ones.
2020-05-26 16:23:46 +02:00
Sébastien Villemot ea4d3f4d83
Block decomposition: fix interaction with steady_state_model block
This cas was omitted in previous commit.
2020-05-25 21:10:42 +02:00
Sébastien Villemot 2c6807a66b
Block decomposition: no longer use global variables for temporary terms in the static M-file
Rather use a single vector as in non-block mode.
2020-05-25 18:36:55 +02:00
Sébastien Villemot caea047c2d
solve_one_boundary: remove unused codepaths for solve_algo={0,1,2,3}
Those cases are handled by dynare_solve.
2020-05-25 17:59:54 +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
Sébastien Villemot 2015b79279
solve_{one_boundary,two_boundaries}: convert some input arguments to logical type 2020-05-25 16:59:20 +02:00
Sébastien Villemot 154fced8b7
Remove old SMM code
Ref. #1724
2020-05-18 17:30:40 +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 09617453ea
Ensure that “extended_path” obeys the “bytecode” option
Closes: #1717
2020-05-04 22:42:08 +02:00
Houtan Bastani 25a977f4be
jacob_element & hess_element: remove unnecessary loops 2020-05-04 12:15:15 -04:00
Sébastien Villemot 6e0f104d7e
Bump minimal MATLAB version to R2014a
Ref. #1713
2020-04-07 16:32:32 +02:00
Sébastien Villemot e95b93f783
dseries submodule update
— Efficiency change. OCTAVE_VERSION is a builtin function in Octave
— Fix bug dseries#43
— Cosmetic changes
— Fixed subsasgn method (when calling merge)
2020-04-07 12:48:00 +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 8df9813a0e Merge branch 'perfect_foresight' into 'master'
fix bug when no convergence and backward model

See merge request Dynare/dynare!1726
2020-03-31 15:18:05 +00:00
Michel Juillard fd09b98150 fix bug when no convergence and backward model 2020-03-31 15:40:49 +02:00
Stéphane Adjemian (Charybdis) 166865149e
Updated build for matlab R2020a. 2020-03-26 11:20:24 +01:00
Stéphane Adjemian (Charybdis) 109bc5883c
Check the existence of the user configuration file. 2020-03-26 10:15:35 +01:00
Stéphane Adjemian (Charybdis) e2b20f3e3e
Bug fix. Dynare configuration hook was not evaluated. 2020-03-26 10:15:35 +01:00
Johannes Pfeifer 071ab1e14f imcforecast.m: fix faulty logic of warning
Steady state and time shift were missing
2020-03-21 12:06:24 +01:00
Johannes Pfeifer ef8671bb99 Correctly pass prior_trunc option in identification 2020-03-17 13:28:40 +01:00
Sébastien Villemot e93c7b6b25
Reorder files generated by “moments_varendo” option of “estimation”
If there were more than 10 files of Metropolis parameter draws, the ordering
the files containing the posterior moments could be different from that of the
parameter draws. This is because the “dir()” command was used to order the
files containing the parameter draws, and because the command uses alphabetic
ordering, file #10 would come before #2.

This commit enforces the numerical ordering of files.
2020-03-12 15:56:55 +01:00
Sébastien Villemot d01846e5be
Fix incorrect test for options_.posterior_sampler_options.posterior_sampling_method
Thanks to checkcode().
2020-03-10 14:13:49 +01:00
Johannes Pfeifer 99f4fcadcc model_diagnostics.m
Update parameter vector from steady state file and provide correct nocheck flag
2020-03-10 11:06:35 +01:00
Johannes Pfeifer 16f65a2f33 prior.m: fix missing function input
Prevents crashes in "prior moments"
2020-03-08 09:00:33 +01:00
Johannes Pfeifer b7ef2181f9 print_info.m: Fix bug in error handling
get_error_message.m needs to always provide the error string, only throwing out the error message needs to depend on noprint

Closes https://git.dynare.org/Dynare/dynare/issues/1714
2020-03-08 09:00:01 +01:00
Johannes Pfeifer 2004641a10 dyn_ramsey_static.m: abort of steady state file signals error code 2020-03-06 18:55:01 +01:00
Johannes Pfeifer 0a52dedfda Ramsey with multiple instruments: return properly sized vector if residuals are complex 2020-03-06 18:50:40 +01:00
Houtan Bastani eb6ab0696a
gui: added fields to `oo_` to indicate which commands have been run 2020-03-03 11:45:46 +01:00
Houtan Bastani 2d468b5c1d
replace unused variables with `~` 2020-03-03 11:43:38 +01:00
Johannes Pfeifer 9e5cb1422d
Save jscale to record structure before running MCMC
Useful in conjunction with mh_tune_jscale in cases where the posterior sampler crashes
2020-02-29 10:28:50 +01:00
Sébastien Villemot 3c30d9f658
Merge branch 'M_output' of git.dynare.org:JohannesPfeifer/dynare 2020-02-25 16:37:02 +01:00
Sébastien Villemot 3aaac2b811
Merge branch 'discretionary_bug' of git.dynare.org:JohannesPfeifer/dynare 2020-02-25 16:23:30 +01:00
Houtan Bastani 7a02b3bfd2
various fixes to dynareParallelDelete.m
- did not account for cases when username not set (namely when remote is localhost)
- did not account for cases when remote directory was not set (namely when remote is localhost)
- added unnecessary `filesep` to `pname` when `pname` was empty
- ignore unused output arguments (it is necessary to explicitly ignore them to prevent unwanted output from the `system` call)
- globbing did not work as it was expanded on the calling machine not the remote; pass call to `bash -c` to handle this
2020-02-25 16:18:55 +01:00
Houtan Bastani 3d9fe36ec5
ignore unused return value
[skip ci]
2020-02-25 14:50:56 +01:00
Houtan Bastani 54fe1c754c
fix typo in variable name 2020-02-25 14:50:55 +01:00
Johannes Pfeifer b3849322d4 discretionary_policy_1.m: move setting of dr before return statement
Prevents aborting with a cryptic crash
2020-02-25 14:10:45 +01:00
Johannes Pfeifer 97f7b773e5 stoch_simul.m: Make sure graphs folder exists before creating eps-loader 2020-02-24 16:13:44 +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 6223016683
🐛 Fix displaying of wrong order in disp_identification 2020-02-16 22:55:16 +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
Johannes Pfeifer 14ef010b9e geweke_moments.m: correctly use parameter instead of hard-coded value 2020-02-16 12:14:04 +01:00
Stéphane Adjemian (Charybdis) 00eb074630
Updated particles submodule. 2020-02-15 17:02:56 +01:00
Stéphane Adjemian (Charybdis) fb19cce284
Fixed online filter (wrong number of arguments).
[skip ci]
2020-02-15 13:58:48 +01:00
Sébastien Villemot 133b77c061
Conditional forecasting: compatibility fix with MATLAB < R2016b
Implicit expansion (a.k.a. automatic broadcasting) was introduced in MATLAB
R2016b (and it has been present in Octave for quite some time).

Hence use bsxfun() instead.

The problem had been introduced in 228b2a532.
2020-02-13 18:21:29 +01:00
Sébastien Villemot 57d1966644 Merge branch 'discretionary_policy' into 'master'
Factorization of discretionary policy

Closes #1705

See merge request Dynare/dynare!1709
2020-02-12 13:45:53 +00:00
Johannes Pfeifer 9800041433 discretionary_policy_1: return if steady state file signals error 2020-02-12 13:37:36 +01:00
Johannes Pfeifer 8b4fa7c2d6 Factorize call to solver routines under optimal policy and without
Related to https://git.dynare.org/Dynare/dynare/issues/1173
2020-02-12 13:19:46 +01:00
Johannes Pfeifer b07adee2d9 Add missing path to dynare_config.m 2020-02-12 13:13:31 +01:00
Johannes Pfeifer dd0e9fe719 Initialize instr_id field of discretionary_policy 2020-02-12 12:59:34 +01:00
Johannes Pfeifer d78ef0d6df Move discretionary_policy routines to own folder 2020-02-12 12:55:12 +01:00
Johannes Pfeifer a1ebc94e4f Refactor discretionary_policy codes
Closes https://git.dynare.org/Dynare/dynare/issues/1705
2020-02-12 12:52:54 +01:00
Johannes Pfeifer 228b2a532f conditional forecasts: add check whether simulation was successful 2020-02-12 11:04:46 +01:00
Sébastien Villemot 181725c778
Discretionary policy: remove useless call to steady state file
The steady state is always zero for discretionary policy. And, in the case of a
steady state file, this call would not be able to update parameters (since it
does not modify M_), nor would it need to do so (since this has already be done
earlier in the function).

Ref. #1705
2020-02-11 18:14:05 +01:00
Sébastien Villemot ae59f4dcb2
Further improvements to parsing of arguments on the MATLAB command-line
Under GNU/Linux and macOS, double-quote arguments before passing them to the
shell. In particular, this allows passing single-quotes within those arguments.

We therefore have to escape the four characters that are interpreted within
double-quoted strings in POSIX shells: \, ", $ and `

On Windows, also systematically escape the backslashes.

Also move display of arguments before escaping, so that it remains readable.

Ref. #1696
2020-02-10 18:24:51 +01:00
Houtan Bastani 72dfbbdce2
fix bug in creation of latex tables
[skip ci]
2020-02-07 15:58:15 +01:00
Sébastien Villemot 4c256c2cc8 Merge branch 'discretion' into 'master'
Fixes related to estimation under discretion

See merge request Dynare/dynare!1707
2020-02-06 13:37:52 +00:00
Johannes Pfeifer 30bfa16211 Fixes related to estimation under discretion 2020-02-06 13:30:00 +01:00
Johannes Pfeifer 1d1c0ab829 imcforecast.m: make sure that draw index for CIs stays within feasible bounds 2020-02-05 21:18:25 +01:00
Sébastien Villemot d8cd55109c
Testsuite: increase tolerance in unitary tests for prior_draw.m 2020-02-04 21:25:16 +01:00
Houtan Bastani 2ae1bc7770
gui: update call to stoch_simul 2020-02-04 15:57:56 +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
Sébastien Villemot 59e11615a0
Discretionary policy: preparatory work for estimation
This removes global variables from discretionary_policy_1.m, and also adapts
the behaviour and interface of the function so that it is similar to
resol.m (in particular, it no longer returns an empty “dr” in case of failure,
and it sets “oo_.dr”).

Ref. #1173
2020-02-03 18:05:29 +01:00
Johannes Pfeifer 8aad715183 det_cond_forecast.m: always set options_.qz_criterium
Closes https://git.dynare.org/Dynare/dynare/issues/1701
2020-02-02 14:15:01 +01:00
Sébastien Villemot 6542ce4a16
datatomfile: fix the name of the .mod file at the top of the generated file
With the new layout of the files generated by the preprocessor, it would always
print “driver.m”, which is not very informative.
2020-01-29 21:04:45 +01:00
Houtan Bastani d527096e61
simplify parsing of MATLAB command line arguments
closes #1696

includes preprocessor changes
- Removed prefixing of doubles between -1 and 1 with 0.
- Fixed bug introduced in 985d742.
- macro processor: simplify handling of `@#define`
2020-01-29 14:56:52 +01:00
Stéphane Adjemian (Charybdis) 7aeb506143
Updated particles submodule.
[skip ci]
2020-01-27 22:57:41 +01:00
Sébastien Villemot d0dc40c29e Merge branch 'sub_draws' into 'master'
trap error when sub_draws is set to zero

See merge request Dynare/dynare!1699
2020-01-27 17:45:50 +00:00
Sébastien Villemot f9e7ede810 Merge branch 'rescale_prediction_error_covariance' into 'master'
rescale_prediction_error_covariance

See merge request Dynare/dynare!1698
2020-01-27 17:45:38 +00:00
Willi Mutschler 3ecc44b542 Fix minimal state space test files for old matlab 2020-01-26 16:00:02 +00:00
Marco Ratto 73291b0b19 before issuing F singularity, check with rescaled F matrix: this spares lots of computing time when singularity only happens in the first KF step. 2020-01-24 14:17:26 +01:00
Willi Mutschler e843ccbd0d
📃 Update license 2020-01-24 12:45:20 +01:00
Willi Mutschler aa0f278edc
📃 Update license 2020-01-24 12:45:15 +01:00
Willi Mutschler 5525a7c515
🏇 Better minimal state space handling and unit tests 2020-01-24 12:45:08 +01:00
Willi Mutschler 1aa3dda449
🚿 construct list of fields needed from M_, options_, oo_
Get fields
2020-01-24 12:45:01 +01:00
Willi Mutschler 46c4dea559
📄 Updated code comments 2020-01-24 12:44:54 +01:00
Willi Mutschler a62e69cf39
🐛 fix identification strength barplots for one parameter 2020-01-24 12:44:34 +01:00
Willi Mutschler c4f7c416fa
🐛 Fix #1694 by robust rank tolerance and histc 2020-01-24 12:44:26 +01:00
Marco Ratto 79cca46dd6 trap error when sub_draws is set to zero 2020-01-24 10:22:24 +01:00
Sébastien Villemot d3e90a8dbf
Fix the handling of options nopreprocessoroutput, onlyjson and onlymacro when they appear at the top of the .mod file
The nopathchange is still not supported in this context, so document it.

Also recommend the whitespace-separated syntax instead of the comma-separated
syntax, since the latter is inconsistent with the way options are passed on the
command-line.

Closes: #1667
2020-01-23 18:58:08 +01:00
Sébastien Villemot 09be021dcd
Add license header for allVL1.m
Ref. #1689
2020-01-22 18:03:47 +01:00
Sébastien Villemot 808119b1ad
Various fixes to the license.txt file
In particular, merge back preprocessor information.
2020-01-22 18:03:33 +01:00
Sébastien Villemot fd115c22e7
Restore the BSD-2-clause license header of two files
Those had been incorrectly converted to GPL-3+ in commit
1bf81c9f5a.
2020-01-22 16:53:22 +01:00
Sébastien Villemot 9f51b2508a
Disable spurious warnings as early as possible
This is necessary for Octave under Windows, to avoid a warning about isdir()
triggered by user_has_octave_forge_package.m.
2020-01-21 18:39:33 +01:00
Sébastien Villemot e371b1a94b
New option “filtered_theoretical_moments_grid”, that supersedes “hp_ngrid”
The old option is left for backward-compatibility purposes, but it has the same
effect as the new one.

Closes: #1093
2020-01-20 16:23:10 +01:00
Stéphane Adjemian (Charybdis) 4ff0b66a8c
Updated dseries submodule (bug fix in merge method).
[skip ci]
2020-01-17 18:27:49 +01:00
Sébastien Villemot 048564c97b
MATLAB compatibility fix: R2014a is 8.3, not 8.4 2020-01-16 16:54:47 +01:00
Sébastien Villemot 1912f67778
MATLAB compatibility fix: automatic broadcasting was introduced in R2016b
For earlier versions, either use bsxfun or handle special cases differently.
2020-01-13 18:30:28 +01:00
Sébastien Villemot 8fff99115a
MATLAB compatibility fix: double-quoted strings only accepted since R2017a 2020-01-13 18:30:28 +01:00
Sébastien Villemot d9b9f78392 Merge branch 'particle_check' into 'master'
Particle filters: provide error if trends or prefiltering is used

Closes #1690

See merge request Dynare/dynare!1695
2020-01-13 11:02:29 +00:00
Johannes Pfeifer 03a8759560 Particle filters: provide error if trends or prefiltering is used
Closes https://git.dynare.org/Dynare/dynare/issues/1690
2020-01-10 19:08:51 +01:00
Sébastien Villemot 7e770f69e7
Remove workaround for errors in MEX files
Because at some point throwing exceptions from MEX files (with mexErrMsgTxt())
was not working under Windows 64-bit, we had designed a workaround to avoid
using exceptions.

Most MEX files were returning an error code as their first (or sometimes last)
argument, and that code would have to be checked from the MATLAB code.

Since this workaround is no longer needed, this commit removes it. As a
consequence, the interface of many MEX files is modified.

For some background, see https://www.dynare.org/pipermail/dev/2010-September/000895.html
2020-01-10 18:33:11 +01:00