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