• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

GARCH Covariance?


I need some correlation data for my final thesis.
And to consider the problems with assuming normal distributions, I want to estimate GARCH-covariance matrices.

The thing is, that I just know how to estimate the volatility. And therefore I have the parameter sets for both stocks.
How do I get the covariance?

I would appreciate it very much if somebody could help me with that.

Thanks, I've already ordered that book. But I think it will take while until I'll receive it.

Anyway, I read that article and can't follow when they estimate the covariance.

I also have calculated the variances of two stocks with the standard GARCH-model.
Now I need the covariances of both stocks. But which correlation do you use?

My data is on daily basis. Do I use the correlation of a rolling window of for ex. 22 days?
I've already tried this, but my correlation can have higher/lower values than +-1

So I just need to know which correlation I use for the covariances?

still a student of this

With bivariate GARCH you would forecast covariance directly, based on past covariances,
covar(x,y)(time t) = beta * covar(x,y)(time t-1) + coefficient * (long run level) + alpha * (innovation term)
There is no need to use a correlation coefficient, because you wouldn't be using the formula covar = sigma * sigma * correlation to forecast the covariance, with the individual variances coming from a univariate GARCH.
You would just forecast next period covariance directly from past covariances each period, return(X) * return(Y). The innovations or errors on the covariance are cross-products of the innovations in the univariate variance processes. For GARCH(1,1):

11,t = long-run 11 + a11 e1^2 t-1 + b11 * h11,t-1


22,t = long-run 22 + a22 e2^2 t-1 + b22 * h22,t-1


12,t = long-run 12 + a12 e1^2 t-1 * e2^2 t-1 t-1 + b12 * h12,t-1
And to find the coefficents in the above formula, you use maximum likelihood (with an assumption about the functional form of the distribution, rightly or wrongly). This gets rid of the need to guess at the size of the moving average window that you need to calculate a correlation with (eg. 22 days, 44 days, 1000 days, etc). The coefficients can be constrained to sum to 1. For an entire covariance matrix, I believe that you can estimate them all together using matrix methods, but I will admit that my grasp of this is quite uncertain, as I have never done this myself professionally. I honestly regret I cannot help more.
I believe that you would only back into a correlation forecast after the fact, by taking your covariance forecast and dividing by your univariate variance forecasts, but like you said, I am also uncertain if the resulting correlation forecast would be guaranteed to be bounded by [-1,1], or if the matrix is guaranteed to be positive definite.
This is an interesting question and I am trying to learn more about it myself. If you or anyone finds a very clear web resource for estimating an entire covariance matrix with GARCH, please post it here. Apologies that this was not a better post.​
another thought

Carol Alexander also mentions orthogonal GARCH, where you fit a GARCH model to each of the first few principal components of the covariance matrix, forecast those, then reassemble the forecasted covariance matrix from this eigenvector / eigenvalue decomposition. This would not require bivariate GARCH processes mentioned above.
Hi again,

I want to calculate the correlation between stocks and bonds. And therefore I need a DCC-GARCH.
Engle divides it in two processes.
One is the variance of both assets. And the second is the correlation (I was wrong with covariance...).
The variance is clear and simple to calculate with the excel solver.
But I am not sure how to estimate the alpha und beta for the correlation. I could not find the restrictions etc..
Is somebody here who already has that in excel?

@ Andy
Which GARCH do you need. I can just send you the calculations for the variance.

Hi again,

I've got another question regarding GARCH.

After guessing the parameters in excel I now can calculate the correlation for my two assets.
I'm just wondering how to test these parameters (with a t-test?), like you can find in literature?

Does anybody know how to show that my parameters are significant?


Sure, the test for a pearson correlation is easy.
But how can I test the parameter alpha, beta, omega?

I could not find anything about that. And if you google then you will just find tests for the correlation coefficient.

I used a DCC-GARCH-model to describe the correlation between two assets.
In the first step I estimated the two conditional deviatons (gamma1, alpha1, beta1, gamma2, alpha2, beta2). Then I can solve the second equation for the correlation (alpha3, beta3).

Therefore I've got 8 Parameters, which I want to test for significance.
Can anybody tell me, how to solve that?

I searched alot through net. I found estimation of covariances via GARCH(1,1) in some papers and books, but they do not clearly define how maximum likelihood function would be. Only the equation is given:

covariance (i,j, t+1) = w (i,j) + alpha * return (i) * return (j) + beta * covariance (i,j, t)

Isn't there a direct method (same as conditional variance estimation) to estimate conditional covariances?

PatM, could you please give a reference paper to conditional covariance estimation via bivariate GARCH and maximum likelihood function?