# Heston Stochastic Local Volatility 2016-05-23¢  Heston Stochastic Local Volatility Model Klaus Spanderen1

• View
9

• Download
0

Embed Size (px)

### Text of Heston Stochastic Local Volatility 2016-05-23¢  Heston Stochastic Local Volatility Model...

• 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

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 xt

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 xt

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 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:

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(xT ,T ) at maturity T is given by:

∂tu + n∑

k=1

µi∂xk u + 1 2

n∑ k ,l=1

( σσT

) kl ∂xk∂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 − x0) is given by:

∂tp = − n∑

k=1

∂xk [µip] + 1 2

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) 7→ p(x , ν, t) is:

∂tp = 1 2 ∂2x

[ L2ν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

3 Zero-Flux boundary condition for ν = {νmin, νmax}

3 Reformulate PDE in terms of q = ν1− 2κθ σ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.

Reminder: L(xt , t) = σLV (xt ,t)√ E[νt |x=xt ]

1 Simulate the next time step for all calibration paths 2 Define set of n bins bi = {x it , x it + ∆x it } and assign paths to bins 3 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 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

2 3

4 5

6 7

1

2

3

4

0.5

1.0

1.5

2.0

2.5

ln(S)

Time

Le ve

ra ge

F un

ct io

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)

Time Le

ve ra

ge F

un ct

io n

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

0 29

.9 5

30 .0

0 30

.0 5

30 .1

0

Round-Trip Error for 1Y Maturity

Strike

Im pli

ed V

ola tili

ty (in

% )

Monte-Carlo Fokker-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

.3 5

-0 .3

0 -0

.2 5

Delta of ATM Put Option

η

D el

ta

Heston Black-Scholes Heston Minimum-Variance Local Vol SLV

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

26 28

30 32

34 36

38 Forward Starting Option: max(0, S2y - α*S1y)

Strike α

Im pli

ed F

or wa

rd V

ola tili

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

N PV

lo ca

l - N

PV S

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

.1 0

-0 .0

5 0.

00 Barrier Option Δ local vs ΔSLV

Barrier

Δ lo

ca l -

Δ 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

5 0.

00 0.

05 0.

10 0.

15 Double No Touch Option

NPVBS

NP V S

LV -

NP V 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 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 201

Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents
Documents