I'm self-studying several questions on Ruey S. Tsay's teaching page. I'm experiencing some difficulty getting the correct answer for final exam 2013 Problem B Question 3.

Given a Student-t GARCH (1,1) model, I believe that the correct way to calculate 1-Day $VaR$ would be to take the 1-Day predicted mean ($\mu_t$) and standard deviation ($\sigma_t$) and apply the formula: $VaR_{0.99} = \mu_t+t_{0.99}\cdot \sigma_t$. To get the $VaR$ in dollar terms we multiply this by the position size, $1 million.

In applying the results below, I took $\mu_t=-0.001711227, \sigma_t=0.02180995$ and the t-distribution degrees of freedom from the shape parameter in the results, $5.483$. However, this gives the wrong answer. The correct answer is $VaR = $$54,687, which can be found in the solutions manual

The results are here:

> summary(m3)
Title: GARCH Modelling
Call: garchFit(formula = ~garch(1,1), data=xt, cond.dist="std", trace = F)
Mean and Variance Equation:
data ~ garch(1, 1) [data = xt]
Conditional Distribution: std
Error Analysis:
Estimate Std. Error t value Pr(>|t|)
mu -1.711e-03 3.698e-04 -4.627 3.71e-06 ***
omega 6.235e-06 2.499e-06 2.495 0.0126 *
alpha1 4.833e-02 1.027e-02 4.707 2.51e-06 ***
beta1 9.421e-01 1.227e-02 76.812 < 2e-16 ***
shape 5.483e+00 5.379e-01 10.192 < 2e-16 ***
Standardised Residuals Tests:
Statistic p-Value
Ljung-Box Test R Q(10) 14.9856 0.1325876
Ljung-Box Test R^2 Q(10) 5.575123 0.849608
Information Criterion Statistics:
-4.780660 -4.770210 -4.780667 -4.776892
> predict(m3,1)
meanForecast meanError standardDeviation
1 -0.001711227 0.02180995 0.02180995
  • $\begingroup$ Do you mind editing the question to include exactly where the question is from on that site? Two preliminary thoughts: 1) it looks like he did the VaR in terms of dollars and you did it in terms of percent, 2) I find it more convenient to think about VaR as a negative number (what you can lose), so I would use a negative t value. This alone is not enough to reconcile the two numbers though. $\endgroup$
    – John
    May 7, 2014 at 15:57
  • $\begingroup$ Hi John, thanks for the comments. I did indeed convert the percentage VaR to dollar VaR, but forgot to include that in the question. I've added the exact source. $\endgroup$ May 7, 2014 at 16:15
  • 1
    $\begingroup$ I get -72473.6 from your results. It's possible you have a data issue. I took the mean of daily log Apple returns from January 1 2002 for 2849 data points and got 0.001272. The mean doesn't impact the VaR calculation much for one day, but if your data is wrong then the VaR calculation will be wrong too. Based on my estimate of the mean and the correct t, he is using a standard deviation of 0.017247. Not really that far from what you have. Could just be a matter of choosing different starting points. $\endgroup$
    – John
    May 7, 2014 at 16:40
  • $\begingroup$ Hi John! Thanks again for the reply! In other questions, Prof Tsay uses the forecasted mean and standard deviations to calculate (which is also what I took). As this is an exam question, the complete results were given to the students (they're under the divider in my question) and there's no need to calculate from source data. $\endgroup$ May 7, 2014 at 17:34
  • 1
    $\begingroup$ Maybe this could help: quant.stackexchange.com/questions/11019/… I think predict returns the estimated $\sigma$. Note: GARCH models the conditional variance but has zero conditional mean! Try to use the sample mean and the meanForecast as volatility. Maybe then you get the same result. However, I'm not sure :) $\endgroup$
    – math
    May 7, 2014 at 18:09

1 Answer 1


I know this post is quite old, but someone else just might face a question like this one. I got the, I think, correct answer as follows in R:

VaR <- (0.001711227-(qt(p = 0.99, df = 5.483)/sqrt(5.483/3.483))*0.02180995)*1000000

You can see 0.001711227 is the forecasted mean, 0.02180995 the forecasted sd and 5.483 your fitted shape parameter.

About the method, that's pretty much how it appears in a lecture file I found here. You have to standardize your t-student quantile before, and use sqrt(shape/(shape-2)).

Hope this helps.


Your Answer

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

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