Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

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?