Commit Graph

7512 Commits (d24ad5ac99e5595f7472fe59cf16900f38545f1e)

Author SHA1 Message Date
Stéphane Adjemian (Charybdis) d7042b8e80 Fixes for models without parameters or exogenous variables. 2019-04-27 18:08:19 +02:00
Stéphane Adjemian (Charybdis) 1a55cd7945 Write files only if necessary.
DO not print files for parameters declaration, exogenous variables declarations
or parameter values if the selected equations do not have parameters and/or
exogenous variables (typically accounting identities).
2019-04-26 18:46:34 +02:00
Stéphane Adjemian (Charybdis) 64dc44740b Efficiency change. 2019-04-26 16:20:45 +02:00
Stéphane Adjemian (Charybdis) 99edfc52ed Removed unused routine. 2019-04-26 15:55:48 +02:00
Stéphane Adjemian (Charybdis) 24cc67e585 Ensure that all perfect foresight solvers work with periods=1.
See #1205 and #1176.
2019-04-26 15:55:48 +02:00
Houtan Bastani fd61c049f9
remove unused return variable 2019-04-25 17:37:38 +02:00
Stéphane Adjemian ee891948e0 Moved IntegrationAgorithm under options_.ep.stochastic 2019-04-18 18:03:57 +02:00
Stéphane Adjemian 0ae1471afc Temporary workaround for missing option.
The implementation of scaled unscented transform has to be reworked.
2019-04-18 18:03:57 +02:00
Stéphane Adjemian c30bdf7bbe Fixed bug in stochastic extended path if model has lags or no leads. 2019-04-18 18:03:57 +02:00
Stéphane Adjemian 099bdc5450 Activited unit tests. 2019-04-18 18:03:57 +02:00
Stéphane Adjemian (Charybdis) 42140ff8fb Updated header. 2019-04-18 18:03:57 +02:00
Michel Juillard fa8ffbf3c3 fixed IntegrationAlgorithm ep option 2019-04-18 18:03:57 +02:00
Sébastien Villemot 1e92e308b9
Pruning is not available for order > 3
Ref #217
2019-04-15 18:50:16 +02:00
Sébastien Villemot e281f35213
Lift upper restriction on approximation order
Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot b1ba53ce05
dynare_simul_ DLL: adapt for an arbitrary approximation order
The last input argument is now a struct containing matrices g_0, g_1,…
Typically one can pass oo_.dr for this argument.

Ref #217
2019-04-15 17:34:01 +02:00
Sébastien Villemot 03ac8c8182
simult_: fix bug in error message 2019-04-12 18:26:30 +02:00
Sumudu Kankanamge aa66949a13 read JSON for stochastic simulations from GUI 2019-04-12 15:24:03 +02:00
Stéphane Adjemia (Scylla) 2d9e7a704b
Always write list of variables on more than one line.
(one line per variable)
2019-04-11 10:42:50 +02:00
Stéphane Adjemia (Scylla) fe4a15e417
Fixed bug if LHS no present in datablase.
Removed range on the left hand side.
2019-04-11 10:13:34 +02:00
Stéphane Adjemia (Scylla) ba46992e18
Bug fix (filter out lhs variable). 2019-04-10 10:40:41 +02:00
Sébastien Villemot b556290d60
k-order DLL: simplify and better document correspondence between Dynare and Dynare++ variable orderings 2019-04-10 09:23:32 +02:00
Sébastien Villemot efa1f39e71
k-order DLL: finally adapt for M_.{endo,exo}_names as cell arrays 2019-04-08 18:47:49 +02:00
Sébastien Villemot 86a607a4fc
k-order DLL: make the output arguments ready for arbitrary order 2019-04-08 18:47:49 +02:00
Stéphane Adjemia (Scylla) 8740355407
Rewrote evaluate routine.
- Can handle more than one equation.
 - Can handle identities.
 - Forbids dynamic equations.
 - Can handle following LHS y, diff(y), diff(diff(y)), log(y), diff(log(y)) and
   diff(diff(log(y))), other transformations will result in an error.
 - Added integration tests.

Remark 1. In the integration tests I compare the values returned by the
          evaluate routine with the values computed with the simulation
          routines. Normally the discrepancies should be small, but this is not
          the case when the endogenous variable appear under a log on the
          LHS. My current conclusion is that this has more to do with the
          cumulation of the accuracy errors in the simulation routine (a
          sequence of Newton algorithms) rather than with the evaluate routine.

Remark 2. Currently the only allowed nonlinear transformation on the LHS
          endogenous variable is the log. It is not difficult to generalise, at
          some point I had all the matlab functions allowed by Dynare,
          but this would complicate the code for not much gain.
2019-04-08 11:01:34 +02:00
Stéphane Adjemia (Scylla) de458022e5
Removed non existing subfolder from path. 2019-04-08 10:55:23 +02:00
Stéphane Adjemia (Scylla) 33c9b5f435
Cosmetic change.
Renamed the auxiliary variables for PAC/VAR expectations unrolled
expressions. Using shorter prefixes, PE_ and VE_ instead of pac_expectation and
var_expectations.
2019-04-02 22:57:45 +02:00
Stéphane Adjemia (Scylla) 8415ac48a0
Fixed bug (missing initialisation). 2019-04-02 21:31:45 +02:00
Sébastien Villemot 774e60f04c
options_.risky_steadystate is an (undocumented) boolean value
By the way, enable the option in example1_korder.mod (it does not work, but no
harm since it’s not in the testsuite).
2019-04-02 19:16:13 +02:00
Sébastien Villemot dd09264b03
k-order DLL: return unfolded matrices in 5th output argument
Thus we can remove unfolding code from k_order_pert.m.
2019-04-02 19:16:13 +02:00
Stéphane Adjemia (Scylla) aa499671ce
Added the possibility to rename an endogenous variable in equation. 2019-04-02 18:06:47 +02:00
Stéphane Adjemia (Scylla) 599ebc2614
Ensure that residuals are removed even if the variable is not preceeded by a + symbol. 2019-04-02 15:40:43 +02:00
Stéphane Adjemia (Scylla) a72ee7e919
Updated dseries submodule. 2019-04-02 14:30:42 +02:00
Stéphane Adjemia (Scylla) f39f57b9b5
Added parameter values in cherrypick/agregate routines. 2019-04-02 07:11:32 +02:00
Stéphane Adjemian (Charybdis) 5a519b812f
Updated comments. 2019-03-29 17:52:46 +01:00
Stéphane Adjemian (Charybdis) 7b7bca8bda
Generalised trend component model.
Added the possibility to associate more than one trend to an endogenous
variable. The number of error correction equations is longer required to be
equal to the number of trends.
2019-03-29 17:52:46 +01:00
Houtan Bastani d84d8af8a8
dyn_ols: fix typo 2019-03-29 15:23:19 +01:00
Houtan Bastani 256949a243
fix spacing 2019-03-29 15:23:03 +01:00
Stéphane Adjemian (Charybdis) 39041009ef
Added tag on auxiliary variable for PAC/VAR expectations. 2019-03-28 11:19:38 +01:00
Stéphane Adjemian (Charybdis) cb97ed8081
Added tag on equation defining PAC/VAR expectation unrolled expression. 2019-03-28 11:18:42 +01:00
Stéphane Adjemian (Charybdis) 6c58598568
Fixed bug if lhs is an expression instead of an endogenous variable. 2019-03-27 15:24:05 +01:00
Houtan Bastani 825a010a90
sur, pooled_fgls, pooled_ols: add date range option 2019-03-27 14:57:57 +01:00
Houtan Bastani 4dbbf4f02e
olsgibbs: add date range option 2019-03-27 11:04:00 +01:00
Sébastien Villemot e48177543b
intersect(…, 'stable') was introduced in MATLAB R2013a
Re-use the existing Octave replacement by making it MATLAB-compatible.
2019-03-26 18:53:51 +01:00
Sébastien Villemot d6c449ea70
narginchk was introduced in MATLAB R2011b 2019-03-26 18:53:51 +01:00
Sébastien Villemot 043058bd93
Compatibility fix for MATLAB ≤ R2012b
In those releases, the intersect function was behaving differently when given
arguments with different orientations.

Put the two arguments in the same orientation, to avoid the problem (recalling
that options_.varobs is column-oriented).
2019-03-26 18:53:43 +01:00
Sébastien Villemot 04323301a5
isdiag was introduced in MATLAB R2014a
Provide a replacement by reusing a similar function that was under
matlab/general/utilities/.
2019-03-26 16:50:06 +01:00
Houtan Bastani d242ed88a2
dyn_ols: add date range option 2019-03-26 15:04:16 +01:00
Houtan Bastani ae6c118e9e
fix bug when looking for parameter in unary op node 2019-03-26 11:06:31 +01:00
Houtan Bastani 9ab4c6f80d
ols-style equations: handle additive elements separated by + and -
use same algorithm as in preprocessor to facilitate future changes
2019-03-26 11:06:30 +01:00
Stéphane Adjemian (Charybdis) b98e0a2bbf
Added routine to agregate cherry-picked submodels. 2019-03-25 17:59:22 +01:00
Stéphane Adjemian (Charybdis) d4a1d4b46a
Added missing aux. variable (PAC/VAR expectation). 2019-03-25 17:42:01 +01:00
Stéphane Adjemian (Charybdis) e20a3ffa45
Export tags on endogenous and exogenous variables. 2019-03-22 14:39:40 +01:00
Stéphane Adjemian (Charybdis) ecfafc048b
Export equation tags if defined in original mod file. 2019-03-22 11:29:59 +01:00
Stéphane Adjemian (Charybdis) 07a40d2df4
Do not unroll expectations in the equation where they are used...
... But create an auxiliary variable with corresponding equation (where the
expectation are unrolled). Also separate the growth neutrality correction.
2019-03-21 17:33:07 +01:00
Sébastien Villemot 300b29dd95
License file: add files copyrighted by Tom Minka 2019-03-20 16:56:00 +01:00
Sébastien Villemot 44b50d41ae
Fix EOL convention of some files add in 666c9b8003 2019-03-20 16:49:52 +01:00
Willi Mutschler 666c9b8003 Improvement of Identification Toolbox
# Improvements
  * heavily commented (also auxiliary functions) and changed notation to make all the functions (hopefully) more readable and understandable, and hence, easier to debug
  * added identification criteria of Komunjer and Ng (2011, Econometrica) and Qu and Tkachenko (2012, Quantitative Economics)
  * tests can be turned of, i.e. nostrength disables identification strenght, noreducedform disables reduced form criteria, nomoments disables moment criteria, nospectrum disables spectrum criteria, nominimal disables minimal system criteria
  * all kronflags (analytic_derivation_mode) actually work in all functions
  * added functionality when there is correlation in Sigma_e and when one wants to consider corr parameters of exogenous shocks. Previously, (1) corr parameters were not allowed when calling identification and (2) when Sigma_e was not diagonal then the toolbox relied on numerical derviatives only (kronflag=-1). Now it is possible to handle both identification of corr parameters as well as correct analytical derivatives when Sigma_e is not diagonal with all possible kronflag values (-1|-2|0|1)
  * all plots and results are stored in the same folder named identification (previously there was another one with a capital I (Identification))

# Needed changes to preprocessor
  * add as field to options_ident:

    - tex (same as in options_)
    - nostrength (to turn off identification strength)
    - noreducedform (to turn off reduced form criteria)
    - nomoments (to turn off Iskrev's moment criteria)
    - nominimal (to turn off Komunjer and Ng's minimal system criteria)
    - nospectrum (to turn off Qu and Tkachenko's spectrum criteria)

  * add to options_ident:
    - normalize_jacobians (whether to normalize Jacobians or not)
    - grid_nbr (integer used to discretize the interval [-pi;pi]
    - tol_rank (tolerance level to compute ranks)
    - tol_deriv (tolerance level to select nonzero columns in derivatives)
    - tol_sv (tolerance level to select nonzero singular values)
    - ChecksViaSubsets (for debugging purposes, uses different function to find problematic parameter sets)
    - max_dim_subsets_groups (for debugging purposes, used for ChecksViaSubsets)

# Further Suggestions
  * Rename getH.m into getParamsDerivReducedForm.m to make the purpose of this function evident
  * Rename getJJ.m into getIdentificationJacobians.m to make the purpose of this function evident
  * Rename thet2tau.m into IdentificationNumericalObjectiveFunction.m to make the purpose of this function evident
  * dYss, d2Yss, dg1 should also include derivatives wrt to stderr and corr parameters (even though these are just 0), as in other functions (getJJ, dynare_estimation) we always add these manually
  * I am pretty sure the current handling in getH.m of dYss and d2Yss is not correct in the case of nonstationary variables (if g2static is nonempty), I added a warning message, as I am not sure whether this is ever used
  * It would be straigthforward to also include stderr and corr parameters of measurement errors (these is not possible right now). Should I do this?
  * Computations of d2A and d2Om need to be checked, as the differences between computing these with analytically (kronflag=0|1) or numerically kronflag=-1|-2 is really large for the example model of AnSchorfheide.
  * I am not sure how to best normalize Qu and Tkachenko's G matrix. It looks (and in the Gaussian case actually is) very similar to the Ahess matrix. So I used the same normalization rule as for the Ahess matrix. See comments in identification_checks.m. Anyone has a better idea? Please also check the models in test/identification/cgg for differences.
  * parts that are unclear to me are marked by a [@wmutschl] tag
  * the run time of tests/identification/as2007.mod increases from 0h01m27s to 0h03m46s (as Qu and Tkachenko's G matrix takes a little while to compute). One could decrease prior_mc=250 to prior_mc=150.

# New functions
  * commutation: Returns Magnus and Neudecker's commutation matrix that solves k*vec(X)=vec(X')
  * DerivABCD: Derivative of X(p)=A(p)*B(p)*C(p)*D(p) w.r.t to p as in Magnus and Neudecker (1999), p. 175
  * DeriveMinimalState: Derives minimal state space system by checking observability and controllability of all possible combinations of variables
  * duplication: Duplication Matrix (and its Moore Penrose Inverse) as defined by Magnus and Neudecker (2002), p.49, Dp*vec(X) = X
  * identification_checks_via_subsets: finds problematic parameters in a bruteforce fashion: It computes the rank of the Jacobians for all possible parameter combinations, if the rank condition is not fullfilled, these parameter sets are flagged as non-identifiable. For debugging purposes only, as the current identification_checks.m (based on nullspace and multicorrelation coefficients) is much faster

# Detailed changes in getH.m
  * functionality improvements

    - heavily commented (also auxiliary functions) and changed notation of several variables to make this function (hopefully) more readable and understandable, and hence, easier to debug
    - added functionality when Sigma_e is not diagonal and/or when one wants to consider corr parameters of exogenous shocks independent of the value of kronflag
    - fixed function for all values of kronflag, i.e. kronflag=-2|-1|0|1. Previosuly, only kronflag=-2|0 were working, all other kronflags ran into errors (-1 was actually never called , but was dealt with in getJJ.m). I assume kronflag=-1|1 was used only for debugging issues, but still was not working. I fixed this now, the function now works out-of-the-box for all kronflag values.
    - I also outlined and documented what each kronflag does and point to the corresponding equations in Ratto and Iskrev (2012) or Iskrev (2010,Appendix A)
    - the function additionally outputs the Jacobians of B and Sig, which are needed for Qu and Tkachenko (2012) and Komunjer and Ng (2011)'s criteria
    - Moved computation of Jacobian of tau=[ys;vec(A);vech(B * M_.Sigma_e * B')] into getJJ.m to have all Jacobians which are needed for identification in one place. That is, getH.m computes first and second parameter derivatives of (1) reduced-form solution, (2) steady state and (3) Jacobian of dynamic model, whereas getJJ computes and sets up all Jacobians which are used for identification purposes. Therefore, getH might be useful more generally for other purposes than identification. For instance, when doing a GMM estimation, we could use this function to compute analytically the gradient of the moments and provide this to the optimizer used in a GMM context.

  * output arguments

    - renamed `H` (Jacobian wrt parameters of tau=[ys;vec(A);vech(B * M_.Sigma_e * B')] into dTAU, (as H is very confusing, e.g. in other functions it is a Hessian, or Hss and H2ss is also just the steady state. Morevoer, tau is used in Iskrev(2010) for the steady state and reduced-form solution)
    - renamed `Hss` (Jacobian of steady state wrt model parameters only) into `dYss` (as H is very confusing here, see above)
    - renamed `H2ss` (Hessian wrt model parameters only of ys) into d2Yss (as H is very confusing, see above)
    - renamed `gp` into `dg1`, where g1 corresponds to the same variable as in dynamic model files. Note that in params_deriv files gp lacks the contribution of Jacobian wrt steady state and dg1 includes this using the implicit function theorem as outlined in Ratto and Iskrev (2012). Hence, dg1 denotes Jacobian wrt to parameters. It is useful and important to distinguish gp and dg1.
    - added `dB` (Jacobian wrt parameters of solution matrix B) needed for Qu and Tkachenko (2012) as well as Komunjer and Ng (2011)
    - added `dSig` (Jacobian wrt parameters of M_.Sigma_e) needed for Qu and Tkachenko (2012) as well as Komunjer and Ng (2011)

  * input arguments

    - renamed `indx` (index of model parameters to be checked) into `indpmodel`, the p makes it more clear that this is a parameter index
    - renamed `indexo` (index of stderr parameters) into `indpstderr`, the p makes it more clear that this is a parameter index
    - renamed `iv` (index of variables to consider) into `indvar`
    - Renamed `M_` to `M`, `estim_params_` to `estim_params`, `options_` to `options` , `oo_` to `oo` to visualize that these are local and not global variables
    - included `indpcorr` a matrix of indices for corr parameters to be checked

  * misc

    - distinguished clearly between variables in DR or in declaration order without overwriting this in between
    - added which functions call getH.m
    - updated copyright to 2010-2019

# Detailed changes in getJJ.m

  * functionality improvements

    - heavily commented and changed notation of several variables to make this function (hopefully) more readable and understandable, and hence, easier to debug
    - added functionality when Sigma_e is not diagonal and/or when one wants to consider corr parameters of exogenous shocks independent of the value of kronflag
    - tidied the function up, such that it sets up all Jacobians which are needed for identification, i.e. Iskrev's J matrix, Qu and Tkachenko (2012)'s G matrix, Komunjer and Ng (2011)'s D matrix, reduced-form solution (dTAU), linear rational expectation (i.e. Jacobian of steady state and dynamic model equations dLRE).
    - dTAU is now constructed in getJJ instead of in getH (see comment above in getH.m)
    - works for all kronflags, i.e. for numerical derivatives (-1 and -2) as well as for analytical derivatives based on kronecker products (1) or Sylvester Equations (0)
    - added functionality for stderr and corr parameters independent of the value of kronflag (previously this was only possible with numerical derivatives, now it works for all kronflags)
    - finds minimal state vector needed for Komunjer and Ng (2011)'s criteria (function `DeriveMinimalState.m`)
    - moved computations from kronflag=-1 (which were used in case of corr in shock block) into getH.m, so that getJJ now only sets up the Jacobians for LRE, Iskrev's J, Qu and Tkachenko's G and Komunjer and Ng's D, whereas getH computes the Jacobians (wrt parameters) of A, B, Sigma_e, Om, Yss and g1. This should simplify debugging as everything is now in one place and not in two

  * output arguments

    - renamed `JJ` into `J`
    - renamed `H` into `dTAU` (as H is very confusing, e.g. in other functions it is a Hessian, or Hss and H2ss is also just the steady state. Morevoer, tau is used in Iskrev(2010) for the steady state and reduced-form solution)
    - renamed `gp` into `dLRE`, as this corresponds to Jacobian of LRE=[Yss;vec(g1)] where g1 is the Jacobian of the dynamic model equations.
    - renamed `gam` into `MOMENTS`
    - added `G` for Qu and Tkachenko's Jacobian matrix G
    - added `D` for Komunjer and Ng's Jacobian matrix D
    - reordered output arguments

  * input arguments

    - added `options_ident` as input argument; hence, `kronflag`, `nlags` and `useautocorr` are removed from input arguments as these are available in options_ident
    - Renamed `M_` to `M`, `estim_params_` to `estim_params`, `options_` to `options` , `oo_` to `oo` to visualize that these are local and not global variables
    - renamed `indx` (index of model parameters to be checked) into `indpmodel`, the p makes it more clear that this is a parameter index
    - renamed `indexo` (index of stderr parameters) into `indpstderr`, the p makes it more clear that this is a parameter index
    - added `indpcorr` (index of corr parameters)
    - renamed `mf` (index of VAROBS variables) into `indvobs`

  * misc

    - updated copyright to 2010-2019
    - provided some comments on several ways to compute the spectral density matrix
    - added which functions call getJJ.m

# Detailed changes in thet2tau.m

  * functionality improvements

    - heavily commented and changed notation of several variables to make this function (hopefully) more readable and understandable, and hence, easier to debug
    - Added output option to compute spectral density matrix
    - Reorded and added some output option.
    - Instead of Om, `outputflag=0` computes B and Sigma_e, which are needed for Qu and Tkachenko as well as Komunjer and Ng. The Jacobian of Om is then computed in getJJ or getH from Jacobian of B and Sigma_e. Due to some testing with An and Schorfheide model this seems to be more accurate when I compare these with the analytical derivatives. The old behavior (computing Om directly) can be restored by setting `outputflag=-2`.
    - In total this function can now be used to compute numerically Jacobians of Yss, A, B, Sigma_e, Om, g1, autocovariogram and spectral density
    - Clearly distinguished (and commented) on the different outputs of this function.
    - Works for all types of parameters, ie. model, stderr and corr.
    - This function can now also be used when there is no estimated_params block. Previously, there was an error when there was no estimated_params block when calling `set_all_parameters` as this requires some information in `estim_params`. I fixed this by providing a temporary local estim_parms structure with the necessary information on model, stderr and corr parameters. In this way, this can be easily extended to also include stderr and corr parameters of measurement errors.

  * output arguments

    - renamed `tau` into `out`, as this function computes *very* different things (and not only tau) depending on an input flag

  * input arguments

    - renamed `flagmoments` into `outputflag` as this function does not only compute moments but many other things (see above)
    - renamed `indx` (index of model parameters to be checked) into `indpmodel`, the p makes it more clear that this is a parameter index
    - renamed `indexo` (index of stderr parameters) into `indpstderr`, the p makes it more clear that this is a parameter index
    - added `indpcorr` (index of corr parameters)
    - merged `mf` (index of observable variables) and `iv` (index of variables to consider) into a single index `indvar` as there is no need to distinguish between these two indices (they were never used in combination)
    - added `grid_nbr` (number of grid points to compute spectral density)
    - reordered input arguments

  * misc

    - added which functions call thet2tau
    - updated copyright to 2010-2019

# Detailed changes in identification_analysis.m

  * functionality improvements

    - heavily commented and changed notation of several variables to make this function (hopefully) more readable and understandable, and hence, easier to debug
    - renamed `dg1` to `dLRE`, renamed `vecg1` to `lre`, renamed `H` to `dTAU` (see comments above)
    - added option `numzerotolderiv` with default `1.e-8` used for non-zero derivatives
    - added option `numzerotolrank` with default `1.e-10` used for rank computations
    - added theoretical identification analysis based on Komunjer and Ng (2011)'s method, i.e. steady state and observational equivalent spectral densities within a minimal system
    - added theoretical identification analysis based on Qu and Tkachenko (2012)'s method, i.e. steady state and spectral density
    - restructured the code slightly to combined chunks of code that belong together on the one hand, and on the other hand to differentiate between the different criteria
    - added call to new function `identification_checks_via_subsets.m` (see above for the definition of the functionality) to perform identification checks differently as find it more intuitive and (most likely) more precise.

  * input arguments

    - removed `bounds` and `dataset_` as input argument, because these are not needed
    - moved `name_tex` and `tittxt` into `options_ident` as these two inputs are only used in `ident_bruteforce.m` and already set in `dynare_identification.m`

  * output arguments

    - added `ide_spectrum` structure for Qu and Tkachenko's criteria based on the spectral density
    - added `ide_minimal` structure for Komunjer and Ng's criteria based on the minimal state space system
    - reordered output arguments

  * misc

    - added which functions call identification_analysis
    - updated copyright to 2010-2019

# Detailed changes in dynare_identification.m

  * functionality improvements

    - heavily commented and changed notation of several variables to make this function (hopefully) more readable and understandable, and hence, easier to debug
    - included more options (and default values) which can be set by the user, i.e. nostrength, nomoments, nominimal, nospectrum, tex, tol_rank, tol_deriv, tol_sv, grid_nbr, ChecksViaSubsets, max_dim_subsets_group
    - instead of turning warnings globally off, I specified the relevant warnings for matlab and octave, respectively, off
    - improved the warning messages slightly
    - restructured chunks of code with respect to different criteria

  * output arguments

    - renamed arguments: TAU to STO_TAU, GAM to STO_MOMENTS, LRE to STO_LRE, gp to STO_si_dLRE, H to STO_si_dTAU, JJ to STO_si_J
    - added arguments: STO_G and STO_D for the two new criteria

  * misc

    - added which functions call dynare_identification
    - updated copyright to 2010-2019

# Detailed changes in identification_checks.m

  * functionality improvements

    - added checks for Komunjer and Ng's D matrix. Note that the Jacobian D=[D_par D_rest], where D_par depends on the parameters and D_rest does not. So this is taken into account.
    - added checks for Qu and Tkachenko's G matrix. Note that the Jacobian G is a Gram matrix with dimension nparam x nparam, similar to Ahess. So this is taken into account. I am, however, not sure whether this is correct regarding the multicorrelation and pairwise correlation coefficients. Please double check.
    - the rank is now actually computed at the prespecified tolerance level (and not Matlab's default level), so this is in accordance to the further analysis of problematic parameter sets

  * output arguments

    - added the rank to output arguments which is later also displayed
    - replaced the J or JJ part in the variable names with X as this function is used for all sorts of Jacobians, not only Iskrev's J

  * input arguments

    - renamed hess_flag to output_flag (and clearly outlined what each value does)
    - added tol_rank and tol_sv as input arguments, such that the tolerance levels can be changed by the user and not preimplemented in this function
    - added param_nbr which is needed for Komunjer and Ng's D matrix

  * misc

    - updated copyright to 2010-2019

# Detailed changes in ident_bruteforce.m

  * functionality improvements

    - the output directory was set with a capital I, i.e. Identification, whereas in all other functions we rely on lower case i, i.e. identification. I changed this to lower-cases, so everything is now saved in the same folder.
    - changed displayed strings to be more precise with the corresponding papers and notation

  * input arguments

    - renamed `n` to `max_dim_cova_group` to name options the same across functions
    - renamed `pnames_TeX` to `name_tex` to name options the same across functions
    - added `tol_deriv` as tolerance level which can be changed by the user

  * misc

    - Added some comments
    - updated copyright to 2010-2019

# Detailed changes in disp_identification.m

  * functionality improvements

    - this function displays the same output for different Jacobians, hence I put the common code into a for loop. This should simplify changing the output that is printed to the console. Previously the code was simply repeated for the different criteria and only the strings changed.
    - some settings relevant for the computation are now printed as a summary to the console
    - the tolerance level, rank and required rank are always displayed on the command line to see how many problematic sets there are and which tolerance level was used
    - the function is also able to display problematic parameters computed by the new function `identification_checks_via_subsets.m` which is only used for debugging.

  * input arguments

    - added `idespectrum` structure for analysis based on Qu and Tkachenko
    - added `ideminimal` structure for analysis based on Komunjer and Ng
    - added `options_ident` to have all necessary settings in a structure

  * misc

    - Added some comments
    - Removed uncommented code that was not used as this was redundant and probably an artifact of the original programming?!
    - updated copyright to 2010-2019

# Detailed changes in dsge_likelihood.m

  * misc

    - adjusted call of getH due to changes of input and output arguments
    - updated copyright to 2010-2019

# Detailed changes in cosn.m

  * misc

    - commented functionality, input and output arguments of this function
    - updated copyright to 2010-2019
2019-03-20 15:44:54 +00:00
Sébastien Villemot 89a3e94cbf
Use true/false instead of 1/0 for boolean options
This is more elegant, and makes it easier to distinguish them from integer
options.

Also simplify test expressions for these boolean options.
2019-03-19 15:21:16 +01:00
Stéphane Adjemian (Charybdis) 567ca19000
Added routine to evaluate the RHS of an equation. 2019-03-19 07:08:55 +01:00
Houtan Bastani 62c4181394
common_parsing: update start/end dates when dates are supposed to overlap 2019-03-15 16:28:55 +01:00
Houtan Bastani 6150de2d4a
var_expectation: fix typo 2019-03-15 16:25:58 +01:00
Stéphane Adjemian (Charybdis) d3db092c81
Added a cherry-pick routine.
Extracts equations from a mod file and produce .inc files (equations, lists of
parameters, endogenous variables and exogenous variables) that can be included
in a mod file that will be used to simulate the model.

If an innovation has a tag `(used='estimationonly')` it will be excluded from
the generated files (ie list of shocks and equations).
2019-03-14 11:04:10 +01:00
Stéphane Adjemian (Charybdis) 52eed33c42
Fixed growth neutrality correction in presence of exogenous variables.
Also fixes growth neutrality correction in models with non optimizing
agents (correction was not taking into account the value of the share of non
optimizing agents).
2019-03-11 11:54:53 +01:00
Sébastien Villemot a357003ba7
Octave compatibility fix 2019-03-08 15:59:51 +01:00
Sébastien Villemot 7a2d5d4f0e
1st order approximation: fix for purely-forward models
Closes #1641
2019-03-08 15:54:10 +01:00
Stéphane Adjemian (Charybdis) 6997e0a4a6
Added the possibility to have exogenous variables in the optimal part of PAC.
Works with iterative ols and nls.
2019-03-08 14:34:41 +01:00
Houtan Bastani d7246b3489
ols-style routines: allow user to specify parameters to be estimated 2019-03-08 11:15:33 +01:00
Stéphane Adjemian (Charybdis) 33e43a55b2
Cosmetic change. Print expression on more than one line (one line per additive term). 2019-03-08 09:36:56 +01:00
Houtan Bastani 183081f94b
pooled_fgls: remove useless part of code 2019-03-07 18:06:53 +01:00
Stéphane Adjemian (Charybdis) 03e60b6439
Cosmetic change. 2019-03-07 17:09:56 +01:00
Stéphane Adjemian (Charybdis) dac08da6a4
Added the possibility to tag a varexo variable as an observed variable. 2019-03-07 15:31:34 +01:00
Stéphane Adjemian (Charybdis) 1471b3bfce
Changegd estimator for the exogenous part of pac.estimation.iterative_ols routine. 2019-03-07 12:37:06 +01:00
Stéphane Adjemian (Charybdis) 4d69674874
Partially reverts 1190cab. 2019-03-07 12:31:23 +01:00
Houtan Bastani 1190caba61
pac.estimate.nls: clean up code: remove unused variables, unused output arguments, no need for otherwise in switch 2019-03-07 11:59:59 +01:00
Houtan Bastani b844bc53a0
pac: fix bugs in output of ec component 2019-03-07 11:44:40 +01:00
Stéphane Adjemian (Charybdis) 9eb64a0b64
Updated preprocessor submodule.
Fixes exogenous variables in PAC equation without non optimizing behaviour.
2019-03-06 15:39:00 +01:00
Houtan Bastani 6f80abd1f8
gui: various fixes to perfect foresight 2019-03-06 14:11:25 +01:00
Houtan Bastani ce97e51aec
small fixes 2019-03-06 14:01:29 +01:00
Houtan Bastani 67df1d2df1
clarify field names 2019-03-06 14:01:29 +01:00
Houtan Bastani 1abec862e1
gui: if no unanticipated shocks, run simulation and return 2019-03-06 14:01:29 +01:00
Houtan Bastani 16dfc206bf
gui: fix up initval and endval: don’t start at simulation at steady state; initialize endogenous variables as well 2019-03-06 14:01:29 +01:00
Houtan Bastani c0319a9bff
fix bug in printing of error message: ds is not available (or needed) in print function 2019-03-05 14:57:51 +01:00
Stéphane Adjemian (Charybdis) 4798c07ced
Avoid infinite loop in pac.estimation.iterative_ols(). 2019-03-05 07:21:08 +01:00
Houtan Bastani 01c5d2a90c
add model_name option to ols-style routines 2019-03-04 11:15:51 +01:00
Houtan Bastani e4888c0775
pooled_ols: use varargout instead of oo_ to pass values back to pooled_fgls 2019-03-04 11:15:51 +01:00
Houtan Bastani f443037ed3
fix argument checking in pooled_ols 2019-03-04 11:15:51 +01:00
Stéphane Adjemian (Charybdis) cdadab34b4
Streamlined code in print_expectations and allow diff and unary op in growth option of pac_model. 2019-03-02 22:36:13 +01:00
Stéphane Adjemian (Charybdis) d00b57541e
Allow exogenous variables in pac.estimation.iterative_ols routine.
The parameters associated to these additional variables can be estimated or calibrated.
2019-03-01 23:32:47 +01:00
Stéphane Adjemian (Charybdis) 21e6260011
Cosmetic, strmatch() -> find(strcmp()).
[skip ci]

(cherry picked from commit 580939d70b)
2019-02-28 21:24:17 +01:00
Stéphane Adjemian (Charybdis) 580939d70b
Cosmetic, strmatch() -> find(strcmp()).
[skip ci]
2019-02-28 21:23:05 +01:00
Stéphane Adjemian (Charybdis) fd98e83d78
Adapted integration tests for 8e60ded. 2019-02-28 16:23:04 +01:00
Stéphane Adjemian (Charybdis) e75ca94a48
Fixed PAC with growth option equal to lagged endogenous or exogenous variable.
Still not working with first difference or lagged first difference.
2019-02-28 14:58:17 +01:00
Stéphane Adjemian (Charybdis) 6b6a9b793c
Updated header.
We recently added leads on first differences as an auxiliary variable type.

[skip ci]

(cherry picked from commit e1f1fd2de3)
2019-02-28 10:24:53 +01:00
Stéphane Adjemian (Charybdis) e1f1fd2de3
Updated header.
We recently added leads on first differences as an auxiliary variable type.

[skip ci]
2019-02-28 10:23:23 +01:00
Stéphane Adjemian (Charybdis) 5fbc04ada2
Return 0 if the input is not the name of an endogenous variable.
Also removed the call to deprecated strmatch.

[skip ci]

(cherry picked from commit 3400e13c06)
2019-02-28 10:17:43 +01:00
Stéphane Adjemian (Charybdis) 3400e13c06
Return 0 if the input is not the name of an endogenous variable.
Also removed the call to deprecated strmatch.

[skip ci]
2019-02-28 10:15:08 +01:00
Stéphane Adjemian (Charybdis) 4093a99f40
Efficiency change.
It is not possible to pre-allocate a cell array here, but

Array = {};
for i=1:10
    Array(i) = {'a'}
end

is faster by a factor 10 than

Array = {};
for i=1:10
    Array = [Array, 'a']
end
2019-02-28 09:41:35 +01:00
Stéphane Adjemian (Charybdis) 3aa977600c
Allow arbitrary unary operator, not only log(). 2019-02-28 09:30:03 +01:00
Stéphane Adjemian (Charybdis) 1775869bbd
Avoid infinite loop. 2019-02-28 09:24:12 +01:00
Stéphane Adjemian (Charybdis) 8e60ded1bd
Write the growth correction term in a separate file. 2019-02-27 22:26:07 +01:00
Stéphane Adjemian (Charybdis) f07b1e8028
Account for exogenous variables in PAC's RoT part.
Fixes the iterative_ols estimation of PAC equation when the Rule of Thumbs (non
optimizing) part of the equations contains endogenous and/or exogenous variables.
2019-02-27 15:53:25 +01:00
Stéphane Adjemian (Charybdis) 6500099f4e
Removed debugging display. 2019-02-27 15:08:49 +01:00
Houtan Bastani 075a6b7db5
sur, surgibbs: following change in `067fc9cc5a5b01e9a04209850f08ecbf3bd0a2b1` pidxs no longer needed as output from sur.m 2019-02-26 17:01:33 +01:00
Houtan Bastani 067fc9cc5a
surgibbs: fix bug in assigning back to M_.params 2019-02-26 16:56:20 +01:00
Houtan Bastani 043ecfc3b2
Revert "surgibbs: fix bug in param values output"
This reverts commit d6c5618a74.
2019-02-26 16:54:26 +01:00
Houtan Bastani d6c5618a74
surgibbs: fix bug in param values output 2019-02-26 15:42:51 +01:00
Houtan Bastani 0cd18c3841
create include files for estimated parameters 2019-02-26 15:42:51 +01:00
Stéphane Adjemian (Charybdis) f1707039dd
Adapted disp_dr for new auxilary variables.
diffs, lagged diffs and leaded diffs.

(cherry picked from commit 45fbfe4dce)
2019-02-25 17:37:49 +01:00
Stéphane Adjemian (Charybdis) 1aa7f4a93f
Added PAC with Model Consistent Expectations. 2019-02-25 17:31:58 +01:00
Stéphane Adjemian (Charybdis) ac09ab9dbf
Removed useless condition. 2019-02-25 17:31:58 +01:00
Stéphane Adjemian (Charybdis) 45fbfe4dce
Adapted disp_dr for new auxilary variables.
diffs, lagged diffs and leaded diffs.
2019-02-25 17:18:54 +01:00
Sébastien Villemot d4217c02b0
Provisions for Octave 5 2019-02-25 15:28:24 +01:00
Sébastien Villemot 870d75857c
Simplification for missing nanmean
Handle it as other functions from the Statistics toolbox
2019-02-25 15:28:23 +01:00
Stéphane Adjemian (Charybdis) d81545941e
Cosmetic changes. 2019-02-25 14:54:57 +01:00
Stéphane Adjemian (Charybdis) d6e6b29620
Removed unused global it_. 2019-02-25 14:54:57 +01:00
Stéphane Adjemian (Charybdis) 84cdf6d142
Removed unnecessary square brackets. 2019-02-25 14:54:56 +01:00
Houtan Bastani 030737b9c0
sur: fix input checks 2019-02-25 14:23:48 +01:00
Houtan Bastani 4399972a2d
sur: add noniterative option 2019-02-25 14:23:48 +01:00
Stéphane Adjemian (Charybdis) 0af3068569
Handle situations where a PAC model is used in more than one equation. 2019-02-22 17:58:24 +01:00
Stéphane Adjemian (Charybdis) dfb62e4ebc
Fixed models with fewer targets than EC equations. 2019-02-21 12:52:12 +01:00
Stéphane Adjemian (Charybdis) c96f55309d
Fixed typo. 2019-02-21 12:52:12 +01:00
Stéphane Adjemian (Charybdis) 6e7a2e2c20
Fixed ordering of the targets. 2019-02-21 12:52:12 +01:00
Sébastien Villemot 414b0a19b6
Fix error message of makedataset 2019-02-19 18:57:17 +01:00
Houtan Bastani a7165e2c12
fix tests 2019-02-19 12:34:30 +01:00
Sébastien Villemot 1f84bc051d
Under Octave, the "statistics" Forge package is now a requirement
The gamrnd fallback under matlab/missing/stats/ does not work under Octave
because the +gamrnd/ folder is not accessible (it has the same name as the
function, which does not work under Octave).

Instead of fixing this, rather make the statistics toolbox a requirement, since
anyways it is very easy to obtain under Octave.

Accordingly:
- do not try to run the unit tests of matlab/missing/stats/ under Octave
- merge the matlab/missing/stats-matlab/ into matlab/missing/stats/, since this
  directory is now MATLAB-only.

Also:
- move matlab/distributions/+gamrnd/ under matlab/missing/stats/ for
  consistency
- in the manual: remove obsolete link to Octave downloads on the Dynare
  website; update URL of Octave Forge

Closes #1638
2019-02-18 17:41:10 +01:00
Sébastien Villemot 0b1c465b38
Octave compatibility fix: intersect(..., 'stable')
The 'stable' option of intersect(), which keeps the element order of the first
argument, is not available on Octave. Provide a fallback implementation, and
adapt the code.
2019-02-15 18:43:19 +01:00
Houtan Bastani b89e3b2e85
steady: various simplifications
(cherry picked from commit 31ec5ac90abf3ece558b1c7d0fab3e5baea54e02)
2019-02-15 17:11:38 +01:00
Stéphane Adjemia (Scylla) 3cb3b4aee5
Allow models with leads in bgp.write().
Also added tests to check that we are able to identify the Balanced Growth
Path, note that it does not work with tests/bgp/fs2000.mod.
2019-02-15 16:59:26 +01:00
Sébastien Villemot 5011b94aa7
Update dseries submodule 2019-02-14 19:01:56 +01:00
Houtan Bastani 8f1aef3f57
get_companion_matrix: evalin base not necessary 2019-02-14 12:19:34 +01:00
Houtan Bastani b92b342c7b
sur, pooled_fgls: user inv(chol()) instead of chol(inv()) 2019-02-14 10:55:08 +01:00
Houtan Bastani db8638ec97
pooled_fgls: use iterative method and fix bug in M_.Sigma_e 2019-02-13 15:57:06 +01:00
Houtan Bastani 9391a770b1
sur: fix bug in setting M_.Sigma_e entries 2019-02-13 15:57:06 +01:00
Houtan Bastani 29c3a86c81
sur: move to iterative method 2019-02-13 15:57:06 +01:00
Stéphane Adjemia (Scylla) 3e3f8fbfbc
Cosmetic changes. 2019-02-13 15:19:19 +01:00
Stéphane Adjemia (Scylla) 3cfd588d3f
Allow initialization with histval block.
[skip ci]

(cherry picked from commit e9688560f6)
2019-02-13 15:19:18 +01:00
Houtan Bastani 98591af846
sur: update M_.Sigma_e using estimated parameters 2019-02-12 19:57:44 +01:00
Houtan Bastani a110896483
Revert "sur: fix bug with M_.Sigma_e"
This reverts commit 9c76b1da51.
2019-02-12 19:07:55 +01:00
Houtan Bastani fe4fb7df2d
sur: modify error message 2019-02-12 17:03:11 +01:00
Houtan Bastani 91d99fe645
if find returns empty this ended in a syntax error 2019-02-12 16:59:23 +01:00
Houtan Bastani 9c76b1da51
sur: fix bug with M_.Sigma_e 2019-02-12 16:55:20 +01:00
Stéphane Adjemia (Scylla) e9688560f6
Allow initialization with histval block.
[skip ci]
2019-02-11 16:57:20 +01:00
Houtan Bastani 874ba9a641
put_in_sur_form: simplify function and make robust to potential future changes in dseries 2019-02-11 16:36:25 +01:00
Houtan Bastani a3867a0b34
put_in_sur_form: fix bug in cross equation restriction 2019-02-11 16:32:04 +01:00
Houtan Bastani ac171747cd
sur: clean up error messages 2019-02-11 15:23:36 +01:00
Houtan Bastani c8d04e93b9
sur: fix bug in lhssub when param_names was specified and simplify code 2019-02-11 15:17:10 +01:00
Stéphane Adjemia (Scylla) 219d2bb31b
Updated dseries submodule. 2019-02-10 00:02:14 +01:00
Houtan Bastani fd880a9387
gui: other simplifications/aesthetic changes 2019-02-07 19:02:35 +01:00
Houtan Bastani 922536e4ea
gui: rework transitory shocks 2019-02-07 19:02:35 +01:00
Houtan Bastani aef31e25e8
gui: rework permanent shocks 2019-02-07 19:02:35 +01:00
Houtan Bastani 6b4a9b300c
gui: initialize M_.det_shocks to [] 2019-02-07 19:02:35 +01:00
Houtan Bastani ae5dbdee9f
gui: no need to specify indices 2019-02-07 19:02:34 +01:00
Houtan Bastani 0352e9025a
ols style parsing: allow division in node to be subtracted from LHS 2019-02-06 12:34:13 +01:00
Houtan Bastani 106976e6d5
print info about node on error 2019-02-06 12:16:27 +01:00
Houtan Bastani f9239d5347
remove unnecessary conversion to string 2019-02-06 12:14:07 +01:00
Houtan Bastani de573890b7
fix bug in handling unary minus node as uminus is not a valid dseries operation 2019-02-05 19:52:12 +01:00
Houtan Bastani 8fdf805f1f
handle case when node is not passed to error function 2019-02-05 19:36:11 +01:00
Houtan Bastani a6549397a0
change folder name as `-` prevented recognition of the file 2019-02-05 18:08:34 +01:00
Houtan Bastani 0ad8bfbd16
gui: clean up file 2019-02-05 18:04:09 +01:00
Houtan Bastani ce3be98aa0
gui: potentially return output as JSON string 2019-02-05 17:49:08 +01:00
Houtan Bastani 67a7e43573
gui: pass JSON as string 2019-02-05 17:49:08 +01:00
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