Feeds:
Posts

## Steps toward long memory arbitrage

The main technical issue for long memory stochastic volatility models that I have resolved theoretically is that the Donoho-Johnstone wavelet thresholding method can be used for optimal filtering in a Besov space for the noisy observations of log-stochastic volatility.  This I have implemented using the R package wavethresh.  The functions ‘wd’, ‘threshold.wd’ and ‘wr’ are decomposition, thresholding and reconstruction functions with various thresholding options.  We filter using this method, fit an ARFIMA model and then predict T-days ahead for the ARFIMA and then use the fact that the option price is Black-Scholes with average of the future volatilities from the prediction.   The code is this:

function( histr, P0, K, T ){
histlogr2<-log(histr^2+0.000001)
histlogr2[is.nan(histlogr2)]<-log(0.000001)
n<-length(histr)
z<-djthresh((as.numeric(histlogr2)+1.27)/1.5)
#z<-as.numeric(histlogr2)+1.27
fit<-arfima(z*1.5,order=c(1,0,1))
The function ‘djthresh’ does the Donoho-Johnstone wavelet thresholding to filter and then lmsvcallprice simply uses the forecasted stocastic volatility to average and use Black-Scholes.  To calibrate we consider a randomly chosen stock ‘MMM’ and choose at date 2009-12-31 with $S=82.67$ and strike price $X=85$ with time to expiration of $T=74$ days.  The last market price for the option is 2.65 while the long-memory price is 3.84 which is close.