## THE OPTIMAL WAVELET DENOISING THRESHOLD FOR STOCHASTIC VOLATILITY

January 14, 2016 by zulfahmed

Averkamp-Houdre have addressed the issue of wavelet denoising of non-Gaussian noise (Averkamp-Houdre-WaveletThreshold

Let’s take a look at their main procedure from their Theorem 2.1.

Our log-chi-squared distribution is not symmetric but we can zero-mean it and estimate the optimal threshold by their method directly.

import numpy as np

from scipy.optimize import minimize,minimize_scalar

from scipy.integrate import quad

import statsmodels.api as sm

# Averkamp-Houdre, “Wavelet Thresholding for Not-Necessarily Gaussian Noise:

# Idealism”, Annals of Statistics, 2003, 110–151

y=np.random.normal(size=1000)

logchi2density=sm.nonparametric.KDEUnivariate(np.log(y**2+1e-6)+1.27)

logchi2density.fit()

n=float(300)

sigma=np.sqrt(4.93)

def p(x,t,n):

z=2*(n+1)*(x-t)**2 * (logchi2density.evaluate(x))

return z

def P(t,n):

z,e = quad(p,t,np.inf,args=(t,n))

return z

def Q(t,n,sigma):

return abs(P(t,n) – t**2 – sigma**2)

res = minimize_scalar( Q, bounds=(0.1,1000), args=(n,sigma),method=”bounded”)

print res[‘x’]

This gives us a slightly larger threshold for a signal of length 300 (a typical length for our training period) than what we’ve been using, . The above method produces the larger threshold .

### Like this:

Like Loading...

*Related*

## Leave a Reply