Skip to content
All library documents

Why Standard DCC-GARCH May Not Capture Volatility Spillovers

Article Quant Q&A · Author: sunmastermind

Summary

The document asks how to specify a VARX-DCC-GARCH model for several return series when the goal is to estimate dynamic and contemporaneous volatility spillovers, seasonal effects, and lagged-return effects. The example uses a VAR for the conditional mean and a DCC structure with separate univariate GARCH specifications for each series. The author cannot find seasonal mean effects or cross-series ARCH coefficients in the reported output.

The response highlights a structural limitation: in standard DCC-GARCH, each asset’s marginal conditional variance is modeled with a univariate GARCH process using that asset’s own past information. DCC models time-varying correlations across assets, but that setup does not directly provide cross-asset ARCH terms in each variance equation. The answer questions whether such a model can represent volatility spillovers as intended, while noting that some studies use DCC-GARCH for this purpose without explaining their approach. No implementation or alternative model is provided.

Key ideas

  • In standard DCC-GARCH, each series has its own univariate conditional variance equation.
  • The DCC component models changing correlations among series rather than direct cross-series ARCH coefficients.
  • A VAR component can model interactions in conditional means, but it does not by itself add volatility spillovers.
  • The response questions whether standard DCC-GARCH can represent the spillovers sought in the example.
  • The document does not offer an alternative specification or a solution for seasonal mean effects.

Tags

Full text
# VARX DCC GARCH in R for volatility spillover


# VARX DCC GARCH in R for volatility spillover












I have 5 series for which I want to analyze volatility spillover (to and from the series) via VARX DCC GARCH for both dynamic and comtemporaneous effect. Moreover, I would like to analyze seasonal dummy effect and past return effect both in volatility and return. Here is my code-

```
varfit <- varxfit(data.merged.week[,c(2,4:7)],1, constant=TRUE, exogen=
                cbind(Winter= wSeason_Dummy$winter, Spring =
            wSeason_Dummy$spring, Summer=wSeason_Dummy$summer))

wnspecV <- ugarchspec(variance.model = list(model = "sGARCH",
                                       garchOrder = c(1, 1),
                                       external.regressors = as.matrix(wdummy)),
                      distribution.model ="norm",
                      mean.model = list(armaOrder = c(0,0)),     
                      include.mean=FALSE)

wnspec1 <- multispec(c(replicate(5, wnspecV)))

wvardccspecmv1 <- dccspec(uspec = wnspec1,VAR = TRUE, lag = 1,           
                           lag.criterion = c("AIC"),
                           dccOrder = c(1, 1),
                           model="DCC",
                           external.regressors = NULL,
                           distribution = "mvnorm")

wvardccfit1 <- dccfit(wvardccspecmv1, data= as.matrix (data.merged.week
                           [,c(2,4:7)],
                           solver = "solnp",
                           fit.control = list(eval.se=TRUE),
                           VAR.fit = varfit, out.sample = 1)
```

When I run the model, I don't see any seasonal dummy effect for mean equation. Moreover, I was expecting to get estimates and p-values for ARCH effect of one series on another series via conditional mean and variance equation (for example as A.I. Maghyereh et al. 2017 https://westminsterresearch.westminster.ac.uk/item/q3450/volatility-spillovers-and-cross-hedging-between-gold-oil-and-equities-evidence-from-the-gulf-cooperation-council-countries or as S.Kumar et al. 2019). However, I can only view one alpha1/arch for each series rather than spillover from one to another. Is there any particular way to retrieve those ARCH effects(one series on another series) of mean and variance equation? I would also like to know whether it's possible to run VARMAX DCC GARCH in R. Thanking in advance. @RichardHardy

## Answer by Richard Hardy (score 0, accepted)

https://quant.stackexchange.com/a/52974

A DCC-GARCH model specifies the volatility of each asset as a univariate GARCH model (this is the first stage of DCC). Therefore, I am not sure whether you can actually use DCC for modelling spillovers. How can there be spillovers when the volatility of any given asset is modeled using only the past information on that particular asset? (I have seen some papers using DCC-GARCH for modelling volatility spillovers, but I have not read them. I have always wondered how they may circumvent the problem I have indicated.)

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.