{"id":2036201,"date":"2015-10-11T10:35:33","date_gmt":"2015-10-11T05:05:33","guid":{"rendered":"http:\/\/stockviz.biz\/index.php\/?p=2036201"},"modified":"2015-10-11T10:35:33","modified_gmt":"2015-10-11T05:05:33","slug":"arma-garch-to-predict-vix","status":"publish","type":"post","link":"https:\/\/stockviz.biz\/index.php\/2015\/10\/11\/arma-garch-to-predict-vix\/","title":{"rendered":"ARMA + GARCH to Predict VIX"},"content":{"rendered":"<h3>GARCH(1,1)<\/h3>\n<p>GARCH(1,1) is a common approach for modeling volatility. They were developed by Robert Engle to deal with the problem of auto-correlated residuals (which occurs when you have volatility clustering, for example) in time-series regression.<\/p>\n<p>What we did:<\/p>\n<ol>\n<li>Picked the best fit ARIMA(p,d,q) model for historical VIX over different look back periods<\/li>\n<li>Created a GARCH(1,1) model based on ARMA(p,q)<\/li>\n<li>Predicted t+1 VIX<\/li>\n<\/ol>\n<h3>500-day lookback<\/h3>\n<p>We found that modeling based on the previous 500-day VIX closing levels gave us the least prediction errors. The appendix has the charts for other lookback periods.<\/p>\n<h4>Prediction vs. Actual<\/h4>\n<p><a href=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500.png\" alt=\"VIX.prediction.500\" width=\"1500\" height=\"700\" class=\"alignnone size-full wp-image-2036251\" srcset=\"https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500.png 1500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500-300x140.png 300w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500-1024x478.png 1024w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500-500x233.png 500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.500-900x420.png 900w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p>Note how in some periods, the predicted value (red) is just the previous value.<\/p>\n<h4>Prediction error<\/h4>\n<p><a href=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500.png\" alt=\"VIX.prediction.pctError.500\" width=\"1500\" height=\"700\" class=\"alignnone size-full wp-image-2036261\" srcset=\"https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500.png 1500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500-300x140.png 300w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500-1024x478.png 1024w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500-500x233.png 500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.pctError.500-900x420.png 900w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p>Values less than zero implies that the model prediction overshoots the actual VIX level the next day.<\/p>\n<h4>Prediction vs. Actual Density Plot<\/h4>\n<p><a href=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500.png\" alt=\"VIX.prediction.density.500\" width=\"1500\" height=\"700\" class=\"alignnone size-full wp-image-2036271\" srcset=\"https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500.png 1500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500-300x140.png 300w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500-1024x478.png 1024w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500-500x233.png 500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.prediction.density.500-900x420.png 900w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p>The model bias towards higher estimation of VIX is made explicit here.<\/p>\n<h3>Next steps<\/h3>\n<p>We will integrate this model to our <a href=\"https:\/\/stockviz.biz\/tag\/daily\/\" target=\"_blank\">morning<\/a> &#8216;Options Daily&#8217; posts so that we get an idea of both the current state of VIX and the expected modeled behavior.<\/p>\n<p>Caveats:<\/p>\n<ol>\n<li>The 500-day lookback is purely empirical. Maybe some other look-back period that we have not tested would have been ideal to model. We will never know.<\/li>\n<li>Only the known history can be modeled. The outputs should be used along with market determined proxies of expected volatility.<\/li>\n<li>There is always a probability distribution around a predicted value. We will publish this in our daily posts.<\/li>\n<\/ol>\n<h3>Appendix<\/h3>\n<p><a href=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_.png\" alt=\"VIX.pacf\" width=\"1500\" height=\"700\" class=\"alignnone size-full wp-image-2036281\" srcset=\"https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_.png 1500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_-300x140.png 300w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_-1024x478.png 1024w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_-500x233.png 500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.pacf_-900x420.png 900w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_.png\" alt=\"VIX.acf\" width=\"1500\" height=\"700\" class=\"alignnone size-full wp-image-2036291\" srcset=\"https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_.png 1500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_-300x140.png 300w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_-1024x478.png 1024w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_-500x233.png 500w, https:\/\/portalvhds29z8xdrqhczq.blob.core.windows.net\/wordpress\/2015\/10\/VIX.acf_-900x420.png 900w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<p>VIX Model vs. Actual across various lookback periods. (<a href=\"https:\/\/www.scribd.com\/doc\/284382556\/Predicting-VIX-using-ARMA-GARCH\" target=\"_blank\">pdf<\/a>)<\/p>\n<p><a href=\"http:\/\/quant.stackexchange.com\/questions\/603\/why-are-garch-models-used-to-forecast-volatility-if-residuals-are-often-correlat\" target=\"_blank\">quant.stackexchange<\/a><\/p>\n<p>Volatility Forecasting I: GARCH Models, Rob Reider (<a href=\"http:\/\/cims.nyu.edu\/~almgren\/timeseries\/Vol_Forecast1.pdf\" target=\"_blank\">pdf<\/a>)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GARCH(1,1) GARCH(1,1) is a common approach for modeling volatility. They were developed by Robert Engle to deal with the problem of auto-correlated residuals (which occurs when you have volatility clustering, for example) in time-series regression. What we did: Picked the best fit ARIMA(p,d,q) model for historical VIX over different look back periods Created a GARCH(1,1) &hellip; <\/p>\n","protected":false},"author":2,"featured_media":2036211,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3471,9],"tags":[2761,3221],"class_list":["post-2036201","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-investing-insight","category-your-money","tag-quant","tag-vix","entry"],"_links":{"self":[{"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/posts\/2036201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/comments?post=2036201"}],"version-history":[{"count":0,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/posts\/2036201\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/media\/2036211"}],"wp:attachment":[{"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/media?parent=2036201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/categories?post=2036201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stockviz.biz\/index.php\/wp-json\/wp\/v2\/tags?post=2036201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}