Commit Graph

7401 Commits (cbb59fe6f848c4216155612320f9d979c670a3a3)

Author SHA1 Message Date
Houtan Bastani 99060b0f80
gui: small improvements 2019-02-05 17:49:08 +01:00
Houtan Bastani fd09ba1fca
ols_style parsing: remove regressors that are equal to zero 2019-02-05 16:38:25 +01:00
Sébastien Villemot b2fa7dd3c1 Merge branch 'discret_error_message' into 'master'
discretionary_policy_1.m: check for NaN before checking for non-zero derivatives

See merge request Dynare/dynare!1644
2019-02-05 14:42:33 +00:00
Johannes Pfeifer d5e25c8f43 mr_hessian.m: prevent infinite loop
Make sure hessian is not 0 and add counter.
Fixes #1636
2019-02-05 10:00:54 +01:00
Johannes Pfeifer 8cb99bfe9d discretionary_policy_1.m: check for NaN before checking for non-zero derivatives
Prevents false error message
2019-02-05 09:14:20 +01:00
Stéphane Adjemia (Scylla) 5c75c30104
Fixed matlab warning.
[skip ci]
2019-02-04 16:26:48 +01:00
Stéphane Adjemian 768555b523 Merge branch 'fixes_4.6' into 'master'
Fixes 4.6

See merge request Dynare/dynare!1641
2019-02-04 10:19:05 +00:00
Stéphane Adjemia (Scylla) b7c60ddf59
Added a routine for writing the problem to be solved to compute the BGP of a model.
- Only works with backward models.
 - Probably doesn't work if the model includes auxiliary variables.
 - Assumes that the trends are multiplicative.
2019-02-04 10:04:33 +01:00
Houtan Bastani 553f1d3068
fix bug: line argument was being ignored 2019-02-01 17:05:10 +01:00
Houtan Bastani b2fcd86c35
print parts of model where there are evaluation errors 2019-02-01 17:05:10 +01:00
Houtan Bastani 18b006d46f
fix comments 2019-02-01 16:45:13 +01:00
Houtan Bastani f29d974410
add copyright and fix spacing 2019-02-01 16:42:32 +01:00
Houtan Bastani c36db13bee
dseries: submodule update 2019-02-01 16:25:52 +01:00
Sumudu Kankanamge 31d59d6be3 -add file to read JSON gui perfect-foresight 2019-02-01 14:54:52 +01:00
Houtan Bastani eace56ce49
use switch statement instead of eval 2019-02-01 14:28:27 +01:00
Houtan Bastani 8ddcccf18e
ols-style parsing: modify parsing to accommodate a larger set of expressions 2019-02-01 14:25:35 +01:00
Houtan Bastani c9423fe3ab
ols parsing: fix bug in check 2019-02-01 13:21:59 +01:00
Houtan Bastani ff2ca5fc17
remove unnecessary function 2019-02-01 12:04:46 +01:00
Houtan Bastani f4b8735431
pooled_ols: only save certain variables oo_ structure when passing back to pooled_fgls 2019-02-01 11:50:01 +01:00
Houtan Bastani 0121e709fe
pooled_ols/pooled_fgls: fix bug in call to function 2019-02-01 11:45:16 +01:00
Houtan Bastani e758d5bdc9
ols parsing: fix bug: node value is not stored as string in AST 2019-02-01 11:37:41 +01:00
Houtan Bastani 1f3e027a09
fix typo 2019-02-01 11:12:25 +01:00
Houtan Bastani a68f3fc082
remove unused output from functions 2019-01-31 16:11:35 +01:00
Houtan Bastani 4c64b9108a
Revert "Revert "handle constant equations in preprocessor""
This reverts commit 850d1dcc95.
2019-01-30 12:29:33 +01:00
Houtan Bastani c544f4a02c
small improvement 2019-01-30 12:29:08 +01:00
Houtan Bastani 850d1dcc95
Revert "handle constant equations in preprocessor"
This reverts commit bcce997112.
2019-01-29 00:38:01 +01:00
Houtan Bastani bcce997112
handle constant equations in preprocessor 2019-01-28 17:56:10 +01:00
Houtan Bastani d32de4deae
preprocessor, reporting: submodule update 2019-01-28 15:47:40 +01:00
Sébastien Villemot cfc81bc5ff
Update preprocessor and dseries submodules 2019-01-28 15:16:37 +01:00
Stéphane Adjemia (Scylla) 74520e77bf
Allow for lags on endogenous variable in growth option of pac_model. 2019-01-28 11:25:30 +01:00
Houtan Bastani 668e641a6a
create report for SUR estimation 2019-01-25 18:11:27 +01:00
Houtan Bastani 6d447f195a
sur: add model_name option 2019-01-25 18:11:26 +01:00
Houtan Bastani 35cabed989
reporting: submodule update 2019-01-25 18:11:26 +01:00
Houtan Bastani d15c998804
reporting: submodule update 2019-01-25 18:02:16 +01:00
Houtan Bastani 73ea0c2fe3
fix typo in comment 2019-01-24 12:42:08 +01:00
Houtan Bastani 9bc1833a36
sur: fix bug in returned fitted value 2019-01-24 12:21:36 +01:00
Houtan Bastani ab5a19f08a
sur: fix bug in check of returned matrices 2019-01-24 11:38:40 +01:00
Houtan Bastani a402554083
fix bug in b219a99a16 2019-01-24 11:30:53 +01:00
Houtan Bastani b219a99a16
olsgibbs: fix bug in returned fitted value 2019-01-24 11:23:23 +01:00
Houtan Bastani d52ee5d290
fix comment 2019-01-24 11:20:39 +01:00
Stéphane Adjemia (Scylla) 3690dc2e6f
Updated dseries submodule. 2019-01-23 17:26:08 +01:00
Stéphane Adjemia (Scylla) 2482eafdb7
Fixed dseries class initialization in Octave. 2019-01-23 15:49:55 +01:00
Houtan Bastani 99d770382b
change indexing into X.name 2019-01-23 15:48:46 +01:00
Houtan Bastani 7632c4f071
use vobs instead of length(X.name) 2019-01-23 15:48:46 +01:00
Sébastien Villemot f484942154
Update dseries submodule 2019-01-22 18:10:16 +01:00
Houtan Bastani d1afd56134
small fixes (comments, argument checks) 2019-01-22 16:11:03 +01:00
Houtan Bastani e1b01d9225
common parsing: jsonmodel not necessary as tag info is in AST 2019-01-22 16:10:42 +01:00
Houtan Bastani 078e1ab99e
fix bug in ols common parsing routines causing ordering of regressor columns to change 2019-01-22 15:25:17 +01:00
Houtan Bastani 9d413e2f8f
use vobs() instead of length(ds.name) 2019-01-22 15:23:42 +01:00
Houtan Bastani f514d443b6
aesthetic fix 2019-01-22 00:40:57 +01:00
Houtan Bastani 63054a5728
olsgibbs: fix checks of input arguments 2019-01-22 00:08:09 +01:00
Houtan Bastani 0406a2ae15
handle zeroed out equations in SUR 2019-01-21 15:57:11 +01:00
Houtan Bastani 875381379f
sur: fix bug in creation of SUR matrices; handle random walk equation regardless of order in model equations 2019-01-18 15:07:24 +01:00
Houtan Bastani cf0d8f319e
remove extra whitespace 2019-01-18 14:09:40 +01:00
Houtan Bastani 3293ff62c1
handle nested UnaryOpNodes in OLS-style equations 2019-01-18 11:50:10 +01:00
Houtan Bastani 0badb00687
handle AR(1) with no parameter 2019-01-17 18:57:24 +01:00
Houtan Bastani cfd9eff6fb
simplify common parsing 2019-01-17 18:06:43 +01:00
Houtan Bastani b62ec7dc55
handle hard-coded constant*variable in AR(1) 2019-01-17 18:06:36 +01:00
Marco Ratto a798889fe1 fix crashes of the expand interactive mode of shock decomp plots, requiring to store and use more info on the plot itself (manual cherry-pick from 2914805e0803165eb324081483b6e85e288c3ce0) 2019-01-17 11:37:41 +01:00
Marco Ratto aeceafbec2 fixed error in formula of annualized steady state
(cherry picked from commit 696800b277dadd164244771ccfce8e39f1146472)
2019-01-17 10:57:39 +01:00
Marco Ratto 6e033a800b trap possible cases where the option is type dates (manual cherry pick from commit 392ee4ae8a200a82003acd0c9b70c47c542f6b32) 2019-01-17 10:56:12 +01:00
Marco Ratto 47900a5909 trap slice sampler when doing mh_recover
(cherry picked from commit 4ba9c9296f1939fa14b1401886d9e9b86541e5e3)
2019-01-17 09:50:07 +00:00
Marco Ratto beb165c002 bug fix with definition of steady state of plotted var when realtime is not zero
(manual cherry picked from commit 5badd34380f20e511e91b455482931c107a8f73b)
2019-01-17 10:47:39 +01:00
Marco Ratto 8713e46c4e fixed bug with non-increasing time declarations of moment restrictions. Modified example to get more sensible graph of ACF.
(cherry picked from commit b0e7c47a000a679420970f1d05e4f2ed7d60764c)
2019-01-17 09:26:37 +00:00
Houtan Bastani 4c133ac23a
olsgibbs: small fixes 2019-01-16 14:53:22 +01:00
Houtan Bastani 556b5b6e88
small change to avoid an extra conditional 2019-01-16 14:53:22 +01:00
Houtan Bastani 4dbbdb2c09
move common dates to parsing function 2019-01-16 14:53:22 +01:00
Houtan Bastani ee8e8c4282
small simplification 2019-01-16 14:53:22 +01:00
Houtan Bastani 0fb88114c1
rename functions and change error message to be more general is parsing is shared between several different functions 2019-01-16 14:53:22 +01:00
Houtan Bastani bb9418a473
dyn_ols: only one output from function, remove varargout 2019-01-16 14:53:21 +01:00
Houtan Bastani 03eaac8b6d
make plot_contributions use get_ast_jsonmodel 2019-01-16 14:53:21 +01:00
Houtan Bastani 9a61c57102
remove functions that are no longer used 2019-01-16 14:53:21 +01:00
Houtan Bastani f755cfdcd4
surgibbs: small fixes 2019-01-16 14:53:21 +01:00
Houtan Bastani 3247b1aa02
pooled_fgls: fix and update 2019-01-16 14:53:21 +01:00
Houtan Bastani e4dc7c403e
parse residual information 2019-01-16 14:53:21 +01:00
Houtan Bastani 72081e640e
pooled_ols: fix dates 2019-01-16 14:53:20 +01:00
Houtan Bastani efe0a15e0e
comment out code 2019-01-16 14:53:20 +01:00
Houtan Bastani 9ed97b88c1
account for potentially differing number of observations per equation when creating SUR matrices 2019-01-16 14:53:20 +01:00
Houtan Bastani a7181a8151
fix common parsing function to impose same dates per equation 2019-01-16 14:53:20 +01:00
Houtan Bastani 3427d93c09
add comment to function 2019-01-16 14:53:20 +01:00
Houtan Bastani 5d80fc903b
pooled_ols: fix up and use common parsing 2019-01-16 14:53:20 +01:00
Houtan Bastani 1e41235b6b
common parsing: small fixes 2019-01-16 14:53:19 +01:00
Houtan Bastani 934a22c3a7
sur: small fixes 2019-01-16 14:53:19 +01:00
Houtan Bastani ef391b1304
surgibbs: fix up and make work with sur changes 2019-01-16 14:53:19 +01:00
Houtan Bastani f8c0282b01
sur: fix up and use common code to create matrices 2019-01-16 14:53:19 +01:00
Houtan Bastani d8f26525b0
olsgibbs: fix up and use common parsing functions 2019-01-16 14:53:19 +01:00
Houtan Bastani a477075825
ols: further simplifications 2019-01-16 14:53:19 +01:00
Houtan Bastani a35fd291c5
ols: move json file parsing to a separate file 2019-01-16 14:53:19 +01:00
Houtan Bastani 013124eedf
ols: move parsing to a helper function 2019-01-16 14:53:18 +01:00
Houtan Bastani 093dd493d8
ols: catch unexpected case 2019-01-16 14:53:18 +01:00
Houtan Bastani 7d35cb5c5a
fix typo 2019-01-14 15:02:32 +01:00
Houtan Bastani e8333421e7
remove unnecessary file 2019-01-10 10:44:19 +01:00
Stéphane Adjemia (Scylla) 3bc6b34161
Bug fix.
Be agnostic about the name of the PAC model.
2019-01-07 13:33:08 +01:00
Houtan Bastani c94401ea66
remove spurious semicolon 2019-01-02 18:00:21 +01:00
Houtan Bastani 42ad1a85ba
remove unnecessary find in statement 2019-01-02 17:56:45 +01:00
Houtan Bastani 24eb3bcb34
remove unnecessary brackets from strings 2019-01-02 17:56:35 +01:00
Stéphane Adjemia (Scylla) 6d5f86b464
Updated dseries submodule (fix for macOS).
X13 binary was not detected.

[ci-skip]
2018-12-27 10:59:38 +01:00
Stéphane Adjemian (Hermes) c7988c0717
Updated dseries submodule (moved dates class into dseries submodule). 2018-12-24 10:37:26 +01:00
Sébastien Villemot f546eb67ed
Update preprocessor and dseries submodules 2018-12-20 17:10:22 +01:00
Sébastien Villemot f363c3da6b
Restore behavior of 'nolog' option
The option had been broken by 0e77815ece.

This option cannot be entirely handled at the preprocessor level, since the
main log file is created at the MATLAB/Octave level. Handle it via a dedicated
regular expression.
2018-12-20 17:10:22 +01:00
Stéphane Adjemian (Hermes) 14305851a9
Updated dates submodule. 2018-12-19 17:24:00 +01:00
Sébastien Villemot 0e77815ece
Options list at the top of the mod-file now parsed by the preprocessor
Closes #1630
2018-12-19 16:15:48 +01:00
Stéphane Adjemia (Scylla) c829e7968d
If possible define boundaries for the share of optimizing agents in PAC/NLS.
The parameter is constrained to be in (0,1) for the following algorithms

 - lsqnonlin (without Levenberg-Marquardt)
 - fmincon
 - annealing
 - particleswarm

Other algorithms do not allow the definition of boundaries... We should add a
penality function to the objective for these algorithms.
2018-12-19 16:05:34 +01:00
Stéphane Adjemia (Scylla) df57bf7eb9
Fixed bug.
PAC/NLS routine was only working if the PAC model was named `pacman`.
2018-12-19 16:00:57 +01:00
Stéphane Adjemia (Scylla) 11b24a0663
Add a constraint on the share of optimizing agents PAC/Iterative OLS.
Ensure that the parameter value lies betwwen 0 and 1.
2018-12-19 15:43:36 +01:00
Stéphane Adjemia (Scylla) c0570ff0af
Fixed typo. 2018-12-19 15:41:32 +01:00
Stéphane Adjemia (Scylla) 23e37e45c4
Cosmetic change.
create a namespace for each {VAR/PAC} expectation model.
2018-12-19 11:43:26 +01:00
Stéphane Adjemia (Scylla) 351da3b865
Do not update a dseries object, but instantiate a new object. 2018-12-19 10:53:09 +01:00
Johannes Pfeifer 5db86aaf7f Use global instead of local variable 2018-12-18 12:44:08 +01:00
Sébastien Villemot fc74dded42
Increase tolerance in quantile.m unit test
The failure appeared because of (seemingly unrelated) changes in gamrnd, which
have modified the random seed when entering this test.
2018-12-17 12:38:41 +01:00
Stéphane Adjemia (Scylla) f2b5a909f3
Update dseries submodule. 2018-12-17 10:50:39 +01:00
Johannes Pfeifer 6460a3a1e5
Document prior moments(distribution) option 2018-12-15 19:23:06 +01:00
Johannes Pfeifer 68d3852cbf
Correctly update covariance matrix of exogenous shocks during prior simulation 2018-12-15 19:23:06 +01:00
Johannes Pfeifer b333f6bf2b
Correctly update covariance matrix of shocks for posterior draws 2018-12-15 19:23:05 +01:00
Johannes Pfeifer 2ba9a8e10b
Prevent inconsistent specification in estim_params-block
Also documents the behavior
2018-12-15 18:49:53 +01:00
Johannes Pfeifer 1880a34d2f
Provide error message if unsupported endogenous prior restriction is used 2018-12-15 18:44:53 +01:00
Johannes Pfeifer fec7455555
Make prior.m function account for endogenous prior restrictions 2018-12-15 18:44:53 +01:00
Stéphane Adjemia (Scylla) d5bdc19e19
Added unit tests for gamrnd algorithms.
Only tests first order moemnt, second order moment and Cumulative Distribution
Function (should also add some tests for independance).
2018-12-15 16:48:25 +01:00
Stéphane Adjemia (Scylla) e32b87d4b3
Streamlined gamrnd routine.
Give access to all the implemented algorithms through the third argument. The
last argument is a structure with two fields `large` and `small`. The first
field specifies the algorithm to be used for α>1 while the second field defines
the algorithm to be used for α ∈ (0,1).

Default algorithms are:

 - Cheng (1977) for α>1,
 - Johnk (1964)  α ∈ (0,1).
2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) d628b078ab
Fixed typo. 2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) 4206cabe52
Streamlined gamrnd algorithms. 2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) 8ac4860150
Fixed Weibull rejection algorithm.
The description given by Devroye (1986) is clearly wrong, this implementation
is based on the original paper Väduva (Series Statistics, 1977).
2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) 79ad4e952b
Bug fixes in Cheng (1977)'s gamrnd algorithm.
- Definition of Y was wrong (error in Devroye's book).
 - Definition of X was wrong.

Also simplified the code w.r.t. update of the vector of indices.
2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) 162c8ab7d0
Set default value for the second hyperparameter. 2018-12-15 16:48:24 +01:00
Stéphane Adjemia (Scylla) 426c63a735
Created namespace for gamrnd routines.
Also fixed implementation of Jonk's algorithm.
2018-12-15 16:48:23 +01:00
Stéphane Adjemia (Scylla) 4775bca073
Fixed ordering of the columns of the Companion matrix...
For the level representation of the trend component model.
2018-12-14 17:37:35 +01:00
Stéphane Adjemia (Scylla) 2cff485113
Fixed bug in the routine evaluating the (PAC/VAR) expectations. 2018-12-14 17:29:46 +01:00
Stéphane Adjemia (Scylla) 38c8462142
If NLS, do not check the ordering of estimated parameters in PAC. 2018-12-12 16:28:19 +01:00
Sébastien Villemot 552c40cfc4
Update dseries and m-unit-tests submodules 2018-12-12 14:48:50 +01:00
Sébastien Villemot 139e922c0f
No longer downoald x13 binary within CI
The binary is now picked from the Debian package.
2018-12-12 11:06:20 +01:00
Sébastien Villemot d2c10f216b
Update dseries submodule 2018-12-12 10:36:17 +01:00
Stéphane Adjemian (Hermes) 8f5ba227d1
Updated dseries submodule. 2018-12-11 19:38:29 +01:00
Stéphane Adjemian (Hermes) 89a8331eb6
Updated dseries submodule. 2018-12-10 23:00:52 +01:00
Houtan Bastani 44e5a88ddd
dyn_ols: use AST instead of regex to parse equations 2018-12-07 19:54:32 +01:00
Stéphane Adjemia (Scylla) cb4384bb27
Create on the fly a routine for evaluating the (VAR/PAC) expectations.
The routine takes a dseries object as unique argument and return an updated
object with the expectation term.

If the mod file is named `example.mod` and if the (VAR/PAC) expectation model is
named `toto`, then after

var_expectation.print('toto');

the expectation term can be evaluated:

ts = example.var_expectations.evaluate_varexp(ts);

where ts is a dseries object containing all the time series appearign in the
auxiliary (var or trend_component).
2018-12-03 15:07:43 +01:00
Stéphane Adjemia (Scylla) 53ab321de8
Added the possibility to use linear expressions in VAR_EXPECTATION_MODEL.
See tests/var-expectations/9/example.mod for a self documented example.

Also updated all the integration tests using the option `expression` instead of
`variable` (which is deprecated and will be removed at some point).
2018-11-30 23:36:06 +01:00
Stéphane Adjemia (Scylla) 650c78f99d
Merge branch 'master' into ecb-master 2018-11-30 21:34:56 +01:00
Stéphane Adjemia (Scylla) d501d6d511
Added interface to lsqnonlin (Mathworks' optimization toolbox) in pac.estimate.nls. 2018-11-29 10:29:55 +01:00
Stéphane Adjemia (Scylla) c79be57447
Fixed definition of h (PAC expectation reduced form). 2018-11-27 10:05:40 +01:00
Stéphane Adjemia (Scylla) e6c716ae9b
Added the possibility to use Gauss-Newton in pac/nls.
Also added the computation of the covariance matrix of the NLS estimator (using
White and Domovitz approach) and integration test.
2018-11-26 09:53:18 +01:00
Stéphane Adjemia (Scylla) 139c58dd76
Added Gauss Newton algorithm for minimizing sum of squared residuals. 2018-11-26 09:48:50 +01:00
Sébastien Villemot efec664667
Preprocessor update + corresponding change in parameters derivatives
In the *_params_derivs.m files, in the "hp" matrix, the preprocessor now fully
outputs the symmetric elements, so getH needs to be adapted.

By the way, also clean up code for "rpp" and "gpp", were full symmetric
elements were also already present (and therefore do not need to be duplicated
in getH).
2018-11-22 17:53:39 +01:00
Stéphane Adjemia (Scylla) cf35496c06
Fixed bug in the evaluation of the sum of squared residuals (PAC/NLS). 2018-11-21 15:21:23 +01:00
Stéphane Adjemia (Scylla) 7d2d0d6590
Added the possibility to estimate the share of optimizing agents by iterative OLS (PAC). 2018-11-21 15:07:15 +01:00
Sébastien Villemot 635aa65665 Merge branch 'ident_plot_bug' into 'master'
identification_analysis.m: Fix bug introduced in 60d95b65f2

See merge request Dynare/dynare!1637
2018-11-16 16:21:14 +00:00
Johannes Pfeifer b615d2d795 identification_analysis.m: Fix bug introduced in 60d95b65f2
We already used a variable called offset
2018-11-16 16:20:27 +01:00
Johannes Pfeifer 4ecbcbb136 evaluate_steady_state_file.m: Remove redundant setting of auxiliary variables
The original problems seems to have been fixed by #1133

Essentially reverts 3c7e60b744 and closes #1175
2018-11-16 14:12:55 +01:00
Johannes Pfeifer f947a31b80 evaluate_steady_state_file.m: fix two bugs in debugging mode 2018-11-16 09:24:43 +00:00
Johannes Pfeifer 60d95b65f2
Identification strength: make plotting consistent
1. Rely on actually computed standard deviations in bayestopt_ instead of potentially unset estim_params_
2. Remove arbitrary normalizations/omitted normalization in case of division by 0 in normalization
3. Distinguish between 0 identification and division by 0 due to normalization in plots

(cherry picked from commit 7341e21a381850c47fbed018bf6a7acdda4fa92e)
2018-11-16 10:17:30 +01:00
Sébastien Villemot ad451ad224 Merge branch 'prior_dens_info' into 'master'
Deal with info returned by priordens being a vector

See merge request Dynare/dynare!1629
2018-11-15 09:39:11 +00:00
Sébastien Villemot 513f3ec68e Merge branch 'evaluate_steady_state' into 'master'
evaluate_steady_state.m: consistently use params

Closes #1627

See merge request Dynare/dynare!1630
2018-11-15 09:22:09 +00:00
Johannes Pfeifer 30361ccb49 GSA scatter plots: Correctly pass LaTeX-names to figure 2018-11-14 18:37:54 +01:00
Johannes Pfeifer 022913579a map_calibration.m: Fix bug that prevented display of restrictions 2018-11-14 18:37:05 +01:00
Johannes Pfeifer c16c2fb894 evaluate_steady_state.m: consistently use params
Prevents erroneously relying on stale parameters from M.params (thanks to Tom Holden); closes #1627
2018-11-14 16:01:55 +01:00
Johannes Pfeifer 09a166f4e7 Revert "adding missing any()"
This reverts commit a5b97a28a0.
2018-11-14 15:04:27 +01:00
Johannes Pfeifer c1b0bb5ee3 initial_estimation_checks.m: Turn vector info into scalar
Related to a5b97a28a0 that needs to be reverted
2018-11-14 15:02:15 +01:00
Sébastien Villemot 18faa9733c
Further updates related to minimal MATLAB version bump 2018-11-13 18:29:20 +01:00
Sébastien Villemot 7a75872f72
Modernization: use tilde (~) syntax for ignored output arguments 2018-11-13 18:02:09 +01:00
Sébastien Villemot ce49cd95df
Add missing iscolumn and ismatrix for MATLAB < R2010b
Also fix a bug in isrow (it was not checking the rank of the array).
2018-11-13 16:59:27 +01:00
Sébastien Villemot 736d43c4e6
Bump minimal MATLAB version requirement to 7.9 (R2009b) 2018-11-13 15:59:16 +01:00
Sébastien Villemot 096936be9c
The preprocessor now compiles the MEX when use_dll is specified
Update documentation accordingly (except on macOS where the solution has not
yet been implemented).

Also include MinGW in the Windows installer.
2018-10-29 14:41:34 +01:00
Sébastien Villemot cc4183d3a5
Fix for recent MATLABs under Windows 2018-10-26 15:02:26 +02:00
Sébastien Villemot 8cb51e26e6
options_.instruments is now a cell array
This fixes crashes under Octave (while MATLAB seems to accept array-indexing
with cell arrays).
2018-10-25 15:01:53 +02:00
Stéphane Adjemia (Scylla) dcea7514d9
Merge branch 'master' into ecb-master 2018-10-24 18:31:31 +02:00
Houtan Bastani 8a2c38cf6c olsgibbs: save fitted values in dataset; allow use of dictionary as in dyn_ols 2018-10-24 17:17:01 +02:00
Stéphane Adjemia (Scylla) 510bc2e299
Removed unused variable. 2018-10-24 12:08:00 +02:00
Stéphane Adjemia (Scylla) 1c1a3ea0a4
Removed tests on targets.
A target does not need to be a random walk. Also added a new integration
test (where the target is a constant, 0).
2018-10-24 12:06:14 +02:00
Stéphane Adjemia (Scylla) a53c63d6d5
Added routines to print PAC_EXPECTATION and VAR_EXPECTATION in files.
Each new routine pac.print() and var_expectation.print(), creates two files
that can be included (using the macro language) in a mod file. The first
file, {pac,var}expectationmodename-parameters.inc saved under
{M_.fname}/model/{pac,var}expectationmodel, contains the declaration of the
parameters created for the expanded (var or pac) expectation model, with
calibrated values. The second file, {pac,var}expectationmodename-parameters.inc
saved in the same subfolder, contains the expanded version of the (pac or var)
expectation term as a linear combination of the variables in the companion
representation of the expectatino model.
2018-10-14 16:57:51 +02:00
Stéphane Adjemia (Scylla) e5317b17de
Cosmetic change. 2018-10-06 17:52:58 +02:00
Stéphane Adjemia (Scylla) 108854a484
Bug fix. verbosity option was not honoured in simplex algorithm (8).
Thanks to Reuben for reporting.
2018-10-06 17:50:37 +02:00
Stéphane Adjemia (Scylla) dfafe86246 Save teh posterior mean of the slope parameters as a column vector. 2018-10-06 16:55:42 +02:00
Stéphane Adjemian (Charybdis) 82187f9d41
Fixed olsgibbs routine. 2018-10-06 16:08:28 +02:00
Stéphane Adjemian (Charybdis) 798aaaa968
Cosmetic change. 2018-10-04 23:17:49 +02:00
Houtan Bastani ee2ad1ee15 olsgibbs: linear regression with Gibbs sampler 2018-10-04 17:12:47 +02:00
Houtan Bastani 57bf291c00 add comment 2018-10-04 17:12:47 +02:00
Stéphane Adjemian(Charybdis) ae71599292
Switch to new get_companion_matrix routine. 2018-09-28 19:27:17 +02:00
Stéphane Adjemian(Charybdis) bbbaabc702
Cosmetic change. 2018-09-28 12:26:59 +02:00
Michel Juillard 3ad654b9b8
Allowing for different number of periods in conditional_forecast_path.
Updated preprocessor submodule.
2018-09-27 18:58:24 +02:00
Stéphane Adjemian(Charybdis) 07141a8681
Various optimizations. 2018-09-26 22:51:05 +02:00
Stéphane Adjemian(Charybdis) 7c83ba7ea7
Fixed documentation header. 2018-09-26 22:51:05 +02:00
Houtan Bastani 973c3955f0 adjust for ‘targets’ keyword instead of ‘trends’ 2018-09-25 14:58:36 +02:00
Houtan Bastani 974bcd92ae Merge branch 'ecb-master' into ecb-master-targets 2018-09-25 14:41:11 +02:00
Houtan Bastani c6d5b09c29 fix typo 2018-09-25 14:39:48 +02:00
Stéphane Adjemian(Charybdis) b3a8062b46
Added missing output. 2018-09-19 17:39:58 +02:00
Stéphane Adjemian(Charybdis) 031e2c87c6
New version of get_companion_matrix + new integration test.
The routine is still buggy. In PAC and VAR_EXPECTATION models we
use get_companion_matrix_legacy routine instead.
2018-09-19 17:39:48 +02:00
Stéphane Adjemian(Charybdis) 2cf6ccdaa5 Updated dseries submodule. 2018-09-18 17:37:37 +02:00
Stéphane Adjemian(Charybdis) 3e6e448134 Updated dates and dseries submodules. 2018-09-14 23:13:13 +02:00
Stéphane Adjemian(Charybdis) 99aadf7d1a Updated m-unit-tests submodule. 2018-09-14 15:37:30 +02:00
Houtan Bastani 62301fa1e9 dyn_ols: fix typo 2018-09-14 15:09:31 +02:00
Stéphane Adjemian(Charybdis) 2518cd9884 Raise error of an optimization algorithm is not available. 2018-09-13 16:16:07 +02:00
Stéphane Adjemian(Charybdis) 2437d7034e Give access to more than one optimizer in PAC estimation (NLS).
Default is to use csminwel optimizer (because it seems to do the job and does
not rely on the Mathworks toolbox).
2018-09-13 16:15:52 +02:00
Houtan Bastani eb316d7e2d update files for change of option name from `trends` to `targets` 2018-09-13 12:24:32 +02:00
Houtan Bastani 5ab8120780 get companion matrix using preprocessor output instead of get_ar_ec_matrices.m 2018-09-12 18:38:26 +02:00
Houtan Bastani 74094683de get_companion_matrix: fix header 2018-09-12 18:29:21 +02:00
Houtan Bastani a6150bae82 get_companion_matrix: simplify check (no need for allocation) 2018-09-12 18:29:14 +02:00
Houtan Bastani a32e2f165a get_companion_matrix: remove unnecessary conditional 2018-09-12 18:29:07 +02:00
Houtan Bastani e9d7f6ca24 Merge branch 'master' into ecb-master 2018-09-12 18:28:47 +02:00
Stéphane Adjemian(Charybdis) 6815624a6a Fixed bug.
Growth neutrality correction was applied twice.
2018-09-12 15:41:07 +02:00
Sébastien Villemot 51416bf2ae Always use "isoctave" for testing Octave context 2018-09-07 17:22:08 +02:00
Stéphane Adjemian(Charybdis) 0f3678ec4a Fixed ordering of variables in error correction term of PAC equation
PAC equation has to be written as

diff(x) = a0*(xstar(-1)-x(-1)) + a1*diff(x(-1)) + ... + ap*diff(x(-p)) + PAC_EXPECTATION(pacmodelname) + ...;

In the error correction term, a0*(xstar(-1)-x(-1)), we must have the difference
between the target (the trend xstar(-1)) and the level of the endogenous
variable (x(-1)). To ensure stability around the trend, the parameter a0 needs
to be positive.

REMARKS

 [1] In the TREND_COMPONENT_MODEL the error correction terms are written in
 reverse order, ie as the difference betwwen the level of the endogenous
 variable and the trend variable.

 [2] In the estimation routine we do not constrain a0 to be positive, but is
 would surely help to satisfy this condition in the initial condition.
2018-09-06 22:07:31 +02:00
Stéphane Adjemian(Charybdis) 74ef4d2131 Cosmetic change. 2018-09-06 13:40:43 +02:00
Stéphane Adjemian(Charybdis) 5d8a1feda4 Fixed regular expression.
Data matrices were not correcty lagged for lags>1. This commit fixes the
inconsistencies (in terms of residuals) between Iterative OLS and NLS routines.
2018-09-06 13:40:27 +02:00
Stéphane Adjemian(Charybdis) 940c970ff3 Use same range in NLS and Iterative OLS.
The range option is the range of data considered for the right hand side variable.
2018-09-04 09:40:47 +02:00
Stéphane Adjemian(Charybdis) 6e1d06bddc Display SSR in Iterative OLS. 2018-09-03 18:01:59 +02:00
Stéphane Adjemian(Charybdis) 8b1b1273c3 Fixed correction for growth neutrality.
Also added the possibility to use an endogenous variable for growth.
2018-09-03 17:57:10 +02:00
Stéphane Adjemian(Charybdis) fde103d5f4 Removed debugging display. 2018-09-03 17:55:55 +02:00
Stéphane Adjemian(Charybdis) a207550680 Fixed error correction term. 2018-09-03 17:53:01 +02:00
Stéphane Adjemian(Charybdis) 044f0f8de6 Added missing output required by some integration tests. 2018-09-03 17:38:09 +02:00
Stéphane Adjemian(Charybdis) 5ea0c8098b Ensure that the ordering of the trend variables is consistent...
... With the ordering of the EC variables.
2018-09-03 17:35:59 +02:00
Stéphane Adjemia (Scylla) e1b2b80d64 Small efficiency change. 2018-08-29 17:42:49 +02:00
Stéphane Adjemia (Scylla) d23d1a470b Added the possibility to estimate PAC_EQUATION with iterative ols and non constant growth. 2018-08-29 17:42:04 +02:00
Stéphane Adjemia (Scylla) 30b34c4323 Small efficiency changes. 2018-08-29 16:15:52 +02:00
Stéphane Adjemia (Scylla) 00498d19c8 Fixed ec matrix (rules out lag>1). 2018-08-28 19:25:05 +02:00
Stéphane Adjemia (Scylla) 36388ce28a Fixed bug in PAC_EXPECTATION.
The selection of the target variable in the error correction term was still
wrong if the target variable was not an auxiliary variable.
2018-08-28 19:23:35 +02:00
Stéphane Adjemia (Scylla) 18a2626543 Fixed bugs in PAC_EXPECTATION.
- The selection of the target variable in the error correction term was wrong.
 - Target variables in logs were still not working.
2018-08-28 12:12:21 +02:00
Stéphane Adjemia (Scylla) 6dc35c676b Fixed bug in VAR_EXPECTATION with TREND_COMPONENT_MODEL.
The selection of the expected variable in the companion VAR was not correct.
2018-08-28 11:06:20 +02:00
Stéphane Adjemia (Scylla) ae530293c5 Fixed bug. Trends in log where not accounted for in PAC equation. 2018-08-27 19:35:33 +02:00
Stéphane Adjemia (Scylla) 83c9b0d5b6 Make rool for trend_component_model in var_expectation.
Not yet working, a bug in the preprocessor remains to be fixed. The
preprocessor does not create the correct number of reduced form parameters
for VAR_EXPECTATION when the auxiliary model is a trend component model,
because it ignores the fact that the model has to be rewritten in levels.
2018-08-27 14:37:26 +02:00
Houtan Bastani 6ec9758313 update var_expectation code and tests for change in field name 2018-08-23 10:38:39 +02:00
Stéphane Adjemia (Scylla) cd05b9ba8f Cosmetic changes. 2018-08-22 11:49:30 +02:00
Stéphane Adjemia (Scylla) 2b6ee881a4 Efficiency changes. 2018-08-22 11:49:15 +02:00
Stéphane Adjemia (Scylla) 442a70e905 Added missing semicolon. 2018-08-21 21:56:01 +02:00
Stéphane Adjemia (Scylla) 4a0b3ffe7e Adapted matlab code to new TREND_COMPONENT auxiliary model. 2018-08-21 21:49:58 +02:00
Stéphane Adjemia (Scylla) 38b2593e31 Efficiency changes. 2018-08-21 21:02:20 +02:00
Houtan Bastani 322682635f get_ar_ec_matrices: fix bug in ordering of ec matrix 2018-08-20 14:58:52 +02:00
Houtan Bastani b27267da9b get_ar_ec_matrices: changes for introduction of trend_component_model statement 2018-08-20 10:57:26 +02:00
Stéphane Adjemia (Scylla) 7d6296f7a6 Fixed bug introduced by 42bba08887. 2018-08-17 21:42:09 +02:00
Stéphane Adjemia (Scylla) e50bb1566e Updated dseries submodule. 2018-08-16 16:42:25 +02:00
Stéphane Adjemian(Charybdis) 822446c043 Added missing copyright headers. 2018-08-15 22:05:47 +02:00
Stéphane Adjemian(Charybdis) 42bba08887 Make the code robust to the order of declaration of the estimated parameters. 2018-08-15 22:03:33 +02:00
Stéphane Adjemian(Charybdis) 15ad3cebcf Fixed indexation bug (last autoregressive parameter was missing). 2018-08-15 22:03:01 +02:00
Stéphane Adjemian(Charybdis) 702e6d4cc7 Fixed lag number in PAC equation.
The number of autoregressive parameters has to be equal to the number of lags
in the PAC equation.
2018-08-13 12:41:37 +02:00
Stéphane Adjemian(Charybdis) 8b3ba814c7 Fixed PAC index for target variable in companion VAR. 2018-08-10 15:42:13 +02:00
Stéphane Adjemian(Charybdis) 8a6d23f471 Merge branch 'master' into ecb-master 2018-08-10 15:37:26 +02:00
Stéphane Adjemian(Charybdis) 451385774b Cosmetic changes. 2018-08-10 15:36:41 +02:00
Stéphane Adjemian(Charybdis) 86445832fd Added routine returning true iff a variable is an auxiliary variable. 2018-08-10 14:52:22 +02:00
Stéphane Adjemian(Charybdis) c28c8187e8 Fixed typo. 2018-08-08 16:23:15 +02:00
Stéphane Adjemian(Charybdis) 8033b2737e Added routines for VAR_EXPECTATION_MODEL. 2018-08-08 15:53:55 +02:00
Stéphane Adjemian(Charybdis) c9a38c4de7 Merge branch 'master' into ecb-master
Fixed conflicts:
 - tests/run_block_byte_tests_octave.m
2018-08-04 21:08:08 +02:00
Stéphane Adjemian(Charybdis) 5b30ed34ae Allow calls to get_companion_matrix routine with only one argument. 2018-08-04 20:15:52 +02:00
Stéphane Adjemian(Charybdis) dc026329a7 Cosmetic change. 2018-08-04 20:14:28 +02:00
Sébastien Villemot 13526bcbce Octave now has the same graphical waitbar as MATLAB (for MCMC progress) 2018-08-02 15:33:18 +02:00
Sébastien Villemot d03cc56587 solve_algo=7 and stack_solve_algo=2 are now allowed under Octave
The gmres() function has been implemented (actually since Octave 3.4.1!).
2018-08-02 15:20:39 +02:00
Sébastien Villemot fda021855c Fix forecast command with deterministic exogenous and linear option
Closes #1608
2018-08-02 14:20:51 +02:00
Stéphane Adjemian(Charybdis) f830fb7d53 Updated dseries submodule. 2018-07-31 12:55:17 +02:00
Stéphane Adjemian(Charybdis) ecb41ef4c0 Merge branch 'master' into ecb-master 2018-07-28 10:54:27 +02:00
Stéphane Adjemian(Charybdis) 6d79ca4f58 Return 0 if input is empty. 2018-07-28 10:48:43 +02:00
Michel Juillard a5b97a28a0 adding missing any() 2018-07-27 20:24:13 +02:00
Stéphane Adjemian(Charybdis) a144aad150 Merge branch 'master' into ecb-master 2018-07-27 09:47:22 +02:00
Johannes Pfeifer 433a68169d TaRB: fix bug where incorrect last posterior was returned if last draw was rejected 2018-07-24 17:07:29 +02:00
Stéphane Adjemian(Charybdis) 157641ac91 Updated particles submodule. 2018-07-24 14:12:53 +02:00
Stéphane Adjemian(Charybdis) 7d7449c775 Merge branch 'master' into ecb-master
Fixed conflicts:
	matlab/modules/dseries
2018-07-23 17:05:30 +02:00
Stéphane Adjemian(Charybdis) 0edebbe5d7 Added Iterative OLS routine for PAC equation. 2018-07-23 16:12:46 +02:00
Stéphane Adjemian(Charybdis) cffff796f1 Added routine to test if an auxiliary variable is a lag of a variable. 2018-07-23 10:41:34 +02:00
Stéphane Adjemian(Charybdis) f03a9b98e1 Fixed typo. 2018-07-20 17:09:15 +02:00
Stéphane Adjemian(Charybdis) 7421e6b5b2 Fixed copyright header. 2018-07-19 15:36:02 +02:00
Stéphane Adjemian(Charybdis) 44c49eaef8 Improved iterations display of Dynare's simplex routine. 2018-07-19 15:15:05 +02:00
Stéphane Adjemian(Charybdis) 2d321cb0e3 Increased default number of iterations in simplex. 2018-07-19 15:15:05 +02:00
Johannes Pfeifer 97229177b4 simplex_optimization_routine.m: account for penalty indicator being third output, not fourth one
Caused occasional crashes
2018-07-19 09:25:27 +02:00
Stéphane Adjemian(Charybdis) 5361325ba9 Fixed unit test (false negative in Octave testsuite). 2018-07-18 12:18:43 +02:00
Stéphane Adjemian(Charybdis) ac3af2052a Remove test from Octave testsuite.
The function is only called by Matlab if the statistics toolbox is not available.
2018-07-18 11:14:47 +02:00
Stéphane Adjemian(Charybdis) 1d2d7e0776 Updated dseries submodule (and matlab-fame-io). 2018-07-18 10:42:55 +02:00
Stéphane Adjemian(Charybdis) 064b270795 Updated dseries submodule (Octave testsuite fixes). 2018-07-17 18:41:25 +02:00
Stéphane Adjemian(Charybdis) 8b0d673458 Cosmetic change (Octave unit test).
(cherry picked from commit 48ee13646a072d0ad9466f901f2d048594717d71)
2018-07-17 17:44:42 +02:00
Stéphane Adjemian(Charybdis) 0d27bd8dea Fixed unit tests on Weibull pdf (Octave testsuite).
(cherry picked from commit bc962a91c0749e6c9f108c867acde134e6bb80fc)
2018-07-17 17:44:15 +02:00
Stéphane Adjemian(Charybdis) 4154817acc Added missin semicolons.
(cherry picked from commit 4a0b1c2e93d23c85a7874b1bbea85819f56739f5)
2018-07-17 17:43:58 +02:00
Stéphane Adjemian(Charybdis) 9d01b17e03 Removed one unit test from Octave testsuite. 2018-07-17 11:30:20 +02:00
Stéphane Adjemian(Charybdis) cd9410644f Moved PAC estimation routine (NLS). 2018-07-16 16:30:07 +02:00
Stéphane Adjemian(Charybdis) 9468c5b61d Bug fix in PAC equation simulation/estimation.
Fixed the definition of idns (must target the trend variable).
2018-07-16 15:38:04 +02:00
Stéphane Adjemian(Charybdis) c46fe7fcfa Added check routine for PAC equation. 2018-07-16 14:56:05 +02:00
Stéphane Adjemian(Charybdis) 0074561182 Updated dseries submodule (unit test fix). 2018-07-14 11:54:01 +02:00
Stéphane Adjemian(Charybdis) 2256acfa73 Fixed replacement of LHS variable if the equation has no lag. 2018-07-13 19:10:25 +02:00
Stéphane Adjemian(Charybdis) 9b51b1ee16 Fixed logic for replacing variables by views of the data array. 2018-07-13 19:07:38 +02:00
Sébastien Villemot 7685a0ccda Octave compatibility fix
Now that the set_auxiliary_variables file is in a "+" directory, Octave fails
at str2func if the file does not exist.
2018-07-13 17:22:27 +02:00
Stéphane Adjemian(Charybdis) 7e7f9b2e2e Updated dseries submodule. 2018-07-13 14:04:57 +02:00
Stéphane Adjemian(Charybdis) 710158ba3e Updated dseries submodule. 2018-07-12 19:50:53 +02:00
Stéphane Adjemian(Charybdis) 30c41733bc Updated dseries submodule. 2018-07-12 19:38:15 +02:00
Stéphane Adjemian(Charybdis) d7e0c5b868 Merge branch 'master' into ecb-master+folder 2018-07-11 11:08:04 +02:00
Stéphane Adjemian(Charybdis) ebad639546 Bug fix (parenthesis mismatch). 2018-07-11 11:03:15 +02:00
Stéphane Adjemian(Charybdis) a31611a89b Adapted codes to the json files new location.
(cherry picked from commit f0a5a2aac9)
2018-07-10 20:19:43 +02:00
Stéphane Adjemian(Charybdis) f0a5a2aac9 Adapted codes to the json files new location. 2018-07-10 20:17:43 +02:00
Stéphane Adjemian(Charybdis) c5ebb2ca30 Adapted codes to the json files new location. 2018-07-10 20:15:53 +02:00
Stéphane Adjemian(Charybdis) 24e2a76c39 Remove condition.
The checkdatabase routine can be used on models with leads.
2018-07-10 18:50:15 +02:00
Stéphane Adjemian(Charybdis) 51332c6fd6 Fixes related to the new "+" subfolder. 2018-07-10 18:34:49 +02:00
Stéphane Adjemian(Charybdis) 85a585c73e Merge branch 'master' into ecb-master+folder
Fixed conflicts in:
	tests/block_bytecode/run_ls2003.m
2018-07-10 10:18:55 +02:00
Stéphane Adjemian(Charybdis) e50d4fd41c Added routine to update parameter values in base workspace. 2018-07-09 18:42:03 +02:00
Stéphane Adjemian(Charybdis) bc54022da6 Fixed row ordering issue in the trend component model. 2018-07-09 18:41:35 +02:00
Stéphane Adjemian(Charybdis) 829849f4db Fixed regular expression used to identify a PAC auxiliary model. 2018-07-05 11:50:50 +02:00
Stéphane Adjemian(Charybdis) 4a9c752fd1 Fixed the definition of a lag polynomial. 2018-07-04 14:57:54 +02:00
Sébastien Villemot 3863a74319 Fix bug introduced in 13ce91861 in graph decomposition under MATLAB 2018-07-04 12:33:51 +02:00
Stéphane Adjemian(Charybdis) 227ac46aa9 Fixed bug related to the parameters in PAC equation. 2018-07-04 10:02:19 +02:00
Stéphane Adjemian(Charybdis) f248feb839 Fixed function handle name for sum of square residuals. 2018-07-04 09:38:19 +02:00
Stéphane Adjemian(Charybdis) 33d752bad3 Fixed filtering out of non exact matches.
Patch proposed by Anatole, see:

https://gitlab.com/McModelTeam/McModelProject/issues/76
2018-07-04 08:57:07 +02:00
Sébastien Villemot 13ce918612 Octave compatibility fixes in graph decomposition 2018-07-02 16:06:11 +02:00
Sébastien Villemot b2c554623f Various fixes related to the new layout of generated files 2018-06-28 18:14:40 +02:00
Sébastien Villemot 87bb0c6997 Fix mistake in previous commit w.r.t. steadystate file 2018-06-27 17:15:13 +02:00
Sébastien Villemot a1b8bd39b2 Move the location of various generated files on the filesystem
- M and MEX files are now under +${MODELNAME}/
- bytecode, C source and JSON now under ${MODELNAME}/model/
2018-06-27 17:03:39 +02:00
Stéphane Adjemian(Charybdis) 37bd4a1fea Added routine for estimating a PAC equation by NLS.
This is not a final version. The routine does not print the estimation result, and does not
compute the variance of the estimator. The routine updates the content of M_.params with the
vector of PAC parameters minimizing the sum of squared residuals.
2018-06-21 18:48:58 +02:00
Stéphane Adjemian(Charybdis) 8d1664898e Merge remote-tracking branch 'github/master' into ecb-master 2018-06-21 18:48:16 +02:00
Stéphane Adjemian(Charybdis) 45115e1172 Replaced pac.update.equation() by pac.update.expectation(). 2018-06-21 18:47:57 +02:00