V-Lab Logo V-Lab



Consider n time series of returns and make the usual assumption that returns are serially uncorrelated. Then, we can define a vector of zero-mean white noises εt=rt-μ, where rt is the n1 vector of returns and μ is the vector of expected returns.

Despite of being serially uncorrelated, the returns may present contemporaneous correlation. That is:

t 𝔼t-1 rt-μ rt-μ '

may not be a diagonal matrix. Moreover, this contemporaneous variance may be time-varying, depending on past information.

The GARCH-DCC involves two steps. The first step accounts for the conditional heteroskedasticity. It consists in estimating, for each one of the n series of returns rti, its conditional volatility σti using a GARCH model (see garch documentation). Let Dt be a diagonal matrix with these conditional volatilities, i.e. Dti,i=σti and, if ij, Dti,j=0. Then the standardized residuals are:

νt Dt-1 rt - μ

and notice that these standardized residuals have unit conditional volatility. Now, define the matrix:

R_ 1T t=1 T νt νt'

This is the Bollerslev's Constant Conditional Correlation (CCC) Estimator (Bollerslev, 1990).

The second step consists in generalizing Bollerslev's CCC to capture dynamics in the correlation, hence the name Dynamic Conditional Correlation (DCC). The DCC correlations are:

Qt = R_ + α νt-1 νt-1' - R_ + β Qt-1 - R_

So, Qti,j is the correlation between rti and rtj at time t, and that is what is plotted by V-Lab.


The estimation of one GARCH model for each of the n time series of returns in the first step is standard. For details on GARCH estimation, see garch documentation.

For the second step, which is the DCC estimation per se, V-Lab estimates both parameters, α and β, simultaneously, by maximizing the log likelihood. The standardized residuals are assumed to be jointly Gaussian. To ease the computation cost of estimating a vast dimensional time-varying correlation model, V-Lab uses a technique called composite likelihood (Engle et al., 2007).

The DCC model captures a stylized facts in financial time series: correlation clustering. The correlation is more likely to be high at time t if it was also high at time t-1. Another way of seeing this is noting that a shock at time t-1 also impacts the correlation at time t. However, if α+β<1, the correlation itself is mean reverting, and it fluctuates around R_, the unconditional correlation.

Usual restrictions on the parameters are αβ>0. Though, it is possible to have α+β=1; the conditional correlation is then an integrated process.

Variance Targeting

Notice that if we had written the DCC model in a fashion similar to the GARCH model:

Qt = Ω + α νt-1 νt-1' + β Qt-1

we would have to estimate the matrix Ω also. That is, instead of estimating only two parameters, we would have to estimate 2+nn+12 parameters (it is not 2+n2 parameters due to the fact that Ω is a symmetric matrix). And then the unconditional correlation implied by the model would have been:

R_ = Ω 1-α-β

Instead of estimating Ω, notice that we actually substituted Ω by R_1-α-β in the DCC formula, which is a much more parsimonious way of writing the model. This is called Variance Targeting, introduced by Engle and Mezrich in 1995, and it is a very useful technique when modeling vast dimensional time-varying covariance or correlation models.


The specific model just described can be generalized in two ways.

In the first stage, each GARCH specification used to standardize each one of the n return time series can be generalized to a GARCHpq model (see garch documentation), where p and q can be chosen differently for each return time series, for instance, by Bayesian Information Criterion (BIN), also known as Schwarz Information Criterion (SIC), or by Akaike Information Criterion (AIC). The former tends to be more parsimonious than the latter. V-Lab uses p=1 and q=1 though, because this is usually the option that best fits financial time series.

In the second stage, the DCC model can be generalized to account for more lags in the conditional correlation. A DCCpq model assumes that:

Qt = R_ + i=1 p αi νt-i νt-i' - R_ + j=1 q βj Qt-j - R_

where p and q can be chosen, for instance, by information criterion. Again, V-Lab uses p=1 and q=1 though, because this is usually the option that best fits financial time series.


Bollerslev, T., 1990. Modeling The Coherence in Short-Run Nominal Exchange Rates: A Multivariate Generalized ARCH Model. Review of Economics and Statistics 72: 498-505.

Engle, R. F., 2002. Dynamic Conditional Correlation: A Simple Class of Multivariate GARCH Models. Journal of Business and Economic Statistics 20(3).

Engle, R. F., 2009. Anticipating Correlations: A New Paradigm for Risk Management. Princeton University Press.

Engle, R. F. and J. Mezrich, 1995. Grappling with GARCH. Risk: 112-117.

Engle, R. F., N. Shephard, and K. Sheppard, 2007. Fitting and Testing Vast Dimensional Time-Varying Covariance Models. NYU Working Paper FIN-07-046.