Letting phi be Heston characteristic function, the cumulant generating function is:
g(u)=log(ϕ(−iu))
And the second cumulant is defined a:
c2=g″(0)
Compared to a numerical implementation, the c_2 from the paper is really off in many use cases.
This is where Maxima comes useful, even if I had to simplify the results by hand. It leads to the following analytical formula:
c2=v04κ3{4κ2(1+(ρσt−1)e−κt)+κ(4ρσ(e−κt−1)−2σ2te−κt)+σ2(1−e−2κt)}+θ8κ3{8κ3t−8κ2(1+ρσt+(ρσt−1)e−κt)+2κ((1+2e−κt)σ2t+8(1−e−κt)ρσ)+σ2(e−2κt+4e−κt−5)}
In contrast, the paper formula was:
I saw this while trying to calibrate Heston on a bumped surface: the results were very different with the Cos method than with the other methods. The short maturities were mispriced, except if one pushed the truncation level L to 24 (instead of the usual 12), and as a result one would also need to significantly raise the number of points used in the Cos method. With the corrected formula, it works well with L=12.
Here is an example of failure on a call option of strike, spot 1.0 and maturity 1.0 and not-so-realistic Heston parameters κ=0.1,θ=1.12,σ=1.0,v0=0.2,ρ=−0.377836
using 200 points:
New formula: 0.1640581405
Paper formula: 0.1743425406
N=30 with 10000 points: 0.1640581423
Update March 2014 - this is now described in my paper Fourier Integration and Stochastic Volatility Calibration.
No comments :
Post a Comment