Heston Stochastic Local Volatility Modelpast.rinfinance.com/agenda/2016/talk/KlauSpanderen.pdf ·...
Transcript of Heston Stochastic Local Volatility Modelpast.rinfinance.com/agenda/2016/talk/KlauSpanderen.pdf ·...
Heston Stochastic Local Volatility Model
Klaus Spanderen1
R/Finance 2016University of Illinois, Chicago
May 20-21, 2016
1Joint work with Johannes Göttker-SchnetmannKlaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 1 / 19
Motivation
Combine two of the most popular option pricing models, the LocalVolatility model with x = ln St
dxt =
(rt − qt −
σ2LV (xt , t)
2
)dt + σLV (xt , t)dWt
and the Heston Stochastic Volatility model
dxt =(
rt − qt −νt
2
)dt +
√νtdW x
t
dνt = κ (θ − νt ) dt + σ√νtdW ν
t
ρdt = dW νt dW x
t
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:
dxt =
(rt − qt −
L2(xt , t)2
νt
)dt + L(xt , t)
√νtdW x
t
dνt = κ (θ − νt ) dt + ησ√νtdW ν
t
ρdt = dW νt dW x
t
Leverage L(xt , t) is given by probability density p(xt , ν, t) and
L(xt , t) =σLV (xt , t)√E[νt |x = xt ]
= σLV (xt , t)
√ ∫R+ p(xt , ν, t)dν∫R+ νp(xt , ν, 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 {κ, θ, σ, ρ, vt=0} and σLV (xt , t)Compute p(xt , ν, t) either by Monte-Carlo or PDE to get to theleverage function Lt (xt , t)Infer the mixing factor η from prices of exotic options
Package HestonSLV3 Monte-Carlo and PDE calibration3 Pricing of vanillas and exotic options like double-no-touch barriers3 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 boundarycondition u(xT ,T ) at maturity T is given by:
∂tu +n∑
k=1
µi∂xk u +12
n∑k ,l=1
(σσT
)kl∂xk∂xl u − ru = 0
Fokker-Planck: the time evolution of the probability density functionp(x t , t) with the initial condition p(x , t = 0) = δ(x − x0) is given by:
∂tp = −n∑
k=1
∂xk [µip] +12
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 densityp : R× R≥0 × R≥0 → R≥0, (x , ν, t) 7→ p(x , ν, t) is:
∂tp =12∂2
x
[L2νp
]+
12η2σ2∂2
ν [νp] + ησρ∂x∂ν [Lνp]
−∂x
[(r − q − 1
2L2ν
)p]− ∂ν [κ (θ − ν) p]
Numerical solution of the PDE is cumbersome due to difficult boundaryconditions 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 ν = {νmin, νmax}
3 Reformulate PDE in terms of q = ν1− 2κθ
σ2 or z = ln ν if the Fellerconstraint 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 forrapid 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 simulatethe Heston SLV model efficiently.
Reminder: L(xt , t) = σLV (xt ,t)√E[νt |x=xt ]
1 Simulate the next time step for all calibration paths2 Define set of n bins bi = {x i
t , xit + ∆x i
t } and assign paths to bins3 Calculate expectation value ei = E[νt |x ∈ bi ] over all paths in bi
4 Define L(xt ∈ bi , t) = σLV (xt ,t)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%
Feller condition is violated with 2κθσ2 = 0.75
Implied volatility surface of the Heston model and the LocalVolatility 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
23
45
67
1
2
3
4
0.5
1.0
1.5
2.0
2.5
ln(S)
Time
Leve
rage
Fun
ctio
n L(
x,t)
0.5
1.0
1.5
2.0
2.5
Monte-Carlo Simulation, η=1.00
3
4
5
6
1
2
3
4
0.5
1.0
1.5
2.0
2.5
ln(S)
TimeLe
vera
ge F
unct
ion
L(x,
t)
0.5
1.0
1.5
2.0
2.5
Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 10 / 19
Calibration Sanity Check: Round-Trip Error for Vanillas
50 100 150 200 250
29.9
029
.95
30.0
030
.05
30.1
0
Round-Trip Error for 1Y Maturity
Strike
Impli
ed V
olatili
ty (in
%)
Monte-CarloFokker-Planck
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
0.0 0.2 0.4 0.6 0.8 1.0
-0.4
0-0
.35
-0.3
0-0
.25
Delta of ATM Put Option
η
Del
ta
HestonBlack-ScholesHeston Minimum-VarianceLocal VolSLV
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.
0.5 1.0 1.5 2.0
2628
3032
3436
38Forward Starting Option: max(0, S2y - α*S1y)
Strike α
Impli
ed F
orwa
rd V
olatili
ty (in
%)
η=1.00η=0.50η=0.25η=0.00
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
0 20 40 60 80 100
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
Barrier Option Pricing Local Vol vs SLV
Barrier
NPV
loca
l - N
PVS
LV
η = 1.0η = 0.5η = 0.2η = 0.1
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
0 20 40 60 80 100
-0.1
5-0
.10
-0.0
50.
00Barrier Option Δ local vs ΔSLV
Barrier
Δlo
cal -
ΔS
LV
η = 1.0η = 0.5η = 0.2η = 0.1
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
0.0 0.2 0.4 0.6 0.8 1.0
-0.0
50.
000.
050.
100.
15Double No Touch Option
NPVBS
NPV S
LV -
NPV B
S
Stochastic Local Volatility vs. Black-Scholes Prices
η=1.00η=0.75η=0.50η=0.25η=0.00
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 VolatilityModel
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 githubhttps://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 HestonModel 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 MonteCarlo Simulation.http://papers.ssrn.com/abstract_id=2278122.
Klaus Spanderen Heston Stochastic Local Volatility Model 2016-05-20 18 / 19