NB: All defaults set by initialize_ms_sbvar_options.m and passed to mex functions.

Miscellaneous Commands needed by Matlab to link to the Mex Functions (below)

Dynare Option and Argument

Comments

Default

Matlab Variable Name

Previous Dynare Option Name

coefficients_prior_hyperparameters

<<vec_value>>

Sets the hyper parameters for the sbvar (mu in sz_prd.m), this should be a vector of doubles of length 6

[1.0 1.0 0.1 1.2 1.0 1.0]

freq

<<integer>>

quarters or months

4

q_m

freq

initial_year

<<integer>>

beginning of the year

yrBin

initial_year

initial_subperiod

<<integer>>

beginning of the quarter or month

1

qmBin

initial_subperiod

final_year

<<integer>>

final year

yrFin

final_year

final_subperiod

<<integer>>

final month or quarter

4

qmFin

final_subperiod

datafile

<<string>>

Load data

data_file

varlist

<<vec_value>>

Names of variables

varlist

varlist

nlags

<<integer>>

Number of lags

1

lags

nlags

cross_restrictions

<<integer>>

1: cross-A0-and-A+ restrictions
0: idfile_const is all we have

0

indxc0Pres

cross_restrictions

contemp_reduced_form

<<integer>>

1: contemporaneous recursive reduced form
0: restricted (non-recursive) form

0

Rform

comtemp_reduced_form

bayesian_prior

<<integer>>

1: Bayesian prior
0: no prior

1

indxPrior

bayesian_prior

alpha

<<double>>

Alpha value for squared time-varying structural shock lambda.

1.0

galp

alpha

beta

<<double>>

Beta value for squared time-varying structural shock lambda.

1.0

gbeta

beta

gsig2_lmd

<<integer>>

Case 4 (no state change across variables (i) and across lags (l); only one scale factor for all lagged variables change from state to state). Normal prior variance for structural shock lambda, one scale factor for all lagged D+ in a given equation.

502

gsig2_lmd

gsig2_lmd

gsig2_lmdm

<<integer>>

Case 3 (no state change across lags (l) but allows all variables for a given lag to switch states). Normal prior variance for different variables in lagged D+.

502

gsig2_lmdm

gsig2_lmdm

upper_cholesky

<<integer>>

0

upper_cholesky

upper_cholesky

lower_cholesky

<<integer>>

0

lower_cholesky

lower_cholesky

Mex Functions

General Dynare instructions for MS-SBVAR

I suggest to use several main Dynare keywords rather than options in a single Dynare command ms-sbvar

Top Level Options (from switch_dw/state_space/sbvar/dw_sbvar_command_line.c):

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

estimate

--

--

options_.ms.estimate_msmodel

ms_estimatation

produces estimation - posterior mode or maximum likelihood

simulate

--

--

options_.ms.print_draws

ms_simulation

produces simulation run

mdd

--

--

options_.ms.compute_mdd

ms_compute_mdd

produces marginal data density from posterior draws

probabilities

--

--

options_.ms.compute_probabilities

ms_compute_probabilities

produces smoothed or filtered probabilities

forecast

--

--

options_.ms.forecast

ms_forecast

produces mean forecast

ir

--

--

options_.ms.irf

ms_irf

produces impulse responses for a given set of parameters with or without error bands and taking into account or not of parameter posterior uncertainty

ms_variance_decomposition

--

--

options_.ms.variance_decomposition

ms_variance_decomposition

produce variance decomposition


Options Accepted by All Mex Functions (from switch_dw/state_space/sbvar/dw_sbvar_command_line.c):

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

ft

<<string>>

--

options_.ms.file_tag

file_tag

The input file tag. Is used to create input file names if the fs or fp options are not present

di

<<string>>

./

not supported

--

input files are in specified directory

do

<<string>>

./

not supported

--

output files are in specified directory

fs

<<string>>

options_.ms.initialization_file_tag

initialization_file_tag

specification file name

fp

<<string>>

options_.ms.estimation_file_tag

estimation_file_tag

parameter file name

ph

<<string>>

not supported

--

header for the parameters

MLE

<<string>>

not supported

--

Determines if estimation finds the posterior mode or maximum likelihood. If ph or is not present, determines whether the input parameter header is "MLE: " or "Posterior mode: ".

fto

<<string>>

options_.ms.output_file_tag

output_file_tag

The output file tag. Used to create output filenames.

fo

<<string>>

not supported

--

output file name

pho

<<string>>

not supported

--

parameter header used for output

seed

<<integer>>

0 (i.e. random)

options_.DynareRandomStreams.seed

set by set_dynare_seed() in .mod file

seed value for random number generation

Mex Functions and Their Options

Create Init File Syntax (from switch_dw/state_space/sbvar/create_init_file.c):
Mex Calling structure: create_init_file <matlab filename> <markov filename> <file tag>

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

<matlab filename>

--

None. Set automatically in sz_prd.m

--

matlab file name

<markov filename>

--

options_.ms.markov_file

markov_file

Markov file name

<file tag>

--

options_.ms.output_file_tag

output_file_tag

output file tag


Estimation (from switch_dw/state_space/sbvar/sbvar_estimate.c):
Mex Calling structure: ms_sbvar_command_line(<<string>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

cb

<<float>>

1e-3

options_.ms.convergence_starting_value

convergence_starting_value

convergence criterion starting value

ce

<<float>>

1e-6

options_.ms.convergence_ending_value

convergence_ending_value

convergence criterion ending value

ci

<<float>>

0.1

options_.ms.convergence_increment_value

convergence_increment_value

convergence criterion increment value

ib

<<integer>>

50

options_.ms.max_iterations_starting_value

max_iterations_starting_value

maximum interations starting value

ii

<<float>>

2.0

options_.ms.max_iterations_increment_value

max_iterations_increment_value

maximum interations increment value

mb

<<integer>>

100

options_.ms.max_block_iterations

max_block_iterations

maximum block iterations

repeat_max

<<integer>>

10

options_.ms.max_repeated_optimization_runs

max_repeated_optimization_runs

maximum number of times to repeat csminwel runs

repeat_tol_obj

<<float>>

0.1

options_.ms.function_convergence_criterion

function_convergence_criterion

convergence criterion for objective function

repeat_tol_parms

<<float>>

0.1

options_.ms.parameter_convergence_criterion

parameter_convergence_criterion

convergence criterion for parameter values

random

<<integer>>

5

options_.ms.number_of_large_perturbations

number_of_large_perturbations

number of large perturbations to make at each stage of the estimation process.

random_small

<<integer>>

5

options_.ms.number_of_small_perturbations

number_of_small_perturbations

number of small perturbations to make after the large perturbations have stopped improving.

random_small_ndraws

<<integer>>

1

options_.ms.number_of_posterior_draws_after_perturbation

number_of_posterior_draws_after_perturbation

number of consecutive posterior draws to make when producing a small perturbation

random_max

<<integer>>

20

options_.ms.max_number_of_stages

max_number_of_stages

maximum number of stages allowed

random_tol_obj

<<float>>

0.1

options_.ms.random_function_convergence_criterion

random_function_convergence_criterion

convergence criterion for objective function

random_tol_parms

<<float>>

0.1

options_.ms.random_parameter_convergence_criterion

random_parameter_convergence_criterion

convergence criterion for parameter values


Simulation (from switch_dw/state_space/sbvar/sbvar_simulate.c):
Mex Calling structure: ms_sbvar_command_line(<<string>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

ndraws

<<integer>>

10,000

options_.ms.mh_replic

mh_replic

Number of draws to save

burnin

<<integer>>

0.1*ndraws

options_.ms.drop

drop

Number of burn-in draws

thin

<<integer>>

1

options_.ms.thinning_factor

thinning_factor

Thinning factor. Total number of draws made is thin*ndraws + burnin

append

--

off

not supported

--

Append simulation and info to existing files if they exist and use last parameter draw as initial value.

mh

<<integer>>

30,000

options_.ms.adaptive_mh_draws

adaptive_mh_draws

Tuning period for Metropolis-Hasting draws

flat

--

off

not supported

--

Produce flat output file and header file

nofree

--

off

not supported

--

Do not produce free parameters file

nd1

--

off

not supported

--

Normalize diagonal of A0 to one (flat output only)


Marginal Data Density (from switch_dw/state_space/sbvar/sbvar_mdd.c):
Mex Calling structure: ms_sbvar_command_line(<<string>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

t

<<string>>

not supported

--

filemname tag

outtag

<<string>>

not supported

--

filemname tag -- supersedes t and ft

pf

<<string>>

simulation_<tag>.out

options_.ms.mh_file

simulation_file_tag

posterior draws fileanme

pt

<<integer>>

3

options_.ms.mdd_proposal_type(1)

proposal_type (3-dim vector, see below)

proposal type (1=gaussian, 2=power, 3=truncated power, 4=step, 5=truncated gaussian)

d

<<integer>>

100,000

options_.ms.mdd_proposal_draws

mdd_proposal_draws

number proposal draws

use_mode

--

on

not supported

--

use posterior mode as center

use_mean

--

off

options_.ms.mdd_use_mean_center

mdd_use_mean_center

use posterior mean as center

of

<<string>>

mdd_<tag>.out

not supported

--

output filename

l

<<float>>

0.1

options_.ms.mdd_proposal_type(2)

Lower cutoff for in terms of probability. Used by truncated power, truncated gaussian, step, and uniform.

h

<<float>>

0.9

options_.ms.mdd_proposal_type(3)

Upper cutoff for in terms of probability. Used by power, truncated power, truncated gaussian, step, and uniform.

graph

--

off

not supported

--

Produce output suitable for graphing the marginal cummulative densities of the radius of the posterior and elliptical distributions. The marginal data density is not computed.

print

--

off

not supported

--

Prints the matrices posterior and proposal

append

--

off

not supported

--

Appends proposal draws to those previously made. If the posterior draws have changed in any way, then this option must not be used. The filename for the proposal draws is proposal_t<proposal type>_<tag>.out.


Regime Probability (from switch_dw/state_space/sbvar/sbvar_probabilities.c):
Mex Calling structure: ms_sbvar_command_line(<<string>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

filtered

--

off

options_.ms.filtered_probabilities

filtered_probabilities

filtered probabilities are computed instead of smoothed

real_time_smoothed

--

off

options_.ms.real_time_smoothed_probabilities

real_time_smoothed_probabilities

smoothed probabilities are computed based on time t information are computed for 0 <= t <= nobs


Impulse Responses (from switch_dw/state_space/sbvar/sbvar_impulse_responses.c):
Mex Calling structure: mex_ms_irf(<<file_tag>>, <<varargin>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

horizon

<<integer>>

12

options_.ms.horizon

horizon

forecast horizon

filtered

--

off

options_.ms.filtered_probabilities

filtered_probabilities

Uses filtered probabilities at the end of the sample as initial conditions for regime probabilities. This flag only applies if neither regimes nor regime is specified.

error_bands

--

off

options_.ms.error_bands

no_error_bands

do not output error bands. Mex default is no_error_bands=off (i.e., options_.ms.error_bands=1), different than C default

percentiles

<<vector>>

if error_bands, [0.16  0.50  0.84] else [0.50]

options_.ms.error_band_percentiles

error_band_percentiles

Percentiles to compute. The first parameter after percentiles must be the number of percentiles and the following values are the actual percentiles.

parameter_uncertainty

--

off

options_.ms.parameter_uncertainty

no option because it is used automatically in ms_irf.m

Apply parameter uncertainty when computing error bands or median.

shocks_per_parameter

<<integer>>

10,000 or 10

options_.ms.shocks_per_parameter & options_.ms.shock_draws

shock_draws

Number of regime paths to draw for each parameter draw. The default value is 1 if parameter_uncertainty is set and 10,000 otherwise.

thin

<<integer>>

1

options_.ms.thinning_factor

thinning_factor

Thinning factor. Only 1/thin of the draws in posterior draws file are used.

regimes

--

off

options_.ms.regimes

no option because it is invoked automatically in ms_irf.m

Produces forecasts as if each regime were permanent.

regime

<<integer>>

off

not supported

--

Produces forecasts as if regime were permanent

flat

--

off

not supported

--

Assumes that posterior draws is a flat file format

Additional functionality provided by mex/sources/ms-sbvar/mex_ms_irf.cc

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

free_parameters

<<vector>>

estimated parameters

options_.ms.free_parameters

free_parameters

A vector of free parameters to initialize theta of the Markov Switching Model

simulation_file

<<string>>

simulation_<file_tag>.out

options_.ms.mh_file

simulation_file_tag

This is analogous to the 'pf' option, it will initialize the model to use the passed simulation file, allowing a user to easily override the default 'simulation_<file_tag>.out' when it needs to look for posterior draws

median

--

off

options_.ms.median

median

This is intended as a shortcut to setting percentiles as percentiles=[0.50]


Forecast (from switch_dw/state_space/sbvar/sbvar_forecast.c):
Mex Calling structure: mex_ms_forecast(<<file_tag>>, <<varargin>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

horizon

<<integer>>

12

options_.ms.horizon

horizon

See horizon in irf

number_observations

<<integer>>

0

options_.ms.forecast_data_obs

data_obs_nbr

the number of data points included in the output

error_bands

--

off

options_.ms.error_bands

no_error_bands

See error_bands in irf

percentiles

<<vector>>

if error_bands, [0.16  0.50  0.84] else [0.50]

options_.ms.error_band_percentiles

error_band_percentiles

See percentiles in irf

parameter_uncertainty

--

off

options_.ms.parameter_uncertainty

parameter_uncertainty

See parameter_uncertainty in irf

shocks_per_parameter

<<integer>>

10,000 or 10

options_.ms.shocks_per_parameter & options_.ms.shock_draws

shock_draws

See shocks_per_parameter in irf

thin

<<integer>>

1

options_.ms.thinning_factor

thinning_factor

See thin in irf

regimes

<<integer>>

0

options_.ms.regimes

regimes

See regimes in irf

regime

<<integer>>

0

not supported

--

See regime in irf

mean

--

off

not supported

--

produces mean forecast

flat

--

off

not supported

--

See flat in irf

nodate

--

off

not supported

--

If not defined, then the first column of the output is a date number. A date number of one is the first date in the data series, a date number of nobs is the last date in the data series, and date numbers larger than this correspond to forecasts.

Additional functionality provided by mex/sources/ms-sbvar/mex_ms_forecast.cc

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

free_parameters

<<vector>>

options_.ms.free_parameters

free_parameters

See analogous table under irf

simulation_file

<<string>>

simulation_<file_tag>.out

options_.ms.mh_file

simulation_file_tag

See analogous table under irf

median

--

off

options_.ms.median

median

See analogous table under irf


Variance Decomposition (from switch_dw/state_space/sbvar/sbvar_variance_decomposition.c):
Mex Calling structure: mex_ms_variance_decomposition(<<file_tag>>, <<varargin>>)

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

horizon

<<integer>>

12

options_.ms.horizon

horizon

forecast horizon

filtered

--

off

options_.ms.filtered_probabilities

filtered_probabilities

See filtered in irf

error_bands

--

off

options_.ms.error_bands

no_error_bands

See error_bands in irf

percentiles

<<vector>>

options_.ms.error_band_percentiles

error_band_percentiles

See percentiles in irf

parameter_uncertainty

--

off

options_.ms.parameter_uncertainty

parameter_uncertainty

See parameter_uncertainty in irf

shocks_per_parameter

<<integer>>

10,000 or 10

options_.ms.shocks_per_parameter & options_.ms.shock_draws

shock_draws

See shocks_per_parameter in irf

thin

<<integer>>

1

options_.ms.thinning_factor

thinning_factor

See thin in irf

regimes

--

off

options_.ms.regimes

regimes

See regimes in irf

regime

<<integer>>

0

not supported

--

See regime in irf

flat

--

off

not supported

--

See flat in irf

Additional functionality provided by mex/sources/ms-sbvar/mex_ms_variance_decomposition.cc:

Option

Value

Default

Dynare Option

Preproccessor Option

Comments

free_parameters

<<vector>>

options_.ms.free_parameters

free_parameters

See analogous table under irf

simulation_file

<<string>>

simulation_<file_tag>.out

options_.ms.mh_file

simulation_file_tag

See analogous table under irf

median

--

off

options_.ms.median

median

See analogous table under irf