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.

QF

### Like this:

Like Loading...

*Related*

How far in advance is it forecasting?

It is a 1 day ahead forecast.

QF

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.

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 ?

QF

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

Thank you for the input, it is now on my to do list !

Cheers,

QF

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

Thanks

John

Hi John,

This link is the best I found: http://www.physnet.uni-hamburg.de/physnet/matlab/help/toolbox/garch/tutorial.html

Cheers,

QF

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

Thanks.

Oh, its the 21 day std. Never mind.

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)?

Hey Stan,

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

QF

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

Thanks

Providing your code would be really helpful. Thanks.