Feeds:
Posts

## QUANTITATIVE EVIDENCE FOR LONG MEMORY IN DAILY VOLATILITY

Long memory in volatility is a subject of research since mid 1990s so this is not a new issue.  Quantitative evidence for long memory in volatility is however a relatively delicate issue.  Here is a simple test that seems to provide some evidence.  Consider daily volatility via $v_t = log(r_t^2)$ and fit two arfima models one with the fractional parameter constrained to zero and the other with range $(0.0,0.5)$.  These are parameters easy to code in R with the forecast package.  Now compare the Box-Ljung statistic for a series of lags for the two residuals.  Unfortunately, the residuals are heavy-tailed and so one cannot simply accept the p-values from the usual tests but we can see that the Box-Ljung statistics are significantly lower for the long memory fit in the example for a single series below.

 LAG ShortMem BoxLjung LongMem BoxLjung 1 13.6 0.0045 2 49.41 0.0056 3 132.91 0.029 4 287 0.064 5 565 12 6 567 17 7 569 19.45 8 569 19.6 9 570 19.64 10 570 20.05 11 571 21.89

library(forecast)
library(portes)
voljumps<-function(X){
R<-diff(log(X))
R[is.na(R)]<-0
R[abs(R)>1.0]<-0
vj<-log(R^2+1e-6)
vj
}

boxljung<-function( x, lags,fitdf=0 ){
res<-rep(0,length(lags))
for (l in 1:length(lags)){
res[l]<-Box.test(x,lag=l,fitdf=fitdf)
}
res
}

vj<-voljumps(as.matrix(V[,2:(dim(V)[2]-1)]))

for (k in 1:2){
z<-vj[,k]
fit1<-arfima(z,c(0.0,0.00001))
order1=fit1\$order
bjstat1<-boxljung(fit1\$residuals,lags=seq(5,15),fitdf=order1)
fit2<-arfima(z,c(0.0,0.5))
order2<-fit2\$order
bjstat2<-boxljung(fit2\$residuals,lags=seq(5,15),fitdf=fit2\$order)
print(‘–SHORT MEMORY BOX-LJUNGS BY LAG–‘)
print(bjstat1)
print(‘–LONG MEMORY BOX-LJUNGS BY LAG–‘)
print(bjstat2)

}