opengamma local vol

20
OpenGamma Quantitative Research Local V ola tili ty Richard White [email protected] OpenGamma Quantitati ve Research n. 2 | First version: 27 Januar y 2012; this version February 26, 2013

Upload: gibreelchamcha

Post on 16-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 120

OpenGamma Quantitative Research

Local Volatility

Richard WhiteRichardopengammacom

OpenGamma Quantitative Research n 2 | First version 27 January 2012 this version February 26 2013

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 220

1 The Black-Scholes-Merton Backwards PDE

Starting from log-normal dynamics for the spot price of some asset S t

dS t = microS tdt + σS tdW t (1)

where micro is the drift σ is the constant volatility term and W t is a Weiner process the classicBlack-Scholes-Merton equation for the price of an European option V (t S T K )1 at time ton a underlying S struck at K and with an expiry of T where the risk free (continuouslycompounded) rate is r and cost of carry is q 2 is given by

partV

partt +

1

2σ2S 2

part 2V

partS 2 + (r minus q )S

partV

partS minus rV = 0 (2)

This equation can be solved numerically backwards in time starting from the final conditionV (T S T K ) = (S minus K )+ For a call option the Dirichlet boundary condition V (0 t) = 0 andthe Neumann boundary condition partV

partS

|S =M = eminusq(T minust) are imposed for some M

≫k Of course

this can also be solved analytically by the Black-Scholes-Merton option pricing formula

V (t S T K ) = ω

eminusqτ S tN (ωd1)minus eminusqτ KN (ωd2)

(3)

d1 = ln(S tK ) + (r minus q )τ + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t

where ω is +1 for a call and -1 for a put The model can be extended to term structures for rq and σ with the time-averaged values used in the formula ie

r rarr r = 1

T minus t

991787 T t

rsds r rarr q = 1

T minus t

991787 T t

q sds σ2 rarr σ2 = 1

T minus t

991787 T t

σ2sds (4)

While this will produce different implied volatility levels at different expiries (the implied volatil-ity being simply the root-mean-squared (RMS) of the instantaneous volatility) it cannot producedifferent implied volatility levels across strikes (volatility smiles) However if the instantaneousvolatility is extended to be a function of both time and the level of the underlying σ rarr σ(t S )then the market prices of all options written on the underlying can be recovered by a suitablechoice of σ(t S ) Additionally given a (hypothetical) continuum of prices across expiry andstrike there is a unique Local Volatility σL(t S ) This is a result from stochastic processes dueto Gyoumlngy [Gyo86]

Defining the forward option price as V t = exp(int T t

rsds)V t and the forward value of theunderlying as

F (t T ) = exp

852008991787 T t

(rs minus q s)ds

852009S t (5)

equation 2 can be written as

part V

partt +

1

2σ(t F )2F 2

part 2 V

partF 2 = 0 (6)

1here S and t are the state variables and K and T are parameters of the option2For Equity options q is the dividend yield while for FX r is the domestic risk free rate rd and q is the foreign

risk free rate rf

1

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 320

The forward can be identified as

F (t T ) = ET [S T |F t] (7)

where the expectation is under the T-forward measure - ie the numeraire is the zero couponbond P (t T ) The option price is V t = P (t T ) V t and both F (t T ) and P (t T ) are marketobservables (at time t for a range of T ) in many markets By this transformation any referenceto the (generally) unobserved r and q is removed

2 Dupire Local Volatility

Using the Fokker-Planck result that for a SDE

dxt = a(t xt)dt + b(t xt)dW t (8)

the transition probability p(T xT )

equiv p(T xT t xt)

3 is governed by the PDE

partp(T x)

partt = minuspart [a(T x) p(T x)]

partx +

1

2

part 2[b2(T x) p(T x)]

partx2 (9)

together with the Breeden-Litzenberger result that

p(T x t st) = er(T minust)part 2C (t S t T K )

partK 2

K =x

(10)

where C (middot) denotes a call option leads to the forward PDE

partC

partT =

1

2σ2(K T )K 2

part 2C

partK 2 minus (r minus q )K

partC

partK minus qC (11)

In this equation the state variables are expiry T and strike K Numerically solving the PDEforward in time T with the initial condition is C (t S t t K ) = (S tminusK )+ will give call prices forall expiries and strikes (within the chosen boundaries) Dupire [Dup94] rearranged this equationto

σ(T K ) =

radic 2partC partT

+ (r minus q )K partC partK

+ qC

K 2 part 2C

partK 2

(12)

which given a continuous twice-differentiable in strike and once in time surface of call optionsprices will give a unique local volatility A real market will only have a finite number of (liquid)option prices Direct interpolation of market prices is difficult since calendar arbitrage (iepartC partT

+ (r minus q )K partC partK

+ qC lt 0) and strike arbitrage (ie part 2C

partK 2 lt 0) must be avoided Even if these

conditions are met finding local volatility this way is dangerous not least because for OTMoptions the derivatives will be with respect to very small prices (and thus in turn produce smallpossibly inaccurate numbers) leading to a division of one very small number by another Since it

3the probability of going from xt at time t to xT at time T ge t

2

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 420

is a market standard to quote prices as implied volatility σimp(T K ) the local volatility formulacan be rewritten in terms of implied volatility and its derivatives

σ(T K ) = σ2imp + 2σimpT (

partσimppartT + (r minus q )K

partσimppartK )

1 + 2d1K radic

T partσimppartK

+ K 2T

1048616d1d2

983080partσimppartK

9830812+ σimp

part 2σimppartK 2

1048617 (13)

Interpolation of the implied volatility surface is discussed in section 3 but first we will refor-mulate equations 11 and 13 to eliminate r and q

We define the moneyness x = K F (t T ) and the fractional call price as

C (T x) equiv C (TxF (t T ))

P (t T )F (t T ) (14)

With these changes of variables the forward PDE for the fractional call price is

part C

partT = 1

2 σ(T x)2

x2 part 2 C

partx2 (15)

and the local volatility is now a function of expiry and moneyness (denoted by the hat symbol)The relationship between these two local volatility surfaces is trivially

σ(T K ) = σ(T K F (t T )) σ(T x) = σ(TxF (t T )) (16)

Equation 15 must be solved numerically4 with initial condition C (0 x) = (1 minus x)+ lowerboundary condition C (T 0) = 1 and upper boundary condition either C (0 xmax) = 0 orpart C partx|x=xmax = 0 for some xmax ≫ 1 After reversing the change of variables this gives the call

price across all expiries and strikes (within the set boundaries)Just as in equation 13 we can rearrange equation 15 to give local volatility in terms of implied

volatility

σ(T x) =

σ2imp + 2σimpT

part σimppartT

1 + 2d1xradic

T part σimppartx

+ x2T

1048616d1d2

983080part σimppartx

9830812+ σimp

part 2σimppartx2

1048617 (17)

The implied volatility σimp(T x) is a function of expiry and moneyness and

d1 = minus ln(x) + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t (18)

Again it is trivial to convert between an implied volatility surface parameterised by strike toone parameterised by moneyness

Assuming we have obtained a smooth interpolated implied volatility surface from market

prices of options on a single underlying we can then numerically or analytically take derivativesto obtain the local volatility surface Armed with this surface we numerically integrate (iesolve) equation 15 once read off the prices and compare with the market prices Alternativelywe can solve equation 6 once for each option Either way the only discrepancy with the inputmarket option prices should be due to numerical error

4Except in the degenerate case where σ is a function of time only in which case the RMS volatility can beplugged straight into the Black formula

3

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 520

3 Interpolation of Volatility Surfaces

The first condition f or an interpolated volatility surface is that it matches exactly the (liquid)market option prices5 To obtain a continuous local volatility surface the implied volatility sur-face should be at least C 1 (once differentiable) in the T direction and C 2 in the strikemoneynessdirection and in general a (C nT C mK ) implied volatility surface will produce a (C nminus1T C mminus2K )local volatility surface

The condition to avoid calendar arbitrage is σ2imp + 2σimpT

part σimppartT ge 0 Defining integrated

implied variance as ν imp(T x) = T σ2imp(T x) the condition can be rewritten as

part ν imp

partT ge 0 (19)

In the strike direction the arbitrage condition is more complex but can be satisfied by usinga smile model that does not admit arbitrage

To make the discussion concrete we consider FX options with ten expiries from 1 week to 10years and 5 strikes per expiry (with deltas of 025 035 05 075 and 085) Since these data are

dense on an expirystrike grid we can fit a separate smile model at each expiry then interpolatein the time direction between these fitted smiles

We choose to use the SABR model6 which has four parameters As such it is not possible toguarantee an exact fit to all five option strikes Since the CEV parameter β and the correlationρ have similar effects on the smile they tend to play off against each other when fitting theparameters and it is common practice to fix β and fit for the other three parameters We chooseβ by running a least-squares fit between model- and market-implied volatilities for all five strikesWith β fixed we then make three different fits of SABR to the three sets of three consecutivepoints These fits should be exact (a failure would indicate bad data) Clearly the fits willagree on the implied volatility at the market strikes that they share (which in turn will be themarket-implied volatilities) but not at points in between For the points in between we take aweighted average For a point x between xi and xi+1 the weighted average is

f (x) = w1048616

xi+1 minus xxi+1 minus xi

1048617f i(x) +

9831311 minusw

1048616 xi+1 minus xxi+1 minus xi

1048617983133f i+1(x) (20)

where f i() is the fit centred on the point xi and the weight function has the property w(0) = 0and w(1) = 1 An obvious choice is w(y) = y but we must consider how the derivatives of f ()will behave

The first and second derivatives are

f prime(x) = 1

∆xiwprime1048616

xi+1 minus x

∆xi

1048617[minusf i(x) + f i+1(x)]

+wf primei(x) + (1 minus w)f primei+1(x)

(21)

f primeprime(x) = 1

∆x2i

wprimeprime1048616xi+1 minus x

∆xi 1048617 [f i(x)minus f i+1(x)]

minus 2

∆xiwprime1048616

xi+1 minus x

∆xi

10486171048667f primei(x)minus f primei+1(x)

1048669+wf primeprimei (x) + (1 minus w)f primeprimei+1(x)

(22)

5It is not strictly interpolation if this is not met however there are situations where a little mispricing istolerable to obtain a smooth arbitrage-free surface

6SABR is ubiquitous despite its shortcomings not least of which is that it can admit arbitrage

4

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 2: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 220

1 The Black-Scholes-Merton Backwards PDE

Starting from log-normal dynamics for the spot price of some asset S t

dS t = microS tdt + σS tdW t (1)

where micro is the drift σ is the constant volatility term and W t is a Weiner process the classicBlack-Scholes-Merton equation for the price of an European option V (t S T K )1 at time ton a underlying S struck at K and with an expiry of T where the risk free (continuouslycompounded) rate is r and cost of carry is q 2 is given by

partV

partt +

1

2σ2S 2

part 2V

partS 2 + (r minus q )S

partV

partS minus rV = 0 (2)

This equation can be solved numerically backwards in time starting from the final conditionV (T S T K ) = (S minus K )+ For a call option the Dirichlet boundary condition V (0 t) = 0 andthe Neumann boundary condition partV

partS

|S =M = eminusq(T minust) are imposed for some M

≫k Of course

this can also be solved analytically by the Black-Scholes-Merton option pricing formula

V (t S T K ) = ω

eminusqτ S tN (ωd1)minus eminusqτ KN (ωd2)

(3)

d1 = ln(S tK ) + (r minus q )τ + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t

where ω is +1 for a call and -1 for a put The model can be extended to term structures for rq and σ with the time-averaged values used in the formula ie

r rarr r = 1

T minus t

991787 T t

rsds r rarr q = 1

T minus t

991787 T t

q sds σ2 rarr σ2 = 1

T minus t

991787 T t

σ2sds (4)

While this will produce different implied volatility levels at different expiries (the implied volatil-ity being simply the root-mean-squared (RMS) of the instantaneous volatility) it cannot producedifferent implied volatility levels across strikes (volatility smiles) However if the instantaneousvolatility is extended to be a function of both time and the level of the underlying σ rarr σ(t S )then the market prices of all options written on the underlying can be recovered by a suitablechoice of σ(t S ) Additionally given a (hypothetical) continuum of prices across expiry andstrike there is a unique Local Volatility σL(t S ) This is a result from stochastic processes dueto Gyoumlngy [Gyo86]

Defining the forward option price as V t = exp(int T t

rsds)V t and the forward value of theunderlying as

F (t T ) = exp

852008991787 T t

(rs minus q s)ds

852009S t (5)

equation 2 can be written as

part V

partt +

1

2σ(t F )2F 2

part 2 V

partF 2 = 0 (6)

1here S and t are the state variables and K and T are parameters of the option2For Equity options q is the dividend yield while for FX r is the domestic risk free rate rd and q is the foreign

risk free rate rf

1

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 320

The forward can be identified as

F (t T ) = ET [S T |F t] (7)

where the expectation is under the T-forward measure - ie the numeraire is the zero couponbond P (t T ) The option price is V t = P (t T ) V t and both F (t T ) and P (t T ) are marketobservables (at time t for a range of T ) in many markets By this transformation any referenceto the (generally) unobserved r and q is removed

2 Dupire Local Volatility

Using the Fokker-Planck result that for a SDE

dxt = a(t xt)dt + b(t xt)dW t (8)

the transition probability p(T xT )

equiv p(T xT t xt)

3 is governed by the PDE

partp(T x)

partt = minuspart [a(T x) p(T x)]

partx +

1

2

part 2[b2(T x) p(T x)]

partx2 (9)

together with the Breeden-Litzenberger result that

p(T x t st) = er(T minust)part 2C (t S t T K )

partK 2

K =x

(10)

where C (middot) denotes a call option leads to the forward PDE

partC

partT =

1

2σ2(K T )K 2

part 2C

partK 2 minus (r minus q )K

partC

partK minus qC (11)

In this equation the state variables are expiry T and strike K Numerically solving the PDEforward in time T with the initial condition is C (t S t t K ) = (S tminusK )+ will give call prices forall expiries and strikes (within the chosen boundaries) Dupire [Dup94] rearranged this equationto

σ(T K ) =

radic 2partC partT

+ (r minus q )K partC partK

+ qC

K 2 part 2C

partK 2

(12)

which given a continuous twice-differentiable in strike and once in time surface of call optionsprices will give a unique local volatility A real market will only have a finite number of (liquid)option prices Direct interpolation of market prices is difficult since calendar arbitrage (iepartC partT

+ (r minus q )K partC partK

+ qC lt 0) and strike arbitrage (ie part 2C

partK 2 lt 0) must be avoided Even if these

conditions are met finding local volatility this way is dangerous not least because for OTMoptions the derivatives will be with respect to very small prices (and thus in turn produce smallpossibly inaccurate numbers) leading to a division of one very small number by another Since it

3the probability of going from xt at time t to xT at time T ge t

2

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 420

is a market standard to quote prices as implied volatility σimp(T K ) the local volatility formulacan be rewritten in terms of implied volatility and its derivatives

σ(T K ) = σ2imp + 2σimpT (

partσimppartT + (r minus q )K

partσimppartK )

1 + 2d1K radic

T partσimppartK

+ K 2T

1048616d1d2

983080partσimppartK

9830812+ σimp

part 2σimppartK 2

1048617 (13)

Interpolation of the implied volatility surface is discussed in section 3 but first we will refor-mulate equations 11 and 13 to eliminate r and q

We define the moneyness x = K F (t T ) and the fractional call price as

C (T x) equiv C (TxF (t T ))

P (t T )F (t T ) (14)

With these changes of variables the forward PDE for the fractional call price is

part C

partT = 1

2 σ(T x)2

x2 part 2 C

partx2 (15)

and the local volatility is now a function of expiry and moneyness (denoted by the hat symbol)The relationship between these two local volatility surfaces is trivially

σ(T K ) = σ(T K F (t T )) σ(T x) = σ(TxF (t T )) (16)

Equation 15 must be solved numerically4 with initial condition C (0 x) = (1 minus x)+ lowerboundary condition C (T 0) = 1 and upper boundary condition either C (0 xmax) = 0 orpart C partx|x=xmax = 0 for some xmax ≫ 1 After reversing the change of variables this gives the call

price across all expiries and strikes (within the set boundaries)Just as in equation 13 we can rearrange equation 15 to give local volatility in terms of implied

volatility

σ(T x) =

σ2imp + 2σimpT

part σimppartT

1 + 2d1xradic

T part σimppartx

+ x2T

1048616d1d2

983080part σimppartx

9830812+ σimp

part 2σimppartx2

1048617 (17)

The implied volatility σimp(T x) is a function of expiry and moneyness and

d1 = minus ln(x) + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t (18)

Again it is trivial to convert between an implied volatility surface parameterised by strike toone parameterised by moneyness

Assuming we have obtained a smooth interpolated implied volatility surface from market

prices of options on a single underlying we can then numerically or analytically take derivativesto obtain the local volatility surface Armed with this surface we numerically integrate (iesolve) equation 15 once read off the prices and compare with the market prices Alternativelywe can solve equation 6 once for each option Either way the only discrepancy with the inputmarket option prices should be due to numerical error

4Except in the degenerate case where σ is a function of time only in which case the RMS volatility can beplugged straight into the Black formula

3

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 520

3 Interpolation of Volatility Surfaces

The first condition f or an interpolated volatility surface is that it matches exactly the (liquid)market option prices5 To obtain a continuous local volatility surface the implied volatility sur-face should be at least C 1 (once differentiable) in the T direction and C 2 in the strikemoneynessdirection and in general a (C nT C mK ) implied volatility surface will produce a (C nminus1T C mminus2K )local volatility surface

The condition to avoid calendar arbitrage is σ2imp + 2σimpT

part σimppartT ge 0 Defining integrated

implied variance as ν imp(T x) = T σ2imp(T x) the condition can be rewritten as

part ν imp

partT ge 0 (19)

In the strike direction the arbitrage condition is more complex but can be satisfied by usinga smile model that does not admit arbitrage

To make the discussion concrete we consider FX options with ten expiries from 1 week to 10years and 5 strikes per expiry (with deltas of 025 035 05 075 and 085) Since these data are

dense on an expirystrike grid we can fit a separate smile model at each expiry then interpolatein the time direction between these fitted smiles

We choose to use the SABR model6 which has four parameters As such it is not possible toguarantee an exact fit to all five option strikes Since the CEV parameter β and the correlationρ have similar effects on the smile they tend to play off against each other when fitting theparameters and it is common practice to fix β and fit for the other three parameters We chooseβ by running a least-squares fit between model- and market-implied volatilities for all five strikesWith β fixed we then make three different fits of SABR to the three sets of three consecutivepoints These fits should be exact (a failure would indicate bad data) Clearly the fits willagree on the implied volatility at the market strikes that they share (which in turn will be themarket-implied volatilities) but not at points in between For the points in between we take aweighted average For a point x between xi and xi+1 the weighted average is

f (x) = w1048616

xi+1 minus xxi+1 minus xi

1048617f i(x) +

9831311 minusw

1048616 xi+1 minus xxi+1 minus xi

1048617983133f i+1(x) (20)

where f i() is the fit centred on the point xi and the weight function has the property w(0) = 0and w(1) = 1 An obvious choice is w(y) = y but we must consider how the derivatives of f ()will behave

The first and second derivatives are

f prime(x) = 1

∆xiwprime1048616

xi+1 minus x

∆xi

1048617[minusf i(x) + f i+1(x)]

+wf primei(x) + (1 minus w)f primei+1(x)

(21)

f primeprime(x) = 1

∆x2i

wprimeprime1048616xi+1 minus x

∆xi 1048617 [f i(x)minus f i+1(x)]

minus 2

∆xiwprime1048616

xi+1 minus x

∆xi

10486171048667f primei(x)minus f primei+1(x)

1048669+wf primeprimei (x) + (1 minus w)f primeprimei+1(x)

(22)

5It is not strictly interpolation if this is not met however there are situations where a little mispricing istolerable to obtain a smooth arbitrage-free surface

6SABR is ubiquitous despite its shortcomings not least of which is that it can admit arbitrage

4

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 3: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 320

The forward can be identified as

F (t T ) = ET [S T |F t] (7)

where the expectation is under the T-forward measure - ie the numeraire is the zero couponbond P (t T ) The option price is V t = P (t T ) V t and both F (t T ) and P (t T ) are marketobservables (at time t for a range of T ) in many markets By this transformation any referenceto the (generally) unobserved r and q is removed

2 Dupire Local Volatility

Using the Fokker-Planck result that for a SDE

dxt = a(t xt)dt + b(t xt)dW t (8)

the transition probability p(T xT )

equiv p(T xT t xt)

3 is governed by the PDE

partp(T x)

partt = minuspart [a(T x) p(T x)]

partx +

1

2

part 2[b2(T x) p(T x)]

partx2 (9)

together with the Breeden-Litzenberger result that

p(T x t st) = er(T minust)part 2C (t S t T K )

partK 2

K =x

(10)

where C (middot) denotes a call option leads to the forward PDE

partC

partT =

1

2σ2(K T )K 2

part 2C

partK 2 minus (r minus q )K

partC

partK minus qC (11)

In this equation the state variables are expiry T and strike K Numerically solving the PDEforward in time T with the initial condition is C (t S t t K ) = (S tminusK )+ will give call prices forall expiries and strikes (within the chosen boundaries) Dupire [Dup94] rearranged this equationto

σ(T K ) =

radic 2partC partT

+ (r minus q )K partC partK

+ qC

K 2 part 2C

partK 2

(12)

which given a continuous twice-differentiable in strike and once in time surface of call optionsprices will give a unique local volatility A real market will only have a finite number of (liquid)option prices Direct interpolation of market prices is difficult since calendar arbitrage (iepartC partT

+ (r minus q )K partC partK

+ qC lt 0) and strike arbitrage (ie part 2C

partK 2 lt 0) must be avoided Even if these

conditions are met finding local volatility this way is dangerous not least because for OTMoptions the derivatives will be with respect to very small prices (and thus in turn produce smallpossibly inaccurate numbers) leading to a division of one very small number by another Since it

3the probability of going from xt at time t to xT at time T ge t

2

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 420

is a market standard to quote prices as implied volatility σimp(T K ) the local volatility formulacan be rewritten in terms of implied volatility and its derivatives

σ(T K ) = σ2imp + 2σimpT (

partσimppartT + (r minus q )K

partσimppartK )

1 + 2d1K radic

T partσimppartK

+ K 2T

1048616d1d2

983080partσimppartK

9830812+ σimp

part 2σimppartK 2

1048617 (13)

Interpolation of the implied volatility surface is discussed in section 3 but first we will refor-mulate equations 11 and 13 to eliminate r and q

We define the moneyness x = K F (t T ) and the fractional call price as

C (T x) equiv C (TxF (t T ))

P (t T )F (t T ) (14)

With these changes of variables the forward PDE for the fractional call price is

part C

partT = 1

2 σ(T x)2

x2 part 2 C

partx2 (15)

and the local volatility is now a function of expiry and moneyness (denoted by the hat symbol)The relationship between these two local volatility surfaces is trivially

σ(T K ) = σ(T K F (t T )) σ(T x) = σ(TxF (t T )) (16)

Equation 15 must be solved numerically4 with initial condition C (0 x) = (1 minus x)+ lowerboundary condition C (T 0) = 1 and upper boundary condition either C (0 xmax) = 0 orpart C partx|x=xmax = 0 for some xmax ≫ 1 After reversing the change of variables this gives the call

price across all expiries and strikes (within the set boundaries)Just as in equation 13 we can rearrange equation 15 to give local volatility in terms of implied

volatility

σ(T x) =

σ2imp + 2σimpT

part σimppartT

1 + 2d1xradic

T part σimppartx

+ x2T

1048616d1d2

983080part σimppartx

9830812+ σimp

part 2σimppartx2

1048617 (17)

The implied volatility σimp(T x) is a function of expiry and moneyness and

d1 = minus ln(x) + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t (18)

Again it is trivial to convert between an implied volatility surface parameterised by strike toone parameterised by moneyness

Assuming we have obtained a smooth interpolated implied volatility surface from market

prices of options on a single underlying we can then numerically or analytically take derivativesto obtain the local volatility surface Armed with this surface we numerically integrate (iesolve) equation 15 once read off the prices and compare with the market prices Alternativelywe can solve equation 6 once for each option Either way the only discrepancy with the inputmarket option prices should be due to numerical error

4Except in the degenerate case where σ is a function of time only in which case the RMS volatility can beplugged straight into the Black formula

3

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 520

3 Interpolation of Volatility Surfaces

The first condition f or an interpolated volatility surface is that it matches exactly the (liquid)market option prices5 To obtain a continuous local volatility surface the implied volatility sur-face should be at least C 1 (once differentiable) in the T direction and C 2 in the strikemoneynessdirection and in general a (C nT C mK ) implied volatility surface will produce a (C nminus1T C mminus2K )local volatility surface

The condition to avoid calendar arbitrage is σ2imp + 2σimpT

part σimppartT ge 0 Defining integrated

implied variance as ν imp(T x) = T σ2imp(T x) the condition can be rewritten as

part ν imp

partT ge 0 (19)

In the strike direction the arbitrage condition is more complex but can be satisfied by usinga smile model that does not admit arbitrage

To make the discussion concrete we consider FX options with ten expiries from 1 week to 10years and 5 strikes per expiry (with deltas of 025 035 05 075 and 085) Since these data are

dense on an expirystrike grid we can fit a separate smile model at each expiry then interpolatein the time direction between these fitted smiles

We choose to use the SABR model6 which has four parameters As such it is not possible toguarantee an exact fit to all five option strikes Since the CEV parameter β and the correlationρ have similar effects on the smile they tend to play off against each other when fitting theparameters and it is common practice to fix β and fit for the other three parameters We chooseβ by running a least-squares fit between model- and market-implied volatilities for all five strikesWith β fixed we then make three different fits of SABR to the three sets of three consecutivepoints These fits should be exact (a failure would indicate bad data) Clearly the fits willagree on the implied volatility at the market strikes that they share (which in turn will be themarket-implied volatilities) but not at points in between For the points in between we take aweighted average For a point x between xi and xi+1 the weighted average is

f (x) = w1048616

xi+1 minus xxi+1 minus xi

1048617f i(x) +

9831311 minusw

1048616 xi+1 minus xxi+1 minus xi

1048617983133f i+1(x) (20)

where f i() is the fit centred on the point xi and the weight function has the property w(0) = 0and w(1) = 1 An obvious choice is w(y) = y but we must consider how the derivatives of f ()will behave

The first and second derivatives are

f prime(x) = 1

∆xiwprime1048616

xi+1 minus x

∆xi

1048617[minusf i(x) + f i+1(x)]

+wf primei(x) + (1 minus w)f primei+1(x)

(21)

f primeprime(x) = 1

∆x2i

wprimeprime1048616xi+1 minus x

∆xi 1048617 [f i(x)minus f i+1(x)]

minus 2

∆xiwprime1048616

xi+1 minus x

∆xi

10486171048667f primei(x)minus f primei+1(x)

1048669+wf primeprimei (x) + (1 minus w)f primeprimei+1(x)

(22)

5It is not strictly interpolation if this is not met however there are situations where a little mispricing istolerable to obtain a smooth arbitrage-free surface

6SABR is ubiquitous despite its shortcomings not least of which is that it can admit arbitrage

4

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 4: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 420

is a market standard to quote prices as implied volatility σimp(T K ) the local volatility formulacan be rewritten in terms of implied volatility and its derivatives

σ(T K ) = σ2imp + 2σimpT (

partσimppartT + (r minus q )K

partσimppartK )

1 + 2d1K radic

T partσimppartK

+ K 2T

1048616d1d2

983080partσimppartK

9830812+ σimp

part 2σimppartK 2

1048617 (13)

Interpolation of the implied volatility surface is discussed in section 3 but first we will refor-mulate equations 11 and 13 to eliminate r and q

We define the moneyness x = K F (t T ) and the fractional call price as

C (T x) equiv C (TxF (t T ))

P (t T )F (t T ) (14)

With these changes of variables the forward PDE for the fractional call price is

part C

partT = 1

2 σ(T x)2

x2 part 2 C

partx2 (15)

and the local volatility is now a function of expiry and moneyness (denoted by the hat symbol)The relationship between these two local volatility surfaces is trivially

σ(T K ) = σ(T K F (t T )) σ(T x) = σ(TxF (t T )) (16)

Equation 15 must be solved numerically4 with initial condition C (0 x) = (1 minus x)+ lowerboundary condition C (T 0) = 1 and upper boundary condition either C (0 xmax) = 0 orpart C partx|x=xmax = 0 for some xmax ≫ 1 After reversing the change of variables this gives the call

price across all expiries and strikes (within the set boundaries)Just as in equation 13 we can rearrange equation 15 to give local volatility in terms of implied

volatility

σ(T x) =

σ2imp + 2σimpT

part σimppartT

1 + 2d1xradic

T part σimppartx

+ x2T

1048616d1d2

983080part σimppartx

9830812+ σimp

part 2σimppartx2

1048617 (17)

The implied volatility σimp(T x) is a function of expiry and moneyness and

d1 = minus ln(x) + 1

2σ2τ

σradic

τ d2 = d1 minus σ

radic τ τ = T minus t (18)

Again it is trivial to convert between an implied volatility surface parameterised by strike toone parameterised by moneyness

Assuming we have obtained a smooth interpolated implied volatility surface from market

prices of options on a single underlying we can then numerically or analytically take derivativesto obtain the local volatility surface Armed with this surface we numerically integrate (iesolve) equation 15 once read off the prices and compare with the market prices Alternativelywe can solve equation 6 once for each option Either way the only discrepancy with the inputmarket option prices should be due to numerical error

4Except in the degenerate case where σ is a function of time only in which case the RMS volatility can beplugged straight into the Black formula

3

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 520

3 Interpolation of Volatility Surfaces

The first condition f or an interpolated volatility surface is that it matches exactly the (liquid)market option prices5 To obtain a continuous local volatility surface the implied volatility sur-face should be at least C 1 (once differentiable) in the T direction and C 2 in the strikemoneynessdirection and in general a (C nT C mK ) implied volatility surface will produce a (C nminus1T C mminus2K )local volatility surface

The condition to avoid calendar arbitrage is σ2imp + 2σimpT

part σimppartT ge 0 Defining integrated

implied variance as ν imp(T x) = T σ2imp(T x) the condition can be rewritten as

part ν imp

partT ge 0 (19)

In the strike direction the arbitrage condition is more complex but can be satisfied by usinga smile model that does not admit arbitrage

To make the discussion concrete we consider FX options with ten expiries from 1 week to 10years and 5 strikes per expiry (with deltas of 025 035 05 075 and 085) Since these data are

dense on an expirystrike grid we can fit a separate smile model at each expiry then interpolatein the time direction between these fitted smiles

We choose to use the SABR model6 which has four parameters As such it is not possible toguarantee an exact fit to all five option strikes Since the CEV parameter β and the correlationρ have similar effects on the smile they tend to play off against each other when fitting theparameters and it is common practice to fix β and fit for the other three parameters We chooseβ by running a least-squares fit between model- and market-implied volatilities for all five strikesWith β fixed we then make three different fits of SABR to the three sets of three consecutivepoints These fits should be exact (a failure would indicate bad data) Clearly the fits willagree on the implied volatility at the market strikes that they share (which in turn will be themarket-implied volatilities) but not at points in between For the points in between we take aweighted average For a point x between xi and xi+1 the weighted average is

f (x) = w1048616

xi+1 minus xxi+1 minus xi

1048617f i(x) +

9831311 minusw

1048616 xi+1 minus xxi+1 minus xi

1048617983133f i+1(x) (20)

where f i() is the fit centred on the point xi and the weight function has the property w(0) = 0and w(1) = 1 An obvious choice is w(y) = y but we must consider how the derivatives of f ()will behave

The first and second derivatives are

f prime(x) = 1

∆xiwprime1048616

xi+1 minus x

∆xi

1048617[minusf i(x) + f i+1(x)]

+wf primei(x) + (1 minus w)f primei+1(x)

(21)

f primeprime(x) = 1

∆x2i

wprimeprime1048616xi+1 minus x

∆xi 1048617 [f i(x)minus f i+1(x)]

minus 2

∆xiwprime1048616

xi+1 minus x

∆xi

10486171048667f primei(x)minus f primei+1(x)

1048669+wf primeprimei (x) + (1 minus w)f primeprimei+1(x)

(22)

5It is not strictly interpolation if this is not met however there are situations where a little mispricing istolerable to obtain a smooth arbitrage-free surface

6SABR is ubiquitous despite its shortcomings not least of which is that it can admit arbitrage

4

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 5: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 520

3 Interpolation of Volatility Surfaces

The first condition f or an interpolated volatility surface is that it matches exactly the (liquid)market option prices5 To obtain a continuous local volatility surface the implied volatility sur-face should be at least C 1 (once differentiable) in the T direction and C 2 in the strikemoneynessdirection and in general a (C nT C mK ) implied volatility surface will produce a (C nminus1T C mminus2K )local volatility surface

The condition to avoid calendar arbitrage is σ2imp + 2σimpT

part σimppartT ge 0 Defining integrated

implied variance as ν imp(T x) = T σ2imp(T x) the condition can be rewritten as

part ν imp

partT ge 0 (19)

In the strike direction the arbitrage condition is more complex but can be satisfied by usinga smile model that does not admit arbitrage

To make the discussion concrete we consider FX options with ten expiries from 1 week to 10years and 5 strikes per expiry (with deltas of 025 035 05 075 and 085) Since these data are

dense on an expirystrike grid we can fit a separate smile model at each expiry then interpolatein the time direction between these fitted smiles

We choose to use the SABR model6 which has four parameters As such it is not possible toguarantee an exact fit to all five option strikes Since the CEV parameter β and the correlationρ have similar effects on the smile they tend to play off against each other when fitting theparameters and it is common practice to fix β and fit for the other three parameters We chooseβ by running a least-squares fit between model- and market-implied volatilities for all five strikesWith β fixed we then make three different fits of SABR to the three sets of three consecutivepoints These fits should be exact (a failure would indicate bad data) Clearly the fits willagree on the implied volatility at the market strikes that they share (which in turn will be themarket-implied volatilities) but not at points in between For the points in between we take aweighted average For a point x between xi and xi+1 the weighted average is

f (x) = w1048616

xi+1 minus xxi+1 minus xi

1048617f i(x) +

9831311 minusw

1048616 xi+1 minus xxi+1 minus xi

1048617983133f i+1(x) (20)

where f i() is the fit centred on the point xi and the weight function has the property w(0) = 0and w(1) = 1 An obvious choice is w(y) = y but we must consider how the derivatives of f ()will behave

The first and second derivatives are

f prime(x) = 1

∆xiwprime1048616

xi+1 minus x

∆xi

1048617[minusf i(x) + f i+1(x)]

+wf primei(x) + (1 minus w)f primei+1(x)

(21)

f primeprime(x) = 1

∆x2i

wprimeprime1048616xi+1 minus x

∆xi 1048617 [f i(x)minus f i+1(x)]

minus 2

∆xiwprime1048616

xi+1 minus x

∆xi

10486171048667f primei(x)minus f primei+1(x)

1048669+wf primeprimei (x) + (1 minus w)f primeprimei+1(x)

(22)

5It is not strictly interpolation if this is not met however there are situations where a little mispricing istolerable to obtain a smooth arbitrage-free surface

6SABR is ubiquitous despite its shortcomings not least of which is that it can admit arbitrage

4

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 6: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 620

This means the first derivative is continuous for any choice of the weight function However thesecond derivative can be discontinuous regardless of how smooth the basis function f i is

limϵrarr0 f primeprime

(xi + ϵ)minus f primeprime

(xi minus ϵ) =

2

∆xi wprime

(1)1048667

f prime

i+1(xi)minus f prime

i(xi)1048669

minus 2

∆ximinus1wprime(0)

1048667f primei(xi)minus f primeiminus1(xi)

1048669 (23)

If the additional constraint wprime(0) = wprime(1) = 0 is applied then the second derivative will becontinuous A candidate weight function is

w(y) = 1

2

1048616sin

983131π

1048616y minus 1

2

1048617983133 + 1

1048617 (24)

Extrapolation is handled by using either the SABR fit to the lowest three strikes (for strikesless than the lowest market strike) or the fit to the highest three strikes (for strikes greater thanthe highest market strike)7

31 Time interpolation

Clark [Cla11] points out that in FX markets there is no connection between the volatility levelsat a particular strike across expiries and therefore it makes little sense to interpolate betweencommon strike levels from the smile fits in the time direction Instead time interpolation shouldbe performed between common delta values If the volatility at some (T ∆) is required thecorresponding volatility at each fitted smile is found by root finding for the strike8 Once thesevolatilities are known we can interpolate for the time T An extra complication is that the PDEswe will solve require the volatility at (potentially arbitrary) expiry and strike (or moneyness)points rather than expiry and delta meaning we would have to iterate the above procedure tofind the delta and volatility at the required point As this would be done several thousand times

to solve the PDE it makes it impracticalClark [Cla11] suggests interpolating the ATM volatility risk reversals and strangles9 to the

required expiry then performing a smile fit from these interpolated values This may requireperforming 50-100 separate smile fits and be liable to numerical instability

To avoid time consuming root finding we define a proxy delta as

d = lnF K

radic

T (25)

The volatility of common d values on four adjacent fitted smiles is then found and the integratedvariances computed Note that the condition of equation 19 (ie integrated variance increaseswith time) need not hold for these four values as we are not moving along a line of constantmoneyness We find that a log-log natural cubic spline interpolation10 works best for the data

(however we note that this method can admit calendar arbitrage) Figure 1 shows the impliedvolatility surface using this method

7With SABR there is a danger of getting arbitrage at very low strikes8Of course if the fitted smile was parameterised by delta in the first place this root finding would be unnec-

essary9The typical way FX volatilities are quoted10taking the log of the time values and the log of the integrated variance and interpolate these values

5

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 7: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 720

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$ $

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

12$3 ()+$$amp 456+7

++

+

$+

$$+

+$

+

+

+

+

+

Figure 1 The implied volatility surface fitted to FX market data using the technique discussedin the main text

6

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 8: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 820

4 Local Volatility

If the implied volatility surface is treated as a black box ie you request the volatility at a givenexpiry and strike (or moneyness) and get a number back then the only way to form the localvolatility surface is by forming difference quotients as approximations to the partial derivativesFor each point in the local volatility surface the value at five (close by) points on the impliedvolatility surface are needed If we can analytically differentiate the smile model with respect tostrike (which you can for SABR) then all the information is available to calculate the partialderivatives analytically which will be faster and numerically more stable

Figure 2 shows the local volatility surface derived from the implied volatility surface of figure1 As expected it is considerably less smooth

$

amp

(

)

amp

$

(

amp amp

$

+ amp

(

amp

$

+

+

+

$

$+

+

+

-

+ +

+

( +

$

$

$

amp +

) +

+

+

+

(

+

(

(

amp

+

amp

amp

)

$ +

)

)

$amp

( ) + $ $ amp

-)amp00

1)2+ ()+$$amp 345+2

++

+

$+

$$+

+$

+

+

+

+

+

Figure 2 The local volatility surface derived from FX market data using the technique discussedin the main text

Expiry-moneyness is not the best way to display the volatility surface as there is littlerelevance in say the volatility (implied or local) of a 1W expiry 02 moneyness option Followingthe definition of proxy delta above we show the same local volatility surface in expiry - proxydelta coordinates in figure 3

7

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 9: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 920

$

$

amp $

amp

$

( $

(

$

$

(

( $

$

amp

amp $

$

$

$

(

($

$

amp

amp$

$

)

$ $

(

(

(

+ $

$

amp

amp

amp

- $

$

$

$

+

$

+

+

( $

-

$

-

-

amp $

$amp

( ) + $ $ amp

-)amp +

0)1+ ()+$$amp 234+1

$

amp$

ampamp$

$amp

$

($

(($

$(

$

Figure 3 The local volatility surface derived from FX market data using the technique discussedin the main text and shown in expiry - proxy delta coordiantes

8

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 10: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1020

5 PDE Solving and Results

We solve the PDE using standard finite difference techniques described in [Duf06] with a weight-ing between fully explicit and fully implicit time stepping schemes11 The grid is non-uniformhaving a greater density of points near t = 0 and around the strike (or moneyness equals 1) Thedetails of the PDE solver call be found in another note [Whi13]

Having formed the local volatility surface (parameterised by moneyness) we solve equation15 using 100 points in both time and moneyness directions (a total of 10000 points in the grid)from time (expiry) 0 to 10 years and moneyness 0 to 35 The fractional call price is thenconverted to an implied volatility for each grid point12 and interpolated Figure 4 shows themarket and model implied volatilities - the maximum error is 01 and the average absoluteerror is 15bps

$

amp

$

$$

( ( $( )( ( ( amp( +( ( ( (

$ amp ) $ + $ -

amp$+

-012 4567

-5816 4567

Figure 4 The market and model (ie fit implied volatility surface rarr derive the local volatilitysurface rarr run a PDE solver) implied volatilities

51 Strike Sensitivity

As well as fitting the market well the smiles should be smooth Figure 5 shows the smiles at 1week and 5 years over a relevant range of strikes There is no numerical noise

11An equal weighting is the Crank-Nicolson scheme which has some numerical instability problems (see [Duf04]12actually the moneyness is restricted to 03 to 30

9

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 11: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1120

$

amp

amp

(

) ) ) )) )+ ) )$ )amp )

$ amp ) $ + $ -

0amp

12

$

amp

(

)

$ amp ( $ $$

$ amp ) $

+-amp

0

Figure 5 The smile at 1 week and 5 years

10

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 12: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1220

52 Bucketed Vega

Another useful diagnostic is to measure the sensitivity of a representative point to changes inthe input data The point is an option with six month expiry and a strike of 14 (slightly ITM)

Each of the 50 market data points has its implied volatility shifted by 1 basis point in turnthe implied volatility surface refitted the local volatility surface recalculated and finally a PDEsolver run with the new surface The sensitivity is defined as

s = σoriginal minus σbumped

ϵ

and ϵ = 1 basis point Almost identical results are obtained by solving the backwards PDE (eqn6) as solving the forward PDE (eqn 15) Figure 6 shows the result for the backwards PDEThere is a large amount of sensitivity to the 6M ATM (which corresponds to a strike of 144 13)and the 6M 25 delta (with strike 132) with smaller amounts to the other 6M points and verylittle sensitivity to the rest of the market data - which is desirable

$

amp

()

)

)$

)

)+

)

)

)amp

)

-

$-

-

0

0

0

$ amp amp (

- $- - 0 0 0

)amp1( )+1( )1( ()$1($ $)1($ ()amp1($ ()1(+ )1( )12 )12

$ ($)1($ (+)1( ()1( )amp1( )$1(+ )$1( )1( ()1(+ )12 )12

)amp+1($ amp)+$1( +)1( $)amp1(+ )1( amp)1( ($)amp1(+ ($)+1(+ )12 )12

amp ( ) +1($ ( ) 1( (+ ) 1( ( ) 1($ ) 1($ ()amp 1( $ ()+1( $) 1( ) 12 ) 12

)amp1($ $)amp1( ()amp1( )1($ ($)amp1($ (amp)$1(+ $)++1(+ (+)$1( )12 )12

+-amp 01

Figure 6 Bucketed vega - the sensitivity of the implied volatility of an option (expiry 6M strike14) to the implied volatility of market inputs

13The ATM is taken to be the delta-neutral straddle (DNS) so the strike is given by K = F exp(σ2ATM

T 2)

11

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 13: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1320

53 Delta and Gamma

In this case delta refers to the forward delta (or driftless delta) which is the sensitivity of thefuture value (FV) of an option to the relevant forward This is known as pips forward delta in

FX and in a Black-Sholes-Merton world is given by

∆F Black = ωN (ωd1) (26)

For a stochastic volatility model where the implied volatility is a function of the forward (suchas SABR) the full delta can be written as

∆F = ∆F Black + ν F Blackpartσ

partF (27)

where ν F Black is the Black forward vega (sensitivity of the forward value of an option to itsimplied volatility) For a model with some parameters θ that have been calibrated to themarket the term partσ

partF is understood to be the sensitivity with those parameters fixed14

For local volatility it is assumed that the local volatility surface (parameterised by strike)is invariant to a change in the forward - this assumption will produce a different delta to thatgiven by a stochastic volatility model even when they agree exactly on price

Solving equation 6 for a particular strike and expiry T produces a set of forward values atdifferent initial levels of the relevant forward F (0 T ) The delta can then be read off by takingthe difference quotient of these values15 To produce delta as a function of strike the PDE issolved 100 times at different strikes with the expiry fixed at six months

Extracting deltas from the solution to equation 15 is more challenging since the spatialvariable is now moneyness Delta can be written as

∆F = part [F C ]

partF = C +

part C

partF = C minus x

part C

partx + surface delta (28)

The term surface delta

comes from the fact that if the local volatility parameterised by strike isinvariant to the forward the surface parameterised by moneyness cannot be Writing the localvolatility explicitly as a function of the forward σ(T x F T ) the delta is written as

∆F = C (T x σ(T x F T ))minus xpart C (T x σ(T x F T ))

partx

+ limϵrarr0

C (T x σ(T x (1 + ϵ)F T )) minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

(29)

The PDE is solved three times once with an unmodified surface then once each with a surfacemade by fractionally shifting the forward up and down by an amount ϵ = 005 The first term isobtained from the unmodified solution the second by taking difference quotients and the third

by taking the difference between the two modified solutions

Aside If the third term is missed out then the implicit assumption is that the local volatilitysurface parameterised by moneyness is invariant to the forward curve This will give the same

14The partσpartF

term is known as the backbone and is sometimes defined extraneously to produce the smile dynamicsrsquoexpectedrsquo by the trader15To get the delta at the actual forward if it does no lie on the grid linear interpolation is used

12

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 14: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1420

delta as a stochastic volatility model whose implied volatility is a function of moneyness only -this included SABR when β = 1 and the Heston model

Figure 7 shows the smile produced from solving the forward and backwards PDE (recall thatin the case of the backwards PDE it is solved 100 times with different strikes) The agreement isgood only visibly deviating for very large strikes Figure 8 shows the corresponding delta alongwith the Black delta The agreement is good between the solutions of the two PDEs

$

$

amp

amp$

$

$

$$

$ $ $ amp amp$ $

$ amp ) $

+-amp

+$amp - 012- 23 42512-6 789

()+)- 123

45-)- 123

Figure 7 The volatility smile at six months from solving the forward and backwards PDE

A delta below the Black delta indicates (from equation 27) that partσpartF

lt 0 This is the casefor strikes below ATM and the opposite is true above ATM From the shape of the smile thissuggests that the smile will move to the left as the forward increases This is confirmed in figure9 where smiles have been produced as above but with the forward increased by 10 This smiledynamic for local volatility is the opposite of what is seen in the market as noted by Hagan(2002)

531 Gamma

As with delta the true gamma can be written as

ΓF = ΓF Black + 2VannaF Blackpartσ

partF + ν F Black

part 2σ

partF 2 (30)

There are two correction terms to the Black forward gamma The local volatility gamma iseasily found from the second order difference quotient of the solution to the backwards PDEand repeated 100 times at different strikes Finding gamma from the forward PDE is more

13

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 15: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1520

$

amp

(

)

+

) + ) + $ $ $

$

$()

$ +)-$ -$()

-0 23-4

23-4 567898 2lt=

23-4 5098gt 2lt=

Figure 8 The Black delta and the local volatility delta

14

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 16: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1620

$

amp

(

$ $ amp

$ amp ) $ + $ -

0amp

$amp 1-2+34

)++- 12345 6789

)+- 1lt45= 6789

2345 gt 12345 67892345 gt 1lt45= 6789

Figure 9 The change in the smile when the forward is increased by 10

involved Using the same notation as for delta it is written

ΓF = x2

F T

part 2 C (T x σ(T x F T ))

partx

2

+C (T x σ(T x (1 + ϵ)F T ))minus C (T x σ(T x (1 minus ϵ)F T ))

2ϵF T

minus x

part C (Txσ(Tx(1+ϵ)F T ))partx

minus part C (Txσ(Tx(1minusϵ)F T ))partx

ϵF T

+C (T x σ(T x (1 + ϵ)F T )) + C (T x σ(T x (1 minus ϵ)F T )) minus 2 C (T x σ(T x F T ))

ϵ2F T

(31)

The first term is the gamma if the local volatility parameterised by moneyness were invariant tothe forward curve The second term is the surface delta we saw above The third term could becalled (with a slight abuse of terminology) the surface vanna - it is the change in the moneynessdelta due to a change in the surface Finally the last term could obviously be called the surface

gamma Figure 10 shows the gamma from the two PDE solutions along with the Black gammaAgain the agreement is good between the solutions of the two PDEs although it is not clearwhat is causing the shoulder to appear in the forward PDE gamma 16

16It was thought that this was due to well-known numerical problems with Crank-Nicolson but running a fullyimplicit PDE solver does not cure it

15

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 17: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1720

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

amp()

+(-amp -amp()

+ -

- 0123435 6789

- 0435lt 6789

Figure 10 The Black gamma and the local volatility gamma

16

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 18: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1820

54 Volatility Greeks

Vega in a BSM world is well defined as volatility is a parameter of the pricing formula Fora local volatility model it could mean the sensitivity of price to any deformation of the local

volatility surface Standard deformations could be a parallel shift (eg each point is increasedby 1 basis point of volatility) or a fractional shift (eg each point is increased by 001 of itsvalue) Figure 11 show the results for a parallel shift the surface is moved up and down by 1bpand the vega calculated as the difference between the prices divided by 2 bps As usual we aretaking an expiry of six months

$

$

amp

amp

( ) $$ $amp $ $( $) $ amp

$

amp()

$

+ -0

-0 12030444 +53607 +896

Figure 11 The Black vega and the local volatility vega computed from parallel shifts of thesurface for six month expiries

541 Vanna and Vomma

Vanna is the sensitivity of delta to the implied volatility (ie part 2C partσpartF

) and vomma is the second

derivative of price with respect to implied volatility (ie part 2C partσ2

) Again both have very cleardefinitions in a BSM world As with vega we calculate the local volatility vomma as the secondorder difference quotient from parallel shifts in the surface Vanna is more complex (mainly

because computing delta from a moneyness parameterised forward PDE is complex) and can be

17

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 19: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 1920

expressed as

VannaF =

C (T x σ(T x F T ) + η)

minus C (T x σ(T x F T )

minusη)

minus x

part C (Txσ(TxF T )+η)partx

minus part C (Txσ(TxF T )+η)partx

+ 1

4ϵη

983080C (T x σ(T x (1 + ϵ)F T ) + η) + C (T x σ(T x (1 minus ϵ)F T )minus η)

minusC (T x σ(T x (1 + ϵ)F T )minus η) + C (T x σ(T x (1 minus ϵ)F T ) + η)983081

(32)

The first term is simply the vega of the fractional price C the second is the vanna of thefractional price and the third is the cross second order derivative to changes to the volatilitysurface due to deformation from change in the forward and parallel shifts Figures 12 and 13show the Black and local volatility vanna and vomma

$

$

$

$

amp

amp$

$ ( ) $ ( amp amp) amp$

amp()

+ -

-

Figure 12 The Black vanna and the local volatility vanna computed from parallel shifts of thesurface for six month expiries

6 Conclusion

We have shown that our implementation of local volatility (which includes fitting a smoothimplied volatility surface to market data deriving a local volatility surface from this and numer-ically solving one of two PDEs) reprices the market almost exactly Furthermore it produces

18

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19

Page 20: Opengamma Local Vol

7232019 Opengamma Local Vol

httpslidepdfcomreaderfullopengamma-local-vol 2020

$

$

amp $$ $( $ $amp $ $ (

$

amp()+

$

) -

-

Figure 13 The Black vomma and the local volatility vomma computed from parallel shifts of the surface for six month expiries

local behaviour of bucketed vega (ie the price of a representative option only depends on thevalues of nearby market inputs) and smooth greeks

References

[Cla11] Iain J Clark Foreign exchange option pricing Wiley Finance 2011 5

[Duf04] Daniel J Duffy A critique of the crank nicolson scheme strengths and weaknesses forfinancial instrument pricing Wilmott magazine 2004 9

[Duf06] Daniel J Duffy Finite Difference Methods in Financial Engineering A Partial Differ-

ential Equation Approach Wiley 2006 9

[Dup94] Bruno Dupire Pricing with a smile Risk 7(1)18ndash20 1994 Reprinted in DerivativePricingThe Classical Collection Risk Books (2004) 2

[Gyo86] I Gyoumlngy Mimicking the one-dimensional marginal distributions of processes havingan ito differential Probability Theory and Related Fields 71501ndash516 1986 1

[Whi13] Richard White Numerical solutions to pdes with financial applications Tech-nical report OpenGamma 2013 developersopengammacomquantitative-researchNumerical-Solutions-to-PDEs-with-Financial-Applications-OpenGammapdf 9

19