Top Banner
Electronic copy available at: http://ssrn.com/abstract=1538808 A Practical Guide to Implied and Local Volatility Daniel Bloch Mizuho Securities Working Paper 18th of January 2010 Abstract We consider a stochastic local volatility model with domestic and foreign stochastic interest rates such that the volatility decomposes into a deterministic local volatility plus some bias terms. Assuming a collapse process for the variance with the same random variable for all time and deterministic zero- coupon bond volatility functions, we are going to describe in detail the implementation of that model, focusing on the computation of a proper deterministic local volatility. To do so, we choose to generate an implied volatility surface without arbitrage in space and in time by parametrising a mixture of shifted lognormal densities under constraints and we use a Differential Evolution algorithm to calibrate the model’s parameters to a finite set of option prices. We will therefore need to devise an evolutionary algorithm that handle constraints in a simple and efficient way. Using some of the improvements made to the DE algorithm combined with simple and robust constraints handling mechanisms we will propose a modified algorithm for solving our optimisation problem under constraints which greatly improves its performances. 1 Introduction Hybrid options provide risk managers a general risk-protection tool but their high dimension makes it difficult to model. It is now well known that some long-dated exotic options such as digital coupon options in equity market or PRDC in foreign market, when priced with the Black-Scholes assumption (see Black and Scholes [BS73]) can be widely wrong compared with models taking the volatility smile as well as stochastic rates into account. Deterministic local volatility models (see Dupire in [Du94]) are widely used because they give perfect fit to market prices allowing for simple hedging of exotic options. However, the local volatility is just a useful simplification to describe price processes with non-constant volatility. As described by Gyongy [Gy86], only the marginal distributions are matched and not the joint distributions, leading to different dynamics and hedge ratios. Moreover, there are empirical evidence that volatility displays characteristics of a stochastic process on its own, see Bakshi et al [BCC00]. That is, option prices are driven by at least one random factor other than asset price. For instance, the study of Chernov et al [CGGT02] found evidence of substantial volatility feedback and concluded that various diffusion-based models require at least two- factor stochastic volatility model to simultaneously summaries volatility evolution and capture the fat-tailed properties of daily returns. We are gratefull to Nicole El Karoui, Monique Jeanblanc, Mark Davis, Rama Cont, the GRO and the GRM for their useful comments and suggestions. All mistakes are ours. [email protected] Otemachi First Square, 1-5-1 Otemachi, Chiyoda-ku, Tokyo 100-0004 1
81

A Practical Guide to Implied and Local Volatility

Oct 23, 2014

Download

Documents

abhishek210585
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Practical Guide to Implied and Local Volatility

Electronic copy available at: http://ssrn.com/abstract=1538808

A Practical Guide to Implied and Local Volatility ∗

Daniel Bloch †

Mizuho Securities‡

Working Paper

18th of January 2010

Abstract

We consider a stochastic local volatility model with domestic and foreign stochastic interest ratessuch that the volatility decomposes into a deterministic local volatility plus some bias terms. Assuminga collapse process for the variance with the same random variable for all time and deterministic zero-coupon bond volatility functions, we are going to describe in detail the implementation of that model,focusing on the computation of a proper deterministic local volatility. To do so, we choose to generatean implied volatility surface without arbitrage in space and in time by parametrising a mixture of shiftedlognormal densities under constraints and we use a Differential Evolution algorithm to calibrate themodel’s parameters to a finite set of option prices. We will therefore need to devise an evolutionaryalgorithm that handle constraints in a simple and efficient way. Using some of the improvements madeto the DE algorithm combined with simple and robust constraints handling mechanisms we will proposea modified algorithm for solving our optimisation problem under constraints which greatly improves itsperformances.

1 Introduction

Hybrid options provide risk managers a general risk-protection tool but their high dimension makes it difficultto model. It is now well known that some long-dated exotic options such as digital coupon options in equitymarket or PRDC in foreign market, when priced with the Black-Scholes assumption (see Black and Scholes[BS73]) can be widely wrong compared with models taking the volatility smile as well as stochastic ratesinto account. Deterministic local volatility models (see Dupire in [Du94]) are widely used because they giveperfect fit to market prices allowing for simple hedging of exotic options. However, the local volatility isjust a useful simplification to describe price processes with non-constant volatility. As described by Gyongy[Gy86], only the marginal distributions are matched and not the joint distributions, leading to differentdynamics and hedge ratios. Moreover, there are empirical evidence that volatility displays characteristics ofa stochastic process on its own, see Bakshi et al [BCC00]. That is, option prices are driven by at least onerandom factor other than asset price. For instance, the study of Chernov et al [CGGT02] found evidenceof substantial volatility feedback and concluded that various diffusion-based models require at least two-factor stochastic volatility model to simultaneously summaries volatility evolution and capture the fat-tailedproperties of daily returns.

∗We are gratefull to Nicole El Karoui, Monique Jeanblanc, Mark Davis, Rama Cont, the GRO and the GRM for their usefulcomments and suggestions. All mistakes are ours.

[email protected]‡Otemachi First Square, 1-5-1 Otemachi, Chiyoda-ku, Tokyo 100-0004

1

Page 2: A Practical Guide to Implied and Local Volatility

Electronic copy available at: http://ssrn.com/abstract=1538808

Therefore, for models to capture market behavior, it necessitates the introduction of stochastic volatilityprocess independent from the deterministic instantaneous volatility. Jex, Henderson and Wang [JHW99] arethe first ones to combine in a diffusion model, deterministic local volatility and stochastic volatility. Theyused a two-dimensional tree to diffuse the transition probabilities in order to recover the local volatility. Lee[Lee01] used probabilistic and asymptotic methods to get the local volatility of stochastic volatility diffusionsindependent from the underlying asset prices. Alexander et al in [AN04] assumed a parametric functionalform for the local volatility and derived a continuous stochastic local volatility model. Similarly to interestrates, Ren et al [RMQQ07] considered an extension of the deterministic local volatility by incorporatingan independent stochastic component to volatility. However, they did not consider combining stochasticvolatility with stochastic rates since their approach is limited by the dimensionality of the PDE solver of theFokker-Planck equation.

A realistic assumption for hybrid options is to combine stochastic local volatility with stochastic interestrates in order to model those long-dated products still getting perfect fit to market prices. Since the driftof the underlying price is now stochastic, the underlying price exhibits additional volatility resulting in amodified volatility. Atlan [Atl04] used Gyongy’s results to extend the stochastic local volatility results toa stochastic interest rates framework. He showed that the new local volatility is no longer only expressedin terms of the ratio between the classical theta and the density of the call price but also depends on anextra term (bias) which is the covariances between the spot rates and the indicatrice of the event that thelogarithm of the underlying price be greater than the strike price. However, he did not quantify that termand assumed that it was possible to extract it from market prices. Benhamou et al in [BGR08] and Bloch etal in [BloNa08] quantified these extra terms in the presence of deterministic instantaneous volatility. It wasfurther extended by Bloch in [Blo09] who recovered exactly the market equity or FX volatility surface bycomputing a stochastic local volatility with stochastic domestic and foreign rates ensuring positive marketprices. Using the variance swap he decomposed the local variance of the forward price at maturity in termsof the deterministic local variance of the underlying price plus bias terms (easily computable in some specialcases). We are going to follow his approch and describe in detail how to implement that model, focusing onthe computation of a proper deterministic local volatility.

Since the Black-Scholes model in [BS73], market prices of index options and foreign exchange options havereached a high degree of liquidity such that they became the benchmark to mark to market or calibrate optionpricing models for pricing and hedging exotic options. This is done by parametrising the pricing measure withsome parameter vector and inferring its value from market prices. In order to implement the deterministiclocal volatility, Dupire’s formula requires the knowledge of call prices for all strikes and maturities. However,in practice we can only observe a few market prices from standard strikes and maturities. For an index, onecan easily obtain more than 100 points (prices or implied volatility) where some of them are listed whilethe others are produced by brokers. On the other hand, there are only a few points for single stock (from0 to 30) produced only by brokers. These points do not necessary satisfy the no-arbitrage conditions, canhave wide or narrow spreads depending on the liquidity on the market and the volume traded. As a result,the market is incomplete and there are more than one acceptable price (volatility) surfaces satisfying theno-arbitrage conditions.

The standard approach is to interpolate and extrapolate market prices or volatilities to complete themarket. Practitioners use the Black-Scholes implied volatility and smooth the prices in a parabolic way togenerate the missing prices. However, direct interpolation of implied volatility surfaces does not guarantee aresulting smooth risk-neutral density, hence a proper local volatility surface. Among the different techniquesproposed for obtaining from market prices a smooth volatility surface, Rebonato et al in [RC04] arguedthat modeling directly the density was the most desirable approach. They extended the mixture of normalsapproach proposed by Alexander in [Ale01], obtaining a density with non-zero skew and satisfying the risk-neutral forward condition while retaining an unconstrained numerical search. However, in markets with long

2

Page 3: A Practical Guide to Implied and Local Volatility

maturity products and discrete dividends such as the Japanese market, it is important for model pricingto obtain a reliable volatility surface satisfying the no-arbitrage constraint not only in space but also intime. Alternatively, the no-arbitrage conditions on the local volatility being simply that it must be positiveand Lipschitz continuous, one can assume a particular functional form for the local volatility and fit it tomarket prices. For example, in the case of deterministic rates, Ben Hamida et al introduced in [BC04] theparametrisation of a set of admissible local volatility surface. However, in the presence of stochastic ratesit becomes more complex as one has to bootstrap both the local volatility together with the probabilitydistribution function in a PDE as explained by Overhaus et al in [OBBFJL07]. Instead, we are directlygoing to assume a functional form for the market prices and solve a non-linear programming problem underconstraints, generating a surface without arbitrage in time and in space as closely as possible to market data.

When calibrating model’s parameters to market prices, extrapolation and interpolation is needed suchthat one can only get a solution at best approximately verifying the constraints. It is typically an illposed problem as there may be either no solution at all or an infinite number of solutions. In that casewe can always find a solution but the minimisation function is not convex. Market practice is to solvethe optimisation problem with a gradient-based minimisation method to locate the minima. In generalwe do not know with certainty if the objective function has a unique global minimum and if it exists ifit can be reached with a gradient based method. In order to circumvent these difficulties various authorsproposed different regularisation methods all consisting in adding to the objective function a penalisationcriterion. As a result, it makes the problem well-posed and allow for gradient-based optimisation algorithm.Furthermore, in an incomplete market, a deterministic optimisation method will at best locate one of thelocal minima of the fitting criterion but will not guarantee the global minima and will not acknowledge themultiplicity of solutions of the initial calibration problem. To overcome these issues, Ben Hamida et al in[BC04] introduced a stochastic optimisation algorithm which generates a random sample from the set ofglobal minima of the in-sample error and allow for the existence of multiple global minima. The populationof parameters is updated through cycles of independent random moves followed by selection according topricing performance. Parametrising a set of admissible local volatility surface, they used an EvolutionaryAlgorithm (EA) to calibrate a local volatility diffusion model to a finite set of option prices.

As explained above, to generate a volatility surface without arbitrage in space and in time we chose insteadto parametrise a mixture of shifted lognormal densities under constraints. We will therefore need to devisean evolutionary algorithm that handle constraints in a simple and efficient way. Evolutionary algorithmsintroduced by Fogel in [Fog66] and Holland in [Hol75] are robust and efficient optimisation algorithmsbased on the theory of evolution proposed by Darwin in [Dar82], where a biological population evolvesover generations to adapt to an environment by mutation, recombination and selection. They search frommultiple points in space instead of moving from a single point like gradient-based methods do. Moreover,they work on function evaluation alone (fitness) and do not require derivatives or gradients of the objectivefunctions. Among the different EA’s commonly used to solve CNOPs such as evolutionary programming,evolution strategies, genetic algorithm and many more, differential evolution (DE) became very popular.DE is a population-based approach to function optimisation generating a new position for an individual bycalculating vector differences between other randomly selected members of the population. The DE algorithmis found to be a powerful evolutionary algorithm for global optimisation in many real problems. As a result,since the original article of Storn and Price in [StPr95] many authors improved the DE model to increasethe exploration and exploitation capabilities of the DE algorithm when solving optimisation problems.

Since EAs are search engines working in unconstrained search spaces they lacked until recently of amechanism to deal with the constraints of the problems. The first attempts to handle the constraints wasto incorporate methods from mathematical programming algorithms within EAs such as penalty functions.Then, a considerable amount of research proposed alternative methods to improve the search of the feasibleglobal optimum solution. Most of the research on DE focused on solving CNOPs by using a sole DE

3

Page 4: A Practical Guide to Implied and Local Volatility

variant, a combination of variants or combining DE with another search method. One of the most popularconstraint handling mechanisms is the use of the three feasibility rules proposed by Deb in [Deb00] ongenetic algorithms. Using some of the improvements to the DE algorithm combined with simple and robustconstraint handling mechanisms we propose a modified algorithm for solving our optimisation problem underconstraints which greatly improves its performances.

2 The setup

We consider the probability space (Ω, F , P) where Ft is a right continuous filtration including all P negligiblesets in F . For simplicity of exposition we let the market be complete and assume that there exist an equivalentmartingale measure denoted Q. In the presence of continuous dividend yield or repo rate, that uniqueprobability measure equivalent to P is such that the discounted stock price plus the cumulated dividends aremartingale when the riskless asset is the numeraire. Using the concept of absence of arbitrage opportunities(AAO) (see Harrison and Kreps in [HK79]), contingent claims can be valued by taking expectation of theirdiscounted payoffs under the risk-neutral measure.

2.1 The dynamic of the bond price

We assume that zero-coupon bonds of all maturities are continuously traded in the market. Market uncer-tainty is expressed via the presence of noises and in general, the market introduces as many noises as thereare traded maturities. So, we assume that the risk-free zero-coupon bond price dynamic with fixed maturityT and under the risk-neutral measure Q is

dB(t, T )B(t, T )

= rtdt+ ΓB(t, T )dWB(t) with B(t, t) = 1 (2.1)

where (WB(t))t≥0 is valued in Rm and ΓB(t, T ) 1 is a family of local volatilities parameterised by theirmaturities T . Since the zero-coupon bond price is known at maturity and equal to 1$, we assume ΓB(T, T ) =0 and more generally for all t > T . Being more general, we follow the approach of Heath et al in [HJM92]and consider that the forward instantaneous rate f(t, T ) = −∂T lnB(t, T ) is

f(t, T ) = f(0, T )−∫ t

0

γB(s, T )dWB(s) +∫ t

0

γB(s, T )ΓB(s, T )ds

where |∂T ΓB(t, T ) = γB(t, T )| ≤ Kt for some adapted process Kt. The spot rate is therefore

rt = f(0, t)−∫ t

0

γB(s, t)dWB(s) +∫ t

0

γB(s, t)ΓB(s, t)ds

with r(0) = f(0, 0) where f(0, 0) = −∂2 lnB(0, T )|T=0. Integrating the spot rate and using the terminalcondition B(t, t) = 1 we get

I(0, t) =∫ t

0

r(s)ds =∫ t

0

f(0, s)ds−∫ t

0

ΓB(s, t)dWB(s) +12

∫ t

0

|ΓB(s, t)|2ds (2.2)

1 ΓB(t, T )dW (t) =∑m

j=1 ΓB,j(t, T )dWj(t)

4

Page 5: A Practical Guide to Implied and Local Volatility

2.2 The dynamic of the underlying asset

In a general setting, we consider the underlying process (St)t≥0 to be a jump-diffusion which can representeither the stock price or the foreign exchange rate. However, in the case where the jump process is inde-pendent from the Brownian motion of the stock price then the covariance between the stock price and thespot rate is not modified and the local volatility can be expressed as the sum of two terms as described byAndersen et al in [AA00]. Therefore, assuming independence between the jump process and the Brownianmotions we can concentrate on the diffusion terms and omit the jumps of the stock. We let the underlyingprocess St be a one-dimensional Ito process valued in the open subsetD with dynamics under the risk-neutralmeasure Q being

dSt

St= µtdt+ σ(t, ω)dWS(t) (2.3)

where ω ∈ Ω denotes dependence on some arbitrary variables and the drift µ : D → R as well as thediffusion σ : D → Rn are regular enough to have a unique strong solution valued in D. We let the drift beµt = rd

t − rft − q(t) where (rt)t≥0 is the spot rate (domestic or foreign) process which can be either stochastic

or deterministic and q(t) is a deterministic repo rate. Given the absence of arbitrage opportunity (AAO),the price of a European call option C(t, x) on ]0, T ]×]0,+∞[ under the risk-neutral measure Q is

C(t, St) = EQ[e−∫

Tt

rsdsh(ST )|Ft]

where h is a sufficiently smooth payoff function. Furthermore, we assume that these price functions are ofclass C2 such that for T > t the law of ST knowing St = x has a density φ(T,K) given by

φ(T,K) = EQt [δ(ST −K)] =

1

EQt [e−

∫ Tt

rsds|ST = K]∂KKC(t, St;K,T )

where δ(.) is the Dirac function.

2.3 The dynamic of the foreign bond price

In the FX market we value options in the domestic market, so that we decompose the prices of the foreignassets with respect to the Qd Brownian motion W d. Therefore, the dynamic of the foreign zero-coupon bondprice in the domestic market under the risk-neutral measure is

dBf (t, T )Bf (t, T )

=(rft − ρfΓf

B(t, T )σ(t, ω))dt+ Γf

B(t, T )dWB(t) with Bf (t, t) = 1 (2.4)

where σ(t, ω) is the instantaneous volatility of the foreign exchange rate and where the correlations are< dWS , dWB >t= ρfdt and < dWB , dWB >t= ρfddt. The foreign spot rate expressed in the domesticcurrency is therefore

rft = ff (0, t) + ρf

∫ t

0

γfB(u, t)σ(u, ω)du −

∫ t

0

γfB(s, t)dWB(s) +

∫ t

0

γfB(s, t)Γf

B(s, t)ds

Similarly, the foreign spot rate under the domestic forward measure is

rft = ff (0, t)+ρf

∫ t

0

γfB(u, t)σ(u, ω)du−

∫ t

0

γfB(s, t)dW

T

B(s)−∫ t

0

γfB(s, t)Γd

B(s, t)ds+∫ t

0

γfB(s, t)Γf

B(s, t)ds

5

Page 6: A Practical Guide to Implied and Local Volatility

3 The local volatility of the underlying asset

3.1 Reducing the dimension of the process

We consider the n-dimensional Ito process X valued in the open subset D with dynamics

dXt

Xt= α(t, ω)dt+ β(t, ω)dW (t)

where ω ∈ Ω denotes dependence on some arbitrary variables and the drift α : D → Rn as well as thediffusion β : D → Rn×n are regular enough to have a unique strong solution valued in D. Gyongy in [Gy86]showed that there exists a Markov process Xt with the same marginal distributions as those of our originalprocess. That process follows the dynamics

dXt

Xt

= b(t, Xt)dt+ v(t, Xt)dW (t)

where at time t0 < t

b(t, x) = EQt0 [α(t, ω)|Xt = x]

v2(t, x) = EQt0 [β(t, ω)β(t, ω)|Xt = x]

are respectively the local drift and local variance of the one-dimensional process. Note, they are still de-terministic functions of time t and spot value x even though the instantaneous volatility and instantaneousdrift are stochastic. Since the marginal distributions of our model are matched to those of a simple Markovprocess, we can use this approach to calibrate the parameters of a high-dimensional dynamics to Europeanmarket prices. Therefore, given the one-dimensional underlying process St defined in Equation (2.3), thelocal drift and variance are given by

b(t, S) = EQt0 [µ(t, ω)|St = S]

v2(t, S) = EQt0 [σ(t, ω)σ(t, ω)|St = S]

where S is an arbitrary realisation of St for t ≥ 0. Using Bayes relationship, the local variance becomes

v2(t, S) =EQ

t0 [σ(t, ω)σ(t, ω)δ(St − S)]

EQt0 [δ(St − S)]

where δ(.) is the Dirac function. In general, in low dimensions, those expectations are solved numerically bydiffusing forward the joint distributions of the underlying asset and the arbitrary variables, see Jex et al in[JHW99]. In higher dimensions, they must be approximated. For examples see Henry-Labordere in [HL09].

3.2 The local volatility of the underlying with deterministic rates

Assuming deterministic rates, Dupire in [Du96] defined the local variance (LV) as the expectation of thefuture spot variance conditional on a given asset price level. More specifically, given the dynamic of theunderlying process in Section (2.2) with deterministic interest rates and applying Gyongy’s results we get

dSt

St

= µtdt+ σLV (t, St)dWS(t)

with

6

Page 7: A Practical Guide to Implied and Local Volatility

σ2LV (t, S) = EQ

t0 [σ(t, ω)σ(t, ω)|St = S] (3.5)

which is sometime called the stochastic local variance (SLV), see Alexander et al in [AN04]. Hence, theprocess St has the same marginal distributions as those of the process St for all t ≥ 0. However, St andSt do not follow the same dynamics resulting in different exotic options prices as well as hedge ratios. Inthe special case where the instantaneous volatility is a deterministic function of time t and the spot price St

then the local volatility is equal to the instantaneous volatility, that is

σ2DLV (t, S) = σ(t, S)σ(t, S)

which we call the deterministic local volatility (DLV). It is the only case where the processes St and St followthe same dynamics. Dupire showed in [Du94] that when n = 1, the deterministic local volatility can beestimated from market call and put prices of all strikes and maturities. He considered call prices as functionof strike K and maturity T and solved the forward equation

∂TC =12σ2

DLV (T,K)K2∂KKC − µTK∂KC (3.6)

with initial condition C(t0, St0 ,K, t0) = (St0 −K)+ obtaining a unique solution to the function of volatility

σ2DLV (T,K) =

∂TC(t, St,K, T ) +K(rT − rfT − qT )∂KC(t, St,K, T ) + (rf

T + qT )C(t, St,K, T )12CKK(t, St, T,K)K2

This result is crucial because it allows perfect fit to the market prices leading to a complete modification ofthe equity market. The Black-Scholes implied volatility is no longer the only form of observable volatilityand one can directly use the local volatility for calibration. So, in principle one can directly diffuse theprocess St with stochastic instantaneous volatility provided that its local variance matches that of the DLV

σ2LV (t, S) = σ2

DLV (t, S)

That is, we may impose any dynamics such that the above equality holds and the local variance stays non-negative. This is very appealing because we get perfect fit to the market prices but it is difficult to implementin practice.

3.3 The local volatility of the underlying with stochastic rates

Our objective is to calibrate the dynamic of the underlying process in Section (2.2) with stochastic interestrates to vanilla market prices. In order to get perfect fit we need to calculate the local volatility of ourmodel (LVR) and express it as a function of the DLV. Applying Gyongy’s results we get the one-dimensionalstochastic differential equation

dSt

St

= µLV R(t, St)dt+ σLV R(t, St)dWS(t)

with

µLV R(t, S) = EQt0 [µ(t, ω)|St = S]

σ2LV R(t, S) = EQ

t0 [σ(t, ω)σ(t, ω)|St = S]

Again the process St has the same marginal distributions as those of the process St for all t ≥ 0 whileSt and St do not follow the same dynamics. However, the local volatility (LVR) is no longer equal to the

7

Page 8: A Practical Guide to Implied and Local Volatility

deterministic local volatility (DLV) because of the stochastic rates. Atlan derived in [Atl04] that volatilityfrom domestic market prices for all strike K and maturity T using the characterisation of the local timeof continuous semi-martingale. We compute the local volatility with domestic and foreign stochastic ratesusing a heuristic approach in Annexes (B.1), getting

EQt [e−

∫Tt

rsds|σ(T, ω)|2|ST = K]

EQt [e−

∫ Tt

rsds|ST = K]=∂TC(t, St,K, T )− qt

(K∂KC(t, St,K, T )− C(t, St,K, T )

)12CKK(t, St, T,K)K2

+EQ

t [rfT e

− ∫ Tt

rsdsST IST ≥K ]−KEQt [rT e−

∫Tt

rsdsIST ≥K ]12CKK(t, St, T,K)K2

One can see that the only difference with the local volatility with deterministic rates (LV) are the terms

EQt [rf

T e− ∫ T

trsdsST IST ≥K ]−KEQ

t [rT e−∫

Tt

rsdsIST ≥K ]

so that it is not difficult to express the local volatility with stochastic rates in terms of the local volatilitywith deterministic rates plus a bias

σ2LV R(T,K) = σ2

DLV (T,K) + ε(T,K)

where

ε(T,K) = −K(rdet(T )− rfdet(T ))∂KC(t, St,K, T ) + rf

det(T )C(t, St,K, T )12CKK(t, St, T,K)K2

+EQ

t [rfT e

− ∫ Tt

rsdsST IST ≥K ]−KEQt [rT e−

∫Tt

rsdsIST ≥K ]12CKK(t, St, T,K)K2

and rdet(t) is the deterministic rate at time t. Benhamou et al in [BGR08] and Bloch et al in [BloNa08]quantified these extra terms in the presence of deterministic instantaneous volatility. It was further extendedby Bloch in [Blo09] in the case of stochastic instantaneous volatility. In general, when the time is at maturity(t = T ) he showed that the local variance of the forward price is equal to the local variance of the underlyingprice with stochastic rates

σ2LV F (T, S) =

EQt0 [e

− ∫ Tt

rsdsσ(T, ω)σ(T, ω)|ST = S]

EQt0 [e

− ∫ Tt

rsds|ST = S]= σ2

LV R(T, S)

So, in order to compute the local volatility at a fixed time T of the underlying price St under the risk-neutralmeasure, we can use that of the underlying under the T-forward measure which is equal to the local volatilityof the forward price with fixed maturity T computed at time t = T . Furthermore, using the variance swap hedecomposed the local variance of the forward price at that time in terms of the deterministic local varianceof the stock price plus bias terms (easily computable in some special cases) as

σ2LV F (T,K) = σ2

DLV (T,K)− E(T,K) (3.7)

Therefore, in order to calibrate the dynamic of the underlying process given in Section (2.2) with stochasticinterest rates to vanilla market prices we need to compute both the deterministic local volatility σDLV (T,K)and the bias terms. In the rest of this article we are going to concentrate on computing the deterministiclocal volatility with deterministic rates.

8

Page 9: A Practical Guide to Implied and Local Volatility

3.4 Some deterministic local volatility

3.4.1 The nonparametric local volatility

We assume that the stock price (St)t≥0 given in Equation (2.3) for n = 1 is a Markov process with appropriatehypothesis and satisfies the stochastic differential equation (sde)

dSt

St= µ(t, St)dt+ σ(t, St)dWt (3.8)

where σ(t, .) is a deterministic instantaneous volatility. We let the drift be µt = r(t) − rf (t) − q(t) andassume that the repo rate q(t) and the instantaneous rates r(t) and rf (t) are deterministic and such that fora fixed maturity T the zero-coupon bond price is B(t, T ) = β(t)

β(T ) = e−∫ T

trsds where β(t) is the cash factor at

time t. In the presence of continuous dividend yield, the unique probability measure equivalent to P is suchthat the discounted stock price plus the cumulated dividends are martingale when the riskless asset is thenumeraire, that is St = St

β(t) +∫ t

0 qsds is a Q martingale.

We assume that we know at time t a continuum of market prices C(t, St, T,K) such that given thefamily C(T,K); (T,K) ∈ R+ × R+ the application K → C(T,K) is convex and decreasing continuously.Considering the contingent-claim U = U(t, S), we let our domain in time and space be Ω = [0, T ]× [0,∞]and use the Feynman-Kac formula to derive the backward partial differential equation (PDE) satisfied bythe claim, getting

∂tU(t, x) + µtx∂xU(t, x) +12σ2(t, x)x2∂xxU(t, x)− r(t)U(t, x) = 0 , U(T, x) = h(x)

Assuming that the stock price St has a continuous density, that it is square integrable and that the diffusioncoefficient xσ(t, x) is locally Holder continuous, Dupire in [Du94] showed that in a local volatility model themarket prices C(t, St, T,K) satisfy the Forward equation

∂TC =12σ2(T,K)K2∂KKC − (r(T ) − rf (T )− q(T ))K∂KC with C(t, St, t,K) = (St −K)+

where the variation parameters are the strikes and maturities of the option prices. We can therefore finduniquely the local volatility σ(T,K) as

12σ2(T,K) =

∂TC(T,K) + (r(T )− rf (T )− q(T ))K∂KC(T,K) + (rf (T ) + q(T ))C(T,K)K2∂KKC(T,K)

Note that Dupire formula can be seen as a consequence of the Fokker-Plank equation for the density of theunderlying. Let φt(S) be the density of the stock price St then under regularity assumptions we get theequation

∂φt

∂t− 1

2∂2

∂S2(σ2S2φt) +

∂S(µtSφt) = 0 with φ0(S) = δS0(S)

Remark 3.1 Contrary to the result found by Dupire, the Fokker-Plank equation requires the density to beC2 2.

It means that the density must be very smooth to be twice diffentiable in order to recover a unique solutionto the call prices and in return the local volatility. Moreover, it can happen that even if the volatility σ(t, St)exists, it does not lead to a proper (satisfying some hypothesis) Markov process.

2twice differentiable

9

Page 10: A Practical Guide to Implied and Local Volatility

Remark 3.2 To use Dupire’s formula we need to assume ∂2C∂K2 > 0 and ∂C

∂T + (r(T )− rf (T )− q(T ))K ∂C∂K +

(rf (T ) + q(T ))C > 0. That is, both butterfly spread and calendar spread must be positive.

The call prices and the risk-neutral density are linked together by noting that we get the call prices byintegrating twice the density

C(0, S0, T,K) = e−rT

∫ ∞

K

dS

∫ ∞

S

dS′φT (S

′)

So if we integrate twice the Fokker-Plank equation we recover Dupire’s equation and the local volatility.

Remark 3.3 There is a link between the local volatility and the implied volatility. Berestycki et al showedin [BBF02] that when maturities are very short, the implied volatility is equal to the harmonic average ofthe local volatilities.

As a result, given Σ(T,K) the implied volatility and defining L = log SRe(0,T )KB(0,T ) and Σ(T,K) = Σ(T, L), when

the local volatility σ(0, L) is differentiable at the strike L = 0 we get

∂LΣ(0, 0) =

12∂

∂Lσ(0, 0)

Therefore, for short maturities the at-the-money skew of the local volatility is twice that of the impliedvolatility. For more properties on the local volatility and in general for a detailed explaination of theinteraction between the local volatility and the implied volatility see Derman in [Der08].

3.4.2 The parametric local volatility

Another commonly used way of getting asymmetric risk-neutral distribution to recover the market impliedskew is to use a parametric local volatility such as the constant elasticity of variance (CEV) (see Cox et alin [CR76]) with local volatility function being

σ(t, x) = ν(t)(x

Lt)β(t)−1

and with simplified pricing formula given by Schroder in [Schr89]. Alternatively, one can shift the underlyingprice with the function of time ν(t) getting the displaced diffusion model (see Rubinstein in [Rub83]) suchthat the underlying dynamics become

dSt = σD(t)YtdWS(t) (3.9)

where σD(t) > 0 and Yt = ν(t)St +(1− ν(t))S0. Applying Ito’s lemma we get the solution Yt = S0Mt where

Mt = e−12

∫t0 ν2(s)σ2

D(s)ds+∫

t0 ν(s)σD(s)dW (s)

Note, ν(t) is a blending parameter taking value in the range [0, 1] and controlling the slope of the localvolatility function ψ(t, x) = ν(t)x + (1 − ν(t))x0. In the special case where rates are deterministic, settingν = 0 we recover the Gaussian distribution while when ν = 1 we recover the lognormal distribution. Also,since the local volatility ψ(t, x) is linear in x the model can be transformed into an Affine model and classicalpricing formula of call options can be applied provided that we modify the characteristic function of thelogarithm of the forward price and that we shift the strike of the option. That is, the underlying price seenat time t is given by

St =S0

ν(t)(M(t)− (1− ν(t)))

where the process M(t) follows the dynamics

10

Page 11: A Practical Guide to Implied and Local Volatility

dM(t)M(t)

= σM (t)dWS(t) with M(0) = 1

where σM (t) = ν(t)σD(t). Note, the underlying can become negative even if ν(t) > 0 unless ν(t) = 1.Therefore, to generate some skew the displaced diffusion model must allow for the underlying price tobecome negative. One can calibrate the model parameters ν(t) and σ(t) to the European call price Ct seenat time t with a strike K and maturity T satisfying

C(t, St, T,K) = B(t, T )EQ[( St

ν(T )M(T )−K)+|Ft

]where K = 1−ν(T )

ν(T ) St +K. The displaced diffusion model became popular among market practitioners sinceit is the simplest way to introduce an implied volatility skew and vanilla option are priced with the standardBlack-Scholes formula with appropriate input parameters. In the presence of a non-zero drift, the dynamicsof the underlying price become

dSt

St= µtdt+ γ(t, St)dW (t)

where the local volatility function is

γ(t, x) = σD(t)(ν(t) + (1− ν(t))F (0, t)

x

)with F (0, t) being the initial forward price with delivery date t. In that setting, St + 1−ν(t)

ν(t) F (0, t) is nota geometric Brownian motion due to the drift term and the Black-Scholes formula can no-longer be usedto price vanilla options. One possibility is to set the interest rates to zero, to multiply the strike with thediscount factor and to diffuse the process St = St

Re(0,t) which is obtained by reinvesting the dividend in thestock price. When rates are stochastic, one should diffuse the forward price under the forward measure.However, contrary to deterministic local variance (DLV), the instantaneous variance of the forward priceis not a function of the forward price but it is a function of the underlying asset St = F (t, T )Bd(t,T )

Bf (t,T )with

stochastic zero-coupon bond prices. It is therefore difficult to solve analytically but approximations can bemade. In the special case where the instantaneous volatility of the underlying asset is deterministic (CEV)and the rates are Gaussian, Piterbarg in [Pit05] introduced the autonomous representation of the underlyingprocess F (t, T ) and approximated its local volatility function.

3.4.3 Similarity between displaced diffusion and CEV model

Given the process (St)t≥0 the dynamic of the underlying price is

dSt = σα

(St + α

)dWt

where α is the displacement parameter. The displaced diffusion process admits negative values for α > 0. Ageneral representation of the dynamic of the underlying price is

dSt = σφ(St)dWt

where φ(x) is a possibly non-linear function returning positive value. As an example, another commonlyused model that exhibit an implied volatility skew is the CEV model (φ(x) = xβ) introduced by Cox et alwhere the dynamic of the underlying price is

dSt = σβSβt dWt

11

Page 12: A Practical Guide to Implied and Local Volatility

where the elasticity parameter β is a positive constant such that 0 ≤ β ≤ 1 and where φ is not defined fornegative arguments. For β < 1, the origin (zero) is an attainable and absorbing boundary for the processwhich is not desirable for numerical implementation especially in the pricing of path-dependent options. Toget some of the properties of the CEV model see Andersen et al in [AA98]. Marris in [Ma99] showed thatby setting

σα = σββSβ−10 and α =

1− ββ

S0

the displaced diffusion becomes

dSt = σβSβ−10

(βSt + (1− β)S0

)dWt

and produce vanilla option prices similar to those produced by the CEV model. Latter, Svoboda-Greenwoodin [SG07] proved that the parameters transformation were the result of a simple linearisation of the CEVdynamics around the initial value S0. Therefore, considering the simple displaced diffusion model in Section(3.4.2) in order to recover the vanilla option prices produced by the CEV model we must impose

σD = σβSβ−10 and ν = β

That is, given the elasticity parameter β and the elasticity volatility σβ the displaced diffusion volatilitydepends in a non-linear way on the initial value S0. Muck in [Mu05] tested the approximated displaceddiffusion against the CEV model on swaption prices and barrier swaption prices with β = 0.5, σβ = 0.12and initial forward rate S0 = 0.06 which gives a displaced diffusion volatility of σD = 0.4898. However, it isnot directly applicable to the Equity market where the index can be as high as S0 = 20000 on the Japanesemarket leading to an almost zero displaced diffusion volatility.

3.4.4 The lognormal-mixture

Usually, the deterministic local volatility is either not flexible enough to calibrate a large number of points ina volatility surface when specified with a small number of parameters (see Section (3.4.2)) or it is specified ina too general way as defined in Section (3.4.1), requiring interpolation and extrapolation to be implemented.Brigo et al defined in [BM01] an alternative deterministic local volatility by finding a diffusion processwith marginal law following a given evolving mixture of probability densities. We let the underlying processXi(t) be a one-dimensional Black-Scholes process valued in the open subset D with dynamics under therisk-neutral measure Q being

dXi(t)Xi(t)

= rtdt+ νi(t)dW (t) for i = 1, ..,m

where νi(t) is a deterministic function of time. Taking into account the lognormal marginal distributions ofthe processes, they showed that the SDE resulting from such coefficients is

dSt

St= rtdt+ σmix(t, St)dW (t)

with

σ2mix(t, y) =

m∑i=1

Λi(t, y)ν2i (t)

where Λi(t, y) is a function of the lognormal densities. It admits a unique strong solution provided thatthe function t → νi(t) is regular enough. In fact, it can be seen as a natural way of interpolating andextrapolating the volatility surface in time and in space, consistent with market prices and satisfying the

12

Page 13: A Practical Guide to Implied and Local Volatility

no-arbitrage conditions. Latter, Brigo in [Bri02] showed the existence of a close relationship between thelognormal mixture diffusion dynamics above and the uncertain volatility mixture dynamics given by

dSt

St= rtdt+ ξ(t)dW (t)

where

(t→ ξ(t)) =

⎧⎨⎩

(t→ ν1(t)) with probability λ1

...(t→ νm(t)) with probability λm

where ξ is a random variable independent from W and drawn at time ε > 0. He showed that the lognormalmixture diffusion dynamics is the local volatility version of the uncertain volatility mixture dynamics, thatis

σ2mix(t, x) = EQ[ξ2(t)|St = x]

4 The spot model with discrete dividends

We are now going to introduce discrete dividends to the stock price with dynamics given in Equation (2.3)as well as to describe our framework. To do so, we make a dividend assumption and formulate a consistentstock price process. As explained by Bos et al in [BGS03], there are various ways of modeling dividendsall resulting in different prices for path dependent options. In general, one assume the dynamic of theunderlying stock price process between two dividend dates to follow a diffusion process and to experiencejumps at dividend payments. However, in the presence of deterministic rates and instantaneous volatilitybeing a function of time, this approach does not lead to closed-form solution to the prices of call option.When the dividends are deterministic, the volatility risk associated with the stock price is given by thatof a pure diffusion process. Therefore, with the aim of obtaining closed-form solutions to European optionprices in some special cases, we will assume that we can separate the volatility risk of the stock price fromthe discrete dividends. Following Andre et al in [ACL01] and Frishling in [Fri02], we are briefly going todescribe the Forward model before concentrating on the Spot Model.

4.1 Discounting and compounding discrete dividends

We now present our notation in order to discount or compound the dividend flux at different times. As-suming stochastic interest rates and deterministic repo rate, we let C(0, t) = Re(0,t)

B(0,t) = EQ[e∫ t0 µsds] be the

capitalisation from time zero until time t so that the forward capitalisation factor is

C(t, T ) =Re(t, T )B(t, T )

= EQ[e∫ T

tµsds|Ft]

with C(t, t) = 1. Given a set of discrete dividends (di)i∈N generated as explained in Annexe (E), we letDt = D(0, t) be the accumulated dividends at time t in the interval [0, t], that is the dividends paid fromt0 = 0 till time t and capitalised at t is given by

Dt =∞∑

i=0

H(t− tdi)diC(tdi , t)

where H(.) is the heaviside function and D0 = 0. The dynamics of that process are given by

dDt = µtDtdt+D′tdt

13

Page 14: A Practical Guide to Implied and Local Volatility

where D′t =

∑∞i=0 δ(t− tdi)diC(tdi , t). When t = tdi then C(tdi , tdi) = 1 and D

′t = Dt =

∑∞i=0 δ(t = tdi)di.

Similarly, the dividends paid from time t till time T and capitalised at maturity T are given by

D(t, T ) = DT − C(t, T )Dt

Discounting these dividends to time t, we get the present value DPV (t; t, T ) of the dividends paid betweent and T

DPV (t; t, T ) =D(t, T )C(t, T )

=DT

C(t, T )−Dt

More generally, we can discount or compound at any date t∗ the dividends in the range [t, T ] with

DPV (t∗; t, T ) =D(t, T )C(t∗, T )

=∞∑

i=0

H(T − tdi)diC(t∗, tdi)−1 −

∞∑i=0

H(t− tdi)diC(t∗, tdi)−1

For instance, the present value at time t of all past and future dividends is DPV (t; 0, T ).

4.2 The forward model

Using the no-arbitrage approach, the forward strike is derived from replication arguments by reinvestingthe repo and proportional dividends (if any) to buy more shares and by forward-selling the cash dividends.Assuming deterministic repo rate, the forward contract F (t, T ) written on the stock price St with maturityT must satisfies under the risk-neutral measure

EQ[β(t)

(F (t, T )− ST +D(t, T )

)β(T )

|Ft] = 0

which gives

F (t, T ) =1

B(t, T )EQ[

β(t)ST

β(T )|Ft]− 1

B(t, T )EQ[

β(T )D(t, T )β(T )

|Ft]

The use of the bond price as numeraire together with the change of probability measure is a trick to neutraliseinterest rate movements. When normalising the stock price defined in Section (2.2) with respect to the bondprice, the resulting asset price is a martingale under the forward measure. From the change of measureformula generalised by Geman in [Ge89], taking the bond as numeraire the Radon Nykodim derivative is

εB(t, T ) =β(t)

β(T )B(t, T )

so that the forward price becomes

F (t, T ) = EQ[εB(t, T )ST |Ft]− EQ[εB(t, T )D(t, T )|Ft]= ET [ST |Ft]−D(t, T )

with expected value equal to C(t, T )St. Therefore, the forward price seen at time t is

F (t, T ) = C(t, T )St −D(t, T ) (4.10)

with initial value being F (0, T ) = C(0, T )(S0 − DPV (0; 0, T )

). As explained by Buehler in [Bue09], the

forward price being positive one must have St ≥ D(t,T )C(t,T ) = DPV (t; t, T ) and the stock price must be floored by

DPV (t; t, T ). The forward price in Equation (4.10) being derived from replication arguments we can either

14

Page 15: A Practical Guide to Implied and Local Volatility

choose to model its dynamics (forward model) or that of the stock price (spot model). Given the dynamicsof the stock price in Equation (2.3) we assume that the dynamics of the forward price under the forwardmeasure QT is

dF (t, T )F (t, T )

= σF (ω, t)dWT (t)

where σF (ω, t) is a stochastic instantaneous volatility. We can re-express the forward price and its dynamicas

F (t, T ) = F (0, T )Yt

dYt = YtσY (ω, t)dWTt

Y0 = 1

where Yt is the continuous process diffused. In that setting, the stock price becomes

St =F (0, T )Yt +D(t, T )

C(t, T )=F (0, T )Yt

C(t, T )+DPV (t; t, T )

and simplifies at maturity to ST = F (0, T )YT . In the special case where rates and instantaneous volatilityare deterministic, using Ito’s lemma the dynamics of the stock price becomes

dSt = µtStdt+ σY

(St − D(t, T )

C(t, T ))dW (t)− ( ∞∑

i=0

δ(t− tdi)di)dt

4.3 The Y -spot model

4.3.1 The linear case

Assuming stochastic interest rates, deterministic repo rates and stochastic instantaneous volatility, the dy-namics of the stock price in the spot model and under the risk-neutral measure Q become

St = C(0, t)Yt −D(0, t) (4.11)dYt = YtσY (ω, t)dWt

dB(t, T ) = rtB(t, T )dt+ Γ(t, T )B(t, T )dWB(t)Y0 = S0

where Yt is the continuous process diffused. Note that the spot and forward models are exactly the same inabsence of dividends. In the special case where the rates and instantaneous volatility are deterministic wecan use Ito’s Lemma to get the dynamics of the stock price

dSt =(µtCtYt − µtDt −D′

t

)dt+ CtσY (Yt, t)YtdWt

= µtStdt+ (St +Dt)σY (St +Dt

C(0, t), t)dWt −Dtdt

15

Page 16: A Practical Guide to Implied and Local Volatility

4.3.2 The exponential case

In the exponential case, setting LY (t) = logYt and applying Ito’s lemma, the dynamics become

St = C(0, t)eLY (t) −Dt

dLY (t) = −12σ2

Y (eLY (t), t)dt+ σY (eLY (t), t)dWt

dB(t, T ) = rtB(t, T )dt+ Γ(t, T )B(t, T )dWB(t)Y0 = S0

Similarly, in the special case of deterministic rates and instantaneous volatility, using Ito’s calculus we canderive the process for the stock price as

dSt =(µtCte

LY (t) − µtDt −D′t

)dt+ CtσY (eLY (t), t)eLY (t)dWt

= µtStdt+ (St +Dt)σY (St +Dt

C(0, t), t)dWt −Dtdt

4.4 The Z-spot model

4.4.1 The linear case

A slight modification of the model is to consider the process Zt = C(0, t)Yt to be the asset price St plusthe forward value of all dividends paid from today up to time t. In that setting, the stock price and thedynamics of the diffusion process becomes under the risk-neutral measure

St = Zt −Dt (4.12)dZt = µtZtdt+ σZ(ω, t)ZtdWt

dB(t, T ) = rtB(t, T )dt+ Γ(t, T )B(t, T )dWB(t)Z0 = S0

where µt = rt − qt.

Remark 4.1 In that framework the diffusion process Zt correspond to the stock price with no discretedividends given in Equation (2.3).

In the special case where the rates and instantaneous volatility are deterministic we can use Ito’s Lemma toget the dynamics of the stock price

dSt =(µtZt − µtDt −D′

t

)dt+ σZ(Zt, t)ZtdWt

= µtStdt+ (St +Dt)σZ(St +Dt, t)dWt −Dtdt

4.4.2 The exponential case

In the exponential case, setting LZ(t) = logZt and applying Ito’s lemma, the dynamics become

16

Page 17: A Practical Guide to Implied and Local Volatility

St = eLZ(t) −Dt

dLZ(t) =(µt − 1

2σZ(eLZ(t), t)

)dt+ σZ(eLZ(t), t)dWt

dB(t, T ) = rtB(t, T )dt+ Γ(t, T )B(t, T )dWB(t)Z0 = S0

4.5 The no-arbitrage conditions

Market prices must satisfy strong constraints for the no-arbitrage conditions to apply. We refer the readersto Harrison and Pliska in [HP81] for detailed proof. Moreover, in the presence of discrete dividends thestock price can not fall bellow a floor value, imposing stronger constraints of no-arbitrage. For instance, callprices may not always be increasing in time. In fact, the classical no-arbitrage conditions still hold but forthe pure diffusion process. The necessary no-arbitrage conditions in the Y -Spot model are

Theorem 4.1 Under the spot model framework, a market has no arbitrage if the prices of the calls at timet0 = 0 satisfy

1. the prices are decreasing and convex in the strike price k

2. ∀K ≥ 0, T ≥ 0B(t0, T )

(C(t0, T )St0 −D(t0, T )

) ≥ C(K,T ) ≥ B(t0, T )(C(t0, T )St0 − (D(t0, T ) +K)

)+3. ∀θ ≥ 0

C(K,T + θ) ≥ C(K+D(T,T+θ)C(T,T+θ) , T )

while the sufficient no-arbitrage conditions are

Theorem 4.2 If there exists a system of option prices twice differentiable in the strike that satisfies theconditions of Theorem (4.1) then the corresponding prices are arbitrage-free.

5 The pricing model

5.1 The instantaneous volatility

In order to compute the stochastic local volatility models in Equations (4.11) and (4.12) we need to explicitthe instantaneous volatility σ(t, ω) of the underlying asset. So far we have assumed in Section (2) a generalinstantaneous volatility function for the underlying asset. In order to get model prices in a fast and efficientway as well as perfect fit to liquid option prices we are going to further constrain that function. We let allthe sources of uncertainty that influence the instantaneous volatility other than the underlying be denotedby V = (V 1, .., V p) and assume that the volatility can be decomposed into a separable function given by

σ(t, ω) = φ(Vt)ψ(t, St) (5.13)

where ψ(t, .) is a deterministic function of time and the underlying value used to get perfect fit to marketprices while φ(.) is a deterministic function of V giving randomness to the dynamics of the local volatility.In that case, the stochastic local volatility of the forward price at time T discussed in Section (3.3) becomes

σ2LV F (T,K) = ψ2

LV F (T,K)ETt0 [φ

2(VT )|ST = K]

17

Page 18: A Practical Guide to Implied and Local Volatility

Therefore, setting V(T,K) = ETt0 [φ

2(VT )|ST = K] the local function ψLV F (T, .) that gives perfect fit tomarket prices becomes

ψ2LV F (T,K) =

σ2DLV (T,K)− E(T,K)

V(T,K)

5.2 Volatility approximation

Reducing the dimensionality of the problem, the simplest model in the FX market satisfying the volatilityassumptions in Section (5.1) is a four-dimensional model making it difficult to solve numerically especiallywith callable features. Following market practice, we assume that V takes values in R with the dynamics

dVt = k(α− Vt)dt+ ξdW (t)

It is well known that the asymptotic behavior of a Ornstein-Uhlenbeck (OU) process in large mean rever-sion rate is to converge towards a collection of distinct independent random variables all sharing the samedistribution. To make calculations feasible Bloch assumed in [Blo09] that Vt = V the collapse process withthe same random variable for all time t. In that setting the random variable is independent from the stockprice and the instantaneous volatility in Equation (5.13) becomes

σ(t, ω) = V ψ(t, St)

Note, the instantaneous volatility is still stochastic and capable of rising without a movement in spot pricesas observed in the market. In that setting, the conditional expectation of the variance process becomes

V(T,K) = ETt0 [V ]

Furthermore, when the domestic and foreign zero-coupon bond prices have deterministic volatility functionsand from independence, the bias term E(T,K) simplifies (see [Blo09] for details).

5.3 Fast pricing

The simplest model satisfying the volatility’s assumptions in Section (5.1) is a four-dimensional model. Wesaw in Section (5.2) that letting Vt = V be the collapsed process with the same random variable for alltime t allow us to reduce the problem to a three-dimensional one. Given the call price C(T, ST ,K, T ;V ) atmaturity, the discounted call price must be a Q-martingale so that its value at time t is

C(t, T ;x, y) = EQt [e−

∫Tt

rsdsC(T, ST ,K, T ;V )|St = x, V = y] (5.14)

which is solved numerically. However, the volatility V being a random variable, we do not know withcertainty its value at time t. Therefore, from the properties of conditional expectation, the value of a calloption in the multi-currency stochastic local volatility model is

C(t, T ;St) = EQt [C(t, T ;St, V )]

In the rest of this article we will concentrate on solving numerically the pricing Equation (5.14) with V = ygiven, that is C(t, T ;St, y). In that case the instantaneous volatility of the underlying process becomesdeterministic

σ(t, ω) = yψ(t, St) = σ(t, St) (5.15)

18

Page 19: A Practical Guide to Implied and Local Volatility

5.4 The Variable of diffusion for the bond

Given the dynamics of the zero-coupon bond price in Section (2.1), we can simplify calculation by definingthe time-function H(t) as

H(t) =12

∫ t

0

∂tΓ(s, t)Γ(s, t)ds =

∫ t

0

γB(s, t)ΓB(s, t)ds

and the time-function γ(t) as

γ(t) = f(0, t) +H(t) with γ(0) = f(0, 0)

Hence, we define the new process (g(t))t≥0 given by

g(t) = r(t) − γ(t) = −∫ t

0

∂tΓ(s, t)dWB(s) = −

∫ t

0

γ(s, t)dWB(s)

where γ(s, t) is the forward rate volatility, so that g(t) is a stochastic integral of the forward rate volatility.However the resulting process for the short rate may be non-Markovian, because of path dependent integralsinvolving bond price volatility in the drift, and thus in general the current short rate is not sufficient todetermine the current term structure. But if we restrict the volatility to be deterministic and independentfrom the bond price with a functional form given by

ΓP (t, T ) = λ(t)[G(T )−G(t)

](5.16)

then it was shown by Babbs in [B94] that for arbitrary functions G(.) and λ(.) we can eliminate pathdependency in the short rate process r(t). Therefore, in the special case of Gaussian interest rates, thezero-coupon bond price is expressed as the analytic function of a state variable which is itself Gaussian. Asa result, we can modify the variable of diffusion of the bond price by diffusing directly the state variable. Inthat setting, γB(s, t) = ∂

∂tΓ(s, t) = λ(s)G′(t) and assuming dimension one (m = 1) the process becomes

g(t) = −G′(t)∫ t

0

λ(s)dWs

We can then reduce our SDE, by choosing to diffuse the variable Λ(t)

Λ(t) =∫ t

0

λ(s)dWB(s) with Λ(0) = 0

with dynamics given by

dΛ(t) = λ(t)dWt

so that g(t) = −G′(t)Λ(t) which gives the spot rate as

r(t) = γ(t) + g(t) = γ(t)−G′(t)Λ(t)

Applying Ito’s Lemma to deduce the PDE, we get

∂f

∂t+

12λ(t)2

∂2f

∂X2= 0

which is the heat equation, and

19

Page 20: A Practical Guide to Implied and Local Volatility

Λ(t) ∼ N(mn, Cnn)mn = 0

Cnn =∫ t

0

λ2(u)du

The variable of diffusion has a Gaussian distribution centered around zero. To find the limit of our Domainof Definition, we apply

±3.5 ∗√Cnn

which is a 0.9998 confidence interval. It can directly be applied to the zero-coupon bond price formula underthe risk-neutral measure Q, written as a function of the variable Λ(t). That is

B(t, T ) =B(0, T )B(0, t)

e

[G(T )−G(t)

](Λ(t)− 1

2

∫ t0

G(T )−2G(u)+G(t)

λ2(u)du

)

which we can re-write 3 as

B(t, T ) =B(0, T )B(0, t)

e

[G(T )−G(t)

](Λ(t)− 1

2

[G(T )−G(t)

]V ar(Λ(t))−G(t)V ar(Λ(t))+

∫t0 G(u)λ2(u)du

)(5.17)

As a result, the distribution of the zero-coupon bond price is

lnB(t, T )− lnB(0, T )B(0, t)

∼ N(µ, c)

with mean

−12[G(T )−G(t)

] ∫ t

0

G(T )− 2G(u) +G(t)

λ2(u)du

and variance

[G(T )−G(t)

]2 ∫ t

0

λ2(u)du

Remark 5.1 The zero coupon bond price under the risk-neutral measure is not a martingale but a deter-ministic function of the variable of diffusion Λ(t) which is itself a martingale.

5.5 Pricing with the Z-spot model

For simplicity of exposition we set the foreign rate to zero and concentrate on the domestic market, reducingthe dimensionality of our model to two. That is, we consider under the risk-neutral measure, the dynamicsof the diffusion process Zt with instantaneous volatility given in Equation (5.15) and that of the zero-couponbond price with deterministic volatility given in Equation (5.17). Following the approach described in Section(5.4) where the spot rate is given by rt = γ(t)−G′

(t)Λ(t) we re-write the dynamics of our system as

3[G(T ) − G(t)

](G(T ) − 2G(u) + G(t)

)=[G(T ) − G(t)

]2+ 2G(t)

[G(T ) − G(t)

] − 2G(u)[G(T ) − G(t)

]

20

Page 21: A Practical Guide to Implied and Local Volatility

dZt

Zt=

(γ(t)−G′

(t)Λ(t)− qt)dt+ σZ(t, Zt)dWS(t)

dΛ(t) = λ(t)dWB(t)

Decorrelating the Brownian motions, we get

dWl(t) = ρlBdW1(t) + ρlBdW2(t) for l = S,B

where ρlB =√

1− ρ2sb and Wi for i = 1, 2 are independent Brownian motions. We can then define the new

process Y2(t) with dynamics being

dY2(t) = ρsbσZ(t, Zt)dW1(t) + ρsbσZ(t, Zt)dW2(t)

5.5.1 The linear case

In the linear Z-spot model, if there exists a unique solution Zt to the SDE given in Equation (4.12), then itreprices the call option seen at time t0 = 0 with strike k and maturity T given by

CZ(k, T ) = EQ0 [(ZT − k)+]

This model is popular mainly due to the fact that adding the already paid dividends to the strike, the marketprice of a call option on the stock price seen at time t0 = 0 is

C(t0, S0;K,T ) = EQt0 [e

− ∫ T0 rsds(ZT −K ′

)+]

where K′= K +DT . The dynamics of the diffusion process and that of the zero-coupon bond price become

dZt

Zt=

(γ(t)−G′

(t)Λ(t)− qt)dt+ dY2(t)

dΛ(t) = λ(t)dW2(t)

We then calculate the variance of the diffusion process Zt as

< dZ, dZ >t= Z2t < dY, dY >t= σ2

Z(t, Zt)Z2t dt

and that of the second variable of diffusion Λ(t)

< dΛ, dΛ >t= λ2(t)dt

while the covariance between the two variables is

< dZ, dΛ >t= ρsbσZ(t, Zt)Ztλ(t)dt

Given the contingent-claim V = V (t, Z,Λ) = U(t, St,Λ), its associated PDE within the domain Ω = [0, T ]×[xL, xH ]× [yL, yH ] where xL, yL and xH , yH are respectively the lower and upper bound of the variables ofdiffusion, is

∂V

∂t+(γ(t)−G′

(t)y− qt)x∂V

∂x+

12σ2

Z(x, t)x2 ∂2V

∂x2+

12λ2(t)

∂2V

∂y2+ ρsbσZ(x, t)xλ(t)

∂2V

∂x∂y=(γ(t)−G′

(t)y)V

21

Page 22: A Practical Guide to Implied and Local Volatility

with local variance being σ2Z(k, T ) for k = K

′(it means k fixed) when ZT = k and boundary conditions

V (t, xL, yL), V (t, xH , yH) and constraints

V (T, x, y) = Payoff (x −DT )V (t, x, y) ← Constraints (t, St,Λ(t), U(t, x, y))

5.5.2 The logarithm case

We let Lt = lnZt be the logarithm of the diffusion process and use Ito’s lemma to compute its dynamic,getting

dLt =(γ(t)−G′

(t)Λ(t)− qt − 12σ2

Z(t, eLt))dt+ dY2(t)

dΛ(t) = λ(t)dW2(t)

We calculate the variance of the first variable increment Lt as

< dL, dL >t=< dY2, dY2 >t= σ2Z(t, eLt)dt

and the second variable Λ(t)

< dΛ, dΛ >t= λ2(t)dt

while the covariance is

< dL, dΛ >t= ρsbσZ(t, eLt)λ(t)dt

Given the contingent-claim V = V (t, Z,Λ) = U(t, St,Λ), its associated PDE with the domain Ω is

∂V

∂t+(γ(t)−G′

(t)y−qt−12σ2

Z(t, ex))∂V∂x

+12σ2

Z(t, ex)∂2V

∂x2+

12λ2(t)

∂2V

∂y2+ρsbσZ(t, ex)λ(t)

∂2V

∂x∂y=(γ(t)−G′

(t)y)V

with local variance being σ2Z(ek, T ) for k = logK

′(it means k fixed) when LT = k and boundary conditions

V (t, xL, yL), V (t, xH , yH) and constraints

V (T, x, y) = Payoff (ex −DT )V (t, x, y) ← Constraints (t, Lt,Λ(t), U(t, x, y))

6 Pricing with the spot model under deterministic volatility

We established in Section (5.5) the numerical equations that one must solve in order to compute the call pricegiven in Equation (5.14). Furthermore, we decomposed in Equation (3.7) the local variance with stochasticrates in terms of the deterministic local variance plus some bias terms. All that is left to do is to computea stable and robust deterministic local volatility. Hence, assuming that all rates are now deterministic weare going to explain how to price call options in our model. Considering the contingent-claim U = U(t, S),we let our domain in time and space be Ω = [0, T ]× [xL, xH ] where xL and xH are respectively the lowerand upper bound of the variable of diffusion. We are going to use the Feynman-Kac formula (see Oksendalin [O98]) to derive the partial differential equation (PDE) satisfied by our model for either of the dividendsassumptions discussed above.

22

Page 23: A Practical Guide to Implied and Local Volatility

6.1 The stock price

For all the dynamics of the stock price St in the spot and forward model described in Section (4), there isno closed-form solutions to the price of call option and one need to use either the Monte Carlo engine toprice multi-underlying path-dependent contracts or the PDE for low-dimension contracts. As an example,we consider the dynamics of the stock price in the Y -spot model. Given the contingent-claim U = U(t, S)and the domain Ω we get the equation

∂tU + µtx∂xU +12(x+Dt)2σ2

Y (t,x+D(0, t)C(0, t)

)∂xxU − rtU = 0

between two dividend payment dates. Since option prices are continuous there is a jump condition on thepayment date

U(t−d , S) = U(t+d , S − d)see Wilmott et al in [WDH93] for more details. So, we see that the pde on the stock price need to implementa jump condition on the finite difference grid at every dividend dates slowing convergence. Moreover, asexplained in Section (4.3) the local volatility associated to diffusing the stock price is a function of thedividends Dt. Instead, we can express in the spot model the price of an option on the underlying price interms of an option on the pure diffusion process. We can therefore choose to diffuse either the stock priceSt or directly the continuous process Yt or Zt.

6.2 The Y -spot model

6.2.1 The linear case

In the Y -spot model, if there exists a unique solution Yt to the SDE given in Equation (4.11), then it repricesthe call option seen at time t0 = 0 with strike k and maturity T given by

CY (t0, Y0; k, T ) = EQ0 [(YT − k)+]

A natural way to write a PDE on this model is to let V = V (t, Yt) = U(t, St) be the contingent-claim withdomain Ω and use Feynman-Kac formula to get the equation

∂V

∂t+

12σ2

Y (x, t)x2 ∂2V

∂x2= 0 (6.18)

with boundary conditions V (t, xL), V (t, xH) and constraints

V (T, x) = Payoff (x)V (t, x) ← Constraints (t, x)

Contrary to the stock price, the pure diffusion price being a continuous process, there are no jump conditionsneeded to solve for the claim V (t, Yt). We can add the already paid dividends to the strike so that the marketprice of a call option on the stock price seen at time t0 = 0 is

C(t0, S0;K,T ) = B(0, T )EQ0 [(CTYT −K ′

)+]

where K′= K +DT . We can go further and factorise the drift term CT getting

C(t0, S0;K,T ) = B(0, T )CTEQ0 [(YT −K ′′

)+]

where K′′

= K′

CT. Therefore, the market call price on the stock becomes

23

Page 24: A Practical Guide to Implied and Local Volatility

C(t0, S0;K,T ) = B(0, T )CTCY (t0, Y0;K′′, T )

So, given the strike K in the S-space we need the strike k = K+DT

CTin the Y -space. Hence, in order to price

a call option with strike K and maturity T we set k = K+DT

CTand solve the pde in Equation (6.18) with local

variance being σ2Y (k, T ) (it means k fixed) when YT = k. Since B(0, T )CT = Re(0, T ) we then multiply the

result of the PDE with Re(0, T ). It leads us to defining our pricing model as

C(t0, S0;K,T ) = Re(0, T )CY (t0, Y0;K +DT

CT, T ) = CM (t0, S0;K

′′, T ) (6.19)

There is closed-form solution for European option prices when the volatility is time-dependent. Similarly,we can express the price of a call option on the diffusion process Y in terms of a call option on the stockprice

CY (t0, Y0; k, T ) =1

B(0, T )CTC(t0, S0;CT k −DT , T ) (6.20)

That is, if we set k in the Y -space we can price a market call option of strike K = CTk−DT in the S-space.Therefore, we can indifferently choose to work with the strike k = K+DT

CTin the Y -space or with the strike

K = CT k −DT in the S-space.

6.2.2 The different PDEs in the linear case

In the case where the product is path-dependent it is better to incorporate the repo or dividend factor in thepde. We let V = V (t, Yt) = U(t, St) be the contingent-claim with domain Ω and use Feynman-Kac formulato get the equation

∂V

∂t+

12σ2

Y (x, t)x2 ∂2V

∂x2− qtV = 0

with the same boundary conditions and constraints as before. We can also multiply the price CY (k, T )(which is a function of the process Yt) with a deterministic function and get

CTCY (k, T ) = CTEQ0 [(YT − k)+] = EQ

0 [(CTYT −K ′)+] = CY (K

′, T )

Considering the price B(0, T )CY (K′, T ) which is still a function of the process Yt, we let V = V (t, Yt) be

the contingent-claim in Ω for given xL, xH and we use Feynman-Kac formula to get the equation

∂V

∂t+

12σ2

Y (x, t)x2 ∂2V

∂x2− rtV = 0

with local variance being σ2Y (k, T ) for k = K + DT and boundary conditions V (t, xL), V (t, xH) and con-

straints

V (T, x) = Payoff (CTx−DT )V (t, x) ← Constraints (t, St, U(t, x))

In the case of a call option the payoff becomes

V (T, x) = (CTx−K ′)+

and the market price is

C(t0, S0;K,T ) = B(0, T )EQ0 [(CTYT −K ′

)+] = B(0, T )CY (K′, T )

24

Page 25: A Practical Guide to Implied and Local Volatility

6.2.3 The exponential case

Similarly to the linear case, if there exists a unique solution LY (t) to the SDE above, then it reprices thecall option seen at time t0 = 0 with strike k and maturity T given by

CLY (k, T ) = EQ0 [(eLY (T ) − ek)+]

A natural way to write a PDE on this model is to let V = V (t, LY (t)) = U(t, St) be the contingent-claimwith domain Ω and use the Feynman-Kac formula to get the equation

∂V

∂t+

12σ2

Y (ex, t)(∂2V

∂x2− ∂V

∂x

)= 0

with local variance being σ2Y (ek, T ) for k = logK

′′(it means k fixed) when LY (T ) = k and boundary

conditions V (t, xL), V (t, xH) and constraints

V (T, x) = Payoff (ex −DT )V (t, x) ← Constraints (t, LY (t), U(t, x))

Again, we can add the already paid dividends to the strike so that the price of a call option is

C(t0, S0;K,T ) = B(0, T )CTEQ0 [(eLY (T ) − ek)+]

where k = log (K+DT

CT) and the PDE becomes

∂V

∂t+

12σ2

Y (ex, t)(∂2V

∂x2− ∂V

∂x

)− qtV = 0

with the same payoff and constraints as above. We can also rewrite the price of the call option as

C(t0, S0;K,T ) = B(0, T )EQ0 [(CT e

LY (T ) − ek)+]

where k = log (K +DT ). The associated PDE becomes

∂V

∂t+

12σ2

Y (ex, t)(∂2V

∂x2− ∂V

∂x

)− rtV = 0

with local variance being σ2Y (ek, T ) for k = logK

′(it means k fixed) when LY (T ) = k and boundary

conditions V (t, xL), V (t, xH) and constraints

V (T, x) = Payoff (CT ex −DT )

V (t, x) ← Constraints (t, LY (t), U(t, x))

6.3 The Z-spot model

6.3.1 The linear case

In the Z-spot model, if there exists a unique solution Zt to the SDE given in Equation (4.12), then it repricesthe call option seen at time t0 = 0 with strike k and maturity T given by

CZ(k, T ) = EQ0 [(ZT − k)+]

Given the contingent-claim V = V (t, Z) = U(t, St), its associated PDE with the domain Ω is

25

Page 26: A Practical Guide to Implied and Local Volatility

∂V

∂t+ µtx

∂V

∂x+

12σ2

Z(x, t)x2 ∂2V

∂x2= 0 (6.21)

with local variance being σ2Z(k, T ) for k = K

′(it means k fixed) when ZT = k and boundary conditions

V (t, xL), V (t, xH) and constraints

V (T, x) = Payoff (x−DT )V (t, x) ← Constraints (t, St, U(t, x))

We can add the already paid dividends to the strike so that the market price of a call option is

C(t0, S0;K,T ) = B(0, T )EQ0 [(ZT −K ′

)+] = B(0, T )CZ(K′, T )

where K′= K +DT . There is closed-form solution for European option prices when the volatility is time-

dependent. Similarly, we can express the price of a call option on the diffusion process Z in terms of a calloption on the stock price

CZ(t0, Z0; k, T ) =1

B(0, T )C(t0, S0; k −DT , T ) (6.22)

It leads us to defining our pricing model as

CM (t0, S0;K,T ) = B(0, T )CZ(K′, T ) (6.23)

with the associated PDE being

∂V

∂t+ µtx

∂V

∂x+

12σ2

Z(x, t)x2 ∂2V

∂x2− rtV = 0

and the same payoff and constraints as above.

6.3.2 The exponential case

Similarly, if there exists a unique solution LZ(t) to the SDE above, then it reprices the call option seen attime t0 = 0 with strike k and maturity T given by

CLZ(k, T ) = EQ0 [(eLZ(T ) − ek)+]

Given the contingent-claim V = V (t, LZ(t)) = U(t, St), its associated PDE with the domain Ω is

∂V

∂t+ µt

∂V

∂x+

12σ2

Z(ex, t)(∂2V

∂x2− ∂V

∂x

)= 0

with local variance being σ2Z(ek, T ) for k = logK

′(it means k fixed) when LZ(T ) = k and boundary

conditions V (t, xL), V (t, xH) and constraints

V (T, x) = Payoff (ex −DT )V (t, x) ← Constraints (t, LZ(t), U(t, x))

We can add the already paid dividends to the strike so that the price of a call option is

C(t0, S0;K,T ) = B(0, T )EQ0 [(eLZ(T ) −K ′

)+]

26

Page 27: A Practical Guide to Implied and Local Volatility

where K′= K +DT such that k = log (K +DT ). Our pricing model becomes

CM (t0, S0; k, T ) = B(0, T )CLZ(k, T ) (6.24)

with PDE being

∂V

∂t+ µt

∂V

∂x+

12σ2

Z(ex, t)(∂2V

∂x2− ∂V

∂x

)− rV = 0

6.4 The implied volatility

As a result of the no-arbitrage conditions in Section (4.5), the implied volatility surface on the stock priceS is not the best way to assess the volatility risk of the stock price in presence of discrete dividends. FromEquation (6.19) we see that the knowledge of all option prices on the stock price S gives us information onthe marginal densities of the pure diffusion process Y

φY (T, k) =1

B(t, T )∂kkCY (t, Yt, T, k)

Therefore, as was done with the Black-Scholes formula, we can define the implied volatility ΣY (T, k) asso-ciated with the pure diffusion process Y by

C(t, St, T,K) = C(t, T )CBS(t, Yt, T, k,ΣY (T, k); r = 0, q = 0)

where k = K+D(t,T )C(t,T ) and CBS(T, k) is the Black-Scholes formula given in Equation (A.31) with rate and

repo set to zero. Similarly, when diffusing the process Z we can get the implied volatility from market pricesusing the relation

C(t, St, T,K) = CBS(t, Zt, T, k,ΣZ(T, k))

with k = K +D(t, T ). We can then use an implied volatility interpolator that smooth prices in a parabolicway to generate the missing prices CX(t,Xt, T, k) for X = Y, Z and compute its associated local volatility.Hence, the local volatility for the diffusion Y or Z being cleared from discrete dividends it is numericallymore stable than the local volatility for the stock price.

7 The local volatility with discrete dividends in the Spot model

As explained above and further detailed by Buehler in [Bue09], computing the local volatility for Y or Zrather than for the stock price S is much less prone to numerical instabilities in presence of discrete dividends.

7.1 Diffusing Y

We saw in Section (6.2) that given the dynamic of the process Yt there exists a call option CY (k, T ) satisfyingthe PDE in Equation (6.18). Using Dupire’s formula derived in Annexe (B.4) the deterministic local volatilityassociated to that price is

σ2Y (T, k) = EQ[σ2

Y (T, x)|x = k] =∂TCY (t, Yt, k, T )

12∂kkCY (t, Yt, T, k)k2

Even though we do not observe the process CY (t, Yt, T, k) in the market, we can price the market call optionprice C(t, St;K,T ) by solving the pde in Equation (6.18) with local volatility σ2

Y (T, k) for k = K+D(t,T )C(t,T ) fixed

and multiply its result with B(t, T )C(t, T ). Alternatively, using Equation (6.20) we can re-express the price

27

Page 28: A Practical Guide to Implied and Local Volatility

with strike k in the Y -space in terms of a call option on the stock price with strike K = C(t, T )k −D(t, T )as

CY (t, Yt, T, k) =C(t, St;K,T )Re(t, T )

=C(t, St;C(t, T )k −D(t, T ), T )

Re(t, T )which gives

∂TCY (t, Yt, k, T ) = Re−1(t, T )∂TC(t, St;C(t, T )k −D(t, T ), T ) + C(t, St;C(t, T )k −D(t, T ), T )∂TRe−1(t, T )

∂kCY (t, Yt, k, T ) = Re−1(t, T )∂kC(t, St;C(t, T )k −D(t, T ), T )∂kkCY (t, Yt, k, T ) = Re−1(t, T )∂kkC(t, St;C(t, T )k −D(t, T ), T )

with ∂TRe−1(t, T ) = qTRe

−1(t, T ) so that the local volatility becomes

σ2Y (T, k) =

∂TC(t, St, C(t, T )k −D(t, T ), T ) + qTC(t, St, C(t, T )k −D(t, T ), T )12k

2∂kkC(t, St, T, C(t, T )k −D(t, T ))

7.2 Diffusing Z

We saw in Section (6.3) that given the dynamic of the process Zt there exists a call option CZ(k, T ) satisfyingthe Equation (6.21). The calculation of the local volatility can be done analytically with Dupire’s formuladerived in Annexe (B.3). It is equivalent to working with the undiscounted call price C(t, StK,T ) and thelocal volatility becomes

EQ[σ2Z(T, ZT )|ZT = k] =

∂TCZ(t, Zt, k, T ) + (rT − qT )(k∂kCZ(t, Zt, k, T )− CZ(t, Zt, k, T )

)12∂kkCZ(t, Zt, T, k)k2

To price the market call option C(t0, S0;K,T ) we solve the PDE in Equation (6.21) with local volatilityσZ(T, k) for k = K +DT fixed and multiply its result with B(0, T ). Alternatively, using Equation (6.22) wecan re-express the price with strike k in the Z-space in terms of a call option on the stock price with strikeK = k −D(t, T ) as

CZ(t, Zt, T, k) =C(t, St;K,T )

B(t, T )=C(t, St; k −D(t, T ), T )

B(t, T )which gives

∂TCZ(t, Zt, k, T ) = P−1(t, T )∂TC(t, St; k −D(t, T ), T ) + C(t, St; k −D(t, T ), T )∂TP−1(t, T )

∂kCZ(t, Zt, k, T ) = P−1(t, T )∂kC(t, St; k −D(t, T ), T )∂kkCZ(t, Zt, k, T ) = P−1(t, T )∂kkC(t, St; k −D(t, T ), T )

with ∂TP−1(t, T ) = rTP

−1(t, T ) and the local volatility becomes

σ2Z(T, k) =

∂TC(t, St, k −D(t, T ), T ) + qTC(t, St, k −D(t, T ), T ) + (rT − qT )k∂kC(t, St, k −D(t, T ), T )12∂kkC(t, St, T, k −D(t, T ))k2

In order to calculate the local volatility σZ(T, .) we must assume a continuum of call prices C(t0, S0;T,K).However, we do not observe such a continuum of prices in practice and we must rely both on extrapolationand interpolation of market prices. So, in the next section we are going to develop a model which allows usto build such a continuum of call prices in a smooth way and such that the constraints of no-arbitrage intime and space are satisfied.

28

Page 29: A Practical Guide to Implied and Local Volatility

8 The choice of a volatility model

We saw earlier that Dupire’s formula requires the knowledge of call prices for all strikes and maturities.However, in practice we can only observe a few market prices from standard strikes and maturities. For anindex, one can easily obtain more than 100 points (prices or implied volatility) where some of them are listedwhile the others are produced by brokers. On the other hand, there are only a few points for single stock(from 0 to 30) produced only by brokers. These points do not necessary satisfy the no-arbitrage conditions,can have wide or narrow spreads depending on the liquidity on the market and the volume traded. As aresult, the market is incomplete and there are more than one acceptable price (volatility) surfaces satisfyingthe no-arbitrage conditions.

8.1 The standard approach

8.1.1 Presentation

The standard approach is to interpolate and extrapolate market prices or volatilities to complete the market.Practitioners use the Black-Scholes implied volatility and smooth the prices in a parabolic way to generatethe missing prices. However, direct interpolation and extrapolation of implied volatility surfaces does notguarantee a resulting smooth risk-neutral density, hence a proper local volatility surface. As described byDaglish, Hull and Suo in [DHS06], a natural choice would be to perform a Taylor expansion up to the secondorder of the implied volatility surface around the money forward level. In general, the implied volatility ismodeled with a functional form of the smile around the money forward as

Σ(t, St;K,T − t) = f(t, T − t, XT−t

t , Y T−tt , ZT−t

t ;K)

where the processes XT−tt , Y T−t

t and ZT−tt represent respectively the at-the-money volatility, the skew and

the curvature of the smile at time t for call options with maturity T i.e. time to maturity T − t. Usinghistorical data, some authors studied the dynamics of these process. For instance, assuming an Ornstein-Uhlenbeck dynamic for the processes Cont et al in [CF02] explained the deformation of the volatility surface.Alternatively, Bloch et al in [BM02] assumed the parameters to be led by the spot process holding the wholemarket risk. When it comes to generating a volatility surface, the evaluation time t is fixed and practitionersestimate one set of parameters X , Y and Z per trading maturities. Then they rely on some interpolationand extrapolation of parameters in time with no guarantee of satisfying the calendar spread. In the presenceof discrete dividends, it is not an easy task to satisfy the time constraint (3) in the Theorem (4.1). Forexample, we consider the functional form

f(t, T − t,X, Y, Z;K) = X − Y ln(KB(t, T )

St

)+ Z

(ln(KB(t, T )

St

))2

(8.25)

with B(t, T ) = e−r(T−t) andX = Σ(t,KB(t, T );KB(t, T ), T−t), Y = ∂Σ(t,St;K,T−t)∂K and Z = ∂2Σ(t,St;K,T−t)

∂K2 .Note, whatever the shape we take, the smile needs to be caped and floored in the lowest and highest strikesin order to avoid any arbitrage opportunity. If the slope of the smile is to high the implicit pdf can benegative. Quantitatively speaking, the implied risk-neutral probability density derived in Annexe (C.4) isgiven by

φ(ST , T, St, t) =1

ST Σ√

2π(T − t)e− 1

2 d21

((1 + STd1

√T − t ∂Σ

∂K

)2

+ S2T (T − t)Σ

(∂2Σ∂K2

− d1

(∂Σ∂K

)2√T − t

))

with d1 = ln(St/ST )+(r+ 12Σ2)(T−t)

Σ√

T−t. Therefore, if the quantity

29

Page 30: A Practical Guide to Implied and Local Volatility

∂2Σ∂K2

− d1

(∂Σ∂K

)2√T − t

is too negative, which happens when the slope of the smile ∂Σ∂K is to high, the pdf can be negative. This

means that the European call prices are not the result of the expectancy under the risk-neutral measure offuture pay-off and therefore allow for arbitrage opportunities 4.

8.1.2 Example of a parametric smile

Pricing options at strikes not observed in the market is necessary when pricing and hedging exotic derivativeproducts dependent on the entire risk-neutral probability density function of the underlying. The FX smileconstruction and quoting mechanisms being very specific we refer the readers to Reiswich et al in [RW09] formore details and will concentrate on other markets. The standard approach is to extrapolate the prices via theextrapolation of the implied volatility surface. One way forward is to interpolate the smile within the regionof observed prices with a polynomial as was done by Malz in [Mal97] and to cut the volatility outside thatregion, see the function in Annexe (D.4). Alternatively, one can fit with little control a parametric form for theimplied volatility derived from a model which is usually the result of an asymtotic expansion of a stochasticvolatility model, see for examples Hagan et al in [HKLW02] or Bloch in [Blo09bis]. Recently, Benaim etal in [BDK08] proposed an arbitrage-free extrapolation technique in space. They directly extrapolate theprices outside the range of observed prices with a simple convex function of strikes matching the marketprices at the two boundaries as well as their first two derivatives. However, the traders working directlywith the implied volatility, one must rely on inverting the Black-Scholes formula which can be non-trivialfor some strikes and some maturities, see Section (9.5). Instead, we give an example of a parametric impliedvolatility function derived from a Taylor expansion up to the second order around the money forward level.In the same spirit as Benaim et al, we consider in the region of observed prices a piecewise function made ofa polynomial in the moneyness together with an exponential function outside that range.

Given the strike K and the forward price F (t, T ) we get the moneyness m = ξ log KF (t,T ) where ξ is a

scaling factor. We let X be the at-the-money volatility, Y the skew and ZC the call curvature and ZP theput curvature. To avoid any arbitrage opportunity we cap and floor the smile by introducing up and downcutoffs. That is, to avoid infinite volatility in the lowest strikes we cut the smile at K = VL while to avoidnegative volatility in the highest strikes we cut it at K = VR with bounds for limiting the implied volatilitybeing respectively σmax and σmin. We let Σ(T,K) = f(t, T − t,X, Y, ZP , ZC ,K) be the volatility functionfor maturity T and strike K and define in the interval VL < K < VR the parametrised smile as

Σ(K) = X + Y m+[(1 −N(m))ZP +N(m)ZC

]m2

where N(.) is the normal cumulative distribution function. The at-the-money volatility is the level of thesmile, the skew is the slope of the smile at the money forward, the put curvature describe the curvature ofthe smile on the downside while the call curvature does it on the upside. We let k = logK and differentiatethe moneyness, getting

dm

dk= ξ ,

dm2

dk= 2ξm

and to simplify notation we define4In reality the slope of the smile can be higher than the one calculated using the risk-neutral measure as the market is

incomplete. However we restrict ourselves to the complete market assumption.

30

Page 31: A Practical Guide to Implied and Local Volatility

TZ =[(1−N(m))ZP +N(m)ZC

]T

′Z =

dTZ

dk= (ZC − ZP )ξn(m)

T′′Z =

dT′Z

dk= −(ZC − ZP )ξ2mn(m) = −ξmT ′

Z

where n(.) is the normal probability density function such that dn(m)dk = −ξmn(m). The volatility function

becomes

Σ(K) = X + Y m+ TZm2

We then differentiate the volatility function once with respect to the strike k, getting

dΣ(K)dk

= ξY + 2ξmTZ + T′Zm

2

and then twice, getting

d2Σ(K)dk2

= 2ξ2TZ + 4ξT′Zm− ξT

′Zm

3

We let YL = dΣ(K)dk

∣∣K=VL

and ZL = d2Σ(K)dk2

∣∣K=VL

be respectively the skew and the kurtosis of the function

at the down cuttoff K = VL while YR = dΣ(K)dk

∣∣K=VR

and ZR = d2Σ(K)dk2

∣∣K=VR

are the skew and the kurtosisof the function at the up cutoff K = VR. To get a proper local volatility we must ensure that the volatilityfunction is continuous and twice differentiable in space. To do so, at each cutting point the left and rightlimit of the function as well as its first two derivatives must coincide. So in the interval 0 < K < VL we letmL = m

∣∣K=VL

and consider the functional form

Σ(K) = Σ(VL) + (σmax − Σ(VL))(1− e−αL(m−mL)− 1

2 βL(m−mL)2)

so that the volatility is continuous when K = VK and properly behaved in the range [σmax,Σ(VL)]. One ofthe property of that function is that at the cutoff strike VL the volatility is automatically matched and weonly need to solve a set of linear equations to find the parameters αL and βL. To do so, we differentiate thevolatility function once with respect to the strike k, getting

dΣ(K)dk

= ξ(σmax − Σ(VL))(αL + βL(m−mL)

)e−αL(m−mL)− 1

2 βL(m−mL)2

and then twice, getting

d2Σ(K)dk2

= ξ2(σmax − Σ(VL))βLe−αL(m−mL)− 1

2 βL(m−mL)2

− ξ2(σmax − Σ(VL))(αL + βL(m−mL)

)2e−αL(m−mL)− 1

2 βL(m−mL)2

We now need to solve for αL and βL to match the skew and kurtosis of the volatility function at the downcutoff K = VL. In that setting m = mL and the first derivative simplifies to

dΣ(K)dk

∣∣K=VL

= ξ(σmax − Σ(VL))αL = YL

so that we get

31

Page 32: A Practical Guide to Implied and Local Volatility

αL =YL

ξ(σmax − Σ(VL))

Note, for the limitting volatility σmax to be properly specified we must have αL < 0. Similarly, the secondderivative of the functional form simplifies to

d2Σ(K)dk2

∣∣K=VL

= ξ2(σmax − Σ(VL))βL − ξ2(σmax − Σ(VL))α2L = ZL

so that we get

βL =ZL

ξ2(σmax − Σ(VL))+ α2

L

We treat the upside case K > VR in exactly the same fashion. We let the moneyness be mR = m∣∣K=VR

andget the volatility function

Σ(K) = Σ(VR) + (σmin − Σ(VR))(1− e−αR(m−mR)− 1

2 βR(m−mR)2)

where the parameters αR and βR are calculated in the same way as on the downside and given by

αR =YR

ξ(σmin − Σ(VR))

βR =ZR

ξ2(σmin − Σ(VR))+ α2

R

Again, for the limitting volatility σmin to be properly specified we must have αR > 0.

8.1.3 Alternative approaches

Combining the knowledge of the model price (see Equation (6.19)) and the implied volatility in a functionalform, we can derive the local volatility in a quasi closed-form solution, see Appendix (C). However, fromthe definition of Dupire’s formula we see that we need the first and second derivatives of the call priceswith respect to strike to be continuous for the local volatility to be continuous in the stock price. Moreover,the call prices must be once differentiable with respect to time and must satisfy the no-arbitrage conditionsgiven in Section (4.5). As explained by Overhaus et al in [OBBFJL07], satisfying these conditions whenexpressed in terms of implied volatilities is non trivial. Alternatively, the no-arbitrage conditions on thelocal volatility being simply that it must be positive and Lipschitz continuous, one can assume a particularfunctional form for the local volatility and fit it to market prices. For example, in the case of deterministicrates, Ben Hamida et al introduced in [BC04] the parametrisation of a set of admissible local volatilitysurface. They considered a cubic spline with ten spline nodes per maturity. However, in the presence ofstochastic rates it becomes more complex as one has to bootstrap both the local volatility together with theprobability distribution function in a PDE. Instead, we are directly going to assume a functional form forthe market prices and solve a non-linear programming problem under constraints.

8.2 The parametric model

In a market with a limited number of prices, a model of interpolation and extrapolation of the volatilitysurface should have few parameters with the ability of mapping a large family of surfaces. Among thedifferent techniques proposed for obtaining from market prices a smooth volatility surface, Rebonato et alin [RC04] argued that modeling directly the density was the most desirable approach. They extended themixture of normals approach proposed by Alexander in [Ale01], obtaining a density with non-zero skew and

32

Page 33: A Practical Guide to Implied and Local Volatility

satisfying the risk-neutral forward condition while retaining an unconstrained numerical search. However, inmarkets with long maturity products and discrete dividends such as the Japanese market, it is important formodel pricing to obtain a reliable volatility surface satisfying the no-arbitrage constraint not only in spacebut also in time. So, we intend to generate a surface without arbitrage in time and in space as closely aspossible to market data. We are going to use a model which was first initiated by the GRM and improvedover time. That model was developed with the help of students who had to write a report for their schools,namely Tankov in [Tan00] and Baude in [Beau01] and was detailed by Baude et al in [BR02]. We are nowgoing to describe that model and emphasise the necessary improvements to fit a large family of surfaces withvery long maturities.

Considering the Remark (3.2) and given the framework described in Section (4) to represent the stockprice with discrete dividends, we are going to use a parametric representation of the market call prices inorder to smooth the data and get nice probability distribution function (pdf). To compensate the loss ofprecision due to the use of a parametric model and since each volatility surface to fit is different, we needa model with a varying number of parameters to control the level of accuracy. Therefore, we consider aweighted sum of interpolation functions taken in a parametric family. We want each function to satisfy theno-free lunch constraints in such way that they are preserved in the weighted sum. Hence, in our parametricmodel, the market option price CM (K,T ) of strike K and maturity T is estimated at time t0 = 0 by theweighted sum

CM (t0, S0, B(0, T ), R(0, T ), D(0, T );K,T ) =n∑

i=1

ai(T )Fi(t0, S0, PT , RT , DT ;K,T )

where ai(t) are the weights and where Rt = Re(0, t) is the repo factor between [0, t], Pt = B(0, t) = e−rt

is the zero-coupon bond price, Ct = C(0, t) = Rt

Ptis the cost of carry and Dt = D(0, t) is the compounded

sum of discrete dividends between [0, t]. Several families Fi can satisfy the No-Free-Lunch constraints, forinstance a sum of lognormal distribution, but in order to match a wide variety of volatility surfaces the modelhas to produce prices that lead to risk-neutral pdf of the asset prices with a pronounced skew. If all thedensities are centered in the log-space around the forward value, one recover the no-arbitrage forward pricingcondition but the resulting pricing density will not display skew. Centering the different normal densitiesaround different location coefficients (found appropriately) and constraining the weights to be positive, wecan recover the skew. Since we can always convert a density into call prices, we can then convert a mixtureof normal densities into a linear combination of Black-Scholes formula, see Brigo et al in [BM00]. Therefore,we can achieve that goal with a sum of shifted log-normal distributions, that is, using the Black-Scholesformula with shifted strike (modified by the parameters µi(t)) as an interpolation function

Fi(t0, S0, PT , RT , DT ;K,T ) = CallBS(t0, S0, RT , PT ,K′(K,T )(1 + µi(T )), T, σi(T ))

= PTCallBlack(t0, S0CT ,K′(K,T )(1 + µi(T )), T, σi(T ))

whereK′(K, t) = K+Dt described in Section (6.3) with Black-Scholes price CallBS(t0, S0, RT , PT ,K, T, σ) =

C(t0, S0,K, T ) and such that the time function t→ σi(t) is regular enough. The no-arbitrage theory imposestime and space constraints on market prices, see Section (4.5). Hence, the time dependent parameters ai(t)and µi(t) are used to recover the time structure of the volatility surface. Indeed, if the parameters µi aretaken constant then when t→ 0 the pdf of the equity price tends to a weighted sum of n-Dirac distributionwhereas it should tend toward a single Dirac. So, making µi function of time such that it tends to zero whent→ 0 will solve the problem. In general, when the parameter µi is a function of time, for the no-free lunchconstraints to be satisfied we must impose

n∑i=1

ai∂µi

∂t= 0 for all t

33

Page 34: A Practical Guide to Implied and Local Volatility

The simplest way to ensure that condition is to take the same time dependency for each µ, that is, µi(t) =µif(t). We want to choose a parametric form for f(t) with limit cases when the time tends zero or to infinity.In that case, since we can control with the parameters µi the value of the limit of µif(t) when t→ +∞ wechose to let the function f(t) tend to 1 when t→ +∞, getting

f(t, β) = 1− 21 + (1 + t

β )2

To increase control of the model we let each function Fi have its own parameter beta so that the function fbecomes fi = f(t, βi). However, there is no more simple way of proving that the calendar spread is satisfied.Moreover, to keep manageable the no-free lunch constraints, we make the weight ai(t) proportional to a0

i

f(t,βi)

for some constant a0i > 0 getting the representation

µi(t) = µ0i f(t, βi) and ai(t) =

a0i

f(t, βi)× normwhere norm =

∑ni=1

a0i

f(t,βi). Making the weights and the shift parameter time-dependent to fit a large class

of volatility surfaces leads for all time t to the following no-free lunch constraints

• ai(t) ≥ 0 to get convexity of the price function

•∑n

i=1 ai(t) = 1 to get a normalised risk-neutral probability

•∑n

i=1 ai(t)µi(t) = 0 to keep the martingale property of the induced risk-neutral pdf

• µi(t) ≥ −1 to get non-degenerate functions

Fortunately, with seperable functions of time the above constraints simplify to

a0i ≥ 0 (8.26)

n∑i=1

a0iµ

0i = 0

µ0i ≥ −1

The model being invariant when multiplying all the terms a0i with the same factor, we impose the nor-

malisation constraint∑n

i=1 a0i = 1 to avoid different parameter sets to give the same model. Given the n

parameters βi and assuming a constant volatility σi(t) = σ0i , there are 4n− 2 free parameters for n-function

model since we can always write a01 = 1−∑n

i=2 a0i and a0

1µ01 = −∑n

i=2 a0iµ

0i . As such, this model does not

allow for the control of the long term volatility surface. Therefore, for our model to be complete we needto specify the time-dependent volatility σi(t) to capture the term structure of the implied volatility surface.We choose a simple function close to f(x) = ax−α + b but without explosion when the time to maturityapproaches zero, that is

σi(t) = aie−cit + di

for ci, ai and di positive constants. So far, the volatility structure given by the function σi(t) is exponentiallydecaying with respect to time as is most of the volatility surfaces but it does not allow for any kind of hump.To get a more general volatility function, we can naturally re-express it as

σi(t) =(ai + bit

)e−cit + di

34

Page 35: A Practical Guide to Implied and Local Volatility

but we must impose bi ≥ 0 for σi(.) to remain positive, generating only upward humps. However, if thereare humps in the volatility surfaces they tend to be downwards humps. Therefore, we are going to considerthe function

σi(t) = aie−cit + dif(t, bi)

for some positive constant bi. It has nice properties and remains positive at all time. The function decomposesinto two parts, a decreasing and an increasing function which when combined produces a hump curve. As aresult, we can therefore write at time t0 = 0 the parametric model for a call option price of maturity t as

CM (t0, S0, Pt, Rt, Dt;K, t) =1

norm

n∑i=1

ai(t)CallBS(t0, S0, Rt, Pt,K(K, t), t, σi(t)) (8.27)

where K(K, t) = K′(K, t)(1 +µi(t)) and ai(t) = a0

i

f(t,βi). Alternatively, we saw in Annexe (A.2) that there is

different ways to write the Black-Scholes formula. That is, setting the spot rate to zero in that formula anddiscounting the strike K(K, t) = K

′(K, t)B(0, t) so that K(K, t) = K(K, t)(1 + µi(t)) we can use Equation

(A.33) to rewrite each function of the model price as

CallBS(t0, S0, Rt, Pt,K(K, t), t, σi(t)) = CallBS(t0, S0, Rt, 1, K(K, t), t, σi(t))

Remark 8.1 This model requires a reasonable number of points to produce its results. For example, with14 parameters to find, it is quite dangerous to put only a limited number of data in the calibration set. 50points at least is safe.

8.3 Greeks in the parametric model

We described in Section (4) a few dynamics of stock price with discrete dividends and we presented in Section(8.2) a parametric model for generating a continuum of market prices. Using that model, we are now goingto calculate the elements of their respective local volatility given in Section (4.3). We saw in Section (6) thatwhen we choose to diffuse the process Yt or Zt then the strikes k = K+Dt

Ctor k = K +Dt have a fixed value.

We know that it is equivalent to working in the S-space with strikes being respectively K = Ctk − Dt orK = k −Dt. Therefore, we can differentiate the model price CM (k, t) accordingly to recover the respectivelocal volatilities.

8.3.1 The Z-spot model

We recall our notation for manipulating the strike with discrete dividends in the call price given in Equation(8.27), that isK(K, t) = K

′(K, t)(1+µi(t)) whereK

′(K, t) = K+Dt. In order to work directly with the zero-

coupon bond prices, we set the spot rate to zero and discount the strike, getting K(K, t) = K(K, t)(1+µi(t))where K(K, t) = K

′(K, t)B(0, t). In our framework it is equivalent to setting the spot rate to zero in the

Black-Scholes formula and discounting the strike. So, using Equation (A.33) we can rewrite each function ofthe model price as

CallBS(t0, S0, Rt, Pt,K(K, t), t, σi(t)) = CallBS(t0, S0, Rt, 1, K(K, t), t, σi(t))

The model price being in the S-space, we use Equation (6.22) to modify its strike to K = k −Dt, gettingthe market price

C(t0, S0; k −Dt, t) =1

norm

n∑i=1

ai(t)CallBS(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

where

35

Page 36: A Practical Guide to Implied and Local Volatility

K′(k −Dt, t) = k

so that we have K(k −Dt, t) = B(0, t)k and K(k −Dt, t) = B(0, t)k(1 + µi(t)). Therefore, using the chainrule, the theta of the parametric model calculated at time t0 = 0 and with maturity t is

∂CM (k −Dt, t)∂t

=( 1norm

)′CM (k −Dt, t)norm

+1

norm

( n∑i=1

a′i(t)CallBS(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

+n∑

i=1

ai(t)dK(k −Dt, t)

dt

∂CallBS

∂K(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

+n∑

i=1

ai(t)σ′i(t)

∂CallBS

∂σi(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

+n∑

i=1

ai(t)∂CallBS

∂t(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

)

where the derivatives with respect to time t are

a′i(t) = − a0

i

f2i (t, βi)

dfi

dt(t, βi)

and

[1 + µi(t)]′= µ0

i

dfi

dt(t, βi)

so that

dK(k −Dt, t)dt

= −rtK(k −Dt, t) +B(0, t)k[1 + µi(t)]′

We can now compute the density ∂2CM

∂K2 (t, x,K, T ) = B(t, T )Et[δ(x −K)] of a call price in the parametricmodel. Using the chain rule 5 we set f(.) = CallBS(.) and g(x) = K(k −Dt, t) = B(0, t)k(1 + µi(t)) withderivative dK(k−Dt,t)

dk = B(0, t)(1+µi(t)). Then the first derivative of the call price with respect to the strikek is

∂CM (k −Dt, t)∂k

=1

norm

n∑i=1

ai(t)B(0, t)(1 + µi(t))∂CallBS

∂K(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

while the second derivative of the call price with respect to the strike k is

∂2CM (k −Dt, t)∂k2

=1

norm

n∑i=1

ai(t)(B(0, t)(1 + µi(t))

)2 ∂2CallBS

∂(K)2(t0, S0, Rt, 1, K(k −Dt, t), t, σi(t))

5 ∂∂x

f(g(x)) = ∂∂g(x)

f(g(x))dg(x)dx

36

Page 37: A Practical Guide to Implied and Local Volatility

8.3.2 Greeks in the Y-model

Similarly, in the Y-model the fixed strike being k = K+Dt

Ct, the strike in the model price becomes K =

Ctk −Dt. Again, we set the spot rate to zero in the Black-Scholes formula and multiply the strike with thediscount factor, getting the market price

C(t0, S0;Ctk −Dt, t) =1

norm

n∑i=1

ai(t)CallBS(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

where

K′(Ctk −Dt, t) = Ctk

so that we have K(Ctk −Dt, t) = Re(0, t)k and K(Ctk −Dt, t) = Re(0, t)k(1 + µi(t)). The first derivativeof the modified call price with respect to the strike k calculated at time t0 = 0 and of maturity t is

∂CM (Ctk −Dt, t)∂k

=1

norm

n∑i=1

ai(t)Re(0, t)(1 + µi(t))∂CallBS

∂K(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

and the second derivative with respect to the strike k is

∂2CM (Ctk −Dt, t)∂k2

=1

norm

n∑i=1

ai(t)Re2(0, t)(1 + µi(t))2∂2CallBS

∂(K)2(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

We now compute the theta of the parametric model calculated at time t0 = 0 and of maturity t as

∂CM (Ctk −Dt, t)∂t

=( 1norm

)′CM (Ctk −Dt, t)norm

+1

norm

( n∑i=1

a′i(t)CallBS(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

+n∑

i=1

ai(t)(Re(0, t)k(1 + µi(t)))′ ∂CallBS

∂K(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

+n∑

i=1

ai(t)σ′i(t)

∂CallBS

∂σi(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

+n∑

i=1

ai(t)∂CallBS

∂t(t0, S0, Rt, 1, K(Ctk −Dt, t), t, σi(t))

)

where (Re(0, t)k(1 + µi(t)))′= −qtRe(0, t)k(1 + µi(t)) +Re(0, t)kµ0

idfi

dt (t, βi).

8.4 Link to the uncertain-volatility model

In light of the results given in Section (3.4.3) and Section (3.4.4) and from the parametric model in Equation(8.27) we can deduce that there exists a one-dimensional process Xi(t) valued in the open subset D withdynamics under the risk-neutral measure Q being

dXi(t) = σi(t)(Xi(t) + αi(t)

)dW (t) for i = 1, ..,m

37

Page 38: A Practical Guide to Implied and Local Volatility

where αi(t) is the parametric displacement function and σi(t) is a deterministic function of time. This processis nothing more than the process Yt given in Section (4.3) with local volatility being σY (t, x) = σi(t)(x+αi(t))

x .Taking into account the shifted lognormal marginal distributions of the processes, the SDE resulting fromsuch coefficients is

dSt

St= σmix(t, St)dW (t)

with local volatility being a function of the shifted lognormal densities and computed in Section (8.3).Similarly to Brigo in [Bri02] we can show that there exists of a close relationship between the mixturediffusion dynamics above and the uncertain volatility mixture dynamics given by

dSt

St= ξ(t)dW (t)

where

(t→ ξ(t)) =

⎧⎪⎨⎪⎩

(t→ σ1(t)(St+α1(t))St

) with probability λ1

...

(t→ σm(t)(St+αm(t))St

) with probability λm

where ξ is a random variable independent from W and drawn at time ε > 0. Applying Gyongy’s resultsin Section (3.1) the shifted lognormal mixture diffusion dynamics is the local volatility version of the aboveuncertain volatility mixture dynamics.

9 Calibration to the Implied Volatility Surface

This section owes a lot to Cont and Tankov in [CT02] and we are thankful to them.

9.1 The general idea

For every model that one can define (see Section (8)), we need to estimate the model parameters from theimplied volatility surface. It leads to an ill-posed inverse problem. It is ill-posed because the inversion is notstable and amplifies market data errors in the solution. To be more precise, letting x be the vector of modelparameters and y be the vector of market prices, we want to solve

Tx = y

where T is an operator with inverse T−1 which is not continuous. The operator T−1 can be found by solving

||Tx− y||2

The ill-posness of the problem means that a small error on market data y can lead to a big error on thesolution (model parameters) x. Regularisation techniques allow one to capture the maximum informationon x from the set y in a stable fashion. See Tankov in [Tan05] for details on regularisation techniques.

9.2 The calibration problem

Using market prices, we need to estimate the vector Ψ of model parameters in order to price exotic options.This amount to solving the following inverse problem.

38

Page 39: A Practical Guide to Implied and Local Volatility

Problem 1 Given prices Ct(Ti,Ki) for i ∈ I, find the vector Ψ of model parameters such that the dis-counted asset price St = e−rtSt is a martingale and the observed option prices are given by their risk-neutralexpectations

∀i ∈ I , Ct(Ti,Ki) = e−r(T−t)EΨ[(S(Ti)−Ki)+|St = S]

That is, we need to retrieve the risk-neutral process and not just the conditional densities (European prices)which is equivalent to a moment problem for the process S. If we new option prices for one maturityand all strikes we could compute the risk-neutral distribution of the logarithm price and deduce the modelparameters. We would then compute option prices for any other maturity meaning that we can not gainfurther information from prices of other maturities.

As explained in Section (8.2), in practice we do not know call and put prices for all strike prices but onlyfor a finite number of them. Depending on the markets considered this number varies from few option pricesto over 250 prices. Therefore, extrapolation and interpolation is needed and one can only get a solution atbest approximately verifying the constraints. It is typically an ill posed problem as there may be either nosolution at all or an infinite number of solutions. Therefore, one need to use additional criterion to choosea solution. It means that we need to reformulate the calibration as an approximation problem, for instanceminimising the in-sample quadratic pricing error

Ψ∗ = arg infΨJ (Ψ) (9.28)

J (Ψ) =n∑

i=1

wi

∣∣Pt(Ti,Ki)− Ct(Ti,Ki; Ψ)∣∣2

where wi is a weight associated to each market option price. The weights are positive and must sum to one.They should reflect our confidence in individual data points which is determined by the liquidity of a givenoption. The optimisation can be solved with a gradient-based method. In that case we can always find asolution but the minimisation function is not convex and the gradient descent may not succeed in locatingthe minimum. We will detail in Section (10) an alternative approach to solving non-linear programmingproblems under constraints that do not require computing the gradient of the model. In general we donot know with certainty if the objective function has a unique global minimum and if it exists if it can bereached with a gradient based method. Many model parameters can reproduce the call prices with equalprecision due to many local minima or flat region (low sensitivity to variations in model parameters). Itmeans that the model is very sensitive to the input prices and the starting point in the algorithm. Note, thenumber of parameters to calibrate is less important from a numerical point of view than the convexity of theobjective function to minimise in a gradient based method. Non-Linear Least Square solution does not resolvethe uniqueness and stability issues. The inverse problem remains ill-posed. In order to circumvent thesedifficulties various authors proposed different regularisation methods all consisting in adding to the objectivefunction a penalisation criterion. As a result, it makes the problem well-posed and allow for gradient-basedoptimisation algorithm. We will not discuss these criterions in detail and will refer the readers to Cont et alapproach in [CT02] where they relied on relative entropy minimisation.

We choose to estimate the vector Ψ of model parameters implicitly by minimising, given a measure, thedistance between the liquid market price Pt(Ti,Ki) and the model price Ct(Ti,Ki) for i ∈ I where I is thetotal number of market prices considered.

Obviously we need to define a measure and for simplicity we will only expose the optimisation problem

39

Page 40: A Practical Guide to Implied and Local Volatility

Ψ∗ = arg infΨJ (Ψ) (9.29)

J (Ψ) =n∑

i=1

wi

∣∣Pt(Ti,Ki)− Ct(Ti,Ki; Ψ)∣∣2 + αH(Q,Q0)

whereH is a measure of closeness of the model Q to a prior Q0. Many choices are possible for the penalisationfunction H . To get uniqueness and stability of the solution, the function should be convex with respect tothe model parameters. So, the target function is made of two components

1. penalisation function convex in model parameters Ψ

2. quadratic pricing error measuring the precision of calibration

The coefficient α is the regularisation parameter and defines the relative importance of the two terms suchthat when α → 0 we recover the standard Least Square Error which is no-longer a convex function. If α islarge enough, the target function inherits the convexity properties of the penalising function and the problembecomes well-posed. The correct choice of α is important and can not be fixed in advance since its optimalvalue depends on the data and on the level of error δ one wants to achieve.

9.3 From prices to volatilities

The weights in Equation (9.29) reflect the relative importance of reproducing different option prices precisely,they must be positive and sum up to one. They may reflect the width of corresponding bid-ask intervals

wi =1

|P bidt (Ti,Ki)− P ask

t (Ti,Ki)|For options around the money the order of magnitude of the bid-ask is of tens of basis points, that is< 1%. In order to have errors proportional to bid-ask spreads, we therefore must minimise the difference ofimplied volatilities rather than the difference of prices. However, it involves numerical inversion of Black-Scholes formula at each step which might takes a lot of time. Given the previous problem we can weightthe difference in prices such that its order of magnitude correspond to the difference in volatility. Given amaturity Ti and a strike Ki, we denote the difference at time t between the market price and the model priceas

∆Dt = Pt(Ti,Ki)− Ct(Ti,Ki; Ψ)

Since the market price can be expressed in terms of the Black & Scholes volatility σBS(Ti,Ki), we canapproximate the difference in prices as

∆Dt ≈ ∂Pt(Ti,Ki)∂σBS(Ti,Ki)

∆σ(Ti,Ki)

where ∆σ(Ti,Ki) = σP (Ti,Ki)− σC(Ti,Ki). In that case, the optimisation function becomes

J (Ψ) =n∑

i=1

wi

∣∣σP (Ti,Ki)− σC(Ti,Ki)∣∣2 + αH(Q,Q0)

where

wi = wi

( ∂Pt(Ti,Ki)∂σBS(Ti,Ki)

)2

40

Page 41: A Practical Guide to Implied and Local Volatility

which is expressed in volatility. Therefore, we can modify the optimisation in price as

J (Ψ) =n∑

i=1

wi

∣∣max (∂σBS(Ti,Ki)∂Pt(Ti,Ki)

, 100)(Pt(Ti,Ki)− Ct(Ti,Ki; Ψ))∣∣2 + αH(Q,Q0)

to re-expresse it in volatility and where max(., .) is used to avoid overweighting of options very far from themoney. Put another way

n∑i=1

∣∣σP (Ti,Ki)− σC(Ti,Ki)∣∣2 ≈ n∑

i=1

∣∣∂σP (Ti,Ki)∂Pt(Ti,Ki)

(Pt(Ti,Ki)− Ct(Ti,Ki; Ψ))∣∣2

9.4 The regularisation function

The regularisation function H(Ψ,Ψ0) is a positive function satisfying H(Ψ,Ψ0) ≥ 0 and H(Ψ0,Ψ0) = 0 andit must be a convex function. So, for sufficiently large α the optimisation function J (Ψ) can be made globallyconvex, improving the performance of most numerical optimisation schemes using a gradient based method.However, the penalty may influence the loss function too much, leading to biased parameters. There aremany choices to get such a function but to obtain stability in model prices from one day to the next wechoose to relate the vector of model parameters to its previously estimated values at time t − 1. SettingΨ0 = Ψt−1, the regularisation function becomes

H(Ψ,Ψt−1) = |Ψ−Ψt−1|L2

which is the L2 norm of the difference of the two vector of model parameters. This penalty should improvehedging as the paths of the estimated parameters are now smoothed over time.

An alternative approach to solving for the vector of model parameters Ψ0 is to solve the standard leastsquares method in Equation (9.28) getting Ψ∗

0. The objective function not being convex, a simple gradientprocedure will not give the global minimum. However, the solution (Ψ0,Q0) will be iteratively improvedand should be viewed as a way to regularise the optimisation problem in Equation (9.29). We can define ameasure of model error ε(Ψ0,Q0) = ε0 which represent the distance of market prices to model prices andgives an a priori level of quadratic pricing error. This error is typically positive, that is ε0 > 0. Now, giventhe regularisation parameter α > 0 we get the solution (Ψα,Qα) with the a posteriori quadratic pricingerror given by ε(Ψα,Qα). Note we expect εα > ε0 since by adding the entropy term we have given up someprecision to gain in stability. The Morozov discrepancy principle consists in minimising this loss of precisionthrough regularisation by choosing α∗ such that

ε(Ψα,Qα) ≈ ε0Practically, the a priori error is

ε20 = infΨ0

n∑i=1

wi

∣∣Pt(Ti,Ki)− Ct(Ti,Ki; Ψ0)∣∣2

So, for δ > 1, for example δ = 1.1 we solve

ε(Ψα,Qα) = δε0

Since the optimisation problem in Equation (9.29) is a differentiable function of α, we can get the solutionα∗ with a small number of iterations using the Newton-Raphson method.

41

Page 42: A Practical Guide to Implied and Local Volatility

9.5 Inverting the Black-Scholes formula

We saw that to calibrate the model parameters to market prices we need to estimate the Black-Scholesvolatility a large number of time quickly and precisely. To do so we need to solve the nonlinear Equation(A.31) with respect to σ given the market price. As there is no closed-form solution for the implied volatilitya numerical solution can be obtained by iterative algorithms using the Newton approximation, see Annexe(A.4). However, iterative algorithms having many shortages such as explosion when the gradient tends tozero, it lead researchers to develop formulas to find the approximated implied volatility. Curtis et al in[CC88] considered the special case where the discounted strike price K = KB(t, T ) is exactly equal to thepresent stock price times the repo bond. In that setting the Black-Scoles formula becomes

CBS(t, x,xRe(t, T )B(t, T )

, T ) = xRe(t, T )(2N(

σ√T − t2

)− 1)

which can be solved for the volatility as

σ =2√T − tN

−1(CBS + xRe(t, T )

2xRe(t, T ))

In that setting, Brenner et al in [BS88] used a first order Taylor polynomial approximation for the inversestandard normal distribution around 1

2 and obtained the volatility approximation

σ ≈√

2πT − t

CBS

xRe(t, T )

Later, using a higher order Taylor expansion, Corrado et al in [CM96] extended that result to cases wherestock prices deviate from discounted strike prices, getting the volatility

σ ≈√

2πT − t

1xRe(t, T ) +K

[CBS − xRe(t, T )−K

2+

√(CBS − xRe(t, T )−K

2)2 − (xRe(t, T )−K)2

π

]For short maturities and strikes away from the money, the terms inside the square root may become negative.The approximation is accurate enough in the domain η ∈ [0.9, 1, 1] for maturities greater than three monthsand in the domain η ∈ [0.95, 1, 05] if the maturity is longer than one month. Isengildina-Massa et al in[IMCBN07] studied various implied volatility approximations and concluded that Corrado et al methodyields relatively more accurate results than other methods when call premiums are used. Increasing therange of the domain, Liang et al in [LT09] gave under certain conditions an approximation of the impliedvolatility with an error estimate for it. They first averaged the Black-Scholes terms di for i = 1, 2, to d3

and performed a Taylor expansions of N(d1) and N(d2) around d3. That is, assuming d3 close to zero andξ

|d3| ≤ 1 or equivalently η ∈ [0.1, 2], they expanded the pricing formula given in Equation (A.32) getting rid ofthe factor 1

1−η and decreasing the approximation error. Then they performed a Taylor expansions of N(d3)

and N′(d3) around zero and approximated the pricing formula in Equation (A.32) with CBS(t, x,K, T ) =

g3(d3(T − t, xC(t, T ),K)) with

g3(d3(T − t, xC(t, T ),K)) =12

+4−m4√

2πd3 +

m

2√

2π1d3

The function g3(.) being an approximation of g1(.), its solution d3 obtained by solving a quadratic equationis itself an approximation to d3 given by

d3 =

⎧⎨⎩

−√2π(1−2CBS(t,x,K,T ))−

√2π(1−2CBS(t,x,K,T ))2−2m(4−m)4−m if 0.1 < η < 1

−√2π(1−2CBS(t,x,K,T ))+

√2π(1−2CBS(t,x,K,T ))2−2m(4−m)4−m if 1 < η < 2

42

Page 43: A Practical Guide to Implied and Local Volatility

Since σ = − log η√T−t

1d3

the approximated implied volatility σ(T,K) is given by

σ(T,K) = − log η√T − t

1d3(T − t, xC(t, T ),K)

(9.30)

This formula being an approximation to the implied volatility, it may not be accurate enough for certainstrikes and maturities. Therefore we use the iterative algorithm discussed in Annexe (A.4) but with the firstguess given by Equation (9.30).

10 Nonlinear programming problems with constraints

11 Introduction

Since the Black-Scholes model in [BS73], market prices of index options and foreign exchange options havereached a high degree of liquidity such that they became the benchmark to mark to market or calibrateoption pricing models for pricing and hedging exotic options (see Problem (1)). As explained in Section (1)this is done by parametrising the pricing measure with some parameter vector Ψ and inferring its value frommarket prices. Market practice is to solve the optimisation problem in Equation (9.28) with a gradient-basedminimisation method to locate the minima. In an incomplete market, a deterministic optimisation methodwill at best locate one of the local minima of the fitting criterion but will not guarantee the global minimaand will not acknowledge the multiplicity of solutions of the initial calibration problem. To overcome theseissues, Ben Hamida et al in [BC04] introduced a stochastic optimisation algorithm which generates a randomsample from the set of global minima of the in-sample error and allow for the existence of multiple globalminima. The population of parameters is updated through cycles of independent random moves followed byselection according to pricing performance. Parametrising a set of admissible local volatility surface, theyused an Evolutionary Algorithm (EA) to calibrate a local volatility diffusion model to a finite set of optionprices. As explained in Section (8.2) we chose instead to parametrise a mixture of shifted lognormal densitiesunder constraints. We therefore need to devise an evolutionary algorithm that handle constraints in a simpleand efficient way. This is what we are going to focus on in the rest of the section.

11.1 Defining the problems

We consider the system with the real-valued properties

gm for m = 0, .., P − 1

which makes the objectives of the system to be optimised. Given a N -dimensional vector of real-valuedparameter X ⊂ RN the optimisation problem can always be written as

min fm(X)

where fm(.) is a function by which gm is calculated and where each element X(i) of the vector is boundedby lower and upper limits Li ≤ X(i) ≤ Ui which define the search space S. Theory on multi-objectivesoptimisation has been developed by various authors, see Coello Coello in [Coe99] for a detailed survey. Wefollow Lueder in [Lu90] who showed that all functions fm(.) can be combined in a single objective functionH : X ⊂ RN → R expressed as the weighted sum

H(X) =P∑

m=1

wmfm(X)

43

Page 44: A Practical Guide to Implied and Local Volatility

where the weighting factorswm define the importance of each objective of the system. Hence, the optimisationproblem becomes

minH(X)

so that all the local and global minima (when the region of eligibility in X is convex) can be found. However,since the problems of calibration in finance involves a single objective function, the optimisation functionsimplifies. Most complex search problems such as optimisation problems are constrained numerical problem(CNOP) more commonly called general nonlinear programming problems with constraints given by

gi(X) ≤ 0 , i = 1, .., phj(X) = 0 , j = 1, .., q

Equality constraints are usually transformed into inequality constraints by

|hj(X)| − ε ≤ 0

where ε is the tolerance allowed. F is the set of all solutions satisfying the constraints of the problemscalled the feasible region. Many practical problems have objective functions that are non-differentiable,non-continuous, non-linear, noisy, multi-dimensional and have many local minima. This is the case ofthe calibration problem defined in Section (1). Evolutionary algorithms (EAs) introduced by Holland in[Hol62] and later in [Hol75] as well as by Fogel in [Fog66] are robust and efficient optimisation algorithmsbased on the theory of evolution proposed by Darwin in [Dar82], where a biological population evolvesover generations to adapt to an environment by mutation, recombination and selection. They search frommultiple points in space instead of moving from a single point like gradient-based methods do. Moreover,they work on function evaluation alone (fitness) and do not require derivatives or gradients of the objectivefunctions. Since EAs are search engines working in unconstrained search spaces they lacked until recently ofa mechanism to deal with the constraints of the problems. The first attempts to handle the constraints wasto incorporate methods from mathematical programming algorithms within EAs such as penalty functions.Then, a considerable amount of research proposed alternative methods to improve the search of the feasibleglobal optimum solution. Among the different EA’s commonly used to solve CNOPs such as evolutionaryprogramming, evolution strategies, genetic algorithm and many more, differential evolution (DE) becamevery popular. DE is a population-based approach to function optimisation generating a new position foran individual by calculating vector differences between other randomly selected members of the population.Most of the research on DE focused on solving CNOPs by using a sole DE variant, a combination of variantsor combining DE with another search method. One of the most popular constraint handling mechanisms isthe use of the three feasibility rules proposed by Deb in [Deb00] on genetic algorithms.

11.2 The DE algorithm

The Differential Evolution (DE) proposed by Storn and Price in [StPr95] is an algorithm that can findapproximate solutions to nonlinear programming problems. It is a parallel direct search method which usesNP parameter vector

Xi,G for i = 0, .., NP − 1

as a population for each generation G like any evolutionary algorithms. Each of the NP parameter vectorsundergoes mutation, recombination and selection.

44

Page 45: A Practical Guide to Implied and Local Volatility

11.2.1 The mutation

The role of mutation is to explore the parameter space by expanding the search space. For a given parametervector Xi,G called the Target vector, the DE generates a Donor vector V made of three or more independentparent vectors Xrl,G for l = 1, 2, ... The main idea is to perturbate the Base vector V with a weighteddifference vector (called differential vectors)

V = V + F∑l=1

(Xr2l−1,G −Xr2l,G

)where the mutation factor F is a constant taking values in [0, 2]. It scales the influence of the set of pairsof solutions selected to calculate the mutation value. By computing the difference between two individualsrandomly chosen from the population, the algorithm is actually estimating the gradient in that zone ratherthan in a point. Most of the time, the Base vector is defined as

V = λXbest,G + (1− λ)Xr1,G

where λ ∈ [0, 1] allows for a linear combination between the best element Xbest,G of the parent populationvectors and a randomly selected vector Xr1,G. This is called the global selection. When the base vector isthe same as the target vector, Xr1,G = Xi,G we get a local selection.

11.2.2 The recombination

Recombination incorporates successful solutions from the previous generation. That is, according to a rule,we combine elements of the Target vector Xi,G with elements of the Donor vector Vi,G to create an offspringcalled the Trial vector Ui,G. In order to increase the diversity of the parameter vectors, elements of theDonor vector enter the Trial vector with probability CR. In the DE algorithm, each element of the Trialvector satisfies

Ui,G(k) = Vi,G(k) for k = n mod dim, (n+ 1) mod dim, ..., (n+ L− 1) mod dim= Xi,G(k) for all other k ∈ [0, .., N − 1]

where dim is the dimension of the vector V (here dim = N) and the starting index n is a randomly choseninteger from the interval [0, dim − 1]. A certain sequence of the element of U is equal to the element ofV while the other elements get the original element of Xi,G. We only choose a subgroup of parameters formutation which is equivalent to cross-over. It is used to enhance the search in parameter space. The integerL denotes the number of parameters that are going to be exchanged and is drawn from the interval [1, dim]with probability

P (L > ν) = (CR)ν , ν > 0

The term CR ∈ [0, 1] is the crossover factor and is like a control variable for the DE-scheme. It controls theinfluence of the parent in the generation of the offspring. A higher value means less influence of the parent.

11.2.3 The selection

The tournament selection only needs part of the whole population to calculate an individual selection proba-bility where subgroups may contain two or more individuals. In the DE algorithm, the selection is determin-istic between the parent and the child. The best of them remain in the next population. We compute theobjective function with the original vector Xi,G and the newly created vector Ui,G. If the value of the latteris smaller than that of the former, the new Target vector Xi,G+1 is set to Ui,G otherwise Xi,G is retained

45

Page 46: A Practical Guide to Implied and Local Volatility

Xi,G+1 = Ui,G if H(Ui,G) ≤ H(Xi,G) , i = 1, .., NP= Xi,G otherwise

Mutation, recombination and selection continue until some stopping criterion is reached. The mutation-selection cycle is similar to the prediction-correction step in the EM algorithm or in the filtering problems.

11.2.4 Convergence criterions

We allow for different convergence criterion in such a way that if one of them is reached, the algorithmterminates. We let fmin be the fittest design in the population and define fa,G = 1

NP

∑NPi=1 f(Xi,G) as the

average objective value in a generation. Then, when the percentage difference between the average valueand the best design reaches a specified small value ε1

|fa,G − fmin||fa,G| × 100 ≤ ε1

we terminate the algorithm. Also, we let fminOld be the fittest design in the previous generation and consideras a criterion the difference

fminOld − fmin < ε2

where ε2 is user defined. In that case, the DE algorithm will continue until there is no appreciable improve-ment in the minimum fitness value or some predefined maximum number of iterations is reached.

11.2.5 Pseudocode

We now present the pseudo code of a standard DE algorithm.

Initialise vectors of the population NPEvaluate the cost of each vector

for i=0 to Gmax dorepeat

Select some distinct vectors randomlyPerform mutationPerform recombinationPerform selection

if offspring is better than main parent thenreplace main parent in the populationend if

until population is completedApply convergence criterions

next i

11.3 The strategies

Over the years, Storn and Price as well as a large number of other authors made improvement to the DEmodel so that there are now many different DE models. They vary in the type of recombination operatorused as well as in the number and type of solutions used to calculate the mutation values. We are now goingto list the main ones.

46

Page 47: A Practical Guide to Implied and Local Volatility

11.3.1 Scheme DE1

To improve convergence on a set of optimisation problems using the Scheme DE4 introduced in Section(11.3.4), Storn and Price considered for each vector Xi,G a trial vector V generated according to the rule

V = Xr1,G + F(Xr2,G −Xr3,G

)where the integer rl for l = 1, 2, 3 are chosen randomly in the interval [0, NP − 1] and are different from therunning index i. Also, F is a scalar controlling the amplification of the differential variation Xr2,G −Xr3,G.We can slightly modify the scheme by doing

V = Xr1,G + F(Xr2,G +Xr3,G −Xr4,G −Xr5,G

)As a simple rule, F is usually in the range [0.5, 1]. The population size should be between 3N and 10N andgenerally we increase NP if misconvergence happens. In the case where NP is increased we should decreaseF .

11.3.2 Scheme DE2

Similarly to the Scheme DE1 in (11.3.1) the trial vector V is generated according to the rule

V = Xi,G + λ(Xbest,G −Xi,G

)+ F

(Xr2,G −Xr3,G

)where λ is a scalar controlling the amplification of the differential variation Xbest,G −Xi,G. It enhance thegreediness of the scheme by introducing the current best vector Xbest,G. It is useful for non-critical objectivefunctions, that is, when the global minimum is relatively easy to find. It gives a balance between robustnessand fast convergence.

11.3.3 Scheme DE3

In the same spirit, Mezura-Montes et al in [MezVelCoe06] also modified the Scheme DE1 in (11.3.1) byincorporating information of the best solution as well as information of the current parent in the currentpopulation to define the new search direction.

V = Xr3,G + λ(Xbest,G −Xr2,G

)+ F

(Xi,G −Xr1,G

)where λ is a scalar controlling the amplification of the differential variation Xbest,G − Xr2,G. This schemehas the same properties as the Scheme DE2 in (11.3.2).

11.3.4 Scheme DE4

The oldest strategy developed by Storn and Price is for the trial vector V to be generated according to therule

V = Xbest,G + F(Xr1,G −Xr2,G

)where F is a scalar. However, in that setting they found several optimisation problems where misconvergenceoccurred. To improve the convergence, we can consider the strategy

V = Xbest,G + λj

(Xr1,G −Xr2,G

)where λj is a random parameter such that

λj = (0.0001 ∗ δ + F )

47

Page 48: A Practical Guide to Implied and Local Volatility

where δ is a uniformly distributed random variable in the interval [0, 1]. It is a jitter which add fluctuation tothe random target. The jitter is the time variation of a periodic signal in electronics and telecommunications(swing dancer). It is tailored for small population sizes and fast convergence. We can also modify the schemeby doing

V = Xbest,G + λj

(Xr1,G +Xr2,G −Xr3,G −Xr4,G

)11.3.5 Scheme DE5

Similarly to the Scheme DE1 in (11.3.1) the trial vector V is generated according to the rule

V = Xr1,G + λd

(Xr2,G −Xr3,G

)where λd is a computer dithering factor

λd = F + δ ∗ (1− F )

and δ is as above. It is a per-vector dither making the Scheme DE1 more robust. Note, we can also have

λd,G = F + δG ∗ (1− F )

which is a per-generation dither factor. In that algorithm, choosing F = 0.3 is a good start.

11.3.6 Scheme DE6

A more complex algorithm than the Scheme DE1 in (11.3.1) is to introduce the choice between two strategies.In the either-or algorithm, the trial vector V is generated according to the rule

V =(Xr1,G + F

(Xr2,G −Xr3,G

))I(δ< 1

2 )

=(Xr1,G +

12(λ+ 1)

(Xr2,G +Xr3,G − 2Xr1,G

))I(δ≥ 1

2 )

where δ is as above. It alternates between differential mutation and three-point recombination.

11.3.7 Scheme DE7

Alternatively, we have the two possible strategies using an either-or algorithm. If we favor the r1 event wehave

V =(Xr1,G + F

(Xr2,G −Xr3,G

))I(δ<Pe)

while if we favor the best event we have

V =(Xbest,G + F

(Xr2,G −Xr3,G

))I(δ<Pe)

It alternates between differential mutation and doing nothing.

48

Page 49: A Practical Guide to Implied and Local Volatility

11.3.8 Scheme DE8

Still another more complex algorithm than the Scheme DE1 in (11.3.1) is to introduce two strategies Vl forl = 1, 2. We first build the Base vector V1 as the linear combination of the two original base vector Xr1,G

and Xbest,G, getting

V1 = λM,GXbest,G + λM,GXr1,G

where λM,G = 1− λM,G. This time λM,G is a Gaussian variable per-generation with mean µ and variance ξto be defined. The second Base vector V2 is generated according to the rule

V2 = 2Xbest,G − V1 = (2 − λM,G)Xbest,G − λM,GXr1,G

The two Trial vectors Vi for i = 1, 2 becomes

V1 = V1 + Fb

(Xr3,G −Xr2,G

)V2 = V2 + Fb

(Xr2,G −Xr3,G

)= 2Xbest,G − V1

where Fb is a Gaussian variable with mean µ = 0 and variance ξ = F . In the special case where µ = 2 andξ = 0 we get

V1 = 2Xbest,G −Xr1,G

V2 = Xr1,G

and the system simplifies to

V1 = 2Xbest,G −Xr1,G + Fb

(Xr3,G −Xr2,G

)V2 = Xr1,G + Fb

(Xr2,G −Xr3,G

)and V2 recover a pseudo Secheme DE1 where Fb ∈ [−F, F ].

11.4 Improvements

The DE algorithm is found to be a powerful evolutionary algorithm for global optimisation in many realproblems. As the DE algorithm performs mutation based on the distribution of the solutions in a givenpopulation, search directions and possible step sizes depend on the location of the individuals selected tocalculate the mutation values. As a result, since the original article of Storn and Price in [StPr95] manyauthors improved the DE model to increase the exploration and exploitation capabilities of the DE algorithmwhen solving optimisation problems. We are going to review a few changes to the DE algorithm which greatlyimproved its performances.

11.4.1 Ageing

The DE selection is based on local competition only. The number of children that may be produced tocompete against the parent Xi,G should be chosen sufficiently high so that a sufficient number of child willenter the new population. Otherwise, it would lead to survival of too many old population vectors that mayinduce stagnation. To prevent the vector Xi,G from surviving indefinitely, Storn in [Sto96] used the conceptof ageing. One can define how many generations a population vector may survive before it has to be replaceddue to excessive age. If the vector Xi,G is younger than Num generations it remains unaltered otherwise itis replaced by the vector Xr3,G with r3 = i being a randomly chosen integer in [1, NP ].

49

Page 50: A Practical Guide to Implied and Local Volatility

11.4.2 Constraints on parameters

Given the parent vectorXi,G for i = 0, .., NP−1 we define upper and lower bounds for each initial parametersas

L(j) ≤ Xi,G0(j) ≤ U(j)

and we randomly select the initial parameter values uniformly on the interval [L(j), U(j)] as

Xi,G0(j) = L(j) + U(0, 1)(U(j)− L(j)

)where U(0, 1) generates a random number in the range [0, 1] with a uniform distribution. Obviously, as thenumber of generation G increases, the DE algorithm will generate elements of the vector outside of the limitsestablished (lower and upper) by an amount. Following Mezura Montes et al in [MezCoeTun04] this amountis substracted or added to the limit violated to shift the value inside the limits. If the shifted value is nowviolating the other limit, a random value inside the limits is generated.

11.4.3 Convergence 1

In order to accelerate the convergence process, when a child replaces its parent, Mezura-Montes et al in[MezCoeTun04] copied its value both into the new generation and into the current generation. It allowsthe new child, which is a new and better solution, to be selected among the rl solutions and create bettersolutions. Therefore, a promising solution does not need to wait for the next generation to share its geneticcode.

11.4.4 Convergence 2

In order to improve performance and to accelerate the convergence process, Storn in [Sto96] explored the ideaof allowing a solution to generate more than one offspring. Once a child is better than its parent, the multipleoffspring generation ends. Following the same idea, Coello Coello and Mezura-Montes in [CoeMez03] andthen Mezura-Montes et al in [MezVelCoe06] allowed for each parent at each generation to generate k > 0offspring. Among these newly generated solutions, the best of them is selected to compete against its parent,increasing the chances to generate fitter offspring.

11.4.5 Self-adaptive parameters

Balamurugan et al in [BaSu07] considered the key parameters of control in DE algorithm such as the crossoverCR and the weight applied to random differential F to be self-adapted. That is, the control parameters arenot required to be pre-defined and can change during the evolution process. These control parameters areapplied at the individual levels in the population so that better values lead to better individuals producingbetter offspring and hence better values. F is a scaling factor controlling the amplification of the differencebetween two individuals to avoid search stagnation. At generation G = 1 the amplification factor Fk,G forthe kth individual is generated randomly in the range [0.1, 1.0]. Then, at the next generations the controlparameter is given by

Fk,G+1 =FL + U(0, 1)FU if U(0, 1) < τ1Fk,G otherwise

where FL = 0.1, FU = 0.9 and τ1 represent the probability to adjust the parameter F .

50

Page 51: A Practical Guide to Implied and Local Volatility

11.4.6 Selection

Santana-Quintero et al in [SanCoe05] maintained two different populations (primary and secondary) accord-ing to some criteria and considered two selection mechanisms that are activated based on the total numberof generation Gmax and the parameter sel2 ∈ [0.2, 1] which regulates the selection pressure. That is

Type of selection =

Random if G < (sel2 ∗Gmax)Elitist otherwise

a random selection is first adopted followed by an elitist selection. In the random selection, three differentparents are randomly selected from the primary population while in the elitist selection they are selectedfrom the secondary one. In both selections, a single parent is selected as a reference so that all the parentsof the main population will be reference parents only once during the generating process.

11.5 Handling the constraints

We saw above that EAs in general and DE in particular lacked a mechanism to deal with the constraintsof the problems. Recently, various academics worked on solving that problem. Among many differentapproaches, one of the most popular constraint handling mechanisms was proposed by Deb in [Deb00] ongenetic algorithms who used the three feasibility rules. Before reviewing his method and showing how it wasimproved, we recall that Michalewicz in [Mi95] discussed different constraint handling methods used in GAsand classified them in five categories

• methods based on preserving feasibility of solutions, that is, we use a search operator that maintainsthe feasibility of solutions

• methods based on penalty functions

• methods making distinction between feasible and infeasible solutions using different search operatorsfor handling infeasible and feasible solutions

• methods based on decoders using an indirect representation scheme which carries instructions forconstructing feasible solutions

• hybrid methods where evolutionary methods are combined with heuristic rules or classical constrainedsearch methods

In a single-objective optimisation problem, the traditional approach for handling constraints is the penaltyfunction method. The fitness of a candidate is based on a scale function F which is a weighted sum of theobjective function value and the amount of design constraint violation

F (X) = f1(X) +p∑

k=1

ωk max (gk(X), 0)

where ωk are positive penalty function coefficients and such that the kth constraint should be normalised.This method requires a careful tuning of the coefficients ωk to obtain satisfactory design, that is a balancebetween the objective function and the constraints but also between the constraints themselves. To overcomethis problem, Deb proposed an approach based on the non-dominance concept, ranking candidates using thedefinition of domination between two candidates.

Definition 11.1 A solution i is said to dominate a solution j if both of the following conditions are true

1. solution i is no worse than solution j in all objective

∀fm(Xi) ≤ fm(Xj)

51

Page 52: A Practical Guide to Implied and Local Volatility

2. solution i is strictly better than solution j in at least one objective

∃fm(Xi) < fm(Xj)

The constrained domination approach ranks candidates according to the following definition

Definition 11.2 A solution i is said to constrained-dominate a solution j if any of the following conditionsis true

1. solutions i and j are feasible and solution i dominates solution j.

2. solution i is feasible and solution j is not.

3. both solutions i and j are infeasible but solution i has a smaller constraint violation.

He let the fitness function be

F (X) =f(X) if gk(X) ≥ 0 ∀k = 1, 2, ..fmax + TACV otherwise

where fmax is the objective value with the worst feasible solution in the population and (TACV) is the totalamount of constraint violation

TACV =p∑

k=1

max (gk(X), 0)

Therefore, solutions are never directly compared in terms of both objective function and constraint violationinformation. However, the high selection pressure generated by tournament selection will induce the useof additional procedure to preserve diversity in the population such as niching or sharing. Clearly, there isno tuning of the penalty function coefficients when the number of constraint is one. But, when multipleconstraints are considered some considerations must be taken to relate constraints together. One way forwardis to normalise the constraints such that every constraint has the same contribution to the comparing value aswas done by Landa Becerra et al in [LandaCoe06]. Letting gmax(k) be the largest violation of the constraintmax (gk(X), 0) found so far, we define the new TACV as

NTACV =p∑

k=1

max (gk(X), 0)gmax(k)

Alternatively, Coello Coello in [Coe00] modified the definition of the constrained domination approach givenin Definition (11.2) such that if the individuals are infeasible he compares the number of constraints violatedfirst and only in the case of a tie would he use the total amount of constraint violation in the definition,getting

Definition 11.3 A solution i is said to constrained-dominate a solution j if any of the following conditionsis true

1. solutions i and j are feasible and solution i dominates solution j.

2. solution i is feasible and solution j is not.

3. both solutions i and j are infeasible but solution i violates less number of constraints than solution j.

4. both solutions i and j are infeasible and violating the same number of constraints but solution i has asmaller TACV than solution j.

52

Page 53: A Practical Guide to Implied and Local Volatility

In that setting, the fitness of an infeasible solution not only depends the amount of constraint violation,but also on the population of solutions at hand. However, this technique may not be very efficient whenthe degrees of violation of constraints gk(X) are significantly different because the TACV is a single value.Alternatively, Coello Coello and Mezura-Montes in [CoeMez02] handled constraints as additional objectivefunctions and used the non-dominance concept (on objective functions) in Definition (11.1) to rank candi-dates. As a result, it required solving the objective function a large number of time. Going one step further,Oyama et al in [OSF05] introduced dominance in constraint space.

Definition 11.4 A solution i is said to dominate a solution j in constraint space if both of the followingconditions are true

1. solution i is no worse than solution j in all constraints

∀gk(Xi) ≤ gk(Xj)

2. solution i is strictly better than solution j in at least one constraint

∃gk(Xi) < gk(Xj)

Introducing the idea of non-dominance concept to the constraint function space, their proposed constraint-handling method is

Definition 11.5 A solution i is said to constrained-dominate a solution j if any of the following conditionsis true

1. solutions i and j are feasible and solution i dominates solution j in objective function space.

2. solution i is feasible and solution j is not.

3. both solutions i and j are infeasible but solution i dominates solution j in constraint space.

In that setting, any non-dominance ranking can be applied to feasible designs and infeasible designs sepa-rately. Therefore, in a single-objective constrained optimisation problem, we can modify the dominance-basedtournament selection of Coello and Mezura with the non-dominance concept of Oyama et al, getting

Definition 11.6 The new dominance-based tournament selection is

1. if solutions i and j are both feasible and solution i dominates in objective function solution j thensolution i wins.

2. if solution i is feasible and solution j is not, solution i wins.

3. if solutions i and j are both infeasible and solution i dominates in constraint space solution j thensolution i wins.

4. if solutions i and j are infeasible and non-dominated in constraint space, if solution i violates lessnumber of constraints than solution j then solution i wins.

5. if solutions i and j are both infeasible, non-dominated in constraint space and violating the same numberof constraints but solution i has a smaller TACV than solution j then solution i wins.

In the next section we propose the pseudo code for the DE algorithm with constraints which we use to solvethe optimistion problem in Equation (9.28).

53

Page 54: A Practical Guide to Implied and Local Volatility

11.6 Handling constraints on initial parameters

In our calibration problem, if we generate initial parameters as explained in Section (11.4.2) they will notsatisfy the AAO derived in Section (8.2) and our initial vector XG0 will be infeasible. Similarly to LandaBecerra et al in [LandaCoe06] we add domain knowledge to our DE algorithm at initialisation time. Ourpopulation space consists of the vector X1

G0generated as in Section (11.4.2) while our belief space consists

of the vector X2G0

generated in such way as to enforce the AAO constraints derived in Equation (8.26) as isdone in Annexe (D.6) so that it is feasible. Given a probability CR0 taking values in [0, 1] we will computeour initial vector guess XG0 from both the population vector and the belief vector.

11.7 Handling diversity

In order to explore new regions of the search space and to avoid premature convergence, a set of feasibilityrules coupled with a diversity mechanism is proposed by Mezura-Montes et al in [MezVelCoe06]. It maintainsbesides competitive feasible solutions some solutions with a promising objective function value allowing forthe DE to reach optimum solutions located in the boundary of the feasible region of the search space. Givena parameter Sr one can choose to select between parent and child based either only on the objective functionvalue or on feasibility. As more exploration of the search space is required at the beginning of the process,the parameter Sr will be decreasing in a linear fashion with respect to the number of generation. Given aninitial value Sr,0 and a terminal value Sr,∞, the adjustment of the parameter is

Sr,G+1 =Sr,G −∆Sr if G > Gmax

Sr,∞ otherwise

where ∆Sr = Sr,0−Sr,∞Gmax

. After some generations, assuming that promising areas of the feasible region havebeen reached, we focus on keeping the feasible solutions found discarding the infeasible ones. In that setting,infeasible solutions with good objective function values will have a significant probability of being selectedwhich will slowly decrease as the number of generation increases.

In some problems, it does not make sense to use the infeasible individual unless they are very close tothe boundary between the feasible and infeasible region. This is the case of the calibration problem givenin Section (1) where the constraints ensure that prices do not violate the AAO rules. To circumvent thisissue, Mezura-Montes et al proposed in [MezCoe04] that at each generation the best infeasible solution withlowest amount of constraint violation both in the parents (µ) and the children (λ) population will survive.Either of them being chosen with an appropriate probability, it will allows for infeasible solutions close tothe boundary to recombine with feasible solutions. The pseudo code for introducing diversity in the DEalgorithm is

if flip(S_r) thenSelect the best infeasible individual from the children population

elseSelect the best individual based on five selection criteria

end if

11.8 The proposed algorithm

Using the improvements in Section (11.4) and applying the Definition (11.6) on dominance-based tournamentselection to handle the constraints, the pseudo code for the DE algorithm with constraints becomes

BeginG = 0 and Age_i, G = 0 ∀ i, i = 1, .., NP

54

Page 55: A Practical Guide to Implied and Local Volatility

Create a random initial population X_i, G ∀ i, i = 1, .., NPEvaluate f(X_i, G) ∀ i, i = 1, .., NPwhile niter < max_iter and G < Gmax do

fmin_old = fminfor i = 1 to NP do

for k = 1 to N_K doSelect randomly r_1 = r_2 = r_3 = ij_r = U(1, N)for j = 1 to N do

if U(0, 1) < CR or j = j_r thenU_i, G(j) = X_r_3, G(j) + F (X_r_1, G(j) − X_r_2, G(j))

elseU_i, G(j) = X_i, G(j)

end ifend forif k > 1 then

if U_i, G(j) is better than U_i_best,G(j) based on five selection criteria thenU_i_best,G(j) = U_i, G(j)

elseU_i_best,G(j) = U_i, G(j)

end of forApply diversity :if flip(S_r) then

if f(U_i_best,G) ≤ f(X_i, G) thenX_i, G+ 1 = X_i, G = U_i_best,G

elseX_i, G+ 1 = X_i, G

end ifelse

if U_i_best,G is better than X_i, G based on five selection criteria thenX_i, G+ 1 = X_i, G = U_i_best,G

elseif Age_i, G < N_A or i = i_best then

X_i, G+ 1 = X_i, Gelse

Select randomly r_4 = iX_i, G+ 1 = X_r_4, GAge_i, G = 0

end ifend if

end ifif fmin > f(X_i, G)

fmin = f(X_i, G)i_best = i

end ifend forApply convergence criterions :if fmin_old − f_min < precision

niter = niter + 1else

55

Page 56: A Practical Guide to Implied and Local Volatility

niter = 0end ifG = G+ 1

end whileEnd

56

Page 57: A Practical Guide to Implied and Local Volatility

Annexes

A The Black-Scholes model

A.1 The Black-Scholes formula

In the special case where we assume that the stock prices are lognormally distributed and pay a continuousdividend we can derive most of the contract market values in closed-form solution. For example, Black &Scholes in [BS73] derived the price of a call option seen at time t with constant parameters, strike K andmaturity T as

CBS(t, x,K, T ) = xRe(t, T )N(d1(T − t, xC(t, T ),K))−KB(t, T )N(d2(T − t, xC(t, T ),K)) (A.31)

where Re(t, T ) = e−q(T−t) be the dividend (or repo) bond which correspond to a convexity adjustment term,C(t, T ) = Re(t,T )

B(t,T ) , and

d2(t, x, y) =1

σ√tlog

x

y− 1

2σ√t and d1(t, x, y) = d2(t, x, y) + σ

√t

with the property

d1(t, x, y)d2(t, x, y) =1σ2t

(logx

y)2 − 1

4σ2t

where 1η = x

y is the moneyness of the option. Note, modifying the repo rate to q = q − σ2 in the cumulative

distributionN(d1), we recover the cumulative distributionN(d2). For notational purpose we let η = KB(t,T )xRe(t,T ) ,

ξ = 12σ√T − t and m = − 1+η

1−η log η such that

d1(T − t, xC(t, T ),K) = − log η2ξ

+ ξ

Also, for d3 = d1+d22 = − log η

2ξ we get

d1(T − t, xC(t, T ),K) = d3(T − t, xC(t, T ),K) + ξ

d2(T − t, xC(t, T ),K) = d3(T − t, xC(t, T ),K)− ξFactorising Equation (A.31) with respect to xRe(t, T ) and dividing both side of the equation with 1− η, weget

11− η

CBS(t, x,K, T )xRe(t, T )

=1

1− η(N(d3(T − t, xC(t, T ),K) + ξ)− ηN(d3(T − t, xC(t, T ),K)− ξ))

or in a more concise form

CBS(t, x,K, T ) = g1(d3(T − t, xC(t, T ),K)) (A.32)It is well known that when the spot rate, repo rate and volatility are time-dependent, we can still use theBlack-Scholes formula (A.31) with the model parameters re-expressed as

• r = 1T−t

∫ T

t rsds

• q = 1T−t

∫ T

t qsds

• σ2 = 1T−t

∫ T

tσ2

sds

57

Page 58: A Practical Guide to Implied and Local Volatility

A.2 A different way of expressing the Black-Scholes formula

If we now set the spot rate to zero r = 0 and shift the strike to K′= B(t, T )K in the Black-Scholes formula

given in Equation (A.31), the call price becomes

CBS(t, x,K′, T ; r = 0) = xRe(t, T )N(d1(T − t, xR(t, T ),K

′))−K ′

N(d2(T − t, xR(t, T ),K′))

with

d2(T − t, xR(t, T ),K′) =

1σ√T − t log

xR(t, T )KB(t, T )

− 12σ√T − t

= d2(T − t, xC(t, T ),K)

Hence, both call prices are identical, that is

CBS(t, St,K, T ) = CBS(t, St,K′, T, r = 0) (A.33)

A.3 Greeks on the stock

We now calculate the Black-Scholes Greeks necessary to compute the local volatility. The vega is

V ega = xRe(t, T )√T − t ∂

∂d1N(d1)

which we differentiate again with respect to volatility, getting

∂σV ega = −xRe(t, T )

√T − td1n(d1)

dd1

and dd1dσ = − 1

σd2 or dd2dσ = − 1

σd1 so we get

∂σV ega = xRe(t, T )

√T − t 1

σd1d2n(d1) =

1σd1d2V ega (A.34)

Differentiating the price with respect to time t, we get

∂tCBS(t, x, σ) = xqRe(t, T )N [d1]− σ

2(T − t)V ega− rKB(t, T )N(d2)

We now differentiate the price with respect to the stike

∂KCBS(t, x,K, T ) = −B(t, T )N(d2(T − t, x, k))

and then with respect to the volatility

∂2

∂σ∂KCBS(t, x, k, T ) = B(t, T )

∂d2N(d2(T − t, x, k)) 1

σd1

Since ∂∂d2

N(d2) = xD(t,T )KB(t,T )

∂∂d1

N(d1) then

∂2

∂σ∂KCBS(t, x,K, T ) =

xRe(t, T )K

∂d1N(d1(T − t, x,K))

1σd1 =

1Kσ√T − td1V ega

Differentiating the price twice with respect to the strike we get

58

Page 59: A Practical Guide to Implied and Local Volatility

∂2

∂K2CBS(t, x,K, T ) =

B(t, T )Kσ√T − tn(d2(T − t, x, k))

which we rewrite as

∂2

∂K2CBS(t, x,K, T ) =

xRe(t, T )K2σ√T − tn(d1(T − t, x, k)) =

1K2σ(T − t)V ega

Given B(t, T ) = e−∫ T

trsds so that dB(t,T )

dT = −rTB(t, T ). We get the same for the continuous dividend, thatis dD(t,T )

dT = −qTB(t, T ). Setting x = St, we differentiate the call price with respect to maturity T getting

∂TCBS(t, x,K, T ) =

xRe(t, T )σ2√T − t

∂d1N(d1) + rTKB(t, T )N(d2)− qTxRe(t, T )N(d1)

or

∂TCBS(t, St,K, T ) =

σ

2(T − t)V ega+ rTKB(t, T )N(d2)− qTxRe(t, T )N(d1)

A.4 Some properties of the volatility

When we let the volatility in Equation (A.31) tends respectively to zero and infinity we get the limits

limσ→0

CBS(σ) = (xRe(t, T )−KB(t, T ))+

limσ→∞CBS(σ) = xRe(t, T )

Therefore, the Black-Scholes formula is strictly increasing in the volatility. Moreover, Equation (A.34)

shows that the function σ → CBS(σ) is convex on the interval [0,√

2 |−log η|T−t ] and concave on the interval

[√

2 |−log η|T−t ,∞]. Therefore, the equation CBS(σ) = Price where the call price Price is in the range

(xRe(t, T )−KB(t, T ))+ < Price < xRe(t, T )

can be solved iteratively with the Newton algorithm (see Press et al in [PTVF92])

σ0 =

√2| − log η|T − t

σn+1 = σn + (Price− CBS(σn))max (1

V ega, 100)

where max(., .) is used to avoid explosion when the vega get too small and σ0 is the first guess of thealgorithm since the series (σn) ≥ 0 is monotonic. We can also calculate the second order derivative termsand use a higher order iterative root finding algorithm such as the Halley algorithm. When the strike pricesare far from the money or the price is close to the no-arbitrage bounds, the vega becomes insignificant andthe above ratio explode. In that case one must switch to the Bisection method. Also as discussed by Jackelin [Jack06] this algorithm is very sensitive to its initial guess and the volatility can easily be in the range[10−4%, 1000%]. Recognising the near flat shape of the normalised Black function for small volatilities, toenlarge the space domain in that region (σ < σ0), he makes a change of variable expressing the prices in thelogarithm space. In that setting the initial guess must be modified and asymptotic expansion is performedon the prices around σ → 0 to calculate the new initial guess. A similar approach is used for σ → ∞ andinterpolation is performed between the two initial guesses. Alternatively, as explained in Section (9.5) we canestimate the initial guess by Taylor expanding the normal cumulative integral in the Black-Scholes formula.

59

Page 60: A Practical Guide to Implied and Local Volatility

A.5 Greeks on the logarithm of the stock

We let Lt = logSt be the logarithm of the stock price and consider the call price

CBS(t, x, σ, q) = exRe(t, T )N [d1]−KB(t, T )N [d2]

where d2 = x+log Re(t,T )−log K+(r− 12 σ2)(T−t)

σ√

T−tand ddi

dx = 1σ√

T−tfor i = 1, 2. The vega is

V ega = exRe(t, T )√T − t ∂

∂d1N(d1)

which we differentiate again with respect to volatility, getting

∂σV ega = exRe(t, T )

√T − t 1

σd1d2n(d1) =

1σd1d2V ega

Differentiating the price with respect to time t, we get

∂tCBS(t, x, σ) = exqRe(t, T )N [d1]− σ

2(T − t)V ega− rekB(t, T )N(d2)

We now differentiate the price with respect to the stike

∂kCBS(t, x, k, T ) = −ekB(t, T )N(d2(T − t, x, k))

and then with respect to the volatility

∂2

∂σ∂kCBS(t, x, k, T ) = exRe(t, T )

∂d1N(d2(T − t, x, k)) 1

σd1 =

1σ√T − td1V ega

Differentiating the price twice with respect to the strike we get

∂2

∂k2CBS(t, x, k, T ) =

∂kC(t, x, k, T ) +

ekB(t, T )σ√T − t n(d2(T − t, x, k))

Given B(t, T ) = e−∫

Tt

rsds so that dB(t,T )dT = −rTB(t, T ). We get the same for the continuous dividend, that

is dD(t,T )dT = −qTB(t, T ). Setting x = StD(t, T ), we differentiate the call price with respect to maturity T

getting

∂TCBS(t, x,K, T ) =

exRe(t, T )σ2√T − t

∂d1N(d1) + rT e

kB(t, T )N(d2)− qTxN(d1)

or

∂TCBS(t, St,K, T ) =

σ

2(T − t)V ega+ rT ekB(t, T )N(d2)− qT exRe(t, T )N(d1)

Comparing the derivative of the Black-Scholes formula with respect to the strike K and from that withrespect to its logarithm k, we get

K∂KC(t, x,K, T ) = ∂kC(t, x, k, T )K2∂KKC(t, x,K, T ) = ∂kkC(t, x, k, T )− ∂kC(t, x, k, T )

60

Page 61: A Practical Guide to Implied and Local Volatility

B Calculation of the local volatility

B.1 The local volatility with stochastic rates

Given the dynamic of the underlying asset in Equation (2.3), we follow a heuristic approach to compute frommarket prices the stochastic local volatility with domestic and foreign stochastic rates. We let C(t, St,K, T )be the call price seen at time t with the strike K and maturity T and assume that the market providesus with a continuum in time and space of such prices. Knowing the market prices for all time and strikeswe can differentiate them with respect to strike to get the digital option CK(t, St,K, T ) and the densityCKK(t, St,K, T ). Using the No-Arbitrage theory, the call price under the risk-neutral probability measureQ is

C(t, St,K, T ) = EQt [e−

∫ Tt

rsds(ST −K)+] (B.35)

where both the underlying price and the spot rate processes need to be specified. We differentiate the callprice with respect to time T and interchanging the differentiation and expectation operator we get

dC(t, St,K, T ) = EQt

[−rT e− ∫ Tt

rsds(ST −K)+dT + e−∫

Tt

rsdsd(ST −K)+]

We consider the convex function C(St) of the underlying price given by the call payoff

C(St) = (St −K)+ = (St −K)ISt≥K

and apply Tanaka’s formula to get its dynamic

dC(St) = ISt≥KµtStdt+ ISt≥Kσ(t, ω)StdWt +12δ(St −K)|σ(t, ω)|2S2

t dt

where δ(.) is the Dirac function. We plug it back into the expectation, getting

dC(t, St,K, T ) = EQ[−rT e− ∫ T

trsds(ST −K)+dT +e−

∫ Tt

rsds(IST ≥KµTSTdT +

12δ(ST −K)|σ(T, ω)|2S2

TdT)]

Since the price of a digital option is

− ∂

∂KC(t, St,K, T ) = Et[e−

∫Tt

rsdsIST ≥K ]

and using the fact that ISt≥KSt = (St −K)+ +KISt>K , we have

Et[e−∫ T

trsdsµTST IST ≥K ] = Et[µT e

− ∫ Tt

rsds(ST −K)+] +KEt[µue− ∫ u

trsdsIST ≥K ]

which can be re-written in terms of market prices as

Et[e−∫ T

trsdsδ(ST −K)] = Et[δ(ST −K)]Et[e−

∫ Tt

rsds|ST = K] = CKK(t, St, T,K)

Et[e−∫ T

trsdsST IST ≥K ] = C(t, St, T,K)−KCK(t, St, T,K)

Note, this relation is true for any deterministic or stochastic spot rate. Then the differentiation of the callwith respect to maturity T is

d

dTC(t, St,K, T ) =

∂TC(t, St,K, T )

so that equating terms, we get

61

Page 62: A Practical Guide to Implied and Local Volatility

∂TC(t, St,K, T ) = Et[−rT e−∫ T

trsds(ST −K)+] + Et[µT e

− ∫ Tt

rsds(ST −K)+] +KEt[µT e− ∫ T

trsdsIST ≥K ]

+12Et[e−

∫Tt

rsdsδ(ST −K)|σ(T, ω)|2S2T ]

Using the definition of the drift µt = rdt − rf

t − qt, where qt is deterministic and the property of conditionalexpectation 6, we have

∂TC(t, St,K, T ) = −Et[rfT e

− ∫ Tt

rsds(ST −K)+]− qTC(t, St,K, T ) +KEt[(rdT − rf

T )e−∫

Tt

rsdsIST ≥K ]

+ qTK∂KC(t, St,K, T ) +12Et[δ(ST −K)]K2Et[e−

∫ Tt

rsds|σ(T, ω)|2|ST = K]

which simplifies to

∂TC(t, St,K, T ) = −Et[rfT e

− ∫ Tt

rsdsST IST ≥K ]− qTC(t, St,K, T ) +KEt[rdT e

− ∫ Tt

rsdsIST ≥K ]

+ qTK∂KC(t, St,K, T ) +12

CKK(t, St, T,K)

Et[e−∫ T

trsds|ST = K]

K2Et[e−∫ T

trsds|σ(T, ω)|2|ST = K]

so that the stochastic local volatility with domestic and foreign stochastic rates becomes

EQt [e−

∫ Tt

rsds|σ(T, ω)|2|ST = K]

EQt [e−

∫Tt

rsds|ST = K]=

∂TC(t, St,K, T ) + EQt [rf

T e− ∫ T

trsdsST IST ≥K ]−KEQ

t [rT e−∫ T

trsdsIST ≥K ]− qt

(K∂KC(t, St,K, T )− C(t, St,K, T )

)12CKK(t, St, T,K)K2

B.2 The local volatility with deterministic rates

Setting the foreign rates to zero and assuming deterministic domestic rates, the local volatility in Annexe(B.1) simplifies to

EQt [|σ(T, ω)|2|ST = K] =

∂TC(t, St,K, T ) + (rT − qT )K∂KC(t, St,K, T ) + qTC(t, St,K, T )12CKK(t, St, T,K)K2

B.3 The local volatility in the Z-space

This is equivalent to working with the undiscounting call price C(t, St,K, T ) = C(t,St,K,T )B(t,T ) so that the local

volatility in the Z-space becomes

EQt [|σ(T, ω)|2|ZT = K] =

∂TC(t, Zt,K, T ) + (rT − qT )(K∂KC(t, Zt,K, T )− C(t, Zt,K, T )

)12∂KKC(t, Zt, T,K)K2

6 Et[e− ∫ T

t rsdsXT |ST = K] =Et[e

− ∫ Tt rsdsXT δ(ST −K)]Et[δ(ST −K)]

62

Page 63: A Practical Guide to Implied and Local Volatility

B.4 The local volatility in the Y -space

This is equivalent to setting both the rates and repos to zero as well as the digital option to zero in the localvolatility with deterministic rates in Section (B.2). Hence, the local volatility in the Y -space becomes

EQt [|σ(T, ω)|2|YT = K] =

∂TC(t, Yt,K, T )12∂KKC(t, Yt, T,K)K2

C The local volatility expressed in terms of the implied volatility

We consider the dynamic of the underlying stock price St with no discrete dividends given in Equation (2.3)and its associated call price C(t, St,K, T ) seen at time t with the strike K and maturity T given in Equation(B.35). Using the Black-Scholes Greeks we are going to rewrite the local volatility expressed in prices inSection (B) in terms of implied volatility.

C.1 The exponential case

Given the implied volatility Σ(ek, T ) we get the local volatility

EQt [|σ(T, ω)|2|ST = ek] =

∂TC(t, St, ek, T ) + (rT − qT )∂kC(t, St, e

k, T ) + qTC(t, St, ek, T )

12

(∂kkC(t, St, ek, T )− ∂kC(t, St, ek, T )

)The implied volatility being a function of the strike k and the maturity T , we use the chain rule to expressthe derivatives of the market prices in terms of the Black-Scholes Greeks

∂TC(t, St, ek, T ) = ∂TCBS(t, St, e

k, T ) + ∂ΣCBS(t, St, ek, T )∂T Σ(T, ek)

∂kC(t, St, ek, T ) = ∂kCBS(t, St, e

k, T ) + ∂ΣCBS(t, St, ek, T )∂kΣ(T, ek)

∂kkC(t, St, ek, T ) = ∂kkCBS(t, St, e

k, T ) + 2∂ΣkCBS(t, St, ek, T )∂kΣ(T, ek) + ∂ΣCBS(t, St, e

k, T )∂kkΣ(T, ek)+ ∂ΣΣCBS(t, St, e

k, T )(∂kΣ(T, ek))2

Combining terms in the numerator of the local volatility, we get

∂TC(t, St, ek, T ) + (rT − qT )∂kC(t, St, e

k, T ) + qTC(t, St, ek, T ) = ∂TCBS(t, St, e

k, T )+ ∂ΣCBS(t, St, e

k, T )∂T Σ(T, ek) + (rT − qT )(∂kCBS(t, St, e

k, T ) + ∂ΣCBS(t, St, ek, T )∂kΣ(T, ek)

)+ qTC(t, St, e

k, T )

Since

∂TCBS(t, St, ek, T ) + (rT − qT )∂kCBS(t, St, e

k, T ) + qTCBS(t, St, ek, T ) =

σ

2(T − t)V ega+ rT ekB(t, T )N(d2)

− qT eLtRe(t, T )N(d1)− (rT − qT )ekB(t, T )N(d2(T − t, x, ek)) + qTCBS(t, St, e

k, T ) =σ

2(T − t)V ega

the numerator simplifies to

∂TC(t, St, ek, T ) + (rT − qT )∂kC(t, St, e

k, T ) + qTC(t, St, ek, T ) = ∂ΣCBS(t, St, e

k, T )(Σ(T, ek)2(T − t) + ∂T Σ(T, ek)

+ (rT − qT )∂kΣ(T, ek))

63

Page 64: A Practical Guide to Implied and Local Volatility

which we write as

V ega

2Σ(T, ek)(T − t)[Σ2(T, ek) + 2Σ(T, ek)(T − t)(∂T Σ(T, ek) + (rT − qT )∂kΣ(T, ek)

)]Combining terms in the denominator of the local volatility, we get

∂kkC(t, St, ek, T )− ∂kC(t, St, e

k, T ) = ∂kkCBS(t, St, ek, T ) + 2∂ΣkCBS(t, St, e

k, T )∂kΣ(T, ek)+ ∂ΣCBS(t, St, e

k, T )∂kkΣ(T, ek) + ∂ΣΣCBS(t, St, ek, T )(∂kΣ(T, ek))2 − ∂kCBS(t, St, e

k, T )− ∂ΣCBS(t, St, e

k, T )∂kΣ(T, ek)

Since

∂kkCBS(t, St, ek, T )− ∂kCBS(t, St, e

k, T ) =ekB(t, T )σ√T − t n(d2(T − t, x, ek))

and since ∂∂d2

N(d2) = exRe(t,T )ekB(t,T )

∂∂d1

N(d1) the Black-Scholes terms simplifies to

∂kkCBS(t, St, ek, T )− ∂kCBS(t, St, e

k, T ) =exRe(t, T )σ√T − t n(d1(T − t, x, ek)) =

1σ(T − t)V ega

and the denominator becomes

∂kkC(t, St, ek, T )− ∂kC(t, St, e

k, T ) =1

Σ(T, ek)(T − t)V ega+ 2∂ΣkCBS(t, St, ek, T )∂kΣ(T, ek)

+ ∂ΣCBS(t, St, ek, T )∂kkΣ(T, ek) + ∂ΣΣCBS(t, St, e

k, T )(∂kΣ(T, ek))2 − ∂ΣCBS(t, St, ek, T )∂kΣ(T, ek)

Using the Black-Scholes Greeks, it rewrites

∂kkC(t, St, ek, T )− ∂kC(t, St, e

k, T ) =1

Σ(T, ek)(T − t)V ega+2d1

σ√T − tV ega∂kΣ(T, ek)

+ ∂ΣCBS(t, St, ek, T )∂kkΣ(T, ek) +

d1d2

σV ega(∂kΣ(T, ek))2 − ∂ΣCBS(t, St, e

k, T )∂kΣ(T, ek)

Multiply by 12 and factorise, we get

12(∂kkC(t, St, e

k, T )− ∂kC(t, St, ek, T )

)=∂ΣCBS(t, St, e

k, T )2

( 1Σ(T, ek)(T − t) +

( 2d1

Σ(T, ek)√T − t − 1

)×∂kΣ(T, ek) + ∂kkΣ(T, ek) +

d1d2

Σ(T, ek)(∂kΣ(T, ek))2

)

which we can write as

V ega

2Σ(T, ek)(T − t)[1+Σ(T, ek)(T−t)

(( 2d1

Σ(T, ek)√T − t−1

)∂kΣ(T, ek)+∂kkΣ(T, ek)+

d1d2

Σ(T, ek)(∂kΣ(T, ek))2

)]

Putting the numerator and denominator together, we get the local variance

64

Page 65: A Practical Guide to Implied and Local Volatility

σ2(T, ek) =Σ2(T, ek) + 2Σ(T, ek)(T − t)(∂T Σ(T, ek) + (rT − qT )∂kΣ(T, ek)

)1 + Σ(T, ek)(T − t)

((2d1

Σ(T,ek)√

T−t− 1)∂kΣ(T, ek) + ∂kkΣ(T, ek) + d1d2

Σ(T,ek)(∂kΣ(T, ek))2

)or

σ2(T, ek) = Σ2(T, ek)1 + 2(T−t)

Σ(T,ek)

(∂T Σ(T, ek) + (rT − qT )∂kΣ(T, ek)

)1 + Σ(T, ek)(T − t)

((2d1

Σ(T,ek)√

T−t− 1)∂kΣ(T, ek) + ∂kkΣ(T, ek) + d1d2

Σ(T,ek)(∂kΣ(T, ek))2

)

C.2 The linear case

Given the implied volatility Σ(K,T ) we get the local volatility

EQt [|σ(T, ω)|2|ST = K] =

∂TC(t, St,K, T ) + (rT − qT )∂KC(t, St,K, T ) + qTC(t, St,K, T )12∂KKC(t, St, T,K)

The implied volatility being a function of the strike K and the maturity T , we use the chain rule to expressthe derivatives of the market prices in terms of the Black-Scholes Greeks

∂TC(t, St,K, T ) = ∂TCBS(t, St,K, T ) + ∂ΣCBS(t, St,K, T )∂T Σ∂kC(t, St,K, T ) = ∂kCBS(t, St,K, T ) + ∂ΣCBS(t, St,K, T )∂KΣ(T,K)∂kkC(t, St,K, T ) = ∂kkCBS(t, St,K, T ) + 2∂ΣKCBS(t, St,K, T )∂KΣ(T,K) + ∂ΣCBS(t, St,K, T )∂KKΣ(T,K)

+ ∂ΣΣCBS(t, St,K, T )(∂KΣ(T,K))2

Combining terms in the numerator of the local volatility, we get

∂TC(t, St,K, T ) + (rT − qT )K∂KC(t, St,K, T ) + qTC(t, St,K, T ) = ∂TCBS(t, St,K, T )+ ∂ΣCBS(t, St,K, T )∂T Σ(T,K) + (rT − qT )K

(∂KCBS(t, St,K, T ) + ∂ΣCBS(t, St,K, T )∂KΣ(T,K)

)+ qTC(t, St,K, T )

Since

∂TCBS(t, St,K, T ) + (rT − qT )K∂KCBS(t, St,K, T ) + qTCBS(t, St,K, T ) =σ

2(T − t)V ega+ rTKB(t, T )N(d2(T − t, x,K))− qTStD(t, T )N(d1(T − t, x,K))− (rT − qT )KB(t, T )N(d2(T − t, x,K))

+ qTCBS(t, St, k, T ) =σ

2(T − t)V ega

So, the numerator becomes

∂TC(t, St,K, T ) + (rT − qT )K∂KC(t, St,K, T ) + qTC(t, St,K, T ) = ∂ΣCBS(t, St,K, T )(Σ(T,K)2(T − t) + ∂T Σ(T,K)

+ (rT − qT )K∂KΣ(T,K))

which we write as

65

Page 66: A Practical Guide to Implied and Local Volatility

V ega

2Σ(T,K)(T − t)[Σ2(T,K) + 2Σ(T,K)(T − t)(∂T Σ(T,K) + (rT − qT )K∂KΣ(T,K)

)]Combining the denominator, we get

∂KKC(t, St, T,K) = ∂KKCBS(t, St,K, T ) + 2∂ΣkCBS(t, St,K, T )∂KΣ(T,K)+ ∂ΣCBS(t, St,K, T )∂KKΣ(T,K) + ∂ΣΣCBS(t, St,K, T )(∂KΣ(T,K))2

which gives

∂KKC(t, St, T,K) =1

K2Σ(T,K)(T − t)V ega+ 2∂ΣKCBS(t, St,K, T )∂KΣ(T,K)

+ ∂ΣCBS(t, St,K, T )∂KKΣ(T,K) + ∂ΣΣCBS(t, St,K, T )(∂KΣ(T,K))2

Using the Black-Scholes Greeks, it rewrites

∂KKC(t, St, T,K) =1

K2Σ(T,K)(T − t)V ega+2d1

KΣ(T,K)√T − tV ega∂KΣ(T,K)

+ ∂ΣCBS(t, St,K, T )∂KKΣ(T,K) +1

Σ(T,K)d1d2V ega(∂KΣ(T,K))2

We multiply by K2

2 and factorise, getting

K2

2∂KKC(t, St, T,K) =

∂ΣCBS(t, St,K, T )2

( 1Σ(T,K)(T − t) +K

2d1

Σ(T,K)√T − t∂KΣ(T,K)

+ K2∂KKΣ(T,K) +K2 d1d2

Σ(T,K)(∂KΣ(T,K))2

)

which we can write as

V ega

2Σ(T,K)(T − t)[1+Σ(T,K)(T−t)K2

( 2d1

KΣ(T,K)√T − t∂KΣ(T,K)+∂KKΣ(T,K)+

d1d2

Σ(T,K)(∂KΣ(T,K))2

)]

Putting the numerator and denominator together, we get the local variance

σ2(T,K) =Σ2(T,K) + 2Σ(T,K)(T − t)(∂T Σ(T,K) + (rT − qT )K∂kΣ(T,K)

)1 + Σ(T,K)(T − t)K2

(2d1

KΣ(T,K)√

T−t∂KΣ(T,K) + ∂KKΣ(T,K) + d1d2

Σ(T,K) (∂KΣ(T,K))2)

or

σ2(K,T ) = Σ2(K,T )1 + 2(T−t)

Σ(K,T )

(∂T Σ(K,T ) + (rT − qT )K∂KΣ(K,T )

)1 + 2Kd1

√T − t∂KΣ(K,T ) +K2d1d2(T − t)(∂KΣ(K,T ))2 +K2Σ(K,T )(T − t)∂KKΣ(K,T )

66

Page 67: A Practical Guide to Implied and Local Volatility

C.3 The local volatility on Y

We consider the dynamic of the diffusion process Yt given in Equation (6.19) and its associated call priceCM (t, St, e

k, T ) seen at time t with the strike K and maturity T given in Equation (B.35). Given the impliedvolatility Σ(ek, T ) we get the local volatility

EQt [|σ(T, ω)|2|YT = ek] =

∂TCM (t, Yt, ek, T ) + qTCM (t, Yt, e

k, T )12

(∂kkCM (t, Yt, ek, T )− ∂kCM (t, Yt, ek, T )

)Recall, when we are diffusing the process Y , there is no drift. Therefore, we can use the local volatilityexpressed in terms of implied volatility in Annexe (C.1) and set (rT − qT ) to zero, getting

σ2(T, ek) =Σ2(T, ek) + 2Σ(T, ek)(T − t)(∂T Σ(T, ek)

)1 + Σ(T, ek)(T − t)

((2d1

Σ(T,ek)√

T−t− 1)∂kΣ(T, ek) + ∂kkΣ(T, ek) + d1d2

Σ(T,ek)(∂kΣ(T, ek))2

)or

σ2(T, ek) = Σ2(T, ek)1 + 2(T−t)

Σ(T,ek)

(∂T Σ(T, ek)

)1 + Σ(T, ek)(T − t)

((2d1

Σ(T,ek)√

T−t− 1)∂kΣ(T, ek) + ∂kkΣ(T, ek) + d1d2

Σ(T,ek) (∂kΣ(T, ek))2)

C.4 The density

Given the local volatility expressed in terms of implied volatility in Annexe (C.2) we deduce that the densityCKK(t, St, T,K) is

K2 Σ(T,K)(T − t)V ega

CKK(t, St, T,K) = 1 + 2Kd1

√T − t∂KΣ(K,T ) +K2d1d2(T − t)(∂KΣ(K,T ))2

+ K2Σ(K,T )(T − t)∂KKΣ(K,T )

Since d1 = d2 + σ√t we can rewrite the density as

K2 Σ(T,K)(T − t)V ega

CKK(t, St, T,K) = 1 + 2Kd1

√T − t∂KΣ(K,T ) +K2

(d21 − d1Σ(K,T )

√T − t)

×(T − t)(∂KΣ(K,T ))2 +K2Σ(K,T )(T − t)∂KKΣ(K,T )

Expanding and factorising we get

K2 Σ(T,K)(T − t)V ega

CKK(t, St, T,K) =(1 +Kd1

√T − t∂KΣ(K,T )

)2+ K2Σ(K,T )(T − t)(∂KKΣ(K,T )− d1(∂KΣ(K,T ))2

√T − t)

D Numerical tools and others

D.1 Terminology

European options can only be exercised at maturity T with a payoff being a function of the underlying priceat that time, that is for a call option with strike K

67

Page 68: A Practical Guide to Implied and Local Volatility

H(ST ) = (ST −K)+

The option price is at-the-money at time T if K = ST . The intrinsic value of an option is the value of itspayoff today. The time value of an option is equal to its price minus its intrinsic value and it bears theoptionality of the option. The implied volatility of an option is greater than that of its underlying.

D.2 Approximating the normal functions

There is no closed-form solution to the cumulative standard normal integral function

N(x) =1√2π

∫ x

−∞e−

y22 dy

and a numerical approximation must be used. Common practice is to use an exponential and a fifth degreepolynomial, see Abramowitz et al in [AS74]. The problem of finding an accurate cumulative normal ap-proximation appeared when one tried to find an accurate approximation to a n-variate cumulative function.This is because most approximations will use the n−1-variate. Hart in [Har68] proposed to use high degreerational functions obtaining double precision accuracy throughout the real line. An implementation is givenby West in [Wes04]. Also, Genz in [Gen04] provides accurate algorithms for the computation of bivariateand trivariate normal and t probabilities for rectangles. The implementation is available from the author’swebsite

www.math.wsu.edu/faculty/genz/homepage

where one can get the normal distribution probabilities accurate to 1e − 15 proposed by Schonfelder in[Sch78]. Getting double precision accuracy on the cumulative normal approximation, we can refine to fullmachine precision the Moro approximation of the inverse normal cumulative distribution function. TheGaussian function being easily differentiable, one can use the Newton’s second order method or the Halley’smethod (third order), see Acklam in [Ack04].

D.3 Pseudorandom number generators

In order to solve the non-linear programming problem under constraints with the DE algorithm, we need togenerate pseudorandom numbers. We let the reader refer to L’Ecuyer in [LEcu07] where a review of thebasic principles underlying the design of a uniform random number generators is done. For simplicity of usewe recommand one of the random number generators introduced by L’Ecuyer in [LEcu98] such as

• MRG32ka, it has two components of order three with period length ≈ 2191

• MRG32k5a, it has two components of order five with period length ≈ 2319

• MRG63k3a, it is a 64-bit integer arithmetic with two components of order three with period length≈ 2377

Alternatively, one can use a Linear Feedback Shift (LFSR) or Tausworthe random number generators whichare based on linear recurrences modulo two with primitive characteristic polynomials. For details, seeL’Ecuyer in [LEcu91] and Panneton et al in [PLM06]. The implementation is available from the author’swebsite

http://www.iro.umontreal.ca/~lecuyer

68

Page 69: A Practical Guide to Implied and Local Volatility

D.4 Parametric volatility funtion

We give an example of a parametric implied volatility function derived from Taylor expansion up to thesecond order around the money forward level. Given the strike K and the forward price F (t, T ) we get themoneyness m = log K

F (t,T ) . We let X be the at-the-money volatility, Y the skew and ZC the call curvatureand ZP the put curvature. To avoid any arbitrage opportunity we cap the smile by introducing cut offs. Toavoid infinite volatility in the lowest strikes we cut the smile at VL < 0 and to avoid negative volatility in thehighest strikes we cut the smile at VR > 0. Furthermore, we assume that the volatility does not depend onmoneyness below 1.5VL and above 1.5VR. To get a proper local volatility we must ensure that the volatilityfunction is continuous and twice differentiable in space. To do so, at each cutting point the left and rightlimit of the function as well as its first two derivatives must coincide. In this example we will only make surethat the first derivative is satisfied. We let Σ(T,K) = f(t, T − t,X, Y, ZP , ZC ,K) be the volatility functionfor maturity T and strike K and define on the put side

• in the range m < 1.5VL

Σ = X + 1.25Y VL + 1.5ZPV2L

• in the range 1.5VL < m < VL

Σ = X + (6ZPVL + 3Y )m− (2ZP +Y

VL)m2 − 3ZPV

2L − Y VL

• in the range VL < m < 0Σ = X + Ym+ ZPm

2

and on the call side

• in the range 0 < m < VR

Σ = X + Y m+ ZCm2

• in the range VR < m < 1.5VR

Σ = X + (6ZCVR + 3Y )m− (2ZC +Y

VR)m2 − 3ZCV

2R − Y VR

• in the range m > 1.5VR

Σ = X + 1.25Y VR + 1.5ZCV2R

So far, the set of parameters (X,Y, ZC , ZP ) is specified at each maturity and one need to introduce a temporalrelation between the parameters. For example, given two maturities and two sets of parameters, for anymaturity inside or outside that range one can interpolate or extrapolate the parameters with the function ofits choice

f(x) = ax+ b

f(x) = ax−α + b

...

69

Page 70: A Practical Guide to Implied and Local Volatility

D.5 The range of diffusion of the process

In numerical implementation such as PDE or Monte Carlo we need to define the range of diffusion of theprocess Y or Z which we called xL on the lower end of the domain and xH on the higher end. Given thefixed maturity T , we choose to solve for the first strike which gives the Black-Scholes delta δ of a call optionequal to 0 on one end of the domain and equal to 1 on the other hand. We define the function made of themodel delta as f(K) = ∆(S,K, ψ)− δ. Searching for the strike K we can use the Newton method (see Presset al in [PTVF92])

xn+1 = xn − f(xn)f ′(xn)

where the slope is

f′(xn) =

∂xn∆(S, xn, ψ) =

∂2

∂S∂KCM (S,K)

To avoid differentiation by zero we modify the slope

f′(xn) = sign(

∂xn∆(S, xn, ψ))

(| ∂∂xn

∆(S, xn, ψ)|+ ε)

where

sign(a) =

1 if a ≥ 0−1 otherwise

and with ε > 0. To improve convergence we can use the Halley’s method

xn+1 = xn − 2f(xn)f′(xn)

2(f ′(xn))2 − f ′′(xn)

where we need to calculate the derivative of the slope

f′′(xn) =

∂2

∂x2n

∆(S, xn, ψ) =∂3

∂S∂K2CM (S,K)

In general, to avoid differentiation by zero we modify the denominator as

denominator = sign( denominator )(| denominator |+ ε

)D.6 Enforcing constraints on parameters

We are presenting a simple way of enforcing the constraints on model parameters given in Equation (8.26).We first take the absolute value of the parameters a0

i for all i and consider the normalisation constraint∑ni=1 a

0i = 1. We set sum1 =

∑ni=1 a

0i and create a new vector with element a0

i = a0i

sum1so that the new

constraint∑n

i=1 a0i = 1 is satisfied. We then consider the constraint

∑ni=1 a

0iµ

0i = 0 together with µ0

i ≥ −1.Again, we set sum2 =

∑ni=1 a

0i |µ0

i | and consider the modified parameter

µ0i = −1 +

|µ0i |

sum2

and since sum2 > 0 and∑n

i=1 a0i = 1 then the new constraint

n∑i=1

a0iµ

0i = 0

70

Page 71: A Practical Guide to Implied and Local Volatility

is satisfied. Note, when sum2 → 0 the parameter µ0i is not defined but in that case

∑ni=1 a

0iµ

0i ≈ 0. Therefore,

when sum2 < ε for a small enough parameter ε we directly assume that the constraint is satisfied.

D.7 Properties of the volatility functions

We saw in Section (8.2) that the first volatility function in the Black-Scholes formula is

σi(t) = aie−cit + di

for ci, ai and di positive constants. Its derivative with respect to time is σ′i(t) = −aicie

−cit. We can computethe limit of the volatility when the time goes to zero and infinity as

limt→0

σi(t) = ai + di

limt→∞σi(t) = di when ci > 0

The common function f(t, β) is

f(t, β) = 1− 21 + (1 + t

β )2

Note that when β < 0 the function f(t) can become negative. Therefore to control the functions µi(t) andσi(t) we must impose β > 0. The limits of the function f(t, β) when the time goes to zero and infinity aswell as the parameter β are

limt→∞ f(t, β) = 1

limt→0

f(t, β) = 0

limβ→0

f(t, β) = 1

limβ→∞

f(t, β) = 0

We can now deduce the properties of the second volatility function

σi(t) = aie−cit + dif(t, bi)

with limits

limt→0

σi(t) = ai

limt→∞σi(t) = di when ci > 0

To get some intuition about the behavior of the model we can decompose the weight function ai(t) andcompute the limit of its component, that is

limt→∞norm =

n∑i=1

a0i = 1

limt→0

norm = ∞

71

Page 72: A Practical Guide to Implied and Local Volatility

so that the limits of the weight function ai(t) become

limt→∞ f(t, βi)× norm = 1

limt→∞ ai(t) = a0

i

and we must impose

limt→0

ai(t) = a0i

If we now consider β as the vector of all element βi we get

limβ→0

norm = 1

limβ→∞

norm = ∞

so that the limits of the weight function ai(t) become

limβ→0

ai(t) = a0i

limβ→∞

f(t, βi)× norm = 1

limβ→∞

ai(t) = a0i

Assuming that only the ith element of the vector β can reach a limit then the limits of the weight functionai(t) become

limβi→0

ai(t) ≈ a0i

limβi→∞

f(t, βi)× norm ≈ a0i

limβi→∞

ai(t) ≈ 1

Therefore, when one of the βi gets too large with respect to the other element of the vector the model willbe reduced to nearly a single function.

E The discrete dividends

E.1 The yield model

In the yield model we add the deterministic dividend yield dt to the repo rate qt in Equation (2.3). In thatsetting, the forward price with maturity T is continuous and given by

F (0, T ) = S0Re(0, T )B(0, T )

e−∫

T0 dsds

Assuming a piecewise constant dividend yield function taking constant values d(ti−1, ti) on the intervals[ti−1, ti] we can approximate the discrete dividend payments in the yield model. We can fit the model to allthe market forward prices recursively with the equation

d(ti−1, ti) = logF (0, ti−1)− logF (0, ti) + logRe(ti−1, ti)− logB(ti−1, ti)

72

Page 73: A Practical Guide to Implied and Local Volatility

E.2 Generating discrete dividends

We consider TH >> 1 to be the horizon date and assume that we have m discrete dividends d1, ..., dm atthe times t1, ..., tm such that 0 < t1 < ... < tm ≤ TH . Furthermore, we assume that we can observe N < mknown discrete dividends every first year from evaluation date. Our model will consist in generating thediscrete dividends for the remaining years (m − N). We let t0i for i = 1, .., N be the dividend ex-date withdividend amount vi. The series is represented as

(t01, d01), (t

02, d

02), ..., (t

0N , d

0N ), (t11, d

11), (t

12, d

12), ..., (t

1N , d

1N ), ...

For each given dividend in the first year, we generate another dividend dni at each anniversary date tni = t0i +n

for n > 0 years by capitalising its value at the risk-free rate. We apply for all these values the tax rate if itis a tax advance and then the progression yields which are estimated by fitting the observed market forwardprices. We can formalise it as

dni = ydn

vi

B(t0i , tni )

1 if a dividendtax if a tax credit

where tax = tax rate and ydn is the progression yield for year n. We now have one more degree of freedom,namely the repo curve, which is used to capture the call-put parity.

E.3 Estimating the dividends

In the spot model in Section (4.3), the forward price F (0, T ) seen at time t0 = 0 with maturity T is

F (0, T ) = CTS0 −DT

In order to compute the dividends dni for n > 0 we need to calibrate the progression yields ydn to the market

forward prices. As an example we consider that the maturity T1 of the first forward price is such thatt1i−1 < T1 < t1i . The forward price becomes

F (0, T1) = CT1S0 −∞∑

k=0

H(t1 − t0k)d0kC(t0k, T1)−

∞∑k=0

H(T1 − t1k)d1kC(t1k, T1)

Using the definition of the dividends d1k in Annexe (E.2), we get

∞∑k=0

H(T1 − t1k)d1kC(t1k, T1) =

∞∑k=0

H(T1 − t1k)yd1

vk

B(t0k, t1k)C(t1k, T1)

Therefore, we obtain the progression yield

yd1 =1∑∞

k=0H(T1 − t1k) vk

B(t0k,t1k)C(t1k, T1)

(CT1S0 −

∞∑k=0

H(t1 − t0k)d0kC(t0k, T1)− F (0, T1)

)In the case where there is a second forward price with maturity T2 > T1 such that t1j−1 < T2 < t1j we needtwo progression yields y1

d1and y2

d1. Setting i = T1 + 1, the forward price becomes

F (0, T2) = CT2S0 −∞∑

k=0

H(t1 − t0k)d0kC(t0k, T2)−

∞∑k=0

H(T1 − t1k)d1kC(t1k, T2)−

∞∑k=i

H(T2 − t1k)d1kC(t1k, T2)

and we get the progression yields

73

Page 74: A Practical Guide to Implied and Local Volatility

y2d1

=1∑∞

k=iH(T2 − t1k) vk

B(t0k,t1k)C(t1k, T1)

(CT2S0−

∞∑k=0

H(t1−t0k)d0kC(t0k, T2)−

∞∑k=0

H(T1−t1k)d1kC(t1k, T2)−F (0, T2)

)

which is simply

y2d1

=1∑∞

k=iH(T2 − t1k) vk

B(t0k,t1k)C(t1k, T1)

(CT2S0 −

∞∑k=0

H(T1 − tdk)dkC(tdk

, T2)− F (0, T2))

Similarly, if there are M forward prices in the year n = 1 then there are M progression yields ypd1

forp = 1, ..M and setting i = TM−1 + 1 the Mth one is given by

yMd1

=1∑∞

k=iH(TM − t1k) vk

B(t0k,t1k)C(t1k, TM )

(CTMS0 −

∞∑k=0

H(TM−1 − tdk)dkC(tdk

, TM )− F (0, TM ))

E.4 The call/put parity

Setting the repo rate to zero, the call/put parity seen at time t for the maturity T is

Callt(T,K)− Putt(T,K) = St −KB(t, T )

The call/put parity on the undiscounted call and put prices becomes

Callt(T,K)− Putt(T,K) = F (t, T )−KIn the general case where there are discrete dividends and deterministic repo rates, we must still have atmaturity

CallT (T,K)− PutT (T,K) = ST −K = F (T, T )−KGiven the definition of the forward price in Section (4.2), we get at time t

B(t, T )(ST −K) = Re(t, T )St −D(t, T )B(t, T )−KB(t, T )

so that the call/put parity is

Callt(T,K)− Putt(T,K) = Re(t, T )St −D(t, T )B(t, T )−KB(t, T )

while on the undiscounted call and put prices it becomes

Callt(T,K)− Putt(T,K) =Re(t, T )St

B(t, T )−D(t, T )−K

which is the forward price in the spot model. Hence, the call/put parity remains

Callt(T,K)− Putt(T,K) = F (t, T )−K

74

Page 75: A Practical Guide to Implied and Local Volatility

E.5 Matching the call/put parity

So far, we have calibrated the expected dividends to the market forward prices. Using the repo curve, westill have one degree of liberty. We can use that freedom to make sure that the call/put parity is satisfiedfor all market data. In that case, the forward price becomes

F (t, T ) = StRe(t, T )B(t, T )

−∞∑

k=0

H(T − tdk)dk

Re(tdk, T )

B(tdk, T )

where Re(t, T ) = e−qT (T−t) and qT is a constant for the forward of maturity T .

E.6 Simultaneous calibration

Given the evaluation date t0 + 0 and a fixed maturity TM , we can calibrate simultaneously the progressionyield and the repo rate leading to a system of two equations and two unknowns to solve. The first equationsolves the progression yield

yMd1

=1∑∞

k=iH(TM − t1k) vk

B(t0k,t1k)C(t1k, TM )

(CTMS0 −

∞∑k=0

H(TM−1 − tdk)dkC(tdk

, TM )− F (0, TM ))

which allow us to calculate the dividends di. From the call/put parity on the undiscounted call and putprices we get

S0Re(0, TM)B(0, TM )

−∞∑

k=0

H(T − tdk)dk

Re(tdk, TM )

B(tdk, TM )

= Call0(TM ,K)− Put0(TM ,K) +K

which is not linear in the repo value qTM and must be solved numerically. We then use the repo value tocompute the progression yield.

75

Page 76: A Practical Guide to Implied and Local Volatility

References

[AS74] M. Abramowitz, and I.A. Stegun, Handbook of mathematical functions, with formulas, graphs and

mathematical tables., Dover, (1974).

[Ack04] P.J. Acklam, An algorithm for computing the inverse normal cumulative distribution function.,http://home.online.no/ pjacklam, University of Oslo, (2004).

[Ale01] C. Alexander, Market models - a guide to financial data analysis., John Wiley and Sons, New York,(2001).

[AN04] C. Alexander and L.M. Nogueira, Hedging with stochastic local volatility., ISMA, Centre DiscussionPaper in Finance, University of Reading 2004-11, (2004).

[Al04] E. Alos, A generalization of Hull and White formula and applications to option pricing approximation,Working Paper, Universitat Pompeu Fabra, February 4, (2004).

[AlEw07] E. Alos, and CO. Ewald, Malliavin differentiability of the Heston volatility and applications to option

pricing, Working Paper, Universitat Pompeu Fabra, University of St.Andrews, May 14, (2007).

[ABR97] L.B.G. Andersen, and R. Brotherton-Ratcliffe, The equity option volatility smile : an implicit finite-

difference approach, Working Paper, winter, (1997).

[AA98] L. Andersen, and J. Andreasen, Volatility skews and extensions of the libor market model, WorkingPaper, August (1998).

[AA00] L. Andersen, and J. Andreasen, Jump-diffusion models : volatility smile fitting and numerical methods

for pricing, Review of Derivatives Research, 4, 231-262 (2000).

[ACL01] O. Andre, L. Chouillet and H. Linet, DMA pricer description., Working Paper, Equity DerivativesQuantitative Research, Credit Lyonnais, December (2001).

[Atl04] M. Atlan, Localizing volatilities., Working Paper, Laboratoire de Probabilite, Universite Pierre etMarie Curie, First Draft (2004), Last Draft (2006).

[B94] S.H. Babbs, The valuation of cross-currency interest sensitive claims, with application to Diff Swaps,Midland Global Markets, London , 1, (1994).

[BCC00] G.S. Bakshi, C. Cao and Z. Chen, Do call prices and the underlying stock always move in the same

direction ?, Review of Financial Studies, 13 (Fall), p549-p584, (2000).

[BaSu07] R. Balamurugan, S. Subramanian, Self-adaptive differential evolution based power economic dispatch

of generators with valve-point effects and multiple fuel options., International Journal of ComputerScience and Engineering, Winter (2007).

[Beau01] S. Baude, GRM smile model., Rapport de stage de fin d’etude de SUPELEC, (2001).

[BR02] S. Baude, CH. Roubinet, GRM smile model for the pricing of regular and exotic options on equities.,Working Paper, GRM, Credit Lyonnais, October (2002).

[BDK08] S. Benaim, M. Dodgson, D. Kainth, An arbitrage-free method for smile extrapolation., Working Paper,QuaRC, Royal Bank of Scotland, (2008).

[BC04] S. Ben Hamida, R. Cont, Recovering volatility from option prices by evolutionary optimization., WorkingPaper, CMAP, (2004).

76

Page 77: A Practical Guide to Implied and Local Volatility

[BGR08] E. Benhamou, A. Gruz and A. Rivoira, Stochastic interest rates for local volatility hybrids models,Working Paper, (2008).

[BBF02] H. Berestycki, J. Busca and I. Florent, Asymptotics and calibration of local volatility models., Quant.Finance, 2, pp 61-69 (2002).

[BR04] J. Bergenthum and L. Ruschendorf, Comparison of option prices in semimartingale models., Universityof Freiburg, Eckerstr, (2004).

[BGW96] Y.Z. Bergman, B.D. Grundy and Z. Wiener, General properties of option prices., Working Paper,January (1996).

[BS73] F. Black, and M. Scholes, The pricing of options and corporate liabilities, Journal of Political Eco-nomics, 81, 637-659 (1973).

[BM02] D. Bloch, P. Miralles, Statistical dynamics of the smile, Technical Report, DrKW, 1, (2002).

[BloNa08] D. Bloch, and Y. Nakashima, Multi-currency local volatility model., Working Paper, University ofParis 6, August, (2008).

[Blo09] D. Bloch, Multi-currency Fast Stochastic local volatility model., Working Paper, University of Paris 6,October, (2009).

[Blo09bis] D. Bloch, A note on calibration of Markov processes., Working Paper, University of Paris 6, April,(2009).

[BGS03] R. Bos, A. Gairat and A. Shepeleva, Dealing with discrete dividends., Risk, January, p109-112 (2003).

[BS88] M. Brenner, M.G. Subrahmanyan, A simple formula to compute the implied standard deviation., Fi-nancial Analysts Journal, 44, No. 5, 80-83 (1988).

[BM00] D. Brigo, F. Mercurio, A mixed-up smile., Risk, September, pp 123-126 (2000).

[BM01] D. Brigo, F. Mercurio, Lognormal-mixture dynamics and calibration to market volatility., WorkingPaper, Banca IMI, (2001).

[Bri02] D. Brigo, The general mixture-diffusion SDE and its relationship with an uncertain-volatility option model

with volatility-asset decorrelation., Working Paper, Banca IMI, September 10 (2002).

[Bue09] H. Buehler, Volatility and dividends., Working Paper, Institut fur Mathematik, MA 7-4, August(2009).

[CGGT02] M. Chernov, A.R. Gallant, E. Ghysels and G. Tauchen, Alternative models for stock price dynamics,University of Iowa, June, (20002).

[Coe99] C.A. Coello Coello, A comprehensive survey of evolutionary-based multiobjective optimization tech-

niques., Knowledge and Information Systems, An International Journal, 1 (3), p269-p308, (1999).

[Coe00] C.A. Coello Coello, Constraint-handling using an evolutionary multiobjective optimization technique.,Civil Engineering and Environmental Systems, Vol. 17, p319-p346, (2000).

[CoeMez02] C.A. Coello Coello, E. Mezura-Montes, Constraint-handling in genetic algorithms through the use

of dominance-based tournament selection., Advanced Engineering Informatic, Vol. 16, p193-p203,(2002).

[CoeMez03] C.A. Coello Coello, E. Mezura-Montes, Increasing successful offspring and diversity in differential

evolution for engineering design., Advanced Engineering Informatic, Vol. 16, p193-p203, (2003).

77

Page 78: A Practical Guide to Implied and Local Volatility

[CF02] R. Cont, J. da Fonseca, Dynamics of implied volatility surfaces, Quantitative Finance, 2, 45-60 (2002).

[CT02] R. Cont, P. Tankov, Calibration of jump-diffusion option-pricing models : a robust non-parametric

approach, CMAP, 42, September (2002).

[CM96] C.J. Corrado, T.W. Miller,Jr., A note on a simple, accurate formula to compute implied standard

deviations., Journal of Banking and Finance, 20, p 595-603 (1996).

[CR76] J.C. Cox, and S. Ross, The valuation of options for alternative stochastic processes., Journal of Finan-cial Economics, 3, 145-166 (1976).

[CC88] C.E. Curtis, and G.L. Carriker, Estimating implied volatility directly from ”nearest-to-the-money” com-

modity option premiums., Working Paper 081588, Clemson University, (1988).

[DHS06] T. Daglish, J. Hull and W. Suo, Volatility surfaces : theory, rules of thumb and empirical evidence,Working Paper, August (2006).

[Dar82] C.R. Darwin, The variation of animals and plants under domestication., Murray, London, secondedition (1882).

[Deb00] K. Deb, An efficient constraint handling method for genetic algorithms., Computer Methods in AppliedMechanics and Engineering, 186 (2/4), 311-338 (2000).

[Der08] E. Derman, Lectures 1-12, Working Paper, Spring, (2008).

[Du94] B. Dupire, Pricing with a smile, Risk, 7, pp. 18-20, (1994).

[Du96] B. Dupire, A unified theory of volatility, Working Paper, January, (1996).

[EK97] N. El Karoui, Modeles stochastiques de taux d’interet, Laboratoire de Probabilites, Universite deParis 6, 1, (1997).

[ElKJS98] N. ElKaroui, M. Jeanblanc and S. Shreve, Robustness of the BS formula., Mathematical Finance,8, 93-126 (1998).

[Fog66] L.J. Fogel, Artificial intelligence through simulated evolution., John Wiley, New York, (1966).

[Fri02] V. Frishling, A discrete question., Risk, January, p115-116 (2002).

[Ge89] H. Geman, The importance of the forward neutral probability in a stochastic approach of interest rates,Working paper, 7, Essec, (1989).

[GER95] H. Geman, N. El Karoui and J. Rochet, Changes of numeraire, change of probability measure and

option pricing., Journal of Applied Probability, 32, 443-458 (1995).

[Gen04] A. Genz, Numerical computation of rectangular bivariate and trivariate normal and t probabilities.,Statistics and Computing, 14, pp 151-160 (2004).

[Gy86] I. Gyongy, Mimicking the one-dimensional marginal distributions of processes having an Ito differential,Probability Theory and Related Fields, 71, 501-516 (1986).

[HKLW02] P.S. Hagan, D. Kumar, A.S. Lesniewski and D.E. Woodward, Managing smile risk., WilmottMagazine, September, 84-108 (2002).

[HK79] J.M. Harrison, D. Kreps, Martingale and arbitrage in multiperiods securities markets., Journal ofEconomic Theory, 20, 381-408 (1979).

78

Page 79: A Practical Guide to Implied and Local Volatility

[HP81] J.M. Harrison, S.R. Pliska, Martingales and stochastic integrals in the theory of continuous trading,Stochastic Processes Applications, 11, 215-260 (1981).

[Har68] J. Hart, Computer approximations., Wiley, Algorithm 5666 for the error function, (1968).

[HJM92] D. Heath, R. Jarrow and A. Morton, Bond pricing and the term structure of interest rates : a new

methodology, Econometrica, 60, 77-105, (1992).

[HL09] P. Henry-Labordere, Calibration of local stochastic volatility models to market smiles., Risk, 9, pp.112-117, (2009).

[Hol62] J.H. Holland, Outline for a logical theory of adaptive systems., Journal of the Association for Com-puting Machinery, 9, pp 297-314 (62).

[Hol75] J.H. Holland, Adaptation in natural and artificial systems., University of Michigan Press, Ann Arbor,(1975).

[IMCBN07] O. Isengildina-Massa, C.E. Curtis,Jr., W.C. Bridges, Jr. and M. Nian, Accuracy of implied volatil-

ity approximations using ”nearest-to-the-money” option premiums., Southern Agricultural EconomicsAssociation Meetings, Mobile, AL, February (2007).

[Jack06] P. Jackel, By implication., Wilmott Magazine, November, pp 60-66 (2006).

[JHW99] M. Jex, R. Henderson and D. Wang, Pricing exotics under the smile., Risk, November, 72-75, (1999).

[LandaCoe06] R. Landa Becerra, C.A. Coello Coello Cultured differential evolution for constrained optimization.,Computer Methods in Applied Mechanisand Engineering, 195, Jully, pp 4303 - 4322 (2006).

[LST05] B. Lapeyre, A. Sulem and D. Talay, Simulation of financial models : mathematical foundation and

applications., Working Paper, October (2005).

[LEcu91] P. L’Ecuyer, Tables of maximality-equidistributed combined LFSR generators., Working Paper, DIRO,Universite de Montreal, (1991).

[LEcu98] P. L’Ecuyer, Good parameters and implementations for combined multiple recursive random number

generators., Working Paper, DIRO, Universite de Montreal, May 4 (1998).

[LEcu07] P. L’Ecuyer, Pseudorandom number generators., Working Paper, DIRO, Universite de Montreal,August 28 (2007).

[Lee01] R.W. Lee, Implied and local volatilities under stochastic volatility., International Journal of Theoreticaland Applied Finance, Vol 4 1, 45-89 (2001).

[LT09] S. Liang, Y. Tahara, A formula to compute implied volatility with error estimate., InterdisciplinaryIinformation Sciences, 15, No. 2, 267-272 (2009).

[Lu90] E. Luede, Optmization of circuits with a large number of parameters, Archiv f. Elektr. u. Uebertr.,Band (44), Heft (2), pp 131-138, (1990).

[Mal97] A. Malz, Estimating the probability distribution of the future exchange rate from option prices., Journalof Derivatives, Winter, pp 18 - 36, (1997).

[Ma99] D. Marris, Financial option pricing and skewed volatility, MPhil Thesis, University of Cambridge,(1999).

79

Page 80: A Practical Guide to Implied and Local Volatility

[MezCoeTun04] E. Mezura-Montes, C.A. Coello Coello and E.I. Tun-Morales Simple feassibility rules and dif-

ferential evolution for constrained optimization., Third Mexican International Conference on ArtificialIntelligence, MICAI, Lecture Notes in Artificial Intelligence, p707-p716, (2004).

[MezCoe04] E. Mezura-Montes, C.A. Coello Coello A study of mechanisms to handle constraints in evolutionary

algorithms., Workshop at the Genetic and Evolutionary Computation Conference, Seattle, Wash-ington, ISGEC, (2004).

[MezVelCoe06] E. Mezura-Montes, J. Velazquez-Reyes and C.A. Coello Coello Modified differential evolution

for constrained optimization., IEEE Congress on Evolutionary Computation, IEEE Press, p332-p339, (2006).

[Mi95] Z. Michalewicz, Gnetic algorithms, numerical optimization and constraints., L. Eshelman, ed., Pro-ceeding of the Sixth International Conference on Genetic Algorithms, San Mateo, 151-158, (1995).

[Mu05] M. Muck, On the similarity between displaced diffusion and constant elasticity of variance market models

of the term structure, WHU - Otto Beisheim Graduate School of Management, (2005).

[OBBFJL07] M. Overhaus, A. Bermudez, H. Buehler, A. Ferraris, C. Jordinson and A. Lamnouar, Equity

hybrid derivatives, Wiley Finance, (2007).

[O98] B. Oksendal, Stochastic differential equations, Springer Fifth Edition, (1998).

[OSF05] A. Oyama, K. Shimoyama and K. Fujii, New constraint-handling method for multi-objective multi-

constraint evolutionary optimization and its application to space plane design., Evolutionary and Deter-ministic Methods for Design, (2005).

[PLM06] F. Panneton, P. L’Ecuyer and M. Matsumoto, Improved long-period generators based on linear recur-

rences modulo 2., ACM Transactions on Mathematical Software, 32 (1), pp 1-16, (2006).

[Pit05] V. Piterbarg, A multi-currency model with FX volatility skew, Working paper, February, (2005).

[PTVF92] W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery, Numerical recipes, 2nd ed. Cam-

bridge, Cambridge University Press, (1992).

[Reb02] R. Rebonato, Assigning Future Smile Surfaces : Conditions for Uniqueness and Abscence of Arbitrage,(2002).

[RC04] R. Rebonato, M.T. Cardoso, Unconstrained fitting of implied volatility surfaces using a mixture of

normals., Working Paper, QUARC and Oxford University, July 6 (2004).

[RW09] D. Reiswich, U. Wystup, FX volatility smile construction., CPQF Working Paper, 20, FrankfurtSchool of Finance and Management, October (2009).

[RMQQ07] Y. Ren, D. Madan and M. Qian Qian, Calibrating and pricing with embedded local volatility models,Risk, September, (2007).

[Rub83] M. Rubinstein, Displaced diffusion option pricing., Journal of Finance 38 (1), 213-217 (1983).

[SanCoe05] L.V. Santana-Quintero, C.A. Coello Coello, An algorithm based on differential evolution for multi-

objective problems., International Journal of Computational Intelligence Research, 1, ISSN 0973-1873, pp 151 - 169 (2005).

[Sch78] J.L. Schonfelder, Chebyshev expansions for the error and related functions., Mathematics of Compu-tation, 32, No. 144, p 1232-1240 (1978).

80

Page 81: A Practical Guide to Implied and Local Volatility

[Schr89] M. Schroder, Computing the constant elasticity of variance option pricing formula., Journal of Finance44, 211-219 (1989).

[StPr95] R. Storn and K. Price, Differential evolution - a simple and efficient adaptive scheme for global opti-

mization over continuous spaces., International Computer Science Institute, Berkeley, TR-95-012,(1995).

[Sto96] R. Storn, System design by constraint adaptation and differential evolution., International ComputerScience Institute, Berkeley, TR-96-039, (1996).

[SG07] S. Svoboda-Greenwood, The displaced diffusion as an approximation of the CEV, Working paper,April, (2007).

[Tan00] P. Tankov, GRM smile model, Rapport de stage de fin d’etude de l’X, (2002).

[Tan05] P. Tankov, Calibration de modeles et couverture de produits derives., Working Paper, Universite ParisVII, (2005).

[Wes04] G. West, Better approximations to cumulative normal functions., Working Paper, University of theWitwatersrand, (2004).

[WDH93] P. Wilmott, J. Dewynne and S. Howison Option pricing : mathematical models and computation,Oxford Financial Press, (1993).

81