Heston Stochastic Local Volatility Model Klaus Spanderen 1 R/Finance 2016 University of Illinois, Chicago May 20-21, 2016 1 Joint work with Johannes Göttker-Schnetmann Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 1 / 19
Motivation Combine two of the most popular option pricing models, the Local Volatility model with x = ln S t ( ) dx t = r t q t σ2 LV (x t, t) dt + σ LV (x t, t)dw t 2 and the Heston Stochastic Volatility model ( dx t = r t q t ν t 2 ) dt + ν t dw x t dν t = κ (θ ν t ) dt + σ ν t dw ν t ρdt = dwt ν dwt x to control the forward volatility dynamics and the calibration error. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 2 / 19
Model Definition Add leverage function L(S t, t) and mixing factor η to the Heston model: ( ) dx t = r t q t L2 (x t, t) ν t dt + L(x t, t) ν t dwt x 2 dν t = κ (θ ν t ) dt + ησ ν t dwt ν ρdt = dwt ν dwt x Leverage L(x t, t) is given by probability density p(x t, ν, t) and L(x t, t) = σ LV (x t, t) E[νt x = x t ] = σ R p(x LV (x t, t) + t, ν, t)dν R νp(x + t, ν, t)dν Mixing factor η tunes between stochastic and local volatility Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 3 / 19
Package RHestonSLV: Calibration and Pricing Calibration: Calculate Heston parameters {κ, θ, σ, ρ, v t=0 } and σ LV (x t, t) Compute p(x t, ν, t) either by Monte-Carlo or PDE to get to the leverage function L t (x t, t) Infer the mixing factor η from prices of exotic options Package HestonSLV Monte-Carlo and PDE calibration Pricing of vanillas and exotic options like double-no-touch barriers Implementation is based on QuantLib, www.quantlib.org Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 4 / 19
Cheat Sheet: Link between SDE and PDE Starting point is a linear, multidimensional SDE of the form: dx t = µ(x t, t)dt + σ(x t, t)dw t Feynman-Kac: the price of a derivative u(x t, t) with boundary condition u(x T, T ) at maturity T is given by: t u + n µ i xk u + 1 2 k=1 n k,l=1 ( σσ T ) kl x k xl u ru = 0 Fokker-Planck: the time evolution of the probability density function p(x t, t) with the initial condition p(x, t = 0) = δ(x x 0 ) is given by: t p = n xk [µ i p] + 1 2 k=1 n k,l=1 xk xl [( σσ T ) kl p ] Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 5 / 19
Fokker-Planck Forward Equation The corresponding Fokker-Planck equation for the probability density p : R R 0 R 0 R 0, (x, ν, t) p(x, ν, t) is: t p = 1 [ ] 2 2 x L 2 νp + 1 2 η2 σ 2 ν 2 [νp] + ησρ x ν [Lνp] x [(r q 1 ) ] 2 L2 ν p ν [κ (θ ν) p] Numerical solution of the PDE is cumbersome due to difficult boundary conditions and the δ-distribution as the initial condition. PDE can be efficiently solved by using operator splitting schemes, preferable the modified Craig-Sneyd scheme. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 6 / 19
Calibration: Fokker-Planck Forward Equation Zero-Flux boundary condition for ν = {ν min, ν max } 2κθ 1 Reformulate PDE in terms of q = ν σ 2 constraint is violated Prediction-Correction step for L(x t+ t, t + t) Non-uniform grids are a key factor for success or z = ln ν if the Feller Includes adaptive time step size and grid boundaries to allow for rapid changes of the shape of p(x t, ν, t) for small t Semi-analytical approximations of initial δ-distribution for small t Corresponding Feynman-Kac backward PDE is much easier to solve. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 7 / 19
Calibration: Monte-Carlo Simulation The quadratic exponential discretization can be adapted to simulate the Heston SLV model efficiently. Reminder: L(x t, t) = σ LV (x t,t) E[νt x=x t ] 1 Simulate the next time step for all calibration paths 2 Define set of n bins b i = {xt i, x t i + x t i } and assign paths to bins 3 Calculate expectation value e i = E[ν t x b i ] over all paths in b i 4 Define L(x t b i, t) = σ LV (x t,t) e i 5 t t + t and goto 1 Advice: Use Quasi-Monte-Carlo simulations with Brownian bridges. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 8 / 19
Calibration: Test Bed Motivation: Set-up extreme test case for the SLV calibration Local Volatility: σ LV (x, t) 30% Heston parameters: S 0 = 100, ν 0 = 0.09, κ = 1.0, θ = 0.06, σ = 0.4, ρ = 75% Feller condition is violated with 2κθ σ 2 = 0.75 Implied volatility surface of the Heston model and the Local Volatility model differ significantly. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 9 / 19
Calibration: Fokker-Planck PDE vs Monte-Carlo Fokker-Planck Forward Equation, η=1.00 Monte-Carlo Simulation, η=1.00 2.5 2.5 Leverage Function L(x,t) 2.5 2.0 1.5 1.0 0.5 2.0 1.5 Leverage Function L(x,t) 2.5 2.0 1.5 1.0 0.5 2.0 1.5 4 1.0 4 1.0 3 3 Time 2 1 2 3 4 5 ln(s) 6 7 0.5 Time 2 1 3 4 5 ln(s) 6 0.5 Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 10 / 19
Calibration Sanity Check: Round-Trip Error for Vanillas Round-Trip Error for 1Y Maturity Implied Volatility (in %) 29.90 29.95 30.00 30.05 30.10 Monte-Carlo Fokker-Planck 50 100 150 200 250 Strike Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 11 / 19
Case Study: Delta of Vanilla Option Vanilla Put Option: 3y maturity, S 0 =100, strike=100 Delta of ATM Put Option Delta -0.40-0.35-0.30-0.25 Heston Black-Scholes Heston Minimum-Variance Local Vol SLV 0.0 0.2 0.4 0.6 0.8 1.0 η Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 12 / 19
Choose the Forward Volatility Skew Dynamics Interpolate between the Local and the Heston skew dynamics by tuning η between 0 and 1. Forward Starting Option: max(0, S 2y - α*s 1y ) Implied Forward Volatility (in %) 26 28 30 32 34 36 38 η=1.00 η=0.50 η=0.25 η=0.00 0.5 1.0 1.5 2.0 Strike α Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 13 / 19
Case Study: Barrier Option Prices DOP Barrier Option: 3y maturity, S 0 =100, strike=100 Barrier Option Pricing Local Vol vs SLV NPV local - NPV SLV 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 η = 1.0 η = 0.5 η = 0.2 η = 0.1 0 20 40 60 80 100 Barrier Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 14 / 19
Case Study: Delta of Barrier Options DOP Barrier Option: 3y maturity, S 0 =100, strike=100 Barrier Option Δ local vs Δ SLV Δ local - Δ SLV -0.15-0.10-0.05 0.00 η = 1.0 η = 0.5 η = 0.2 η = 0.1 0 20 40 60 80 100 Barrier Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 15 / 19
Case Study: Double-No-Touch Options Knock-Out Double-No-Touch Option: 1y maturity, S 0 =100 Double No Touch Option Stochastic Local Volatility vs. Black-Scholes Prices NPV SLV - NPV BS -0.05 0.00 0.05 0.10 0.15 η=1.00 η=0.75 η=0.50 η=0.25 η=0.00 0.0 0.2 0.4 0.6 0.8 1.0 NPV BS Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 16 / 19
Summary: Heston Stochastic Local Volatility RHestonSLV: A package for the Heston Stochastic Local Volatility Model Monte-Carlo Calibration Calibration via Fokker-Planck Forward Equation Supports pricing of vanillas and exotic options Implementation is based on QuantLib 1.8 and Rcpp Package source code including all examples shown is on github https://github.com/klausspanderen/rhestonslv Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 17 / 19
Literature J. Göttker-Schnetmann and K. Spanderen. Calibration of the Heston Stochastic Local Volatility Model. http://hpc-quantlib.de/src/slv.pdf. K.J. in t Hout and S. Foulon. ADI Finite Difference Schemes for Option Pricing in the Heston Model with Correlation. International Journal of Numerical Analysis and Modeling, 7(2):303 320, 2010. Y. Tian, Z. Zhu, G. Lee, F. Klebaner and K. Hamza. Calibrating and Pricing with a Stochastic-Local Volatility Model. http://ssrn.com/abstract=2182411. A. Stoep, L. Grzelak and C. Oosterlee,. The Heston Stochastic-Local Volatility Model: Efficient Monte Carlo Simulation. http://papers.ssrn.com/abstract_id=2278122. Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 18 / 19