**Quantitative thoughts » EN**, and kindly contributed to R-bloggers)

Long time ago I stumbled across interesting volatility measurement at quantifiableedges.blogspot.com.

The idea is following: take 3-day historical volatility of S&P 500 index and divide that by 10-day historical volatility. Then mark all points which are less that 0.25 and measure the volatility of 3 following days. On average, the volatility of following 3 days will be 5 times higher.

^{?}View Code RSPLUS

require('xts') require('quantmod') Sys.setenv(TZ="GMT") getSymbols(c('SPY','^VIX'),from='1995-01-01') spy.delta<-Delt(Cl(SPY)) short.vol<-as.xts(rollapply(spy.delta,3,sd,align='right')) long.vol<-as.xts(rollapply(spy.delta,10,sd,align='right')) future.vol<-(head(lag(short.vol,-3),-3)) past.vol<-short.vol/long.vol signal<-index(past.vol[past.vol<0.25])#ifelse(past.vol<0.3,1,0) temp<-cbind(future.vol,short.vol) temp<-(tail(temp,-1)) temp<-(head(temp,-3)) print('all days:') summary(as.double(temp[,1])/as.double(temp[,2])) print('days, then past volatility < 0.25:') summary(as.double(temp[,1][signal])/as.double(temp[,2][signal])) |

I was tweaking the result to squeeze some profit, but not so much luck. Basically, you need to trade either VIX index derivatives or S&P 500 index options to get direct impact. Before doing that, you need to test historical performance. Unfortunately, I don’t have data for these instruments. What about ETF, like VXX? Nope, because only few data points in the testing sample.

Later, I will try to incorporate GARCH model to see if this going to help. Any fresh ideas on this?

**leave a comment**for the author, please follow the link and comment on his blog:

**Quantitative thoughts » EN**.

R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...