Dynare Reference Manual: Estimation

Next: Model Comparison, Previous: Stochastic solution and simulation, Up: The Model file [Contents][Index]

### 4.14 Estimation

Provided that you have observations on some endogenous variables, it is possible to use Dynare to estimate some or all parameters. Both maximum likelihood (as in Ireland (2004)) and Bayesian techniques (as in Rabanal and Rubio-Ramirez (2003), Schorfheide (2000) or Smets and Wouters (2003)) are available. Using Bayesian methods, it is possible to estimate DSGE models, VAR models, or a combination of the two techniques called DSGE-VAR.

Note that in order to avoid stochastic singularity, you must have at least as many shocks or measurement errors in your model as you have observed variables.

The estimation using a first order approximation can benefit from the block decomposition of the model (see block).

Command: varobs VARIABLE_NAME…;

  Description

  This command lists the name of observed endogenous variables for the estimation procedure. These variables must be available in the data file (see estimation_cmd).

  Alternatively, this command is also used in conjunction with the `partial_information` option of `stoch_simul`, for declaring the set of observed variables when solving the model under partial information.

  Only one instance of `varobs` is allowed in a model file. If one needs to declare observed variables in a loop, the macro-processor can be used as shown in the second example below.

  Simple example

      varobs C y rr;

  Example with a loop

      varobs
      @#for co in countries
        GDP_@{co}
      @#endfor
      ;

Block: observation_trends ;

  Description

  This block specifies linear trends for observed variables as functions of model parameters. In case the `loglinear`-option is used, this corresponds to a linear trend in the logged observables, i.e. an exponential trend in the level of the observables.

  Each line inside of the block should be of the form:

      VARIABLE_NAME(EXPRESSION);

  In most cases, variables shouldn’t be centered when `observation_trends` is used.

  Example

      observation_trends;
      Y (eta);
      P (mu/eta);
      end;

Block: estimated_params ;

  Description

  This block lists all parameters to be estimated and specifies bounds and priors as necessary.

  Each line corresponds to an estimated parameter.

  In a maximum likelihood estimation, each line follows this syntax:

      stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 | PARAMETER_NAME
      , INITIAL_VALUE [, LOWER_BOUND, UPPER_BOUND ];

  In a Bayesian estimation, each line follows this syntax:

      stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 |
      PARAMETER_NAME | DSGE_PRIOR_WEIGHT
      [, INITIAL_VALUE [, LOWER_BOUND, UPPER_BOUND]], PRIOR_SHAPE,
      PRIOR_MEAN, PRIOR_STANDARD_ERROR [, PRIOR_3RD_PARAMETER [,
      PRIOR_4TH_PARAMETER [, SCALE_PARAMETER ] ] ];

  The first part of the line consists of one of the three following alternatives:

  `stderr VARIABLE_NAME`

    Indicates that the standard error of the exogenous variable VARIABLE_NAME, or of the observation error/measurement errors associated with endogenous observed variable VARIABLE_NAME, is to be estimated

  `corr VARIABLE_NAME1, VARIABLE_NAME2`

    Indicates that the correlation between the exogenous variables VARIABLE_NAME1 and VARIABLE_NAME2, or the correlation of the observation errors/measurement errors associated with endogenous observed variables VARIABLE_NAME1 and VARIABLE_NAME2, is to be estimated. Note that correlations set by previous `shocks`-blocks or `estimation`-commands are kept at their value set prior to estimation if they are not estimated again subsequently. Thus, the treatment is the same as in the case of deep parameters set during model calibration and not estimated.

  `PARAMETER_NAME`

    The name of a model parameter to be estimated

  `DSGE_PRIOR_WEIGHT`

    …

  The rest of the line consists of the following fields, some of them being optional:

  `INITIAL_VALUE`

    Specifies a starting value for the posterior mode optimizer or the maximum likelihood estimation. If unset, defaults to the prior mean.

  `LOWER_BOUND`

    Specifies a lower bound for the parameter value in maximum likelihood estimation. In a Bayesian estimation context, sets a lower bound only effective while maximizing the posterior kernel. This lower bound does not modify the shape of the prior density, and is only aimed at helping the optimizer in identifying the posterior mode (no consequences for the MCMC). For some prior densities (namely inverse gamma, gamma, uniform, beta or Weibull) it is possible to shift the support of the prior distributions to the left or the right using prior_3rd_parameter. In this case the prior density is effectively modified (note that the truncated Gaussian density is not implemented in Dynare). If unset, defaults to minus infinity (ML) or the natural lower bound of the prior (Bayesian estimation).

  `UPPER_BOUND`

    Same as lower_bound, but specifying an upper bound instead.

  `PRIOR_SHAPE`

    A keyword specifying the shape of the prior density. The possible values are: `beta_pdf`, `gamma_pdf`, `normal_pdf`, `uniform_pdf`, `inv_gamma_pdf`, `inv_gamma1_pdf`, `inv_gamma2_pdf` and `weibull_pdf`. Note that `inv_gamma_pdf` is equivalent to `inv_gamma1_pdf`

  `PRIOR_MEAN`

    The mean of the prior distribution

  `PRIOR_STANDARD_ERROR`

    The standard error of the prior distribution

  `PRIOR_3RD_PARAMETER`

    A third parameter of the prior used for generalized beta distribution, generalized gamma, generalized Weibull and for the uniform distribution. Default: `0`

  `PRIOR_4TH_PARAMETER`

    A fourth parameter of the prior used for generalized beta distribution and for the uniform distribution. Default: `1`

  `SCALE_PARAMETER`

    A parameter specific scale parameter for the jumping distribution’s covariance matrix of the Metropolis-Hasting algorithm

  Note that INITIAL_VALUE, LOWER_BOUND, UPPER_BOUND, PRIOR_MEAN, PRIOR_STANDARD_ERROR, PRIOR_3RD_PARAMETER, PRIOR_4TH_PARAMETER and SCALE_PARAMETER can be any valid EXPRESSION. Some of them can be empty, in which Dynare will select a default value depending on the context and the prior shape.

  As one uses options more towards the end of the list, all previous options must be filled: for example, if you want to specify SCALE_PARAMETER, you must specify PRIOR_3RD_PARAMETER and PRIOR_4TH_PARAMETER. Use empty values, if these parameters don’t apply.

  Example

  The following line:

      corr eps_1, eps_2, 0.5,  ,  , beta_pdf, 0, 0.3, -1, 1;

  sets a generalized beta prior for the correlation between `eps_1` and `eps_2` with mean 0 and variance 0.3. By setting PRIOR_3RD_PARAMETER to -1 and PRIOR_4TH_PARAMETER to 1 the standard beta distribution with support [0,1] is changed to a generalized beta with support [-1,1]. Note that LOWER_BOUND and UPPER_BOUND are left empty and thus default to -1 and 1, respectively. The initial value is set to 0.5.

  Similarly, the following line:

      corr eps_1, eps_2, 0.5,  -0.5,  1, beta_pdf, 0, 0.3, -1, 1;

  sets the same generalized beta distribution as before, but now truncates this distribution to [-0.5,1] through the use of LOWER_BOUND and UPPER_BOUND. Hence, the prior does not integrate to 1 anymore.

  Parameter transformation

  Sometimes, it is desirable to estimate a transformation of a parameter appearing in the model, rather than the parameter itself. It is of course possible to replace the original parameter by a function of the estimated parameter everywhere is the model, but it is often unpractical.

  In such a case, it is possible to declare the parameter to be estimated in the `parameters` statement and to define the transformation, using a pound sign (#) expression (see Model declaration).

  Example

      parameters bet;

      model;
      # sig = 1/bet;
      c = sig*c(+1)*mpk;
      end;

      estimated_params;
      bet, normal_pdf, 1, 0.05;
      end;

Block: estimated_params_init ;
Block: estimated_params_init (OPTIONS…);

  This block declares numerical initial values for the optimizer when these ones are different from the prior mean. It should be specified after the `estimated_params`-block as otherwise the specified starting values are overwritten by the latter.

  Each line has the following syntax:

      stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 | PARAMETER_NAME
      , INITIAL_VALUE;

  Options

  `use_calibration`

    For not specifically initialized parameters, use the deep parameters and the elements of the covariance matrix specified in the `shocks` block from calibration as starting values for estimation. For components of the `shocks` block that were not explicitly specified during calibration or which violate the prior, the prior mean is used.

  See estimated_params, for the meaning and syntax of the various components.

Block: estimated_params_bounds ;

  This block declares lower and upper bounds for parameters in maximum likelihood estimation.

  Each line has the following syntax:

      stderr VARIABLE_NAME | corr VARIABLE_NAME_1, VARIABLE_NAME_2 | PARAMETER_NAME
      , LOWER_BOUND, UPPER_BOUND;

  See estimated_params, for the meaning and syntax of the various components.

Command: estimation [VARIABLE_NAME…];
Command: estimation (OPTIONS…) [VARIABLE_NAME…];

  Description

  This command runs Bayesian or maximum likelihood estimation.

  The following information will be displayed by the command:

  - results from posterior optimization (also for maximum likelihood)
  - marginal log data density
  - posterior mean and highest posterior density interval (shortest credible set) from posterior simulation
  - convergence diagnostic table when only one MCM chain is used or Metropolis-Hastings convergence graphs documented in Pfeifer (2014) in case of multiple MCM chains
  - table with numerical inefficiency factors of the MCMC
  - graphs with prior, posterior, and mode
  - graphs of smoothed shocks, smoothed observation errors, smoothed and historical variables

  Note that the posterior moments, smoothed variables, k-step ahead filtered variables and forecasts (when requested) will only be computed on the variables listed after the `estimation` command. Alternatively, one can choose to compute these quantities on all endogenous or on all observed variables (see `consider_all_endogenous` and `consider_only_observed` options below). If no variable is listed after the `estimation` command, then Dynare will interactively ask which variable set to use.

  Also, during the MCMC (Bayesian estimation with `mh_replic`>0) a (graphical or text) waiting bar is displayed showing the progress of the Monte-Carlo and the current value of the acceptance ratio. Note that if the `load_mh_file` option is used (see below) the reported acceptance ratio does not take into account the draws from the previous MCMC. In the literature there is a general agreement for saying that the acceptance ratio should be close to one third or one quarter. If this not the case, you can stop the MCMC (`Ctrl-C`) and change the value of option `mh_jscale` (see below).

  Note that by default Dynare generates random numbers using the algorithm `mt199937ar` (ie Mersenne Twister method) with a seed set equal to `0`. Consequently the MCMCs in Dynare are deterministic: one will get exactly the same results across different Dynare runs (ceteris paribus). For instance, the posterior moments or posterior densities will be exactly the same. This behaviour allows to easily identify the consequences of a change on the model, the priors or the estimation options. But one may also want to check that across multiple runs, with different sequences of proposals, the returned results are almost identical. This should be true if the number of iterations (ie the value of `mh_replic`) is important enough to ensure the convergence of the MCMC to its ergodic distribution. In this case the default behaviour of the random number generators in not wanted, and the user should set the seed according to the system clock before the estimation command using the following command:

      set_dynare_seed('clock');

  so that the sequence of proposals will be different across different runs.

  Algorithms

  The Monte Carlo Markov Chain (MCMC) diagnostics are generated by the estimation command if mh_replic is larger than 2000 and if option nodiagnostic is not used. If mh_nblocks is equal to one, the convergence diagnostics of Geweke (1992,1999) is computed. It uses a chi square test to compare the means of the first and last draws specified by geweke_interval after discarding the burnin of mh_drop. The test is computed using variance estimates under the assumption of no serial correlation as well as using tapering windows specified in taper_steps. If mh_nblocks is larger than 1, the convergence diagnostics of Brooks and Gelman (1998) are used instead. As described in section 3 of Brooks and Gelman (1998) the univariate convergence diagnostics are based on comparing pooled and within MCMC moments (Dynare displays the second and third order moments, and the length of the Highest Probability Density interval covering 80% of the posterior distribution). Due to computational reasons, the multivariate convergence diagnostic does not follow Brooks and Gelman (1998) strictly, but rather applies their idea for univariate convergence diagnostics to the range of the posterior likelihood function instead of the individual parameters. The posterior kernel is used to aggregate the parameters into a scalar statistic whose convergence is then checked using the Brooks and Gelman (1998) univariate convergence diagnostic.

  The inefficiency factors are computed as in Giordano et al. (2011) based on Parzen windows as in e.g. Andrews (1991).

  Options

  `datafile = FILENAME`

    The datafile: a `.m` file, a `.mat` file, a `.csv` file, or a `.xls`/`.xlsx` file (under Octave, the io package from Octave-Forge is required for the `.csv` and `.xlsx` formats and the `.xls` file extension is not supported). Note that the base name (i.e. without extension) of the datafile has to be different from the base name of the model file. If there are several files named `FILENAME`, but with different file endings, the file name must be included in quoted strings and provide the file ending like

        estimation(datafile='../fsdat_simul.mat',...)

  `dirname = FILENAME`

    Directory in which to store `estimation` output. To pass a subdirectory of a directory, you must quote the argument. Default: `<mod_file>`

  `xls_sheet = NAME`

    The name of the sheet with the data in an Excel file

  `xls_range = RANGE`

    The range with the data in an Excel file. For example, `xls_range=B2:D200`

  `nobs = INTEGER`

    The number of observations following first_obs to be used. Default: all observations in the file after `first_obs`

  `nobs = [INTEGER1:INTEGER2]`

    Runs a recursive estimation and forecast for samples of size ranging of INTEGER1 to INTEGER2. Option `forecast` must also be specified. The forecasts are stored in the `RecursiveForecast` field of the results structure (see RecursiveForecast). The respective results structures `oo_` are saved in `oo_recursive_` (see oo_recursive_) and are indexed with the respective sample length.

  `first_obs = INTEGER`

    The number of the first observation to be used. In case of estimating a DSGE-VAR, `first_obs` needs to be larger than the number of lags. Default: `1`

  `first_obs = [INTEGER1:INTEGER2]`

    Runs a rolling window estimation and forecast for samples of fixed size `nobs` starting with the first observation ranging from INTEGER1 to INTEGER2. Option `forecast` must also be specified. This option is incompatible with requesting recursive forecasts using an expanding window (see nobs). The respective results structures `oo_` are saved in `oo_recursive_` (see oo_recursive_) and are indexed with the respective first observation of the rolling window.

  `prefilter = INTEGER`

    A value of `1` means that the estimation procedure will demean each data series by its empirical mean. If the loglinear option without the logdata option is requested, the data will first be logged and then demeaned. Default: `0`, i.e. no prefiltering

  `presample = INTEGER`

    The number of observations after first_obs to be skipped before evaluating the likelihood. These presample observations do not enter the likelihood, but are used as a training sample for starting the Kalman filter iterations. This option is incompatible with estimating a DSGE-VAR. Default: `0`

  `loglinear`

    Computes a log-linear approximation of the model instead of a linear approximation. As always in the context of estimation, the data must correspond to the definition of the variables used in the model (see Pfeifer (2013) for more details on how to correctly specify observation equations linking model variables and the data). If you specify the loglinear option, Dynare will take the logarithm of both your model variables and of your data as it assumes the data to correspond to the original non-logged model variables. The displayed posterior results like impulse responses, smoothed variables, and moments will be for the logged variables, not the original un-logged ones. Default: computes a linear approximation

  `logdata`

    Dynare applies the transformation to the provided data if a log-linearization of the model is requested (loglinear) unless `logdata` option is used. This option is necessary if the user provides data already in logs, otherwise the transformation will be applied twice (this may result in complex data).

  `plot_priors = INTEGER`

    Control the plotting of priors: 1

    `0`

      No prior plot

    `1`

      Prior density for each estimated parameter is plotted. It is important to check that the actual shape of prior densities matches what you have in mind. Ill-chosen values for the prior standard density can result in absurd prior densities.

    Default value is `1`.

  `nograph`

    See nograph.

  `posterior_nograph`

    Suppresses the generation of graphs associated with Bayesian IRFs (bayesian_irf), posterior smoothed objects (smoother), and posterior forecasts (forecast).

  `posterior_graph`

    Re-enables the generation of graphs previously shut off with posterior_nograph.

  `nodisplay`

    See nodisplay.

  `graph_format = FORMAT`
  `graph_format = ( FORMAT, FORMAT… )`

    See graph_format.

  `lik_init = INTEGER`

    Type of initialization of Kalman filter:

    `1`

      For stationary models, the initial matrix of variance of the error of forecast is set equal to the unconditional variance of the state variables

    `2`

      For nonstationary models: a wide prior is used with an initial matrix of variance of the error of forecast diagonal with 10 on the diagonal (follows the suggestion of Harvey and Phillips(1979))

    `3`

      For nonstationary models: use a diffuse filter (use rather the `diffuse_filter` option)

    `4`

      The filter is initialized with the fixed point of the Riccati equation

    `5`

      Use i) option 2 for the non-stationary elements by setting their initial variance in the forecast error matrix to 10 on the diagonal and all covariances to 0 and ii) option 1 for the stationary elements.

    Default value is `1`. For advanced use only.

  `lik_algo = INTEGER`

    For internal use and testing only.

  `conf_sig = DOUBLE`

    Confidence interval used for classical forecasting after estimation. See conf_sig.

  `mh_conf_sig = DOUBLE`

    Confidence/HPD interval used for the computation of prior and posterior statistics like: parameter distributions, prior/posterior moments, conditional variance decomposition, impulse response functions, Bayesian forecasting. Default: `0.9`

  `mh_replic = INTEGER`

    Number of replications for Metropolis-Hastings algorithm. For the time being, `mh_replic` should be larger than `1200`. Default: `20000`

  `sub_draws = INTEGER`

    number of draws from the MCMC that are used to compute posterior distribution of various objects (smoothed variable, smoothed shocks, forecast, moments, IRF). The draws used to compute these posterior moments are sampled uniformly in the estimated empirical posterior distribution (ie draws of the MCMC). `sub_draws` should be smaller than the total number of MCMC draws available. Default: `min(posterior_max_subsample_draws,(Total number of draws)*(number of chains))`

  `posterior_max_subsample_draws = INTEGER`

    maximum number of draws from the MCMC used to compute posterior distribution of various objects (smoothed variable, smoothed shocks, forecast, moments, IRF), if not overriden by option sub_draws. Default: `1200`

  `mh_nblocks = INTEGER`

    Number of parallel chains for Metropolis-Hastings algorithm. Default: `2`

  `mh_drop = DOUBLE`

    The fraction of initially generated parameter vectors to be dropped as a burnin before using posterior simulations. Default: `0.5`

  `mh_jscale = DOUBLE`

    The scale parameter of the jumping distribution’s covariance matrix (Metropolis-Hastings or TaRB-algorithm). The default value is rarely satisfactory. This option must be tuned to obtain, ideally, an acceptance ratio of 25%-33%. Basically, the idea is to increase the variance of the jumping distribution if the acceptance ratio is too high, and decrease the same variance if the acceptance ratio is too low. In some situations it may help to consider parameter-specific values for this scale parameter. This can be done in the estimated_params- block.

    Note that `mode_compute=6` will tune the scale parameter to achieve an acceptance rate of AcceptanceRateTarget. The resulting scale parameter will be saved into a file named `MODEL_FILENAME_mh_scale.mat`. This file can be loaded in subsequent runs via the `posterior_sampler_options`-option scale_file. Both `mode_compute=6` and `scale_file` will overwrite any value specified in `estimated_params` with the tuned value. Default: `0.2`

  `mh_init_scale = DOUBLE`

    The scale to be used for drawing the initial value of the Metropolis-Hastings chain. Generally, the starting points should be overdispersed for the Brooks and Gelman (1998)-convergence diagnostics to be meaningful. Default: 2*`mh_jscale`. It is important to keep in mind that `mh_init_scale` is set at the beginning of Dynare execution, i.e. the default will not take into account potential changes in mh_jscale introduced by either `mode_compute=6` or the `posterior_sampler_options`-option scale_file. If `mh_init_scale` is too wide during initalization of the posterior sampler so that 100 tested draws are inadmissible (e.g. Blanchard-Kahn conditions are always violated), Dynare will request user input of a new `mh_init_scale` value with which the next 100 draws will be drawn and tested. If the nointeractive-option has been invoked, the program will instead automatically decrease `mh_init_scale` by 10 percent after 100 futile draws and try another 100 draws. This iterative procedure will take place at most 10 times, at which point Dynare will abort with an error message.

  `mh_recover`

    Attempts to recover a Metropolis-Hastings simulation that crashed prematurely, starting with the last available saved `mh`-file. Shouldn’t be used together with `load_mh_file` or a different `mh_replic` than in the crashed run. Since Dynare 4.5 the proposal density from the previous run will automatically be loaded. In older versions, to assure a neat continuation of the chain with the same proposal density, you should provide the `mode_file` used in the previous run or the same user-defined `mcmc_jumping_covariance` when using this option. Note that under Octave, a neat continuation of the crashed chain with the respective last random number generator state is currently not supported.

  `mh_mode = INTEGER`

    …

  `mode_file = FILENAME`

    Name of the file containing previous value for the mode. When computing the mode, Dynare stores the mode (`xparam1`) and the hessian (`hh`, only if `cova_compute=1`) in a file called `MODEL_FILENAME_mode.mat`. After a successful run of the estimation command, the `mode_file` will be disabled to prevent other function calls from implicitly using an updated mode-file. Thus, if the mod-file contains subsequent `estimation` commands, the `mode_file` option, if desired, needs to be specified again.

  `mode_compute = INTEGER | FUNCTION_NAME`

    Specifies the optimizer for the mode computation:

    `0`

      The mode isn’t computed. When `mode_file` option is specified, the mode is simply read from that file.

      When `mode_file` option is not specified, Dynare reports the value of the log posterior (log likelihood) evaluated at the initial value of the parameters.

      When `mode_file` option is not specified and there is no `estimated_params` block, but the `smoother` option is used, it is a roundabout way to compute the smoothed value of the variables of a model with calibrated parameters.

    `1`

      Uses `fmincon` optimization routine (available under MATLAB if the Optimization Toolbox is installed; not available under Octave)

    `2`

      Uses the continuous simulated annealing global optimization algorithm described in Corana et al. (1987) and Goffe et al. (1994).

    `3`

      Uses `fminunc` optimization routine (available under MATLAB if the optimization toolbox is installed; available under Octave if the optim package from Octave-Forge is installed)

    `4`

      Uses Chris Sims’s `csminwel`

    `5`

      Uses Marco Ratto’s `newrat`. This value is not compatible with non linear filters or DSGE-VAR models. This is a slice optimizer: most iterations are a sequence of univariate optimization step, one for each estimated parameter or shock. Uses `csminwel` for line search in each step.

    `6`

      Uses a Monte-Carlo based optimization routine (see Dynare wiki for more details)

    `7`

      Uses `fminsearch`, a simplex based optimization routine (available under MATLAB if the optimization toolbox is installed; available under Octave if the optim package from Octave-Forge is installed)

    `8`

      Uses Dynare implementation of the Nelder-Mead simplex based optimization routine (generally more efficient than the MATLAB or Octave implementation available with `mode_compute=7`)

    `9`

      Uses the CMA-ES (Covariance Matrix Adaptation Evolution Strategy) algorithm of Hansen and Kern (2004), an evolutionary algorithm for difficult non-linear non-convex optimization

    `10`

      Uses the simpsa algorithm, based on the combination of the non-linear simplex and simulated annealing algorithms and proposed by Cardoso, Salcedo and Feyo de Azevedo (1996).

    `11`

      This is not strictly speaking an optimization algorithm. The (estimated) parameters are treated as state variables and estimated jointly with the original state variables of the model using a nonlinear filter. The algorithm implemented in Dynare is described in Liu and West (2001).

    `12`

      Uses `particleswarm` optimization routine (available under MATLAB if the Global Optimization Toolbox is installed; not available under Octave).

    `101`

      Uses the SolveOpt algorithm for local nonlinear optimization problems proposed by Kuntsevich and Kappel (1997).

    `102`

      Uses `simulannealbnd` optimization routine (available under MATLAB if the Global Optimization Toolbox is installed; not available under Octave)

    `FUNCTION_NAME`

      It is also possible to give a FUNCTION_NAME to this option, instead of an INTEGER. In that case, Dynare takes the return value of that function as the posterior mode.

    Default value is `4`.

  `silent_optimizer`

    Instructs Dynare to run mode computing/optimization silently without displaying results or saving files in between. Useful when running loops.

  `mcmc_jumping_covariance = hessian|prior_variance|identity_matrix|FILENAME`

    Tells Dynare which covariance to use for the proposal density of the MCMC sampler. `mcmc_jumping_covariance` can be one of the following:

    `hessian`

      Uses the Hessian matrix computed at the mode.

    `prior_variance`

      Uses the prior variances. No infinite prior variances are allowed in this case.

    `identity_matrix`

      Uses an identity matrix.

    `FILENAME`

      Loads an arbitrary user-specified covariance matrix from `FILENAME.mat`. The covariance matrix must be saved in a variable named `jumping_covariance`, must be square, positive definite, and have the same dimension as the number of estimated parameters.

    Note that the covariance matrices are still scaled with mh_jscale. Default value is `hessian`.

  `mode_check`

    Tells Dynare to plot the posterior density for values around the computed mode for each estimated parameter in turn. This is helpful to diagnose problems with the optimizer. Note that for `order`>1, the likelihood function resulting from the particle filter is not differentiable anymore due to random chatter introduced by selecting different particles for different parameter values. For this reason, the `mode_check`-plot may look wiggly.

  `mode_check_neighbourhood_size = DOUBLE`

    Used in conjunction with option `mode_check`, gives the width of the window around the posterior mode to be displayed on the diagnostic plots. This width is expressed in percentage deviation. The `Inf` value is allowed, and will trigger a plot over the entire domain (see also `mode_check_symmetric_plots`). Default: `0.5`.

  `mode_check_symmetric_plots = INTEGER`

    Used in conjunction with option `mode_check`, if set to `1`, tells Dynare to ensure that the check plots are symmetric around the posterior mode. A value of `0` allows to have asymmetric plots, which can be useful if the posterior mode is close to a domain boundary, or in conjunction with `mode_check_neighbourhood_size = Inf` when the domain in not the entire real line. Default: `1`.

  `mode_check_number_of_points = INTEGER`

    Number of points around the posterior mode where the posterior kernel is evaluated (for each parameter). Default is `20`

  `prior_trunc = DOUBLE`

    Probability of extreme values of the prior density that is ignored when computing bounds for the parameters. Default: `1e-32`

  `huge_number = DOUBLE`

    Value for replacing infinite values in the definition of (prior) bounds when finite values are required for computational reasons. Default: `1e7`

  `load_mh_file`

    Tells Dynare to add to previous Metropolis-Hastings simulations instead of starting from scratch. Since Dynare 4.5 the proposal density from the previous run will automatically be loaded. In older versions, to assure a neat continuation of the chain with the same proposal density, you should provide the `mode_file` used in the previous run or the same user-defined `mcmc_jumping_covariance` when using this option. Shouldn’t be used together with `mh_recover`. Note that under Octave, a neat continuation of the chain with the last random number generator state of the already present draws is currently not supported.

  `load_results_after_load_mh`

    This option is available when loading a previous MCMC run without adding additional draws, i.e. when `load_mh_file` is specified with `mh_replic=0`. It tells Dynare to load the previously computed convergence diagnostics, marginal data density, and posterior statistics from an existing `_results`-file instead of recomputing them.

  `optim = (NAME, VALUE, ...)`

    A list of NAME and VALUE pairs. Can be used to set options for the optimization routines. The set of available options depends on the selected optimization routine (ie on the value of option mode_compute):

    `1, 3, 7, 12`

      Available options are given in the documentation of the MATLAB Optimization Toolbox or in Octave’s documentation.

    `2`

      Available options are:

      `'initial_step_length'`

        Initial step length. Default: `1`

      `'initial_temperature'`

        Initial temperature. Default: `15`

      `'MaxIter'`

        Maximum number of function evaluations. Default: `100000`

      `'neps'`

        Number of final function values used to decide upon termination. Default: `10`

      `'ns'`

        Number of cycles. Default: `10`

      `'nt'`

        Number of iterations before temperature reduction. Default: `10`

      `'step_length_c'`

        Step length adjustment. Default: `0.1`

      `'TolFun'`

        Stopping criteria. Default: `1e-8`

      `'rt'`

        Temperature reduction factor. Default: `0.1`

      `'verbosity'`

        Controls verbosity of display during optimization, ranging from 0 (silent) to 3 (each function evaluation). Default: `1`

    `4`

      Available options are:

      `'InitialInverseHessian'`

        Initial approximation for the inverse of the Hessian matrix of the posterior kernel (or likelihood). Obviously this approximation has to be a square, positive definite and symmetric matrix. Default: `'1e-4*eye(nx)'`, where `nx` is the number of parameters to be estimated.

      `'MaxIter'`

        Maximum number of iterations. Default: `1000`

      `'NumgradAlgorithm'`

        Possible values are `2`, `3` and `5` respectively corresponding to the two, three and five points formula used to compute the gradient of the objective function (see Abramowitz and Stegun (1964)). Values `13` and `15` are more experimental. If perturbations on the right and the left increase the value of the objective function (we minimize this function) then we force the corresponding element of the gradient to be zero. The idea is to temporarily reduce the size of the optimization problem. Default: `2`.

      `'NumgradEpsilon'`

        Size of the perturbation used to compute numerically the gradient of the objective function. Default: `1e-6`

      `'TolFun'`

        Stopping criteria. Default: `1e-7`

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

      `'SaveFiles'`

        Controls saving of intermediate results during optimization. Set to 0 to shut off saving. Default: `1`

    `5`

      Available options are:

      `'Hessian'`

        Triggers three types of Hessian computations. `0`: outer product gradient; `1` default DYNARE Hessian routine; `2` ’mixed’ outer product gradient, where diagonal elements are obtained using second order derivation formula and outer product is used for correlation structure. Both {0} and {2} options require univariate filters, to ensure using maximum number of individual densities and a positive definite Hessian. Both {0} and {2} are quicker than default DYNARE numeric Hessian, but provide decent starting values for Metropolis for large models (option {2} being more accurate than {0}). Default: `1`.

      `'MaxIter'`

        Maximum number of iterations. Default: `1000`

      `'TolFun'`

        Stopping criteria. Default: `1e-5` for numerical derivatives `1e-7` for analytic derivatives.

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

      `'SaveFiles'`

        Controls saving of intermediate results during optimization. Set to 0 to shut off saving. Default: `1`

    `6`

      Available options are:

      `'AcceptanceRateTarget'`

        A real number between zero and one. The scale parameter of the jumping distribution is adjusted so that the effective acceptance rate matches the value of option `'AcceptanceRateTarget'`. Default: `1.0/3.0`

      `'InitialCovarianceMatrix'`

        Initial covariance matrix of the jumping distribution. Default is `'previous'` if option `mode_file` is used, `'prior'` otherwise.

      `'nclimb-mh'`

        Number of iterations in the last MCMC (climbing mode). Default: `200000`

      `'ncov-mh'`

        Number of iterations used for updating the covariance matrix of the jumping distribution. Default: `20000`

      `'nscale-mh'`

        Maximum number of iterations used for adjusting the scale parameter of the jumping distribution. Default: `200000`

      `'NumberOfMh'`

        Number of MCMC run sequentially. Default: `3`

    `8`

      Available options are:

      `'InitialSimplexSize'`

        Initial size of the simplex, expressed as percentage deviation from the provided initial guess in each direction. Default: `.05`

      `'MaxIter'`

        Maximum number of iterations. Default: `5000`

      `'MaxFunEvals'`

        Maximum number of objective function evaluations. No default.

      `'MaxFunvEvalFactor'`

        Set `MaxFunvEvals` equal to `MaxFunvEvalFactor` times the number of estimated parameters. Default: `500`.

      `'TolFun'`

        Tolerance parameter (w.r.t the objective function). Default: `1e-4`

      `'TolX'`

        Tolerance parameter (w.r.t the instruments). Default: `1e-4`

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

    `9`

      Available options are:

      `'CMAESResume'`

        Resume previous run. Requires the `variablescmaes.mat` from the last run. Set to 1 to enable. Default: `0`

      `'MaxIter'`

        Maximum number of iterations.

      `'MaxFunEvals'`

        Maximum number of objective function evaluations. Default: `Inf`.

      `'TolFun'`

        Tolerance parameter (w.r.t the objective function). Default: `1e-7`

      `'TolX'`

        Tolerance parameter (w.r.t the instruments). Default: `1e-7`

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

      `'SaveFiles'`

        Controls saving of intermediate results during optimization. Set to 0 to shut off saving. Default: `1`

    `10`

      Available options are:

      `'EndTemperature'`

        Terminal condition w.r.t the temperature. When the temperature reaches `EndTemperature`, the temperature is set to zero and the algorithm falls back into a standard simplex algorithm. Default: `.1`

      `'MaxIter'`

        Maximum number of iterations. Default: `5000`

      `'MaxFunvEvals'`

        Maximum number of objective function evaluations. No default.

      `'TolFun'`

        Tolerance parameter (w.r.t the objective function). Default: `1e-4`

      `'TolX'`

        Tolerance parameter (w.r.t the instruments). Default: `1e-4`

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

    `101`

      Available options are:

      `'LBGradientStep'`

        Lower bound for the stepsize used for the difference approximation of gradients. Default: `1e-11`

      `'MaxIter'`

        Maximum number of iterations. Default: `15000`

      `'SpaceDilation'`

        Coefficient of space dilation. Default: `2.5`

      `'TolFun'`

        Tolerance parameter (w.r.t the objective function). Default: `1e-6`

      `'TolX'`

        Tolerance parameter (w.r.t the instruments). Default: `1e-6`

      `'verbosity'`

        Controls verbosity of display during optimization. Set to 0 to set to silent. Default: `1`

    `102`

      Available options are given in the documentation of the MATLAB Global Optimization Toolbox.

    Example 1 To change the defaults of csminwel (`mode_compute=4`):

    `estimation(..., mode_compute=4, optim=('NumgradAlgorithm',3,'TolFun',1e-5), ...);`

  `nodiagnostic`

    Does not compute the convergence diagnostics for Metropolis-Hastings. Default: diagnostics are computed and displayed

  `bayesian_irf`

    Triggers the computation of the posterior distribution of IRFs. The length of the IRFs are controlled by the `irf` option. Results are stored in `oo_.PosteriorIRF.dsge` (see below for a description of this variable)

  `relative_irf`

    See relative_irf.

  `dsge_var = DOUBLE`

    Triggers the estimation of a DSGE-VAR model, where the weight of the DSGE prior of the VAR model is calibrated to the value passed (see Del Negro and Schorfheide (2004)). It represents ratio of dummy over actual observations. To assure that the prior is proper, the value must be bigger than , where is the number of estimated parameters, is the number of observables, and is the number of observations. NB: The previous method of declaring `dsge_prior_weight` as a parameter and then calibrating it is now deprecated and will be removed in a future release of Dynare. Some of objects arising during estimation are stored with their values at the mode in oo_.dsge_var.posterior_mode.

  `dsge_var`

    Triggers the estimation of a DSGE-VAR model, where the weight of the DSGE prior of the VAR model will be estimated (as in Adjemian et alii (2008)). The prior on the weight of the DSGE prior, `dsge_prior_weight`, must be defined in the `estimated_params` section. NB: The previous method of declaring `dsge_prior_weight` as a parameter and then placing it in `estimated_params` is now deprecated and will be removed in a future release of Dynare.

  `dsge_varlag = INTEGER`

    The number of lags used to estimate a DSGE-VAR model. Default: `4`.

  `posterior_sampling_method=NAME`

    Selects the sampler used to sample from the posterior distribution during Bayesian estimation. Default: ’random_walk_metropolis_hastings’

    `'random_walk_metropolis_hastings'`

      Instructs Dynare to use the Random-Walk Metropolis-Hastings. In this algorithm, the proposal density is recentered to the previous draw in every step.

    `'tailored_random_block_metropolis_hastings'`

      Instructs Dynare to use the Tailored randomized block (TaRB) Metropolis-Hastings algorithm proposed by Chib and Ramamurthy (2010) instead of the standard Random-Walk Metropolis-Hastings. In this algorithm, at each iteration the estimated parameters are randomly assigned to different blocks. For each of these blocks a mode-finding step is conducted. The inverse Hessian at this mode is then used as the covariance of the proposal density for a Random-Walk Metropolis-Hastings step. If the numerical Hessian is not positive definite, the generalized Cholesky decomposition of Schnabel and Eskow (1990) is used, but without pivoting. The TaRB-MH algorithm massively reduces the autocorrelation in the MH draws and thus reduces the number of draws required to representatively sample from the posterior. However, this comes at a computational costs as the algorithm takes more time to run.

    `'independent_metropolis_hastings'`

      Use the Independent Metropolis-Hastings algorithm where the proposal distribution - in contrast to the Random Walk Metropolis-Hastings algorithm - does not depend on the state of the chain.

    `'slice'`

      Instructs Dynare to use the Slice sampler of Planas, Ratto, and Rossi (2015). Note that `'slice'` is incompatible with `prior_trunc=0`.

  `posterior_sampler_options = (NAME, VALUE, ...)`

    A list of NAME and VALUE pairs. Can be used to set options for the posterior sampling methods. The set of available options depends on the selected posterior sampling routine (i.e. on the value of option posterior_sampling_method):

    `'random_walk_metropolis_hastings'`

      Available options are:

      `'proposal_distribution'`

        Specifies the statistical distribution used for the proposal density.

        `'rand_multivariate_normal'`

          Use a multivariate normal distribution. This is the default.

        `'rand_multivariate_student'`

          Use a multivariate student distribution

      `'student_degrees_of_freedom'`

        Specifies the degrees of freedom to be used with the multivariate student distribution. Default: 3

      `'use_mh_covariance_matrix'`

        Indicates to use the covariance matrix of the draws from a previous MCMC run to define the covariance of the proposal distribution. Requires the load_mh_file-option to be specified. Default: 0

      `'scale_file'`

        Provides the name of a `_mh_scale.mat`-file storing the tuned scale factor from a previous run of `mode_compute=6`

      `'save_tmp_file'`

        Save the MCMC draws into a `_mh_tmp_blck`-file at the refresh rate of the status bar instead of just saving the draws when the current `_mh*_blck`-file is full. Default: 0

    `'independent_metropolis_hastings'`

      Takes the same options as in the case of `random_walk_metropolis_hastings`

    `'slice'`
      `'rotated'`

        Triggers rotated slice iterations using a covariance matrix from initial burn-in iterations. Requires either `use_mh_covariance_matrix` or `slice_initialize_with_mode`. Default: 0

      `'mode_files'`

        For multimodal posteriors, provide the name of a file containing a `nparam by nmodes` variable called `xparams` storing the different modes. This array must have one column vector per mode and the estimated parameters along the row dimension. With this info, the code will automatically trigger the `rotated` and `mode` options. Default: `[]`.

      `'slice_initialize_with_mode'`

        The default for slice is to set `mode_compute = 0` and start the chain(s) from a random location in the prior space. This option first runs the mode-finder and then starts the chain from the mode. Together with `rotated`, it will use the inverse Hessian from the mode to perform rotated slice iterations. Default: 0

      `'initial_step_size'`

        Sets the initial size of the interval in the stepping-out procedure as fraction of the prior support i.e. the size will be initial_step_size*(UB-LB). `initial_step_size` must be a real number in the interval [0, 1]. Default: 0.8

      `'use_mh_covariance_matrix'`

        See use_mh_covariance_matrix. Must be used with `'rotated'`. Default: 0

      `'save_tmp_file'`

        See save_tmp_file. Default: 1.

    `'tailored_random_block_metropolis_hastings'`
      `new_block_probability = DOUBLE`

        Specifies the probability of the next parameter belonging to a new block when the random blocking in the TaRB Metropolis-Hastings algorithm is conducted. The higher this number, the smaller is the average block size and the more random blocks are formed during each parameter sweep. Default: `0.25`.

      `mode_compute = INTEGER`

        Specifies the mode-finder run in every iteration for every block of the TaRB Metropolis-Hastings algorithm. See mode_compute. Default: `4`.

      `optim = (NAME, VALUE, ...)`

        Specifies the options for the mode-finder used in the TaRB Metropolis-Hastings algorithm. See optim.

      `'scale_file'`

        See scale_file.

      `'save_tmp_file'`

        See save_tmp_file. Default: 1.

  `moments_varendo`

    Triggers the computation of the posterior distribution of the theoretical moments of the endogenous variables. Results are stored in `oo_.PosteriorTheoreticalMoments` (see oo_.PosteriorTheoreticalMoments). The number of lags in the autocorrelation function is controlled by the `ar` option.

  `contemporaneous_correlation`

    See contemporaneous_correlation. Results are stored in `oo_.PosteriorTheoreticalMoments`. Note that the `nocorr`-option has no effect.

  `no_posterior_kernel_density`

    Shuts off the computation of the kernel density estimator for the posterior objects (see density-field).

  `conditional_variance_decomposition = INTEGER`

    See below.

  `conditional_variance_decomposition = [INTEGER1:INTEGER2]`

    See below.

  `conditional_variance_decomposition = [INTEGER1 INTEGER2 …]`

    Computes the posterior distribution of the conditional variance decomposition for the specified period(s). The periods must be strictly positive. Conditional variances are given by . For period 1, the conditional variance decomposition provides the decomposition of the effects of shocks upon impact. The results are stored in `oo_.PosteriorTheoreticalMoments.dsge.ConditionalVarianceDecomposition`, but currently there is no displayed output. Note that this option requires the option `moments_varendo` to be specified.

  `filtered_vars`

    Triggers the computation of the posterior distribution of filtered endogenous variables/one-step ahead forecasts, i.e. . Results are stored in `oo_.FilteredVariables` (see below for a description of this variable)

  `smoother`

    Triggers the computation of the posterior distribution of smoothed endogenous variables and shocks, i.e. the expected value of variables and shocks given the information available in all observations up to the final date (). Results are stored in `oo_.SmoothedVariables`, `oo_.SmoothedShocks` and `oo_.SmoothedMeasurementErrors`. Also triggers the computation of `oo_.UpdatedVariables`, which contains the estimation of the expected value of variables given the information available at the current date (). See below for a description of all these variables.

  `forecast = INTEGER`

    Computes the posterior distribution of a forecast on INTEGER periods after the end of the sample used in estimation. If no Metropolis-Hastings is computed, the result is stored in variable `oo_.forecast` and corresponds to the forecast at the posterior mode. If a Metropolis-Hastings is computed, the distribution of forecasts is stored in variables `oo_.PointForecast` and `oo_.MeanForecast`. See Forecasting, for a description of these variables.

  `tex`

    see tex.

  `kalman_algo = INTEGER`
    `0`

      Automatically use the Multivariate Kalman Filter for stationary models and the Multivariate Diffuse Kalman Filter for non-stationary models

    `1`

      Use the Multivariate Kalman Filter

    `2`

      Use the Univariate Kalman Filter

    `3`

      Use the Multivariate Diffuse Kalman Filter

    `4`

      Use the Univariate Diffuse Kalman Filter

    Default value is `0`. In case of missing observations of single or all series, Dynare treats those missing values as unobserved states and uses the Kalman filter to infer their value (see e.g. Durbin and Koopman (2012), Ch. 4.10) This procedure has the advantage of being capable of dealing with observations where the forecast error variance matrix becomes singular for some variable(s). If this happens, the respective observation enters with a weight of zero in the log-likelihood, i.e. this observation for the respective variable(s) is dropped from the likelihood computations (for details see Durbin and Koopman (2012), Ch. 6.4 and 7.2.5 and Koopman and Durbin (2000)). If the use of a multivariate Kalman filter is specified and a singularity is encountered, Dynare by default automatically switches to the univariate Kalman filter for this parameter draw. This behavior can be changed via the use_univariate_filters_if_singularity_is_detected option.

  `fast_kalman_filter`

    Select the fast Kalman filter using Chandrasekhar recursions as described by Herbst, 2015. This setting is only used with `kalman_algo=1` or `kalman_algo=3`. In case of using the diffuse Kalman filter (`kalman_algo=3/lik_init=3`), the observables must be stationary. This option is not yet compatible with analytic_derivation.

  `kalman_tol = DOUBLE`

    Numerical tolerance for determining the singularity of the covariance matrix of the prediction errors during the Kalman filter (minimum allowed reciprocal of the matrix condition number). Default value is `1e-10`

  `diffuse_kalman_tol = DOUBLE`

    Numerical tolerance for determining the singularity of the covariance matrix of the prediction errors () and the rank of the covariance matrix of the non-stationary state variables () during the Diffuse Kalman filter. Default value is `1e-6`

  `filter_covariance`

    Saves the series of one step ahead error of forecast covariance matrices. With Metropolis, they are saved in oo_.FilterCovariance, otherwise in oo_.Smoother.Variance. Saves also k-step ahead error of forecast covariance matrices if `filter_step_ahead` is set.

  `filter_step_ahead = [INTEGER1:INTEGER2]`

    See below.

  `filter_step_ahead = [INTEGER1 INTEGER2 …]`

    Triggers the computation k-step ahead filtered values, i.e. . Stores results in `oo_.FilteredVariablesKStepAhead`. Also stores 1-step ahead values in `oo_.FilteredVariables`. `oo_.FilteredVariablesKStepAheadVariances` is stored if `filter_covariance`.

  `filter_decomposition`

    Triggers the computation of the shock decomposition of the above k-step ahead filtered values. Stores results in `oo_.FilteredVariablesShockDecomposition`.

  `smoothed_state_uncertainty`

    Triggers the computation of the variance of smoothed estimates, i.e. `Var_T(y_t)`. Stores results in `oo_.Smoother.State_uncertainty`.

  `diffuse_filter`

    Uses the diffuse Kalman filter (as described in Durbin and Koopman (2012) and Koopman and Durbin (2003) for the multivariate and Koopman and Durbin (2000) for the univariate filter) to estimate models with non-stationary observed variables.

    When `diffuse_filter` is used the `lik_init` option of `estimation` has no effect.

    When there are nonstationary exogenous variables in a model, there is no unique deterministic steady state. For instance, if productivity is a pure random walk:

    any value of of is a deterministic steady state for productivity. Consequently, the model admits an infinity of steady states. In this situation, the user must help Dynare in selecting one steady state, except if zero is a trivial model’s steady state, which happens when the `linear` option is used in the model declaration. The user can either provide the steady state to Dynare using a `steady_state_model` block (or writing a steady state file) if a closed form solution is available, see steady_state_model, or specify some constraints on the steady state, see equation_tag_for_conditional_steady_state, so that Dynare computes the steady state conditionally on some predefined levels for the non stationary variables. In both cases, the idea is to use dummy values for the steady state level of the exogenous non stationary variables.

    Note that the nonstationary variables in the model must be integrated processes (their first difference or k-difference must be stationary).

  `selected_variables_only`

    Only run the classical smoother on the variables listed just after the `estimation` command. This option is incompatible with requesting classical frequentist forecasts and will be overridden in this case. When using Bayesian estimation, the smoother is by default only run on the declared endogenous variables. Default: run the smoother on all the declared endogenous variables.

  `cova_compute = INTEGER`

    When `0`, the covariance matrix of estimated parameters is not computed after the computation of posterior mode (or maximum likelihood). This increases speed of computation in large models during development, when this information is not always necessary. Of course, it will break all successive computations that would require this covariance matrix. Otherwise, if this option is equal to `1`, the covariance matrix is computed and stored in variable `hh` of `MODEL_FILENAME_mode.mat`. Default is `1`.

  `solve_algo = INTEGER`

    See solve_algo.

  `order = INTEGER`

    Order of approximation, either `1` or `2`. When equal to `2`, the likelihood is evaluated with a particle filter based on a second order approximation of the model (see Fernandez-Villaverde and Rubio-Ramirez (2005)). Default is `1`, ie the likelihood of the linearized model is evaluated using a standard Kalman filter.

  `irf = INTEGER`

    See irf. Only used if bayesian_irf is passed.

  `irf_shocks = ( VARIABLE_NAME [[,] VARIABLE_NAME …] )`

    See irf_shocks. Only used if bayesian_irf is passed.

  `irf_plot_threshold = DOUBLE`

    See irf_plot_threshold. Only used if bayesian_irf is passed.

  `aim_solver`

    See aim_solver.

  `sylvester = OPTION`

    See sylvester.

  `sylvester_fixed_point_tol = DOUBLE`

    See sylvester_fixed_point_tol.

  `lyapunov = OPTION`

    Determines the algorithm used to solve the Lyapunov equation to initialized the variance-covariance matrix of the Kalman filter using the steady-state value of state variables. Possible values for `OPTION` are:

    `default`

      Uses the default solver for Lyapunov equations based on Bartels-Stewart algorithm.

    `fixed_point`

      Uses a fixed point algorithm to solve the Lyapunov equation. This method is faster than the `default` one for large scale models, but it could require a large amount of iterations.

    `doubling`

      Uses a doubling algorithm to solve the Lyapunov equation (`disclyap_fast`). This method is faster than the two previous one for large scale models.

    `square_root_solver`

      Uses a square-root solver for Lyapunov equations (`dlyapchol`). This method is fast for large scale models (available under MATLAB if the control system toolbox is installed; available under Octave if the control package from Octave-Forge is installed)

    Default value is `default`

  `lyapunov_fixed_point_tol = DOUBLE`

    This is the convergence criterion used in the fixed point Lyapunov solver. Its default value is 1e-10.

  `lyapunov_doubling_tol = DOUBLE`

    This is the convergence criterion used in the doubling algorithm to solve the Lyapunov equation. Its default value is 1e-16.

  `use_penalized_objective_for_hessian`

    Use the penalized objective instead of the objective function to compute numerically the hessian matrix at the mode. The penalties decrease the value of the posterior density (or likelihood) when, for some perturbations, Dynare is not able to solve the model (issues with steady state existence, Blanchard and Kahn conditions, ...). In pratice, the penalized and original objectives will only differ if the posterior mode is found to be near a region where the model is ill-behaved. By default the original objective function is used.

  `analytic_derivation`

    Triggers estimation with analytic gradient. The final hessian is also computed analytically. Only works for stationary models without missing observations, i.e. for `kalman_algo<3`.

  `ar = INTEGER`

    See ar. Only useful in conjunction with option `moments_varendo`.

  `endogenous_prior`

    Use endogenous priors as in Christiano, Trabandt and Walentin (2011). The procedure is motivated by sequential Bayesian learning. Starting from independent initial priors on the parameters, specified in the `estimated_params`-block, the standard deviations observed in a "pre-sample", taken to be the actual sample, are used to update the initial priors. Thus, the product of the initial priors and the pre-sample likelihood of the standard deviations of the observables is used as the new prior (for more information, see the technical appendix of Christiano, Trabandt and Walentin (2011)). This procedure helps in cases where the regular posterior estimates, which minimize in-sample forecast errors, result in a large overprediction of model variable variances (a statistic that is not explicitly targeted, but often of particular interest to researchers).

  `use_univariate_filters_if_singularity_is_detected = INTEGER`

    Decide whether Dynare should automatically switch to univariate filter if a singularity is encountered in the likelihood computation (this is the behaviour if the option is equal to `1`). Alternatively, if the option is equal to `0`, Dynare will not automatically change the filter, but rather use a penalty value for the likelihood when such a singularity is encountered. Default: `1`.

  `keep_kalman_algo_if_singularity_is_detected`

    With the default use_univariate_filters_if_singularity_is_detected=1, Dynare will switch to the univariate Kalman filter when it encounters a singular forecast error variance matrix during Kalman filtering. Upon encountering such a singularity for the first time, all subsequent parameter draws and computations will automatically rely on univariate filter, i.e. Dynare will never try the multivariate filter again. Use the `keep_kalman_algo_if_singularity_is_detected` option to have the `use_univariate_filters_if_singularity_is_detected` only affect the behavior for the current draw/computation.

  `rescale_prediction_error_covariance`

    Rescales the prediction error covariance in the Kalman filter to avoid badly scaled matrix and reduce the probability of a switch to univariate Kalman filters (which are slower). By default no rescaling is done.

  `qz_zero_threshold = DOUBLE`

    See qz_zero_threshold.

  `taper_steps = [INTEGER1 INTEGER2 …]`

    Percent tapering used for the spectral window in the Geweke (1992,1999) convergence diagnostics (requires mh_nblocks=1). The tapering is used to take the serial correlation of the posterior draws into account. Default: `[4 8 15]`.

  `geweke_interval = [DOUBLE DOUBLE]`

    Percentage of MCMC draws at the beginning and end of the MCMC chain taken to compute the Geweke (1992,1999) convergence diagnostics (requires mh_nblocks=1) after discarding the first mh_drop percent of draws as a burnin. Default: `[0.2 0.5]`.

  `raftery_lewis_diagnostics`

    Triggers the computation of the Raftery and Lewis (1992) convergence diagnostics. The goal is deliver the number of draws required to estimate a particular quantile of the CDF `q` with precision `r` with a probability `s`. Typically, one wants to estimate the `q=0.025` percentile (corresponding to a 95 percent HPDI) with a precision of 0.5 percent (`r=0.005`) with 95 percent certainty (`s=0.95`). The defaults can be changed via raftery_lewis_qrs. Based on the theory of first order Markov Chains, the diagnostics will provide a required burn-in (`M`), the number of draws after the burnin (`N`) as well as a thinning factor that would deliver a first order chain (`k`). The last line of the table will also deliver the maximum over all parameters for the respective values.

  `raftery_lewis_qrs = [DOUBLE DOUBLE DOUBLE]`

    Sets the quantile of the CDF `q` that is estimated with precision `r` with a probability `s` in the Raftery and Lewis (1992) convergence diagnostics. Default: `[0.025 0.005 0.95]`.

  `consider_all_endogenous`

    Compute the posterior moments, smoothed variables, k-step ahead filtered variables and forecasts (when requested) on all the endogenous variables. This is equivalent to manually listing all the endogenous variables after the `estimation` command.

  `consider_only_observed`

    Compute the posterior moments, smoothed variables, k-step ahead filtered variables and forecasts (when requested) on all the observed variables. This is equivalent to manually listing all the observed variables after the `estimation` command.

  `number_of_particles = INTEGER`

    Number of particles used when evaluating the likelihood of a non linear state space model. Default: `1000`.

  `resampling = OPTION`

    Determines if resampling of the particles is done. Possible values for OPTION are:

    `none`

      No resampling.

    `systematic`

      Resampling at each iteration, this is the default value.

    `generic`

      Resampling if and only if the effective sample size is below a certain level defined by resampling_threshold*number_of_particles.

  `resampling_threshold = DOUBLE`

    A real number between zero and one. The resampling step is triggered as soon as the effective number of particles is less than this number times the total number of particles (as set by number_of_particles). This option is effective if and only if option resampling has value `generic`.

  `resampling_method = OPTION`

    Sets the resampling method. Possible values for OPTION are: `kitagawa`, `stratified` and `smooth`.

  `filter_algorithm = OPTION`

    Sets the particle filter algorithm. Possible values for OPTION are:

    `sis`

      Sequential importance sampling algorithm, this is the default value.

    `apf`

      Auxiliary particle filter.

    `gf`

      Gaussian filter.

    `gmf`

      Gaussian mixture filter.

    `cpf`

      Conditional particle filter.

    `nlkf`

      Use a standard (linear) Kalman filter algorithm with the nonlinear measurement and state equations.

  `proposal_approximation = OPTION`

    Sets the method for approximating the proposal distribution. Possible values for OPTION are: `cubature`, `montecarlo` and `unscented`. Default value is `unscented`.

  `distribution_approximation = OPTION`

    Sets the method for approximating the particle distribution. Possible values for OPTION are: `cubature`, `montecarlo` and `unscented`. Default value is `unscented`.

  `cpf_weights = OPTION`

    Controls the method used to update the weights in conditional particle filter, possible values are `amisanotristani` (Amisano et al (2010)) or `murrayjonesparslow` (Murray et al. (2013)). Default value is `amisanotristani`.

  `nonlinear_filter_initialization = INTEGER`

    Sets the initial condition of the nonlinear filters. By default the nonlinear filters are initialized with the unconditional covariance matrix of the state variables, computed with the reduced form solution of the first order approximation of the model. If `nonlinear_filter_initialization=2`, the nonlinear filter is instead initialized with a covariance matrix estimated with a stochastic simulation of the reduced form solution of the second order approximation of the model. Both these initializations assume that the model is stationary, and cannot be used if the model has unit roots (which can be seen with the check command prior to estimation). If the model has stochastic trends, user must use `nonlinear_filter_initialization=3`, the filters are then initialized with an identity matrix for the covariance matrix of the state variables. Default value is `nonlinear_filter_initialization=1` (initialization based on the first order approximation of the model).

  Note

  If no `mh_jscale` parameter is used for a parameter in `estimated_params`, the procedure uses `mh_jscale` for all parameters. If `mh_jscale` option isn’t set, the procedure uses `0.2` for all parameters. Note that if `mode_compute=6` is used or the `posterior_sampler_option` called `scale_file` is specified, the values set in `estimated_params` will be overwritten.

  “Endogenous” prior restrictions

  It is also possible to impose implicit “endogenous” priors about IRFs and moments on the model during estimation. For example, one can specify that all valid parameter draws for the model must generate fiscal multipliers that are bigger than 1 by specifying how the IRF to a government spending shock must look like. The prior restrictions can be imposed via `irf_calibration` and `moment_calibration` blocks (see IRF/Moment calibration). The way it works internally is that any parameter draw that is inconsistent with the “calibration” provided in these blocks is discarded, i.e. assigned a prior density of 0. When specifying these blocks, it is important to keep in mind that one won’t be able to easily do `model_comparison` in this case, because the prior density will not integrate to 1.

  Output

  After running `estimation`, the parameters `M_.params` and the variance matrix `M_.Sigma_e` of the shocks are set to the mode for maximum likelihood estimation or posterior mode computation without Metropolis iterations.

  After `estimation` with Metropolis iterations (option `mh_replic` > 0 or option `load_mh_file` set) the parameters `M_.params` and the variance matrix `M_.Sigma_e` of the shocks are set to the posterior mean.

  Depending on the options, `estimation` stores results in various fields of the `oo_` structure, described below.

In the following variables, we will adopt the following shortcuts for specific field names:

MOMENT_NAME

  This field can take the following values:

  `HPDinf`

    Lower bound of a 90% HPD interval3

  `HPDsup`

    Upper bound of a 90% HPD interval

  `HPDinf_ME`

    Lower bound of a 90% HPD interval4 for observables when taking measurement error into account (see e.g. Christoffel et al. (2010), p.17).

  `HPDsup_ME`

    Upper bound of a 90% HPD interval for observables when taking measurement error into account

  `Mean`

    Mean of the posterior distribution

  `Median`

    Median of the posterior distribution

  `Std`

    Standard deviation of the posterior distribution

  `Variance`

    Variance of the posterior distribution

  `deciles`

    Deciles of the distribution.

  `density`

    Non parametric estimate of the posterior density following the approach outlined in Skoeld and Roberts (2003). First and second columns are respectively abscissa and ordinate coordinates.

ESTIMATED_OBJECT

  This field can take the following values:

  `measurement_errors_corr`

    Correlation between two measurement errors

  `measurement_errors_std`

    Standard deviation of measurement errors

  `parameters`

    Parameters

  `shocks_corr`

    Correlation between two structural shocks

  `shocks_std`

    Standard deviation of structural shocks

MATLAB/Octave variable: oo_.MarginalDensity.LaplaceApproximation

  Variable set by the `estimation` command. Stores the marginal data density based on the Laplace Approximation.

MATLAB/Octave variable: oo_.MarginalDensity.ModifiedHarmonicMean

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Stores the marginal data density based on Geweke (1999) Modified Harmonic Mean estimator.

MATLAB/Octave variable: oo_.posterior.optimization

  Variable set by the `estimation` command if mode-finding is used. Stores the results at the mode. Fields are of the form

      oo_.posterior.optimization.OBJECT

  where OBJECT is one of the following:

  `mode`

    Parameter vector at the mode

  `Variance`

    Inverse Hessian matrix at the mode or MCMC jumping covariance matrix when used with the MCMC_jumping_covariance option

  `log_density`

    Log likelihood (ML)/log posterior density (Bayesian) at the mode when used with `mode_compute>0`

MATLAB/Octave variable: oo_.posterior.metropolis

  Variable set by the `estimation` command if `mh_replic>0` is used. Fields are of the form

      oo_.posterior.metropolis.OBJECT

  where OBJECT is one of the following:

  `mean`

    Mean parameter vector from the MCMC

  `Variance`

    Covariance matrix of the parameter draws in the MCMC

MATLAB/Octave variable: oo_.FilteredVariables

  Variable set by the `estimation` command, if it is used with the `filtered_vars` option.

  After an estimation without Metropolis, fields are of the form:

      oo_.FilteredVariables.VARIABLE_NAME

  After an estimation with Metropolis, fields are of the form:

      oo_.FilteredVariables.MOMENT_NAME.VARIABLE_NAME

MATLAB/Octave variable: oo_.FilteredVariablesKStepAhead

  Variable set by the `estimation` command, if it is used with the `filter_step_ahead` option. The k-steps are stored along the rows while the columns indicate the respective variables. The third dimension of the array provides the observation for which the forecast has been made. For example, if `filter_step_ahead=[1 2 4]` and `nobs=200`, the element (3,5,204) stores the four period ahead filtered value of variable 5 computed at time t=200 for time t=204. The periods at the beginning and end of the sample for which no forecasts can be made, e.g. entries (1,5,1) and (1,5,204) in the example, are set to zero. Note that in case of Bayesian estimation the variables will be ordered in the order of declaration after the estimation command (or in general declaration order if no variables are specified here). In case of running the classical smoother, the variables will always be ordered in general declaration order. If the selected_variables_only option is specified with the classical smoother, non-requested variables will be simply left out in this order.

MATLAB/Octave variable: oo_.FilteredVariablesKStepAheadVariances

  Variable set by the `estimation` command, if it is used with the `filter_step_ahead` option. It is a 4 dimensional array where the k-steps are stored along the first dimension, while the fourth dimension of the array provides the observation for which the forecast has been made. The second and third dimension provide the respective variables. For example, if `filter_step_ahead=[1 2 4]` and `nobs=200`, the element (3,4,5,204) stores the four period ahead forecast error covariance between variable 4 and variable 5, computed at time t=200 for time t=204. Padding with zeros and variable ordering is analogous to `oo_.FilteredVariablesKStepAhead`.

MATLAB/Octave variable: oo_.Filtered_Variables_X_step_ahead

  Variable set by the `estimation` command, if it is used with the `filter_step_ahead` option in the context of Bayesian estimation. Fields are of the form:

      oo_.Filtered_Variables_X_step_ahead.VARIABLE_NAME

  The nth entry stores the k-step ahead filtered variable computed at time n for time n+k.

MATLAB/Octave variable: oo_.FilteredVariablesShockDecomposition

  Variable set by the `estimation` command, if it is used with the `filter_step_ahead` option. The k-steps are stored along the rows while the columns indicate the respective variables. The third dimension corresponds to the shocks in declaration order. The fourth dimension of the array provides the observation for which the forecast has been made. For example, if `filter_step_ahead=[1 2 4]` and `nobs=200`, the element (3,5,2,204) stores the contribution of the second shock to the four period ahead filtered value of variable 5 (in deviations from the mean) computed at time t=200 for time t=204. The periods at the beginning and end of the sample for which no forecasts can be made, e.g. entries (1,5,1) and (1,5,204) in the example, are set to zero. Padding with zeros and variable ordering is analogous to `oo_.FilteredVariablesKStepAhead`.

MATLAB/Octave variable: oo_.PosteriorIRF.dsge

  Variable set by the `estimation` command, if it is used with the `bayesian_irf` option. Fields are of the form:

      oo_.PosteriorIRF.dsge.MOMENT_NAME.VARIABLE_NAME_SHOCK_NAME

MATLAB/Octave variable: oo_.SmoothedMeasurementErrors

  Variable set by the `estimation` command, if it is used with the `smoother` option. Fields are of the form:

      oo_.SmoothedMeasurementErrors.VARIABLE_NAME

MATLAB/Octave variable: oo_.SmoothedShocks

  Variable set by the `estimation` command (if used with the `smoother` option), or by the `calib_smoother` command.

  After an estimation without Metropolis, or if computed by `calib_smoother`, fields are of the form:

      oo_.SmoothedShocks.VARIABLE_NAME

  After an estimation with Metropolis, fields are of the form:

      oo_.SmoothedShocks.MOMENT_NAME.VARIABLE_NAME

MATLAB/Octave variable: oo_.SmoothedVariables

  Variable set by the `estimation` command (if used with the `smoother` option), or by the `calib_smoother` command.

  After an estimation without Metropolis, or if computed by `calib_smoother`, fields are of the form:

      oo_.SmoothedVariables.VARIABLE_NAME

  After an estimation with Metropolis, fields are of the form:

      oo_.SmoothedVariables.MOMENT_NAME.VARIABLE_NAME

MATLAB/Octave variable: oo_.UpdatedVariables

  Variable set by the `estimation` command (if used with the `smoother` option), or by the `calib_smoother` command. Contains the estimation of the expected value of variables given the information available at the current date.

  After an estimation without Metropolis, or if computed by `calib_smoother`, fields are of the form:

      oo_.UpdatedVariables.VARIABLE_NAME

  After an estimation with Metropolis, fields are of the form:

      oo_.UpdatedVariables.MOMENT_NAME.VARIABLE_NAME

MATLAB/Octave variable: oo_.FilterCovariance

  Three-dimensional array set by the `estimation` command if used with the `smoother` and Metropolis, if the `filter_covariance` option has been requested. Contains the series of one-step ahead forecast error covariance matrices from the Kalman smoother. The `M_.endo_nbr` times `M_.endo_nbr` times `T+1` array contains the variables in declaration order along the first two dimensions. The third dimension of the array provides the observation for which the forecast has been made. Fields are of the form:

      oo_.FilterCovariance.MOMENT_NAME

  Note that density estimation is not supported.

MATLAB/Octave variable: oo_.Smoother.Variance

  Three-dimensional array set by the `estimation` command (if used with the `smoother`) without Metropolis, or by the `calib_smoother` command, if the `filter_covariance` option has been requested. Contains the series of one-step ahead forecast error covariance matrices from the Kalman smoother. The `M_.endo_nbr` times `M_.endo_nbr` times `T+1` array contains the variables in declaration order along the first two dimensions. The third dimension of the array provides the observation for which the forecast has been made.

MATLAB/Octave variable: oo_.Smoother.State_uncertainty

  Three-dimensional array set by the `estimation` command (if used with the `smoother` option) without Metropolis, or by the `calib_smoother` command, if the `smoothed_state_uncertainty` option has been requested. Contains the series of covariance matrices for the state estimate given the full data from the Kalman smoother. The `M_.endo_nbr` times `M_.endo_nbr` times `T` array contains the variables in declaration order along the first two dimensions. The third dimension of the array provides the observation for which the smoothed estimate has been made.

MATLAB/Octave variable: oo_.Smoother.SteadyState

  Variable set by the `estimation` command (if used with the `smoother`) without Metropolis, or by the `calib_smoother` command. Contains the steady state component of the endogenous variables used in the smoother in order of variable declaration.

MATLAB/Octave variable: oo_.Smoother.TrendCoeffs

  Variable set by the `estimation` command (if used with the `smoother`) without Metropolis, or by the `calib_smoother` command. Contains the trend coefficients of the observed variables used in the smoother in order of declaration of the observed variables.

MATLAB/Octave variable: oo_.Smoother.Trend

  Variable set by the `estimation` command (if used with the `smoother` option), or by the `calib_smoother` command. Contains the trend component of the variables used in the smoother.

  Fields are of the form:

      oo_.Smoother.Trend.VARIABLE_NAME

MATLAB/Octave variable: oo_.Smoother.Constant

  Variable set by the `estimation` command (if used with the `smoother` option), or by the `calib_smoother` command. Contains the constant part of the endogenous variables used in the smoother, accounting e.g. for the data mean when using the `prefilter` option.

  Fields are of the form:

      oo_.Smoother.Constant.VARIABLE_NAME

MATLAB/Octave variable: oo_.Smoother.loglinear

  Indicator keeping track of whether the smoother was run with the loglinear option and thus whether stored smoothed objects are in logs.

MATLAB/Octave variable: oo_.PosteriorTheoreticalMoments

  Variable set by the `estimation` command, if it is used with the `moments_varendo` option. Fields are of the form:

      oo_.PosteriorTheoreticalMoments.dsge.THEORETICAL_MOMENT.ESTIMATED_OBJECT.MOMENT_NAME.VARIABLE_NAME

  where THEORETICAL_MOMENT is one of the following:

  `covariance`

    Variance-covariance of endogenous variables

  `contemporaneous_correlation`

    Contemporaneous correlation of endogenous variables when the contemporaneous_correlation option is specified.

  `correlation`

    Auto- and cross-correlation of endogenous variables. Fields are vectors with correlations from 1 up to order `options_.ar`

  `VarianceDecomposition`

    Decomposition of variance (unconditional variance, i.e. at horizon infinity)5

  `ConditionalVarianceDecomposition`

    Only if the `conditional_variance_decomposition` option has been specified

MATLAB/Octave variable: oo_.posterior_density

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_density.PARAMETER_NAME

MATLAB/Octave variable: oo_.posterior_hpdinf

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_hpdinf.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_hpdsup

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_hpdsup.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_mean

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_mean.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_mode

  Variable set by the `estimation` command during mode-finding. Fields are of the form:

      oo_.posterior_mode.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_std_at_mode

  Variable set by the `estimation` command during mode-finding. It is based on the inverse Hessian at `oo_.posterior_mode`. Fields are of the form:

      oo_.posterior_std_at_mode.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_std

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_std.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_var

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_var.ESTIMATED_OBJECT.VARIABLE_NAME

MATLAB/Octave variable: oo_.posterior_median

  Variable set by the `estimation` command, if it is used with `mh_replic > 0` or `load_mh_file` option. Fields are of the form:

      oo_.posterior_median.ESTIMATED_OBJECT.VARIABLE_NAME

Here are some examples of generated variables:

    oo_.posterior_mode.parameters.alp
    oo_.posterior_mean.shocks_std.ex
    oo_.posterior_hpdsup.measurement_errors_corr.gdp_conso

MATLAB/Octave variable: oo_.dsge_var.posterior_mode

  Structure set by the `dsge_var` option of the `estimation` command after `mode_compute`.

  The following fields are saved:

  `PHI_tilde`

    Stacked posterior DSGE-BVAR autoregressive matrices at the mode (equation (28) of Del Negro and Schorfheide (2004)).

  `SIGMA_u_tilde`

    Posterior covariance matrix of the DSGE-BVAR at the mode (equation (29) of Del Negro and Schorfheide (2004)).

  `iXX`

    Posterior population moments in the DSGE-BVAR at the mode ( ).

  `prior`

    Structure storing the DSGE-BVAR prior.

    `PHI_star`

      Stacked prior DSGE-BVAR autoregressive matrices at the mode (equation (22) of Del Negro and Schorfheide (2004)).

    `SIGMA_star`

      Prior covariance matrix of the DSGE-BVAR at the mode (equation (23) of Del Negro and Schorfheide (2004)).

    `ArtificialSampleSize`

      Size of the artifical prior sample ( ).

    `DF`

      Prior degrees of freedom ( ).

    `iGXX_star`

      Inverse of the theoretical prior “covariance” between X and X ( in Del Negro and Schorfheide (2004)).

MATLAB/Octave variable: oo_.RecursiveForecast

  Variable set by the `forecast` option of the `estimation` command when used with the nobs = [INTEGER1:INTEGER2] option (see nobs).

  Fields are of the form:

      oo_.RecursiveForecast.FORECAST_OBJECT.VARIABLE_NAME

  where FORECAST_OBJECT is one of the following6:

  `Mean`

    Mean of the posterior forecast distribution

  `HPDinf/HPDsup`

    Upper/lower bound of the 90% HPD interval taking into account only parameter uncertainty (corresponding to oo_.MeanForecast)

  `HPDTotalinf/HPDTotalsup`

    Upper/lower bound of the 90% HPD interval taking into account both parameter and future shock uncertainty (corresponding to oo_.PointForecast)

  VARIABLE_NAME contains a matrix of the following size: number of time periods for which forecasts are requested using the nobs = [INTEGER1:INTEGER2] option times the number of forecast horizons requested by the `forecast` option. i.e., the row indicates the period at which the forecast is performed and the column the respective k-step ahead forecast. The starting periods are sorted in ascending order, not in declaration order.

MATLAB/Octave variable: oo_.convergence.geweke

  Variable set by the convergence diagnostics of the `estimation` command when used with mh_nblocks=1 option (see mh_nblocks).

  Fields are of the form:

      oo_.convergence.geweke.VARIABLE_NAME.DIAGNOSTIC_OBJECT

  where DIAGNOSTIC_OBJECT is one of the following:

  `posteriormean`

    Mean of the posterior parameter distribution

  `posteriorstd`

    Standard deviation of the posterior parameter distribution

  `nse_iid`

    Numerical standard error (NSE) under the assumption of iid draws

  `rne_iid`

    Relative numerical efficiency (RNE) under the assumption of iid draws

  `nse_x`

    Numerical standard error (NSE) when using an x% taper

  `rne_x`

    Relative numerical efficiency (RNE) when using an x% taper

  `pooled_mean`

    Mean of the parameter when pooling the beginning and end parts of the chain specified in geweke_interval and weighting them with their relative precision. It is a vector containing the results under the iid assumption followed by the ones using the taper_steps (see taper_steps).

  `pooled_nse`

    NSE of the parameter when pooling the beginning and end parts of the chain and weighting them with their relative precision. See `pooled_mean`

  `prob_chi2_test`

    p-value of a chi squared test for equality of means in the beginning and the end of the MCMC chain. See `pooled_mean`. A value above 0.05 indicates that the null hypothesis of equal means and thus convergence cannot be rejected at the 5 percent level. Differing values along the taper_steps signal the presence of significant autocorrelation in draws. In this case, the estimates using a higher tapering are usually more reliable.

Command: unit_root_vars VARIABLE_NAME…;

  This command is deprecated. Use `estimation` option `diffuse_filter` instead for estimating a model with non-stationary observed variables or `steady` option `nocheck` to prevent `steady` to check the steady state returned by your steady state file.

Dynare also has the ability to estimate Bayesian VARs:

Command: bvar_density ;

  Computes the marginal density of an estimated BVAR model, using Minnesota priors.

  See `bvar-a-la-sims.pdf`, which comes with Dynare distribution, for more information on this command.

#### Footnotes

### (3)

See option conf_sig to change the size of the HPD interval

### (4)

See option conf_sig to change the size of the HPD interval

### (5)

When the shocks are correlated, it is the decomposition of orthogonalized shocks via Cholesky decomposition according to the order of declaration of shocks (see Variable declarations)

### (6)

See forecast for more information

Next: Model Comparison, Previous: Stochastic solution and simulation, Up: The Model file [Contents][Index]