The VARMAX Procedure

MODEL Statement

  • MODEL dependents < = regressors > <, dependents < = regressors > …> < / options > ;

The MODEL statement specifies dependent (endogenous) variables and independent (exogenous) variables for the VARMAX model. The multivariate model can have the same or different independent variables corresponding to the dependent variables. As a special case, the VARMAX procedure allows you to analyze one dependent variable. Only one MODEL statement is allowed.

For example, the following statements are equivalent ways of specifying the multivariate model for the vector $(y1, y2, y3)$:

model y1 y2 y3 </options>;
model y1-y3 </options>;

The following statements are equivalent ways of specifying the multivariate model with independent variables, where $y1, y2, y3$, and $y4$ are the dependent variables and $x1, x2, x3, x4$, and $x5$ are the independent variables:

model y1 y2 y3 y4 = x1 x2 x3 x4 x5 </options>;
model y1 y2 y3 y4 = x1-x5 </options>;
model y1 = x1-x5, y2 = x1-x5, y3 y4 = x1-x5 </options>;
model y1-y4 = x1-x5 </options>;

When the multivariate model has different independent variables that correspond to each of the dependent variables, equations are separated by commas (,) and the model can be specified as illustrated by the following MODEL statement:

model y1 = x1-x3, y2 = x3-x5, y3 y4 = x1-x5 </options>;

The following options can be used in the MODEL statement after a forward slash (/):

CENTER

centers the dependent (endogenous) variables by subtracting their means. Note that centering is done after differencing when the DIF= or DIFY= option is specified. If there are exogenous (independent) variables, this option is not applicable.

model y1 y2 / p=1 center;
DIF(variable (number-list) <... variable (number-list)>)
DIF=(variable (number-list) <... variable (number-list)>)

specifies the degrees of differencing to be applied to the specified dependent or independent variables. The number-list must contain one or more numbers, each of which should be greater than zero. The differencing can be the same for all variables, or it can vary among variables. For example, the DIF=($y_1$(1,4) $y_3$(1) $x_2$(2)) option specifies that the series $y_1$ is differenced at lag 1 and at lag 4, which is

\[ (1-B^4)(1-B)y_{1t}=(y_{1t}-y_{1,t-1})-(y_{1,t-4}-y_{1,t-5}) \]

the series $y_3$ is differenced at lag 1, which is $(y_{3t}-y_{3,t-1})$; and the series $x_2$ is differenced at lag 2, which is $(x_{2t}-x_{2,t-2})$.

The following uses the data $dy1$, $y2$, $x1$, and $dx2$, where $dy1=(1-B)y_{1t}$ and $dx2=(1-B)^2x_{2t}$.

model y1 y2 = x1 x2 / p=1 dif=(y1(1) x2(2));
DIFX(number-list)
DIFX=(number-list)

specifies the degrees of differencing to be applied to all independent variables. The number-list must contain one or more numbers, each of which should be greater than zero. For example, the DIFX=(1) option specifies that all of the independent series are differenced once at lag 1. The DIFX=(1,4) option specifies that all of the independent series are differenced at lag 1 and at lag 4. If independent variables are specified in the DIF= option, then the DIFX= option is ignored.

The following statement uses the data $y1$, $y2$, $dx1$, and $dx2$, where $dx1=(1-B)x_{1t}$ and $dx2=(1-B)x_{2t}$.

model y1 y2 = x1 x2 / p=1 difx(1);
DIFY(number-list)
DIFY=(number-list)

specifies the degrees of differencing to be applied to all dependent (endogenous) variables. The number-list must contain one or more numbers, each of which should be greater than zero. For details, see the DIFX= option. If dependent variables are specified in the DIF= option, then the DIFY= option is ignored.

model y1 y2 / p=1 dify(1);
METHOD=value

requests the type of estimates to be computed. The possible values of the METHOD= option are as follows:

LS

specifies least squares estimates.

ML

specifies maximum likelihood estimates.

CML

specifies conditional maximum likelihood estimates.

For VARX models, you can apply least squares method, maximum likelihood method, or conditional maximum likelihood method; for VARMAX models, you can apply either maximum likelihood method or conditional maximum likelihood method; for other type of models, namely, vector error correction models, GARCH models, and Bayesian models, the default maximum likelihood method is applied.

model y1 y2 / p=1 method=ml;
NOCURRENTX

suppresses the current values $x_ t$ of the independent variables. In general, the VARX($p,s$) model is

\[ \mb{y} _ t = \bdelta + \sum _{i=1}^{p}\Phi _ i\mb{y} _{t-i} + \sum _{i=0}^{s}\Theta _ i^*\mb{x} _{t-i} + \bepsilon _ t \]

where p is the number of lags of the dependent variables included in the model, and s is the number of lags of the independent variables included in the model, including the contemporaneous values of $x_ t$.

A VARX(1,2) model can be specified as:

model y1 y2 = x1 x2 / p=1 xlag=2;

If the NOCURRENTX option is specified, it suppresses the current values $\mb{x} _ t$ and starts with $\mb{x} _{t-1}$. The VARX($p,s$) model is redefined as:

\[ \mb{y} _ t = \bdelta + \sum _{i=1}^{p}\Phi _ i\mb{y} _{t-i} + \sum _{i=1}^{s}\Theta _ i^*\mb{x} _{t-i} + \bepsilon _ t \]

This model with $p=1$ and $s=2$ can be specified as:

model y1 y2 = x1 x2 / p=1 xlag=2 nocurrentx;
NOINT

suppresses the intercept parameter $\bdelta $.

model y1 y2 / p=1 noint;
NSEASON=number

specifies the number of seasonal periods. When the NSEASON=number option is specified, (number –1) seasonal dummies are added to the regressors. If the NOINT option is specified, the NSEASON= option is not applicable. For more information, see the section Seasonal Dummies and Time Trends.

model y1 y2 / p=1 nseason=4;
SCENTER

centers seasonal dummies specified by the NSEASON= option. The centered seasonal dummies are generated by $c-(1/s)$, where c is a seasonal dummy generated by the NSEASON=s option.

model y1 y2 / p=1 nseason=4 scenter;
TREND=value

specifies the degree of deterministic time trend included in the model. Valid values are as follows:

LINEAR

includes a linear time trend as a regressor.

QUAD

includes linear and quadratic time trends as regressors.

The TREND=QUAD option is not applicable for a cointegration analysis. For more information, see the section Seasonal Dummies and Time Trends.

model y1 y2 / p=1 trend=linear;
VARDEF=value

corrects for the degrees of freedom of the denominator for computing an error covariance matrix for the METHOD=LS option. If the METHOD=ML option is specified, the VARDEF=N option is always used. Valid values are as follows:

DF

specifies that the number of nonmissing observation minus the number of regressors be used.

N

specifies that the number of nonmissing observation be used.

model y1 y2 / p=1 vardef=n;

Printing Control Options

LAGMAX=number

specifies the maximum number of lags for which results are computed and displayed by the PRINT=(CORRX CORRY COVX COVY IARR IMPULSE= IMPULSX= PARCOEF PCANCORR PCORR) options. This option is also used to limit the printed results for the cross covariances and cross-correlations of residuals. The default is LAGMAX=min(12, T-2), where T is the number of nonmissing observations.

model y1 y2 / p=1 lagmax=6;
NOPRINT

suppresses all printed output.

model y1 y2 / p=1 noprint;
PRINTALL

requests all printing control options. The options set by the option PRINTALL are DFTEST=, MINIC=, PRINTFORM=BOTH, and PRINT=(CORRB CORRX CORRY COVB COVPE COVX COVY DECOMPOSE DYNAMIC IARR IMPULSE=(ALL) IMPULSX=(ALL) PARCOEF PCANCORR PCORR ROOTS YW).

You can also specify this option as the option ALL.

model y1 y2 / p=1 printall;
PRINTFORM=value

requests the printing format of the output generated by the PRINT= option and cross covariances and cross-correlations of residuals. Valid values are as follows:

BOTH

prints output in both MATRIX and UNIVARIATE forms.

MATRIX

prints output in matrix form. This is the default.

UNIVARIATE

prints output by variables.

model y1 y2 / p=1 print=(impulse) printform=univariate;

Printing Options

PRINT=(options)

The following options can be used in the PRINT=( ) option. The options are listed within parentheses. If a number in parentheses follows an option listed below, then the option prints the number of lags specified by number in parentheses. The default is the number of lags specified by the LAGMAX=number option.

CORRB

prints the estimated correlations of the parameter estimates.

CORRX
CORRX(number)

prints the cross-correlation matrices of exogenous (independent) variables. The number should be greater than zero.

CORRY
CORRY(number)

prints the cross-correlation matrices of dependent (endogenous) variables. The number should be greater than zero.

COVB

prints the estimated covariances of the parameter estimates.

COVPE
COVPE(number)

prints the covariance matrices of number-ahead prediction errors for the VARMAX(p,q,s) model. The number should be greater than zero. If the DIF= or DIFY= option is specified, the covariance matrices of multistep prediction errors are computed based on the differenced data. This option is not applicable when the PRIOR= option is specified. See the section Forecasting for details.

COVX
COVX(number)

prints the cross-covariance matrices of exogenous (independent) variables. The number should be greater than zero.

COVY
COVY(number)

prints the cross-covariance matrices of dependent (endogenous) variables. The number should be greater than zero.

DECOMPOSE
DECOMPOSE(number)

prints the decomposition of the prediction error covariances using up to the number of lags specified by number in parentheses for the VARMA(p,q) model. The number should be greater than zero. It can be interpreted as the contribution of innovations in one variable to the mean squared error of the multistep forecast of another variable. The DECOMPOSE option also prints proportions of the forecast error variance.

If the DIF= or DIFY= option is specified, the covariance matrices of multistep prediction errors are computed based on the differenced data. This option is not applicable when the PRIOR= option is specified. See the section Forecasting for details.

DIAGNOSE

prints the residual diagnostics and model diagnostics.

DYNAMIC

prints the contemporaneous relationships among the components of the vector time series.

ESTIMATES

prints the coefficient estimates and a schematic representation of the significance and sign of the parameter estimates.

IARR
IARR(number)

prints the infinite order AR representation of a VARMA process. The number should be greater than zero. If the ECM= option or the COINTEG statement is specified, then the reparameterized AR coefficient matrices are printed.

IMPULSE
IMPULSE(number)
IMPULSE=(SIMPLE ACCUM ORTH STDERR ALL)
IMPULSE(number)=(SIMPLE ACCUM ORTH STDERR ALL)

prints the impulse response function. The number should be greater than zero. It investigates the response of one variable to an impulse in another variable in a system that involves a number of other variables as well. It is an infinite order MA representation of a VARMA process. See the section Impulse Response Function for details.

The following options can be used in the IMPULSE=( ) option. The options are specified within parentheses.

ACCUM

prints the accumulated impulse response function.

ALL

is equivalent to specifying all of SIMPLE, ACCUM, ORTH, and STDERR.

ORTH

prints the orthogonalized impulse response function.

SIMPLE

prints the impulse response function. This is the default.

STDERR

prints the standard errors of the impulse response function, the accumulated impulse response function, or the orthogonalized impulse response function.

If the exogenous variables are used to fit the model, then the STDERR option is ignored.

IMPULSX
IMPULSX(number)
IMPULSX=(SIMPLE ACCUM ALL)
IMPULSX(number)=(SIMPLE ACCUM ALL)

prints the impulse response function related to exogenous (independent) variables. The number should be greater than zero. See the section Impulse Response Function for details.

The following options can be used in the IMPULSX=( ) option. The options are specified within parentheses.

ACCUM

prints the accumulated impulse response matrices for the transfer function.

ALL

is equivalent to specifying both SIMPLE and ACCUM.

SIMPLE

prints the impulse response matrices for the transfer function. This is the default.

PARCOEF
PARCOEF(number)

prints the partial autoregression coefficient matrices, $\Phi _{mm}$ up to the lag number. The number should be greater than zero. With a VAR process, this option is useful for the identification of the order since the $\Phi _{mm}$ have the property that they equal zero for $m>p$ under the hypothetical assumption of a VAR(p) model. See the section Tentative Order Selection for details.

PCANCORR
PCANCORR(number)

prints the partial canonical correlations of the process at lag m and the test for testing $\Phi _{m}$=0 for $m>p$ up to the lag number. The number should be greater than zero. The lag m partial canonical correlations are the canonical correlations between $\mb{y} _ t$ and $\mb{y} _{t-m}$, after adjustment for the dependence of these variables on the intervening values $\mb{y} _{t-1}$, …, $\mb{y} _{t-m+1}$. See the section Tentative Order Selection for details.

PCORR
PCORR(number)

prints the partial correlation matrices. The number should be greater than zero. With a VAR process, this option is useful for a tentative order selection by the same property as the partial autoregression coefficient matrices, as described in the PRINT=(PARCOEF) option. See the section Tentative Order Selection for details.

ROOTS

prints the eigenvalues of the $kp \times kp$ companion matrix associated with the AR characteristic function $\Phi (B)$, where k is the number of dependent (endogenous) variables, and $\Phi (B)$ is the finite order matrix polynomial in the backshift operator B, such that $B^ i\mb{y} _{t}=\mb{y} _{t-i}$. These eigenvalues indicate the stationary condition of the process since the stationary condition on the roots of $|\Phi (B)| =0$ in the VAR(p) model is equivalent to the condition in the corresponding VAR(1) representation that all eigenvalues of the companion matrix be less than one in absolute value. Similarly, you can use this option to check the invertibility of the MA process. In addition, when the GARCH statement is specified, this option prints the roots of the GARCH characteristic polynomials to check covariance stationarity for the GARCH process.

YW

prints Yule-Walker estimates of the preliminary autoregressive model for the dependent (endogenous) variables. The coefficient matrices are printed using the maximum order of the autoregressive process.

Some examples of the PRINT= option are as follows:

model y1 y2 / p=1 print=(covy(10) corry(10));
model y1 y2 / p=1 print=(parcoef pcancorr pcorr);
model y1 y2 / p=1 print=(impulse(8) decompose(6) covpe(6));
model y1 y2 / p=1 print=(dynamic roots yw);

Lag Specification Options

P=number
P=(number-list)

specifies the order of the vector autoregressive process. Subset models of vector autoregressive orders can be specified by listing the desired set of lags. For example, you can specify the P=(1,3,4) option. The P=3 option is equivalent to the P=(1,2,3) option. The default is P=0.

If P=0 and there are no exogenous (independent) variables, then the AR polynomial order is automatically determined by minimizing an information criterion. If P=0 and the PRIOR= or ECM= option or COINTEG statement are specified, then the AR polynomial order is determined automatically.

If the ECM= option or the COINTEG statement is specified, then subset models of vector autoregressive orders are not allowed and the AR maximum order specified is used.

Examples illustrating the P= option follow:

model y1 y2 / p=3;
model y1 y2 / p=(1,3);
model y1 y2 / p=(1,3) prior;
Q=number
Q=(number-list)

specifies the order of the moving-average error process. Subset models of moving-average orders can be specified by listing the desired set of lags. For example, you can specify the Q=(1,5) option. The default is Q=0.

model y1 y2 / p=1 q=1;
model y1 y2 / q=(2);
XLAG=number
XLAG=(number-list)

specifies the lags of exogenous (independent) variables. Subset models of distributed lags can be specified by listing the desired set of lags. For example, XLAG=(2) selects only a lag 2 of the exogenous variables. The default is XLAG=0. To exclude the present values of exogenous variables from the model, the NOCURRENTX option must be used.

model y1 y2 = x1-x3 / xlag=2 nocurrentx;
model y1 y2 = x1-x3 / p=1 xlag=(2);

Tentative Order Selection Options

MINIC
MINIC=( P=number PERROR=number Q=number TYPE=value )

prints the information criterion for the appropriate AR and MA tentative order selection.

You can specify the following options within parentheses in the MINIC= option:

P=number
P=($p_{min}$ : $p_{max}$)

specifies the range of AR orders to be considered in the tentative order selection. The default is P=(0:5). P=3 is equivalent to P=(0:3).

PERROR=number
PERROR=($p_{\epsilon , min}$ : $p_{\epsilon , max}$)

specifies the range of AR orders for obtaining the error series. The default is PERROR=($p_{max}:p_{max}+q_{max}$).

Q=number
Q=($q_{min}$ : $q_{max}$)

specifies the range of MA orders to be considered in the tentative order selection. The default is Q=(0:5).

TYPE= AIC | AICC | FPE | HQC | SBC

specifies the criterion for the model order selection. Valid criteria are as follows:

AIC

specifies Akaike’s information criterion.

AICC

specifies the corrected Akaike’s information criterion.

FPE

specifies the final prediction error criterion.

HQC

specifies the Hanna-Quinn criterion.

SBC

specifies the Schwarz Bayesian criterion. You can also specify this value as TYPE=BIC.

By default, TYPE=AICC.

The following examples show how to use the MINIC or MINIC= option:

model y1 y2 / minic;
model y1 y2 / minic=(type=aic p=13);

In the selection of AR and MA orders, the model that has the smallest criterion value is chosen. For the definitions of the information criteria used in the MINIC option, see the section The Minimum Information Criterion (MINIC) Method.

Cointegration Related Options

Two options are related to integrated time series; one is the DFTEST option to test for a unit root and the other is the COINTTEST option to test for cointegration.

DFTEST
DFTEST=(DLAG=number)
DFTEST=(DLAG=(number) …(number) )

prints the Dickey-Fuller unit root tests. The DLAG=(number) …(number) option specifies the regular or seasonal unit root test. Supported values of number are in 1, 2, 4, 12. If the number is greater than one, a seasonal Dickey-Fuller test is performed. If the TREND= option is specified, the seasonal unit root test is not available. The default is DLAG=1.

For example, the DFTEST=(DLAG=(1)(12)) option produces two tables: the Dickey-Fuller regular unit root test and the seasonal unit root test.

Some examples of the DFTEST= option follow:

model y1 y2 / p=2 dftest;
model y1 y2 / p=2 dftest=(dlag=4);
model y1 y2 / p=2 dftest=(dlag=(1)(12));
model y1 y2 / p=2 dftest cointtest;
COINTTEST
COINTTEST=(JOHANSEN <(=options)> SW <(=options)> SIGLEVEL=number )

specifies the cointegration tests.

You can specify the following options within parentheses in the COINTTEST= option:

JOHANSEN
JOHANSEN=(TYPE=value IORDER=number NORMALIZE=variable)

prints the cointegration rank test for multivariate time series based on Johansen’s method. This test is provided when the number of dependent (endogenous) variables is less than or equal to 64. For more information, see the section Vector Error Correction Modeling.

The VARX(p,s) model can be written as the error correction model

\begin{eqnarray*} \Delta \mb{y} _{t} = \Pi \mb{y} _{t-1} + \sum _{i=1}^{p-1} \Phi ^*_ i \Delta \mb{y} _{t-i} + A D_ t + \sum _{i=0}^{s}\Theta ^*_ i\mb{x} _{t-i} + \bepsilon _ t \end{eqnarray*}

where $\Pi $, $\Phi ^*_ i$, A, and $\Theta ^*_ i$ are coefficient parameters and $D_ t$ is a deterministic term such as a constant, a linear trend, or seasonal dummies.

The $I(1)$ model is defined by one reduced-rank condition. If the cointegration rank is $r<k$, then there exist $k\times r$ matrices $\balpha $ and $\bbeta $ of rank r such that $\Pi =\balpha \bbeta ’$.

The $I(1)$ model is rewritten as the $I(2)$ model

\begin{eqnarray*} \Delta ^2 \mb{y} _{t} = \Pi \mb{y} _{t-1} -\Psi \Delta \mb{y} _{t-1} +\sum _{i=1}^{p-2} \Psi _ i \Delta ^2 \mb{y} _{t-i} +A D_ t + \sum _{i=0}^{s}\Theta ^*_ i\mb{x} _{t-i} + \bepsilon _ t \end{eqnarray*}

where $\Psi = I_ k - \sum _{i=1}^{p-1} \Phi ^*_ i$ and $\Psi _ i = -\sum _{j=i+1}^{p-1} \Phi ^*_ i$.

The $I(2)$ model is defined by two reduced-rank conditions. One is that $\Pi =\balpha \bbeta ’$, where $\balpha $ and $\bbeta $ are $k\times r$ matrices of full-rank r. The other is that $\balpha ’_{\bot } \Psi \bbeta _{\bot }=\bxi \bm {\eta }’$, where $\bxi $ and $\bm {\eta }$ are $(k-r)\times s$ matrices with $s\leq k-r$, and $\balpha _{\bot }$ and $\bbeta _{\bot }$ are $k\times (k-r)$ matrices of full-rank $k-r$ such that $\balpha ’\balpha _{\bot }=0$ and $\bbeta ’\bbeta _{\bot }=0$.

You can specify the following options within parentheses in the JOHANSEN= option:

IORDER=1 | 2

specifies the integrated order. You can specify the following values:

1

prints the cointegration rank test for an integrated order 1 and prints the long-run parameter, $\bbeta $, and the adjustment coefficient, $\balpha $. If you specify IORDER=1, then the AR order should be greater than or equal to 1. If you specify P=0 in the MODEL statement, the value of P is set to 1 for the Johansen test.

2

prints the cointegration rank test for integrated orders 1 and 2. If you specify IORDER=2, then the AR order should be greater than or equal to 2. If you specify P=1 and IORDER=2, then the value of IORDER is set to 1; if you specify P=0 and IORDER=2, then the value of P is set to 2.

By default, IORDER=1.

NORMALIZE=variable

specifies the dependent (endogenous) variable whose cointegration vectors are to be normalized. If the variable is different from the variable specified in the COINTEG statement or in the ECM= option in the MODEL statement, then the value specified in the COINTEG statement is used. If you specify this option and you want to estimate an error correction model, then the BOUND, GARCH, INITIAL, and RESTRICT statements are all ignored and the Q= option in the MODEL statement is also ignored.

TYPE=MAX | TRACE

specifies the type of cointegration rank test to be printed. You can specify the following values:

MAX

prints the cointegration maximum eigenvalue test.

TRACE

prints the cointegration trace test.

By default, TYPE=TRACE. If the NOINT option is not specified, PROC VARMAX prints two different cointegration rank tests in the presence of the unrestricted and restricted deterministic terms (constant or linear trend) models. If you specify IORDER=2, the procedure automatically sets the TYPE=TRACE option.

The following examples illustrate the JOHANSEN= option:

model y1 y2 / p=2 cointtest=(johansen=(type=max normalize=y1));
model y1 y2 / p=2 cointtest=(johansen=(iorder=2 normalize=y1));

SIGLEVEL=value

sets the size (the significance level) of the common trends tests.

The SIGLEVEL=value can be set to 0.1, 0.05, or 0.01. By default, SIGLEVEL=0.05.

model y1 y2 / p=2 cointtest=(sw siglevel=0.1);
model y1 y2 / p=2 cointtest=(sw siglevel=0.01);

SW
SW=(TYPE=value LAG=number)

prints common trends tests for a multivariate time series based on the Stock-Watson method. This test is provided when the number of dependent (endogenous) variables is less than or equal to 6. For more information, see the section Common Trends.

You can specify the following options within parentheses in the SW= option:

LAG=number

specifies the number of lags. The default is LAG=max(1,p) for the TYPE=FILTDIF or TYPE=FILTRES option, where p is the AR maximum order specified by the P= option. The default is LAG=$T^{1/4}$ for the TYPE=KERNEL option, where T is the number of nonmissing observations. If the specified LAG=number exceeds the default, then it is replaced by the default.

TYPE=FILTDIF | FILTRES | KERNEL

specifies the type of common trends test to be printed. You can specify the following values:

FILTDIF

prints the common trends test based on the filtering method applied to the differenced series.

FILTRES

prints the common trends test based on the filtering method applied to the residual series.

KERNEL

prints the common trends test based on the kernel method.

By default, TYPE=FILTDIF.

The following examples illustrate the SW option:

model y1 y2 / p=2 cointtest=(sw);
model y1 y2 / p=2 cointtest=(sw=(type=kernel));
model y1 y2 / p=2 cointtest=(sw=(type=kernel lag=3));

Bayesian VARX Estimation Options

PRIOR
PRIOR=(prior-options)

specifies the prior value of parameters for the BVARX(p, s) model. The BVARX model allows for a subset model specification. If the ECM= option or the COINTEG statement is specified with the PRIOR option, the BVECMX(p, s) form is fitted. When the PRIOR option is specified, the Q= option in the MODEL statement is ignored, and the BOUND, GARCH, INITIAL, RESTRICT, and TEST statements are all ignored. For more information, see the section Bayesian VAR and VARX Modeling.

The following options can be used with the PRIOR=(prior-options) option. The prior-options are listed within parentheses.

IVAR
IVAR=(variables)

specifies an integrated BVAR(p) model. The variables should be specified in the MODEL statement as dependent variables. If you use the IVAR option without variables, then it sets the overall prior mean of the first lag of each variable equal to one in its own equation and sets all other coefficients to zero. If variables are specified, it sets the prior mean of the first lag of the specified variables equal to one in its own equation and sets all other coefficients to zero. When the series $\mb{y} _ t=(y_1, y_2)’$ follows a bivariate BVAR(2) process, the IVAR or IVAR=($y_1$  $y_2$) option is equivalent to specifying MEAN=(1  0  0  0  0  1  0  0).

If the PRIOR=(MEAN=) or ECM= option or the COINTEG statement is specified, the IVAR= option is ignored.

LAMBDA=value

specifies the prior standard deviation of the AR coefficient parameter matrices. It should be a positive number. The default is LAMBDA=1. As the value of the LAMBDA= option is increased, the BVAR(p) model becomes closer to a VAR(p) model.

MEAN=(vector)

specifies the mean vector in the prior distribution for the AR coefficients. If the vector is not specified, the prior value is assumed to be a zero vector. See the section Bayesian VAR and VARX Modeling for details.

You can specify the mean vector by order of the equation. Let $(\delta , \Phi _1,\ldots ,\Phi _ p)$ be the parameter sets to be estimated and $\Phi =(\Phi _1,\ldots ,\Phi _ p)$ be the AR parameter sets. The mean vector is specified by row-wise from $\Phi $; that is, the MEAN=($\mr{vec} (\Phi ’)$) option.

For the PRIOR=(mean) option in the BVAR(2),

\begin{eqnarray*} \Phi = \left( \begin{array}{rrrr} \phi _{1,11} & \phi _{1,12} & \phi _{2,11} & \phi _{2,12} \\ \phi _{1,21} & \phi _{1,22} & \phi _{2,21} & \phi _{2,22} \end{array} \right) = \left( \begin{array}{rrrr} 2 & 0.1 & 1 & 0 \\ 0.5 & 3 & 0 & -1 \end{array} \right) \end{eqnarray*}

where $\phi _{l,ij}$ is an element of $\Phi $, l is a lag, i is associated with the first dependent variable, and j is associated with the second dependent variable.

model y1 y2 / p=2 prior=(mean=(2 0.1 1 0 0.5 3 0 -1));

The deterministic terms and exogenous variables are considered to shrink toward zero; you must omit prior means of exogenous variables and deterministic terms such as a constant, seasonal dummies, or trends.

For a Bayesian error correction model estimated when both the ECM= option (or the COINTEG statement) and the PRIOR= option are used, a mean vector for only lagged AR coefficients, $\Phi ^*_ i$, in terms of regressors $\Delta \mb{y} _{t-i}$, for $i=1,\ldots ,(p-1)$ is used in the VECM(p) representation. The diffused prior variance of $\balpha $ is used, since $\bbeta $ is replaced by $\hat{\bbeta }$ estimated in a nonconstrained VECM(p) form.

\begin{eqnarray*} \Delta \mb{y} _{t} = \balpha \mb{z} _{t-1} + \sum _{i=1}^{p-1} \Phi ^*_ i \Delta \mb{y} _{t-i} + A D_ t + \sum _{i=0}^{s}\Theta ^*_ i\mb{x} _{t-i} + \bepsilon _ t \end{eqnarray*}

where $\mb{z} _{t} = \bbeta ’ \mb{y} _{t}$.

For example, in the case of a bivariate ($k=2$) BVECM(2) form, the option

\[ \mr{MEAN} =( \phi ^*_{1,11} ~ \phi ^*_{1,12} ~ \phi ^*_{1,21} ~ \phi ^*_{1,22} ) \]

where $\phi ^*_{1,ij}$ is the (i, j) element of the matrix $\Phi ^*_1$.

NREP=number

determines the number of repetitions that are used to compute the measure of forecast accuracy. See the equation in the section Forecasting of BVAR Modeling for details. The default is NREP=$0.5T$, where T is the number of observations. If NREP is above $0.5T$, it is decreased to $0.5T$; if NREP is below the value of the LEAD= option, it is increased to the value of the LEAD= option.

THETA=value

specifies the prior standard deviation of the AR coefficient parameter matrices. The value is in the interval (0,1). The default is THETA=0.1. As the value of the THETA= option approaches 1, the specified BVAR(p) model approaches a VAR(p) model.

Some examples of the PRIOR= option follow:

model y1 y2 / p=2 prior;
model y1 y2 / p=2 prior=(theta=0.2 lambda=5);
model y1 y2 = x1 / p=2 prior=(theta=0.2 lambda=5);
model y1 y2 = x1 / p=2
   prior=(theta=0.2 lambda=5 mean=(2 0.1 1 0 0.5 3 0 -1));

See the section Bayesian VAR and VARX Modeling for details.

Vector Error Correction Model Options

ECM=(RANK=number <ECTREND> <NORMALIZE=variable> )

specifies a vector error correction model.

The ECM= option is obsolete. Use the COINTEG statement instead.

You must specify the following option within parentheses in the ECM= option:

RANK=number

specifies the cointegration rank of the cointegrated system. The rank of cointegration should be greater than 0 and less than the number of dependent (endogenous) variables. If number is different from the RANK= option specified in the COINTEG statement, the value specified in the COINTEG statement is used for the rank.

You can also specify the following options within parentheses in the ECM= option:

ECTREND

specifies the restriction on the drift in the VECM. This option is used in the following cases:

  • There is no separate drift in the VECM, but a constant enters only through the error correction term. For example, for VECM(p),

    \[ \Delta \mb{y} _ t = \balpha (\bbeta ’, \bbeta _0)(\mb{y} _{t-1}’,1)’ + \sum _{i=1}^{p-1} \Phi ^*_ i \Delta \mb{y} _{t-i} + \bepsilon _ t \]

    An example of the ECTREND option follows:

    model y1 y2 / p=2 ecm=(rank=1 ectrend);
    
  • There is a separate drift and no separate linear trend in the VECM, but a linear trend enters only through the error correction term. For example, for VECM(p),

    \[ \Delta \mb{y} _ t = \balpha (\bbeta ’, \bbeta _1)(\mb{y} _{t-1}’,t)’ + \sum _{i=1}^{p-1} \Phi ^*_ i \Delta \mb{y} _{t-i} + \bdelta _0 + \bepsilon _ t \]

    An example of the ECTREND option with the TREND= option follows:

    model y1 y2 / p=2 ecm=(rank=1 ectrend) trend=linear;
    

If you specify both this option and the NSEASON option in the MODEL statement, then the NSEASON option is ignored. If you specify the NOINT option in the MODEL statement, then this option is ignored.

NORMALIZE=variable

specifies a single dependent (endogenous) variable whose cointegrating vectors are normalized. If the variable is different from the variable specified in the NORMALIZE= option in the COINTEG statement, the variable specified in the NORMALIZE= option in the COINTEG statement is used. If this option is not specified, cointegrating vectors are not normalized. If you specify this option, then the BOUND, GARCH, INITIAL, and RESTRICT statements are all ignored and the Q= option in the MODEL statement is also ignored.

The following examples illustrate the ECM= option:

model y1 y2 / p=2 ecm=(rank=1 normalize=y1);
model y1 y2 / p=2 ecm=(rank=1 ectrend) trend=linear;

For more information, see the section Vector Error Correction Modeling.