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?


1 Answer 1


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.

  • $\begingroup$ Thanks, Richard! I had this doubt because i saw the pdf of R package: CCCGARCH and this package allows me to implement this option. The estimation code goes like this: dcc.estimation(inia, iniA, iniB, ini.dcc, dvar, model, method="BFGS", gradient=1, message=1) And when i set: model="extended" i get a full ARCH and GARCH Matrices. Am i right? $\endgroup$
    – cassius
    Commented Mar 21, 2015 at 17:49
  • $\begingroup$ I think ccgarch may be quite a unique package that implements EDCC (extended DCC) models extra to the simple DCC. It's been a while since I tried it out myself so I have largely forgotten what's in there. But I took a look at the package creator's PhD thesis here and it seems that you got EDCC model right. However, I doubt Stata allows for this kind of flexibility. $\endgroup$ Commented Mar 21, 2015 at 18:49
  • $\begingroup$ Thanks Richard! You've suggested that to find a model that allow for spillover effects i should look for VECH-GARCH and VAR model. Vech-GARCH i understand but i did not find a work with VAR for this subject. Could you give me a direction and suggest some work with Var? Thanks, again. $\endgroup$
    – cassius
    Commented Mar 21, 2015 at 23:15
  • $\begingroup$ VAR model was just an example where spillover effects are in conditional mean, not conditional variance. So VECH-GARCH is the one. $\endgroup$ Commented Mar 22, 2015 at 6:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.