Skip to content

Volatility Forecasting Using GARCH(1,1)

August 26, 2010

Continuing on the current series of post, I was at the point of forecasting volatility. There is several ways to just that; this very topic is the subject of a lot of research in finance. Different models to model volatility are available and they range from both ends of the complexity spectrum. I am going to be using what I think is one of the most popular: the GARCH(1,1). Just as a side note however, I don’t think it is the best model to use, but I do think that the simplicity of it makes it very attractive. For the more sophisticated quant crowd, in the GARCH family, the EGARCH seems to better forecast market volatility than its counterparts. I will not go into to much detail on the GARCH process (ie this is not meant to be an introduction post), if you would like to hear more about it, please let me know in the comment section.

For SPY since 2000, here is what a GARCH(1,1) model looks like, plotted vs the 21 day standard deviation with the residuals at the bottom. Results have been created using the tseries and quantmod libraries for R.

In terms of significance, the model significantly filtered the ARCH effect and the conditional normality assumption does not seem to be violated (using Jarque Bera and Box-Ljung tests). Regardless of the textbook testing, eyeballing the chart, we see that the model is fairly good at predicting SPY’s volatility. Now that we have the model in place, the next post should be on how to use a similar model on volatility of volatility once it has been stripped of its correlation with the actual volatility to see if we can improve our trading results and especially our regime switching strategies.


  1. BMB permalink
    August 26, 2010 19:39

    How far in advance is it forecasting?

  2. Frank permalink
    August 27, 2010 10:59

    I’m following your blog now as you are putting interesting stuff up. Hoping that at some point that you do show an EGARCH example for the SPY.

    The GARCH(1,1) chart is hard to read (I know, getting charts right on WordPress is a pain). When you get the time, I would be interested to see what you are going to do with this volatility forecast. How do mean reverting strategies versus momentum strategies fare in different volatiltiy environments? Thanks for the good posts.

    • August 27, 2010 11:30

      Thank you for the comment Frank,

      In terms of volatility environment, it seems that high volatility favors MR strategies and that the opposite favors momentum. I plan to post a regime switching system using the GARCH forecast very soon. As for the EGARCH example, I can surely do one, do you think it would be better to have it in a quick post like this or more of an introduction format ?


      • August 27, 2010 14:44

        I’d personally welcome a post on EGARCH on an introduction format…

  3. John French permalink
    August 30, 2010 11:15

    I would be interested in finding out the details of the GARCH calculation if you have any good introductary links to hand.



  4. January 7, 2012 12:21

    Did you get the green line (true volatility) from implied volatility or something else?

  5. January 7, 2012 12:23

    Oh, its the 21 day std. Never mind.

    • January 7, 2012 12:42

      In the equation S(t+1)=S(t)*(1+mu+sig(t)*z(t)) where z~N(0,1). Even if we know S(t) and mu, we are still estimating sig(t) because of the random z, right? We cannot let z(t) happens lots of times and compute the sig(t). That’s why you are using the 21 day std? But I doubt it still pulls much information from the past sigma. What about using historical implied volatility(t)?

      • January 7, 2012 13:19

        Hey Stan,

        Using implied vol would probably be more robust. I will have to look into it.


    • January 7, 2012 12:46

      How many days’ data did you use to fit GARCH? it’s a rolling window,right?


  6. lulu permalink
    April 16, 2014 15:16

    Providing your code would be really helpful. Thanks.

Comments are closed.

%d bloggers like this: