Heston Stochastic Local Volatility Model
Total Page:16
File Type:pdf, Size:1020Kb
Heston Stochastic Local Volatility Model Klaus Spanderen1 R/Finance 2016 University of Illinois, Chicago May 20-21, 2016 1Joint 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 St ! σ2 (x ; t) dx = r − q − LV t dt + σ (x ; t)dW t t t 2 LV t t and the Heston Stochastic Volatility model ν p dx = r − q − t dt + ν dW x t t t 2 t t p ν dνt = κ (θ − νt ) dt + σ νt dWt ν x ρdt = dWt dWt 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(St ; t) and mixing factor η to the Heston model: L2(x ; t) p dx = r − q − t ν dt + L(x ; t) ν dW x t t t 2 t t t t p ν dνt = κ (θ − νt ) dt + ησ νt dWt ν x ρdt = dWt dWt Leverage L(xt ; t) is given by probability density p(xt ; ν; t) and s R σ (x ; t) + p(xt ; ν; t)dν L(x ; t)= LV t = σ (x ; t) R t p LV t R νp(x ; ν; t)dν E[νt jx = xt ] R+ t 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 fκ, θ; σ; ρ, vt=0g and σLV (xt ; t) Compute p(xt ; ν; t) either by Monte-Carlo or PDE to get to the leverage function Lt (xt ; t) Infer the mixing factor η from prices of exotic options Package HestonSLV 3 Monte-Carlo and PDE calibration 3 Pricing of vanillas and exotic options like double-no-touch barriers 3 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: dxt = µ(xt ; t)dt + σ(xt ; t)dW t Feynman-Kac: the price of a derivative u(xt ; t) with boundary condition u(xT ; T ) at maturity T is given by: n n X 1 X T @t u + µi @x u + σσ @x @x u − ru = 0 k 2 kl k l k=1 k;l=1 Fokker-Planck: the time evolution of the probability density function p(xt ; t) with the initial condition p(x; t = 0) = δ(x − x0) is given by: n n X 1 X h T i @t p = − @x [µi p] + @x @x σσ p k 2 k l kl k=1 k;l=1 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) 7! p(x; ν; t) is: 1 h i 1 @ p = @2 L2νp + η2σ2@2 [νp] + ησρ∂ @ [Lνp] t 2 x 2 ν x ν 1 −@ r − q − L2ν p − @ [κ (θ − ν) p] x 2 ν 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 3 Zero-Flux boundary condition for ν = fνmin; νmax g 1− 2κθ 3 Reformulate PDE in terms of q = ν σ2 or z = ln ν if the Feller constraint is violated 3 Prediction-Correction step for L(xt+∆t ; t + ∆t) 3 Non-uniform grids are a key factor for success 3 Includes adaptive time step size and grid boundaries to allow for rapid changes of the shape of p(xt ; ν; t) for small t 3 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. σLV (xt ;t) Reminder: L(xt ; t) = p E[νt jx=xt ] 1 Simulate the next time step for all calibration paths 2 i i i Define set of n bins bi = fxt ; xt + ∆xt g and assign paths to bins 3 Calculate expectation value ei = E[νt jx 2 bi ] over all paths in bi σLV (xt ;t) 4 Define L(xt 2 b ; t) = i ei 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: S0 = 100; ν0 = 0:09; κ = 1:0; θ = 0:06; σ = 0:4; ρ = −75% 2κθ Feller condition is violated with σ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 2.5 2.5 2.0 2.0 2.0 2.0 1.5 1.5 1.0 1.0 1.5 1.5 Leverage Function L(x,t) Function Leverage L(x,t) Function Leverage 0.5 0.5 4 1.0 4 1.0 3 3 7 2 2 6 Time 6 Time 5 5 1 0.5 1 0.5 4 4 3 2 ln(S) 3 ln(S) 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 Monte-Carlo Fokker-Planck 30.05 30.10 Implied Volatility (in %) Implied Volatility 29.90 29.95 30.00 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, S0=100, strike=100 Delta of ATM Put Option Heston Black-Scholes Heston Minimum-Variance Local Vol SLV -0.30 -0.25 Delta -0.40 -0.35 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, S2y - α*S1y) 38 η=1.00 η=0.50 η=0.25 η=0.00 32 34 36 Implied Forward Volatility (in %) Volatility Implied Forward 26 28 30 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, S0=100, strike=100 Barrier Option Pricing Local Vol vs SLV 0.30 0.35 η = 1.0 η = 0.5 η = 0.2 SLV η = 0.1 - NPV local NPV 0.00 0.05 0.10 0.15 0.20 0.25 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, S0=100, strike=100 Barrier Option Δlocal vs ΔSLV 0.00 η = 1.0 SLV η = 0.5 Δ η = 0.2 - η = 0.1 local Δ -0.15 -0.10 -0.05 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, S0=100 Double No Touch Option Stochastic Local Volatility vs. Black-Scholes Prices 0.15 η=1.00 η=0.75 η=0.50 η=0.25 η=0.00 BS - NPV 0.05 0.10 SLV NPV -0.05 0.00 0.0 0.2 0.4 0.6 0.8 1.0 NPVBS 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.