Feeds:
Posts

VOLATILITY SURFACE FITTING WITH HESTON MODEL — QUESTION OF WHETHER FRACTIONAL MODELS IMPROVE FIT

 Inbox x

zulfikar.ahmed@gmail.com<zulfikar.ahmed@gmail.com>

5:04 PM (2 hours ago)

 to jfrenkel, jhansen, jharrington, jharris, jhp, jhricko_4, jhs, jhutasoi, jianjunp, jinha, jjbrehm, jlind, jlondon, jlw, jmateo, jmerseth, jmetcalf, jmg, jmogel, joel, joelms, john.aldrich, john.beatty, johncrawford53, jose.oliveira

Thanks to the wonderful MATLAB code of RUDOLF BAUER for fitting the stochastic volatility model of STEVEN HESTON 1993 (http://faculty.baruch.cuny.edu/lwu/890/Heston93.pdf)

I was able to code up fitting equity volatility surface with the Heston model implied volatilities.  This exercise is actually not simply to have something that works that is open source but for a more interesting question​:  DOES LONG MEMORY IN VOLATILITY GET HESTON MODEL CLOSER TO EMPIRICAL DATA — long memory is not a question mark in the equity volatility series.  I have shown that Mittag-Leffler models fit their autocorrelations extremely well.  Now Heston model is highly sophisticated in results explaining the smile and the asymptotics of the volatility surface.  Well I don’t have an answer for you yet.  But here is a first test:  Fit the Heston model to volatility surfaces and consider what happens when a simple trick allows us to estimate the long-memory effect.  The small trick is to simply replace rho and sigma in heston model with C*t^{H-1/2} which is the effect of replacing a Brownian motion with a fractional Brownian motion.  No silver bullet here but the code works.  The focus should be on getting an accurate form for C*t^{H-1/2}.  Right now I am fitting an ARFIMA model to historical series and using its fractional differencing parameter d as an estimate of H-1/2.

This is work in progress.  I am not pretending objective distance here.  I am damn sure that long memory will improve on the Heston model when correctly analyzed because I know the data for volatility autocorrelations.  Let us not get bamboozled by the complexity of analysis and the legitimate great qualities of the short memory Heston model:  actually these features are maintained it seems from taking long memory into account going by the closeness of the errors of fitting the vol surface on a couple of examples.
https://www.rmetrics.org — Mail to: info@rmetrics.org
[1] 20080811
[1] “2.5,5,7.5,10,12.5,15,17.5,20”
[1] “08/16/2008,09/20/2008,10/18/2008,01/17/2009,01/16/2010”
[1] 7
[1] “Missing”
[1] “Strike = 12.5”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 12.5”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 15”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 15”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 17.5”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 17.5”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 10/18/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 01/17/2009”
[,1]         [,2]       [,3]       [,4]       [,5]       [,6]
[1,] 8.063810e-17 2.515331e-17 0.03442912 0.05774465 0.00000000 0.00000000
[2,] 6.245593e-17 4.893959e-02 0.04155674 0.03630016 0.00000000 0.00000000
[3,] 4.440495e-17 4.958402e-02 0.04307705 0.03717321 0.03645873 0.04104229
[4,] 4.601042e-17 4.322655e-02 0.04144798 0.03617023 0.03412849 0.03363554
[5,] 2.588420e-03 3.230327e-02 0.03178584 0.03083859 0.02937104 0.02903893
[,7]       [,8]
[1,] 0.00000000 0.00000000
[2,] 0.00000000 0.00000000
[3,] 0.04876186 0.00000000
[4,] 0.03423947 0.00000000
[5,] 0.02828467 0.02785345
[1] “Historical data obtained”
[1] 69
[1] “Mean historical ret -6.67873022543144e-19”
[1] “Ordinary Heston parameters  -56.6658452048014,0.888699068614172,-0.633596073342815,1.55632184697911,11.3960639588296  error= 0.316000675898353”
[1] “LM Heston parameters  0.277349279253377,-0.165187638527974,0.56491625907838,6.80581741740892,1.82157923709257  error= 0.342028121022604”
[1] 20080812
[1] “2.5,5,7.5,10,12.5,15,17.5,20”
[1] “08/16/2008,09/20/2008,10/18/2008,01/17/2009,01/16/2010”
[1] 7
[1] “Missing”
[1] “Strike = 12.5”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 12.5”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 15”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 15”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 17.5”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 17.5”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 08/16/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 09/20/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 10/18/2008”
[1] “Missing”
[1] “Strike = 20”
[1] “Maturity= 01/17/2009”
[,1]       [,2]       [,3]       [,4]       [,5]       [,6]
[1,] 9.102929e-17 0.10914371 0.04895837 0.08158762 0.00000000 0.00000000
[2,] 9.996760e-02 0.05810350 0.04382756 0.04064026 0.00000000 0.00000000
[3,] 9.024560e-02 0.05305666 0.04477081 0.04085991 0.03891865 0.04541708
[4,] 5.876719e-02 0.04844024 0.04137303 0.03852472 0.03637715 0.03830367
[5,] 3.233167e-02 0.03347348 0.03155701 0.03117577 0.03202190 0.02979568
[,7]       [,8]
[1,] 0.00000000 0.00000000
[2,] 0.00000000 0.00000000
[3,] 0.04772354 0.00000000
[4,] 0.03457483 0.00000000
[5,] 0.02936765 0.02838682
[1] “Historical data obtained”
[1] 70
[1] “Mean historical ret 7.69425087942102e-19”
[1] “Ordinary Heston parameters  -1.69184486026737,2.15743392265261,-0.472015880224572,6.24778486204033,4.09808960275126  error= 0.352381766273467”
[1] “LM Heston parameters  -0.301521879538846,0.4471393396193,-0.855635602037169,6.57475055799728,4.14653398157083  error= 0.376396493347156”

3 Attachments

Preview attachment thesis-fastcalibration-heston-model.pdf

Preview attachment HBAN-hist3.csv.gz