DCC GARCH in Stata – Specifying ARCH and GARCH Parameter Matrices for Time-Series Analysis

garchheteroscedasticitystatatime seriesvolatility-forecasting

The command in Stata to estimate the DCC model of two variables is:

mgarch dcc ( x1 x2=, noconstant) , arch(1) garch(1) distribution(t)

$$
\begin{bmatrix}
h_{1,t} \\
h_{2,t}
\end{bmatrix} = \begin{bmatrix}
w_{10} \\
w_{20}
\end{bmatrix} + \begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{bmatrix} \begin{bmatrix}
\epsilon_{1,t-1}^2 \\
\epsilon_{2,t-1}^2
\end{bmatrix} + \begin{bmatrix}
g_{11} & g_{12} \\
g_{21} & g_{22}
\end{bmatrix} \begin{bmatrix}
h_{1,t-1} \\
h_{2,t-1}
\end{bmatrix}
$$

When I give this command Stata understands that the ARCH and GARCH matrices are diagonal, i.e. $a_{21} = a_{12} = g_{21} = g_{12} = 0$.

How can I change this to implement full ARCH and GARCH parameter matrices to capture the spillover effects?

Best Answer

The formula you provide does not represent the DCC model nor any part of it. Take a closer look at the Stata help file, pages 4-5. I will follow the notation of the help file.

Assume for simplicity that conditional mean models are given for each dependent variable, and we are now working with residuals from conditional mean models; they are denoted $\epsilon_t$ in the help file (this is a vector with elements $\epsilon_{i,t}$, and the length of this vector equals the number of dependent variables in the system).

The DCC model is built is two stages:

  1. Conditional variances are modeled for each residual series separately. Thus in a system of $k$ dependent variables (and thus $k$ residual series) there are $k$ univariate conditional variance models.
    Note that conditional variances $\sigma_{i,t}$ are unobserved ($i$ indexes dependent variables).
    Fitted values of the conditional variances $\hat \sigma_{i,t}$ are obtained from each model. This gives you a series (indexed by $t$) of diagonal matrices $D_t$.
    They are used to scale the corresponding residuals to make them conditionally homoskedastic with unit variance. That is, each residual is divided by the square root of the corresponding fitted conditional variance. The scaled residuals are denoted $\tilde \epsilon_t$: $\tilde \epsilon_{i,t} = \frac{\epsilon_{i,t}}{\hat \sigma_{i,t}}$.
  2. The time-varying conditional quasi-correlations matrices $Q_t$ of the scaled residuals $\tilde \epsilon$ are modeled in a way analogous to a GARCH(1,1) model; the difference from a simple GARCH(1,1,) is that now the variables are matrices rather than scalars (also, they are matrices of conditional quasi-correlations rather than conditional variances), but the model idea remains the same.
    Note that conditional quasi-correlation matrices $Q_t$ are unobserved just like conditional variances $\sigma_{i,t}$ of each residual series.
    The fitted conditional quasi-correlation matrices $\hat Q_t$ are scaled again to make the diagonal elements equal to one so that they become conditional correlation matrices $R_t$ (the quasi prefix is dropped).

By now you should see that you cannot supply full ARCH and GARCH parameter matrices as the model does not work that way. Also, DCC model does not allow for spillover effects via lagged cross-equation terms such as in a VECH-GARCH model or VAR model.

Here is a related answer.