Multivariate GARCH and DCC
Extending GARCH-style volatility modeling from one series to many at once, so correlations between assets — not just each asset's own variance — are allowed to change over time, as captured by the Dynamic Conditional Correlation model.
Prerequisites: EGARCH and Asymmetric Volatility
A portfolio's risk depends not just on how volatile each holding is individually, but on how those holdings move together — and that correlation is famously unstable. Two stocks that wander independently in a calm market can suddenly become tightly correlated during a crash, as everyone sells everything at once. A risk model that fits each asset's volatility separately (say, with individual GARCH models) but assumes a fixed, constant correlation between them will badly underestimate risk exactly when it matters most — during the correlated selloffs that a diversified portfolio was supposed to protect against. Multivariate GARCH models extend the same clustering logic to the whole covariance matrix at once, and DCC (Dynamic Conditional Correlation) is the most widely used practical way to do it.
An analogy: dancers who sometimes move in sync
Picture a group of dancers who each have their own energy level that rises and falls over the course of a performance (their individual "volatility"). Separately, sometimes they move in tight coordination — a choreographed unison section — and other times they move independently, doing their own thing. Watching only each dancer's energy level tells you nothing about whether they're currently in sync. DCC models exactly these two things separately: first, each dancer's own energy level over time (individual GARCH volatilities), and second, on top of that, how tightly coordinated the group currently is (the dynamic correlation), which can rise sharply during a "everyone freezes together" moment even if individual energy levels haven't changed much.
The mechanics, one symbol at a time
DCC works in two stages. First, fit a univariate GARCH model to each asset separately to get each one's own time-varying volatility , and standardize each asset's return by its own volatility to get . Second, model the correlation between these standardized residuals as itself evolving over time:
where is the long-run average correlation matrix of the standardized residuals, captures how correlated yesterday's standardized shocks happened to be, and is yesterday's estimate carried forward. In plain English: today's correlation estimate is a weighted blend of the long-run average correlation, a nudge toward whatever correlation just showed up in yesterday's shocks, and yesterday's own estimate — the same clustering logic as GARCH variance, but applied to the co-movement between assets rather than to any single asset's variance. The actual correlation matrix used for risk is then rescaled from to ensure it's a valid correlation matrix (entries between -1 and 1, diagonal of exactly 1).
Worked example 1: correlation spiking after a shock
Suppose two assets have a long-run average correlation , and DCC parameters , (so ). Yesterday, both assets had large, same-signed standardized shocks, giving an instantaneous cross-product term implying a shock correlation of roughly 0.85, while yesterday's DCC estimate was . Today's updated correlation (schematically, on the same simplified scale):
A single day of correlated shocks nudges the estimate from 0.32 to about 0.35 — a modest but real increase, and one that compounds if the correlated shocks continue for several days, since feeds directly into the next day's calculation.
Worked example 2: portfolio variance under changing correlation
A two-asset portfolio holds $100 in each of two assets with individual daily volatilities of and . Portfolio variance is with (in return-weight terms). At the calm-market correlation of :
giving . If DCC estimates correlation has spiked to during a stress period (individual volatilities unchanged for simplicity):
giving — about 18% higher portfolio volatility purely from the correlation shift, with each asset's own volatility unchanged. A risk model using a fixed throughout would have missed this entirely.
What this means in practice
DCC-style multivariate GARCH is the standard practical tool for time-varying covariance matrices used in dynamic hedge ratios, portfolio risk forecasting, and stress-testing diversification assumptions, because a static correlation matrix estimated over a long calm period routinely understates the correlation spike that shows up exactly during a crisis, when diversification is needed most. It complements factor-based covariance estimation (see Estimating the Factor Covariance Matrix) as an alternative or supplementary way to capture time-varying risk.
DCC models each asset's own volatility with a standard GARCH model, then separately models how correlated the assets' standardized shocks are, letting correlation itself cluster and spike during stress periods — capturing the well-documented pattern that diversification often weakens exactly when a portfolio needs it most.
A common error is running DCC on a large number of assets without checking that the two-stage estimation (individual GARCH fits, then the correlation dynamics) remains numerically stable — with many assets, the correlation matrix can become poorly conditioned, and estimated correlations can behave erratically. It's also easy to mistake a temporary correlation spike for a permanent regime shift; DCC by construction reverts toward the long-run average , so a spike should be expected to fade unless the underlying economic relationship between the assets has genuinely and durably changed.
Related concepts
Practice in interviews
Further reading
- Engle, Dynamic Conditional Correlation, Journal of Business & Economic Statistics
- Bauwens, Laurent, and Rombouts, Multivariate GARCH Models: A Survey, Journal of Applied Econometrics