When building a trading strategy around the Volatility Index (VIX), one method is to predict the future volatility of S&P 500. Looking carefully into VIX, it isn't a measurement of the realised volatility, but instead, it describes the implied (expected) volatility of the market.
If you can predict when the implied volatility realises, you'll be able to estimate when the prices of futures and options are going to decline. This is due to the fact that investors don't have the immediate need to protect their positions against the expected turbulence of the market anymore. Before this happens, you clearly want to have a short position on VIX.
So, how do you predict volatility? One way is to use statistical methods such as the GARCH model. Our model used the past daily returns of S&P 500 to predict the magnitude of next day's volatility.
Here you can see the predictions of our model:
The blue line describes the realised volatility of S&P 500 for each day day and the red line is the predicted volatility for the same day estimated one day ahead. Whenever the prediction of the volatility for the next day is higher than the realised volatility today, we should short VIX and vice versa. Ideally, we are able to predict when the market is over- and undervaluing future risk.
There is still one problem. We can't directly short or long VIX as it is an index. However, VXX is an instrument traded in NYSE, which tries to replicate the VIX. Because of this we will be trading VXX instead of VIX.
This is what we achieved with our trading strategy:
In addition to the S&P 500, we used a ShortEveryDay strategy as a benchmark, which has a constant short position on the VXX. Why would a continuous short strategy yield such good profits? Here you'll find a brief explanation for Contango loss, which is a typical attribute found in similar trading instruments. Here you'll also find more information about the VXX itself.
AlgoRet / SPY / ShortEveryDay :
Annualised return (%): 35.89 / 9.72 / 27.54
Sharpe: 1.25 / 0.97 / 0.80
Beta: 0.85 / 1 / 4.31
As we can see, our algorithm was able to lower the beta significantly compared to the ShortEveryDay strategy. From that we can make the following conclusion: Strategy was able to predict volatility and make a profit from over- and undervalued futures and options.
The model was created with R, where we used the Conditional sGARCH (1,2) model. We had a total amount of observations of 2353, where the first 1000 observations were used to fit the model and the rest of it for validation. We also used Rolling Density Forecast, where we refitted the model after every 100 observations.