# Interesting volatility measurement

December 10, 2010
By

(This article was first published on 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?

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

Tags: , , ,