You are on page 1of 81

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 Dierential Evolution algorithm to calibrate the
models parameters to a nite set of option prices. We will therefore need to devise an evolutionary
algorithm that handle constraints in a simple and ecient way. Using some of the improvements made
to the DE algorithm combined with simple and robust constraints handling mechanisms we will propose
a modied 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 dicult
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 t to market prices allowing for simple hedging of exotic options. However, the local volatility is
just a useful simplication 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 dierent
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 diusion-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.

daniel.bloch@mizuho-sc.com

Otemachi First Square, 1-5-1 Otemachi, Chiyoda-ku, Tokyo 100-0004


1
Electronic copy available at: http://ssrn.com/abstract=1538808
Therefore, for models to capture market behavior, it necessitates the introduction of stochastic volatility
process independent from the deterministic instantaneous volatility. Jex, Henderson and Wang [JHW99] are
the rst ones to combine in a diusion model, deterministic local volatility and stochastic volatility. They
used a two-dimensional tree to diuse 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 diusions
independent from the underlying asset prices. Alexander et al in [AN04] assumed a parametric functional
form for the local volatility and derived a continuous stochastic local volatility model. Similarly to interest
rates, Ren et al [RMQQ07] considered an extension of the deterministic local volatility by incorporating
an independent stochastic component to volatility. However, they did not consider combining stochastic
volatility with stochastic rates since their approach is limited by the dimensionality of the PDE solver of the
Fokker-Planck equation.
A realistic assumption for hybrid options is to combine stochastic local volatility with stochastic interest
rates in order to model those long-dated products still getting perfect t to market prices. Since the drift
of the underlying price is now stochastic, the underlying price exhibits additional volatility resulting in a
modied volatility. Atlan [Atl04] used Gyongys results to extend the stochastic local volatility results to
a stochastic interest rates framework. He showed that the new local volatility is no longer only expressed
in terms of the ratio between the classical theta and the density of the call price but also depends on an
extra term (bias) which is the covariances between the spot rates and the indicatrice of the event that the
logarithm of the underlying price be greater than the strike price. However, he did not quantify that term
and assumed that it was possible to extract it from market prices. Benhamou et al in [BGR08] and Bloch et
al in [BloNa08] quantied these extra terms in the presence of deterministic instantaneous volatility. It was
further extended by Bloch in [Blo09] who recovered exactly the market equity or FX volatility surface by
computing a stochastic local volatility with stochastic domestic and foreign rates ensuring positive market
prices. Using the variance swap he decomposed the local variance of the forward price at maturity in terms
of the deterministic local variance of the underlying price plus bias terms (easily computable in some special
cases). We are going to follow his approch and describe in detail how to implement that model, focusing on
the computation of a proper deterministic local volatility.
Since the Black-Scholes model in [BS73], market prices of index options and foreign exchange options have
reached a high degree of liquidity such that they became the benchmark to mark to market or calibrate option
pricing models for pricing and hedging exotic options. This is done by parametrising the pricing measure with
some parameter vector and inferring its value from market prices. In order to implement the deterministic
local volatility, Dupires 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, one
can easily obtain more than 100 points (prices or implied volatility) where some of them are listed while
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 a result,
the market is incomplete and there are more than one acceptable price (volatility) surfaces satisfying the
no-arbitrage conditions.
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
generate the missing prices. However, direct interpolation of implied volatility surfaces does not guarantee a
resulting smooth risk-neutral density, hence a proper local volatility surface. Among the dierent techniques
proposed for obtaining from market prices a smooth volatility surface, Rebonato et al in [RC04] argued
that modeling directly the density was the most desirable approach. They extended the mixture of normals
approach 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
maturity products and discrete dividends such as the Japanese market, it is important for model pricing
to obtain a reliable volatility surface satisfying the no-arbitrage constraint not only in space but also in
time. Alternatively, the no-arbitrage conditions on the local volatility being simply that it must be positive
and Lipschitz continuous, one can assume a particular functional form for the local volatility and t it to
market prices. For example, in the case of deterministic rates, Ben Hamida et al introduced in [BC04] the
parametrisation of a set of admissible local volatility surface. However, in the presence of stochastic rates
it becomes more complex as one has to bootstrap both the local volatility together with the probability
distribution function in a PDE as explained by Overhaus et al in [OBBFJL07]. Instead, we are directly
going to assume a functional form for the market prices and solve a non-linear programming problem under
constraints, generating a surface without arbitrage in time and in space as closely as possible to market data.
When calibrating models parameters to market prices, extrapolation and interpolation is needed such
that one can only get a solution at best approximately verifying the constraints. It is typically an ill
posed problem as there may be either no solution at all or an innite number of solutions. In that case
we can always nd a solution but the minimisation function is not convex. Market practice is to solve
the optimisation problem with a gradient-based minimisation method to locate the minima. In general
we do not know with certainty if the objective function has a unique global minimum and if it exists if
it can be reached with a gradient based method. In order to circumvent these diculties various authors
proposed dierent regularisation methods all consisting in adding to the objective function a penalisation
criterion. 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 the
local minima of the tting criterion but will not guarantee the global minima and will not acknowledge the
multiplicity 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 of
global minima of the in-sample error and allow for the existence of multiple global minima. The population
of parameters is updated through cycles of independent random moves followed by selection according to
pricing performance. Parametrising a set of admissible local volatility surface, they used an Evolutionary
Algorithm (EA) to calibrate a local volatility diusion model to a nite set of option prices.
As explained above, to generate a volatility surface without arbitrage in space and in time we chose instead
to parametrise a mixture of shifted lognormal densities under constraints. We will therefore need to devise
an evolutionary algorithm that handle constraints in a simple and ecient way. Evolutionary algorithms
introduced by Fogel in [Fog66] and Holland in [Hol75] are robust and ecient optimisation algorithms
based on the theory of evolution proposed by Darwin in [Dar82], where a biological population evolves
over generations to adapt to an environment by mutation, recombination and selection. They search from
multiple points in space instead of moving from a single point like gradient-based methods do. Moreover,
they work on function evaluation alone (tness) and do not require derivatives or gradients of the objective
functions. Among the dierent EAs commonly used to solve CNOPs such as evolutionary programming,
evolution strategies, genetic algorithm and many more, dierential evolution (DE) became very popular.
DE is a population-based approach to function optimisation generating a new position for an individual by
calculating vector dierences between other randomly selected members of the population. The DE algorithm
is 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 increase
the 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 a
mechanism to deal with the constraints of the problems. The rst attempts to handle the constraints was
to 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 feasible
global optimum solution. Most of the research on DE focused on solving CNOPs by using a sole DE
3
variant, a combination of variants or combining DE with another search method. One of the most popular
constraint handling mechanisms is the use of the three feasibility rules proposed by Deb in [Deb00] on
genetic algorithms. Using some of the improvements to the DE algorithm combined with simple and robust
constraint handling mechanisms we propose a modied algorithm for solving our optimisation problem under
constraints which greatly improves its performances.
2 The setup
We consider the probability space (, F, P) where F
t
is a right continuous ltration including all P negligible
sets in F. For simplicity of exposition we let the market be complete and assume that there exist an equivalent
martingale measure denoted Q. In the presence of continuous dividend yield or repo rate, that unique
probability measure equivalent to P is such that the discounted stock price plus the cumulated dividends are
martingale 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 their
discounted payos 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 there
are traded maturities. So, we assume that the risk-free zero-coupon bond price dynamic with xed maturity
T and under the risk-neutral measure Q is
dB(t, T)
B(t, T)
= r
t
dt +
B
(t, T)dW
B
(t) with B(t, t) = 1 (2.1)
where (W
B
(t))
t0
is valued in R
m
and
B
(t, T)
1
is a family of local volatilities parameterised by their
maturities 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
ln B(t, T) is
f(t, T) = f(0, T)
_
t
0

B
(s, T)dW
B
(s) +
_
t
0

B
(s, T)
B
(s, T)

ds
where |
T

B
(t, T) =
B
(t, T)| K
t
for some adapted process K
t
. The spot rate is therefore
r
t
= f(0, t)
_
t
0

B
(s, t)dW
B
(s) +
_
t
0

B
(s, t)
B
(s, t)

ds
with r(0) = f(0, 0) where f(0, 0) =
2
ln B(0, T)|
T=0
. Integrating the spot rate and using the terminal
condition 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)dW
B
(s) +
1
2
_
t
0
|
B
(s, t)|
2
ds (2.2)
1

B
(t, T)dW(t) =

m
j=1

B,j
(t, T)dW
j
(t)
4
2.2 The dynamic of the underlying asset
In a general setting, we consider the underlying process (S
t
)
t0
to be a jump-diusion which can represent
either 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 the
spot rate is not modied and the local volatility can be expressed as the sum of two terms as described by
Andersen et al in [AA00]. Therefore, assuming independence between the jump process and the Brownian
motions we can concentrate on the diusion terms and omit the jumps of the stock. We let the underlying
process S
t
be a one-dimensional Ito process valued in the open subset D with dynamics under the risk-neutral
measure Q being
dS
t
S
t
=
t
dt +(t, )dW
S
(t) (2.3)
where denotes dependence on some arbitrary variables and the drift : D R as well as the
diusion

: D R
n
are regular enough to have a unique strong solution valued in D. We let the drift be

t
= r
d
t
r
f
t
q(t) where (r
t
)
t0
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, S
t
) = E
Q
[e

_
T
t
rsds
h(S
T
)|F
t
]
where h is a suciently smooth payo function. Furthermore, we assume that these price functions are of
class C
2
such that for T > t the law of S
T
knowing S
t
= x has a density (T, K) given by
(T, K) = E
Q
t
[(S
T
K)] =
1
E
Q
t
[e

_
T
t
rsds
|S
T
= K]

KK
C(t, S
t
; 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 foreign
assets with respect to the Q
d
Brownian motion W
d
. Therefore, the dynamic of the foreign zero-coupon bond
price in the domestic market under the risk-neutral measure is
dB
f
(t, T)
B
f
(t, T)
=
_
r
f
t

f

f
B
(t, T)(t, )
_
dt +
f
B
(t, T)dW
B
(t) with B
f
(t, t) = 1 (2.4)
where (t, ) is the instantaneous volatility of the foreign exchange rate and where the correlations are
< dW
S
, dW
B
>
t
=
f
dt and < dW
B
, dW
B
>
t
=
fd
dt. The foreign spot rate expressed in the domestic
currency is therefore
r
f
t
= f
f
(0, t) +
f
_
t
0

f
B
(u, t)(u, )du
_
t
0

f
B
(s, t)dW
B
(s) +
_
t
0

f
B
(s, t)
f
B
(s, t)

ds
Similarly, the foreign spot rate under the domestic forward measure is
r
f
t
= f
f
(0, t)+
f
_
t
0

f
B
(u, t)(u, )du
_
t
0

f
B
(s, t)dW
T
B
(s)
_
t
0

f
B
(s, t)
d
B
(s, t)

ds+
_
t
0

f
B
(s, t)
f
B
(s, t)

ds
5
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
dX
t
X
t
= (t, )dt +(t, )dW(t)
where denotes dependence on some arbitrary variables and the drift : D R
n
as well as the
diusion : D R
nn
are regular enough to have a unique strong solution valued in D. Gyongy in [Gy86]
showed that there exists a Markov process

X
t
with the same marginal distributions as those of our original
process. That process follows the dynamics
d

X
t

X
t
= b(t,

X
t
)dt +v(t,

X
t
)d

W(t)
where at time t
0
< t
b(t, x) = E
Q
t0
[(t, )|X
t
= x]
v
2
(t, x) = E
Q
t0
[(t, )(t, )

|X
t
= 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 instantaneous
drift are stochastic. Since the marginal distributions of our model are matched to those of a simple Markov
process, we can use this approach to calibrate the parameters of a high-dimensional dynamics to European
market prices. Therefore, given the one-dimensional underlying process S
t
dened in Equation (2.3), the
local drift and variance are given by
b(t, S) = E
Q
t0
[(t, )|S
t
= S]
v
2
(t, S) = E
Q
t0
[(t, )(t, )

|S
t
= S]
where S is an arbitrary realisation of S
t
for t 0. Using Bayes relationship, the local variance becomes
v
2
(t, S) =
E
Q
t0
[(t, )(t, )

(S
t
S)]
E
Q
t0
[(S
t
S)]
where (.) is the Dirac function. In general, in low dimensions, those expectations are solved numerically by
diusing 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] dened the local variance (LV) as the expectation of the
future spot variance conditional on a given asset price level. More specically, given the dynamic of the
underlying process in Section (2.2) with deterministic interest rates and applying Gyongys results we get
d

S
t

S
t
=
t
dt +
LV
(t,

S
t
)d

W
S
(t)
with
6

2
LV
(t, S) = E
Q
t0
[(t, )(t, )

|S
t
= S] (3.5)
which is sometime called the stochastic local variance (SLV), see Alexander et al in [AN04]. Hence, the
process

S
t
has the same marginal distributions as those of the process S
t
for all t 0. However, S
t
and

S
t
do not follow the same dynamics resulting in dierent exotic options prices as well as hedge ratios. In
the special case where the instantaneous volatility is a deterministic function of time t and the spot price S
t
then the local volatility is equal to the instantaneous volatility, that is

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

which we call the deterministic local volatility (DLV). It is the only case where the processes S
t
and

S
t
follow
the same dynamics. Dupire showed in [Du94] that when n = 1, the deterministic local volatility can be
estimated from market call and put prices of all strikes and maturities. He considered call prices as function
of strike K and maturity T and solved the forward equation

T
C =
1
2

2
DLV
(T, K)K
2

KK
C
T
K
K
C (3.6)
with initial condition C(t
0
, S
t0
, K, t
0
) = (S
t0
K)
+
obtaining a unique solution to the function of volatility

2
DLV
(T, K) =

T
C(t, S
t
, K, T) +K(r
T
r
f
T
q
T
)
K
C(t, S
t
, K, T) + (r
f
T
+q
T
)C(t, S
t
, K, T)
1
2
C
KK
(t, S
t
, T, K)K
2
This result is crucial because it allows perfect t to the market prices leading to a complete modication of
the equity market. The Black-Scholes implied volatility is no longer the only form of observable volatility
and one can directly use the local volatility for calibration. So, in principle one can directly diuse the
process S
t
with stochastic instantaneous volatility provided that its local variance matches that of the DLV

2
LV
(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 t to the market prices but it is dicult to implement
in 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 interest
rates to vanilla market prices. In order to get perfect t we need to calculate the local volatility of our
model (LVR) and express it as a function of the DLV. Applying Gyongys results we get the one-dimensional
stochastic dierential equation
d

S
t

S
t
=
LV R
(t,

S
t
)dt +
LV R
(t,

S
t
)d

W
S
(t)
with

LV R
(t, S) = E
Q
t0
[(t, )|S
t
= S]

2
LV R
(t, S) = E
Q
t0
[(t, )(t, )

|S
t
= S]
Again the process

S
t
has the same marginal distributions as those of the process S
t
for all t 0 while
S
t
and

S
t
do not follow the same dynamics. However, the local volatility (LVR) is no longer equal to the
7
deterministic local volatility (DLV) because of the stochastic rates. Atlan derived in [Atl04] that volatility
from domestic market prices for all strike K and maturity T using the characterisation of the local time
of continuous semi-martingale. We compute the local volatility with domestic and foreign stochastic rates
using a heuristic approach in Annexes (B.1), getting
E
Q
t
[e

_
T
t
rsds
|(T, )|
2
|S
T
= K]
E
Q
t
[e

_
T
t
rsds
|S
T
= K]
=

T
C(t, S
t
, K, T) q
t
_
K
K
C(t, S
t
, K, T) C(t, S
t
, K, T)
_
1
2
C
KK
(t, S
t
, T, K)K
2
+
E
Q
t
[r
f
T
e

_
T
t
rsds
S
T
I
ST K
] KE
Q
t
[r
T
e

_
T
t
rsds
I
ST K
]
1
2
C
KK
(t, S
t
, T, K)K
2
One can see that the only dierence with the local volatility with deterministic rates (LV) are the terms
E
Q
t
[r
f
T
e

_
T
t
rsds
S
T
I
ST K
] KE
Q
t
[r
T
e

_
T
t
rsds
I
ST K
]
so that it is not dicult to express the local volatility with stochastic rates in terms of the local volatility
with deterministic rates plus a bias

2
LV R
(T, K) =
2
DLV
(T, K) +(T, K)
where
(T, K) =
K(r
det
(T) r
f
det
(T))
K
C(t, S
t
, K, T) +r
f
det
(T)C(t, S
t
, K, T)
1
2
C
KK
(t, S
t
, T, K)K
2
+
E
Q
t
[r
f
T
e

_
T
t
rsds
S
T
I
ST K
] KE
Q
t
[r
T
e

_
T
t
rsds
I
ST K
]
1
2
C
KK
(t, S
t
, T, K)K
2
and r
det
(t) is the deterministic rate at time t. Benhamou et al in [BGR08] and Bloch et al in [BloNa08]
quantied these extra terms in the presence of deterministic instantaneous volatility. It was further extended
by 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 underlying
price with stochastic rates

2
LV F
(T, S) =
E
Q
t0
[e

_
T
t
rsds
(T, )(T, )

|S
T
= S]
E
Q
t0
[e

_
T
t
rsds
|S
T
= S]
=
2
LV R
(T, S)
So, in order to compute the local volatility at a xed time T of the underlying price S
t
under the risk-neutral
measure, we can use that of the underlying under the T-forward measure which is equal to the local volatility
of the forward price with xed maturity T computed at time t = T. Furthermore, using the variance swap he
decomposed the local variance of the forward price at that time in terms of the deterministic local variance
of the stock price plus bias terms (easily computable in some special cases) as

2
LV 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 stochastic
interest 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 deterministic
local volatility with deterministic rates.
8
3.4 Some deterministic local volatility
3.4.1 The nonparametric local volatility
We assume that the stock price (S
t
)
t0
given in Equation (2.3) for n = 1 is a Markov process with appropriate
hypothesis and satises the stochastic dierential equation (sde)
dS
t
S
t
= (t, S
t
)dt + (t, S
t
)dW
t
(3.8)
where (t, .) is a deterministic instantaneous volatility. We let the drift be
t
= r(t) r
f
(t) q(t) and
assume that the repo rate q(t) and the instantaneous rates r(t) and r
f
(t) are deterministic and such that for
a xed maturity T the zero-coupon bond price is B(t, T) =
(t)
(T)
= e

_
T
t
rsds
where (t) is the cash factor at
time t. In the presence of continuous dividend yield, the unique probability measure equivalent to P is such
that the discounted stock price plus the cumulated dividends are martingale when the riskless asset is the
numeraire, that is S
t
=
St
(t)
+
_
t
0
q
s
ds is a Q martingale.
We assume that we know at time t a continuum of market prices C(t, S
t
, T, K) such that given the
family {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 dierential equation (PDE) satised by
the claim, getting

t
U(t, x) +
t
x
x
U(t, x) +
1
2

2
(t, x)x
2

xx
U(t, x) r(t)U(t, x) = 0 , U(T, x) = h(x)
Assuming that the stock price S
t
has a continuous density, that it is square integrable and that the diusion
coecient x(t, x) is locally Holder continuous, Dupire in [Du94] showed that in a local volatility model the
market prices C(t, S
t
, T, K) satisfy the Forward equation

T
C =
1
2

2
(T, K)K
2

KK
C (r(T) r
f
(T) q(T))K
K
C with C(t, S
t
, t, K) = (S
t
K)
+
where the variation parameters are the strikes and maturities of the option prices. We can therefore nd
uniquely the local volatility (T, K) as
1
2

2
(T, K) =

T
C(T, K) + (r(T) r
f
(T) q(T))K
K
C(T, K) + (r
f
(T) +q(T))C(T, K)
K
2

KK
C(T, K)
Note that Dupire formula can be seen as a consequence of the Fokker-Plank equation for the density of the
underlying. Let
t
(S) be the density of the stock price S
t
then under regularity assumptions we get the
equation

t
t

1
2

2
S
2
(
2
S
2

t
) +

S
(
t
S
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 be
C
2 2
.
It means that the density must be very smooth to be twice dientiable in order to recover a unique solution
to the call prices and in return the local volatility. Moreover, it can happen that even if the volatility (t, S
t
)
exists, it does not lead to a proper (satisfying some hypothesis) Markov process.
2
twice dierentiable
9
Remark 3.2 To use Dupires formula we need to assume

2
C
K
2
> 0 and
C
T
+(r(T) r
f
(T) q(T))K
C
K
+
(r
f
(T) +q(T))C > 0. That is, both buttery 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 by
integrating twice the density
C(0, S
0
, T, K) = e
rT
_

K
dS
_

S
dS

T
(S

)
So if we integrate twice the Fokker-Plank equation we recover Dupires equation and the local volatility.
Remark 3.3 There is a link between the local volatility and the implied volatility. Berestycki et al showed
in [BBF02] that when maturities are very short, the implied volatility is equal to the harmonic average of
the local volatilities.
As a result, given (T, K) the implied volatility and dening L = log
SRe(0,T)
KB(0,T)
and (T, K) =

(T, L), when
the local volatility (0, L) is dierentiable at the strike L = 0 we get

(0, 0) =
1
2

L
(0, 0)
Therefore, for short maturities the at-the-money skew of the local volatility is twice that of the implied
volatility. For more properties on the local volatility and in general for a detailed explaination of the
interaction 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 implied
skew is to use a parametric local volatility such as the constant elasticity of variance (CEV) (see Cox et al
in [CR76]) with local volatility function being
(t, x) = (t)(
x
L
t
)
(t)1
and with simplied pricing formula given by Schroder in [Schr89]. Alternatively, one can shift the underlying
price with the function of time (t) getting the displaced diusion model (see Rubinstein in [Rub83]) such
that the underlying dynamics become
dS
t
=
D
(t)Y
t
dW
S
(t) (3.9)
where
D
(t) > 0 and Y
t
= (t)S
t
+(1 (t))S
0
. Applying Itos lemma we get the solution Y
t
= S
0
M
t
where
M
t
= e

1
2
_
t
0

2
(s)
2
D
(s)ds+
_
t
0
(s)D(s)dW(s)
Note, (t) is a blending parameter taking value in the range [0, 1] and controlling the slope of the local
volatility function (t, x) = (t)x + (1 (t))x
0
. 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 Ane model and classical
pricing formula of call options can be applied provided that we modify the characteristic function of the
logarithm of the forward price and that we shift the strike of the option. That is, the underlying price seen
at time t is given by
S
t
=
S
0
(t)
_
M(t) (1 (t))
_
where the process M(t) follows the dynamics
10
dM(t)
M(t)
=
M
(t)dW
S
(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 diusion model must allow for the underlying price to
become negative. One can calibrate the model parameters (t) and (t) to the European call price C
t
seen
at time t with a strike K and maturity T satisfying
C(t, S
t
, T, K) = B(t, T)E
Q
__
S
t
(T)
M(T) K
_
+
|F
t

where K =
1(T)
(T)
S
t
+K. The displaced diusion model became popular among market practitioners since
it is the simplest way to introduce an implied volatility skew and vanilla option are priced with the standard
Black-Scholes formula with appropriate input parameters. In the presence of a non-zero drift, the dynamics
of the underlying price become
dS
t
S
t
=
t
dt +(t, S
t
)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, S
t
+
1(t)
(t)
F(0, t) is not
a geometric Brownian motion due to the drift term and the Black-Scholes formula can no-longer be used
to price vanilla options. One possibility is to set the interest rates to zero, to multiply the strike with the
discount factor and to diuse the process

S
t
=
St
Re(0,t)
which is obtained by reinvesting the dividend in the
stock price. When rates are stochastic, one should diuse the forward price under the forward measure.
However, contrary to deterministic local variance (DLV), the instantaneous variance of the forward price
is not a function of the forward price but it is a function of the underlying asset S
t
= F(t, T)
B
d
(t,T)
B
f
(t,T)
with
stochastic zero-coupon bond prices. It is therefore dicult to solve analytically but approximations can be
made. 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 underlying
process

F(t, T) and approximated its local volatility function.
3.4.3 Similarity between displaced diusion and CEV model
Given the process (S
t
)
t0
the dynamic of the underlying price is
dS
t
=

_
S
t
+
_
dW
t
where is the displacement parameter. The displaced diusion process admits negative values for > 0. A
general representation of the dynamic of the underlying price is
dS
t
= (S
t
)dW
t
where (x) is a possibly non-linear function returning positive value. As an example, another commonly
used model that exhibit an implied volatility skew is the CEV model ((x) = x

) introduced by Cox et al
where the dynamic of the underlying price is
dS
t
=

t
dW
t
11
where the elasticity parameter is a positive constant such that 0 1 and where is not dened for
negative arguments. For < 1, the origin (zero) is an attainable and absorbing boundary for the process
which is not desirable for numerical implementation especially in the pricing of path-dependent options. To
get some of the properties of the CEV model see Andersen et al in [AA98]. Marris in [Ma99] showed that
by setting

S
1
0
and =
1

S
0
the displaced diusion becomes
dS
t
=

S
1
0
_
S
t
+ (1 )S
0
_
dW
t
and produce vanilla option prices similar to those produced by the CEV model. Latter, Svoboda-Greenwood
in [SG07] proved that the parameters transformation were the result of a simple linearisation of the CEV
dynamics around the initial value S
0
. Therefore, considering the simple displaced diusion model in Section
(3.4.2) in order to recover the vanilla option prices produced by the CEV model we must impose

D
=

S
1
0
and =
That is, given the elasticity parameter and the elasticity volatility

the displaced diusion volatility


depends in a non-linear way on the initial value S
0
. Muck in [Mu05] tested the approximated displaced
diusion against the CEV model on swaption prices and barrier swaption prices with = 0.5,

= 0.12
and initial forward rate S
0
= 0.06 which gives a displaced diusion volatility of
D
= 0.4898. However, it is
not directly applicable to the Equity market where the index can be as high as S
0
= 20000 on the Japanese
market leading to an almost zero displaced diusion volatility.
3.4.4 The lognormal-mixture
Usually, the deterministic local volatility is either not exible enough to calibrate a large number of points in
a volatility surface when specied with a small number of parameters (see Section (3.4.2)) or it is specied in
a too general way as dened in Section (3.4.1), requiring interpolation and extrapolation to be implemented.
Brigo et al dened in [BM01] an alternative deterministic local volatility by nding a diusion process
with marginal law following a given evolving mixture of probability densities. We let the underlying process
X
i
(t) be a one-dimensional Black-Scholes process valued in the open subset D with dynamics under the
risk-neutral measure Q being
dX
i
(t)
X
i
(t)
= r
t
dt +
i
(t)dW(t) for i = 1, .., m
where
i
(t) is a deterministic function of time. Taking into account the lognormal marginal distributions of
the processes, they showed that the SDE resulting from such coecients is
dS
t
S
t
= r
t
dt +
mix
(t, S
t
)dW(t)
with

2
mix
(t, y) =
m

i=1

i
(t, y)
2
i
(t)
where
i
(t, y) is a function of the lognormal densities. It admits a unique strong solution provided that
the function t
i
(t) is regular enough. In fact, it can be seen as a natural way of interpolating and
extrapolating the volatility surface in time and in space, consistent with market prices and satisfying the
12
no-arbitrage conditions. Latter, Brigo in [Bri02] showed the existence of a close relationship between the
lognormal mixture diusion dynamics above and the uncertain volatility mixture dynamics given by
dS
t
S
t
= r
t
dt +(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 lognormal
mixture diusion dynamics is the local volatility version of the uncertain volatility mixture dynamics, that
is

2
mix
(t, x) = E
Q
[
2
(t)|S
t
= 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 consistent
stock price process. As explained by Bos et al in [BGS03], there are various ways of modeling dividends
all resulting in dierent prices for path dependent options. In general, one assume the dynamic of the
underlying stock price process between two dividend dates to follow a diusion process and to experience
jumps at dividend payments. However, in the presence of deterministic rates and instantaneous volatility
being 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 that
of a pure diusion process. Therefore, with the aim of obtaining closed-form solutions to European option
prices in some special cases, we will assume that we can separate the volatility risk of the stock price from
the discrete dividends. Following Andre et al in [ACL01] and Frishling in [Fri02], we are briey going to
describe 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 ux at dierent times. As-
suming stochastic interest rates and deterministic repo rate, we let C(0, t) =
Re(0,t)
B(0,t)
= E
Q
[e
_
t
0
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)
= E
Q
[e
_
T
t
sds
|F
t
]
with C(t, t) = 1. Given a set of discrete dividends (d
i
)
iN
generated as explained in Annexe (E), we let
D
t
= D(0, t) be the accumulated dividends at time t in the interval [0, t], that is the dividends paid from
t
0
= 0 till time t and capitalised at t is given by
D
t
=

i=0
H(t t
di
)d
i
C(t
di
, t)
where H(.) is the heaviside function and D
0
= 0. The dynamics of that process are given by
dD
t
=
t
D
t
dt +D

t
dt
13
where D

t
=

i=0
(t t
di
)d
i
C(t
di
, t). When t = t
di
then C(t
di
, t
di
) = 1 and D

t
= D
t
=

i=0
(t = t
di
)d
i
.
Similarly, the dividends paid from time t till time T and capitalised at maturity T are given by
D(t, T) = D
T
C(t, T)D
t
Discounting these dividends to time t, we get the present value D
PV
(t; t, T) of the dividends paid between
t and T
D
PV
(t; t, T) =
D(t, T)
C(t, T)
=
D
T
C(t, T)
D
t
More generally, we can discount or compound at any date t

the dividends in the range [t, T] with


D
PV
(t

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

, T)
=

i=0
H(T t
di
)d
i
C(t

, t
di
)
1

i=0
H(t t
di
)d
i
C(t

, t
di
)
1
For instance, the present value at time t of all past and future dividends is D
PV
(t; 0, T).
4.2 The forward model
Using the no-arbitrage approach, the forward strike is derived from replication arguments by reinvesting
the 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 S
t
with maturity
T must satises under the risk-neutral measure
E
Q
[
(t)
_
F(t, T) S
T
+D(t, T)
_
(T)
|F
t
] = 0
which gives
F(t, T) =
1
B(t, T)
E
Q
[
(t)S
T
(T)
|F
t
]
1
B(t, T)
E
Q
[
(T)D(t, T)
(T)
|F
t
]
The use of the bond price as numeraire together with the change of probability measure is a trick to neutralise
interest rate movements. When normalising the stock price dened in Section (2.2) with respect to the bond
price, the resulting asset price is a martingale under the forward measure. From the change of measure
formula 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) = E
Q
[
B
(t, T)S
T
|F
t
] E
Q
[
B
(t, T)D(t, T)|F
t
]
= E
T
[S
T
|F
t
] D(t, T)
with expected value equal to C(t, T)S
t
. Therefore, the forward price seen at time t is
F(t, T) = C(t, T)S
t
D(t, T) (4.10)
with initial value being F(0, T) = C(0, T)
_
S
0
D
PV
(0; 0, T)
_
. As explained by Buehler in [Bue09], the
forward price being positive one must have S
t

D(t,T)
C(t,T)
= D
PV
(t; t, T) and the stock price must be oored by
D
PV
(t; t, T). The forward price in Equation (4.10) being derived from replication arguments we can either
14
choose to model its dynamics (forward model) or that of the stock price (spot model). Given the dynamics
of the stock price in Equation (2.3) we assume that the dynamics of the forward price under the forward
measure Q
T
is
dF(t, T)
F(t, T)
=
F
(, t)dW
T
(t)
where
F
(, t) is a stochastic instantaneous volatility. We can re-express the forward price and its dynamic
as
F(t, T) = F(0, T)Y
t
dY
t
= Y
t

Y
(, t)dW
T
t
Y
0
= 1
where Y
t
is the continuous process diused. In that setting, the stock price becomes
S
t
=
F(0, T)Y
t
+D(t, T)
C(t, T)
=
F(0, T)Y
t
C(t, T)
+D
PV
(t; t, T)
and simplies at maturity to S
T
= F(0, T)Y
T
. In the special case where rates and instantaneous volatility
are deterministic, using Itos lemma the dynamics of the stock price becomes
dS
t
=
t
S
t
dt +
Y
_
S
t

D(t, T)
C(t, T)
_
dW(t)
_

i=0
(t t
di
)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
S
t
= C(0, t)Y
t
D(0, t) (4.11)
dY
t
= Y
t

Y
(, t)dW
t
dB(t, T) = r
t
B(t, T)dt + (t, T)B(t, T)dW
B
(t)
Y
0
= S
0
where Y
t
is the continuous process diused. Note that the spot and forward models are exactly the same in
absence of dividends. In the special case where the rates and instantaneous volatility are deterministic we
can use Itos Lemma to get the dynamics of the stock price
dS
t
=
_

t
C
t
Y
t

t
D
t
D

t
_
dt +C
t

Y
(Y
t
, t)Y
t
dW
t
=
t
S
t
dt + (S
t
+D
t
)
Y
(
S
t
+D
t
C(0, t)
, t)dW
t
D
t
dt
15
4.3.2 The exponential case
In the exponential case, setting L
Y
(t) = log Y
t
and applying Itos lemma, the dynamics become
S
t
= C(0, t)e
LY (t)
D
t
dL
Y
(t) =
1
2

2
Y
(e
LY (t)
, t)dt +
Y
(e
LY (t)
, t)dW
t
dB(t, T) = r
t
B(t, T)dt + (t, T)B(t, T)dW
B
(t)
Y
0
= S
0
Similarly, in the special case of deterministic rates and instantaneous volatility, using Itos calculus we can
derive the process for the stock price as
dS
t
=
_

t
C
t
e
LY (t)

t
D
t
D

t
_
dt +C
t

Y
(e
LY (t)
, t)e
LY (t)
dW
t
=
t
S
t
dt + (S
t
+D
t
)
Y
(
S
t
+D
t
C(0, t)
, t)dW
t
D
t
dt
4.4 The Z-spot model
4.4.1 The linear case
A slight modication of the model is to consider the process Z
t
= C(0, t)Y
t
to be the asset price S
t
plus
the forward value of all dividends paid from today up to time t. In that setting, the stock price and the
dynamics of the diusion process becomes under the risk-neutral measure
S
t
= Z
t
D
t
(4.12)
dZ
t
=
t
Z
t
dt +
Z
(, t)Z
t
dW
t
dB(t, T) = r
t
B(t, T)dt + (t, T)B(t, T)dW
B
(t)
Z
0
= S
0
where
t
= r
t
q
t
.
Remark 4.1 In that framework the diusion process Z
t
correspond to the stock price with no discrete
dividends given in Equation (2.3).
In the special case where the rates and instantaneous volatility are deterministic we can use Itos Lemma to
get the dynamics of the stock price
dS
t
=
_

t
Z
t

t
D
t
D

t
_
dt +
Z
(Z
t
, t)Z
t
dW
t
=
t
S
t
dt + (S
t
+D
t
)
Z
(S
t
+D
t
, t)dW
t
D
t
dt
4.4.2 The exponential case
In the exponential case, setting L
Z
(t) = log Z
t
and applying Itos lemma, the dynamics become
16
S
t
= e
LZ(t)
D
t
dL
Z
(t) =
_

1
2

Z
(e
LZ(t)
, t)
_
dt +
Z
(e
LZ(t)
, t)dW
t
dB(t, T) = r
t
B(t, T)dt + (t, T)B(t, T)dW
B
(t)
Z
0
= S
0
4.5 The no-arbitrage conditions
Market prices must satisfy strong constraints for the no-arbitrage conditions to apply. We refer the readers
to Harrison and Pliska in [HP81] for detailed proof. Moreover, in the presence of discrete dividends the
stock price can not fall bellow a oor value, imposing stronger constraints of no-arbitrage. For instance, call
prices may not always be increasing in time. In fact, the classical no-arbitrage conditions still hold but for
the pure diusion 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 time
t
0
= 0 satisfy
1. the prices are decreasing and convex in the strike price k
2. K 0, T 0
B(t
0
, T)
_
C(t
0
, T)S
t0
D(t
0
, T)
_
C(K, T) B(t
0
, T)
_
C(t
0
, T)S
t0
(D(t
0
, T) +K)
_
+
3. 0
C(K, T +) C(
K+D(T,T+)
C(T,T+)
, T)
while the sucient no-arbitrage conditions are
Theorem 4.2 If there exists a system of option prices twice dierentiable in the strike that satises the
conditions 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 explicit
the instantaneous volatility (t, ) of the underlying asset. So far we have assumed in Section (2) a general
instantaneous volatility function for the underlying asset. In order to get model prices in a fast and ecient
way as well as perfect t to liquid option prices we are going to further constrain that function. We let all
the sources of uncertainty that inuence the instantaneous volatility other than the underlying be denoted
by V = (V
1
, .., V
p
) and assume that the volatility can be decomposed into a separable function given by
(t, ) = (V
t
)(t, S
t
) (5.13)
where (t, .) is a deterministic function of time and the underlying value used to get perfect t to market
prices 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

2
LV F
(T, K) =
2
LV F
(T, K)E
T
t0
[
2
(V
T
)|S
T
= K]
17
Therefore, setting V(T, K) = E
T
t0
[
2
(V
T
)|S
T
= K] the local function
LV F
(T, .) that gives perfect t to
market prices becomes

2
LV F
(T, K) =

2
DLV
(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 volatility
assumptions in Section (5.1) is a four-dimensional model making it dicult to solve numerically especially
with callable features. Following market practice, we assume that V takes values in R with the dynamics
dV
t
= k( V
t
)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 same
distribution. To make calculations feasible Bloch assumed in [Blo09] that V
t
=

V the collapse process with
the same random variable for all time t. In that setting the random variable is independent from the stock
price and the instantaneous volatility in Equation (5.13) becomes
(t, ) =

V (t, S
t
)
Note, the instantaneous volatility is still stochastic and capable of rising without a movement in spot prices
as observed in the market. In that setting, the conditional expectation of the variance process becomes
V(T, K) = E
T
t0
[

V ]
Furthermore, when the domestic and foreign zero-coupon bond prices have deterministic volatility functions
and from independence, the bias term E(T, K) simplies (see [Blo09] for details).
5.3 Fast pricing
The simplest model satisfying the volatilitys assumptions in Section (5.1) is a four-dimensional model. We
saw in Section (5.2) that letting V
t
=

V be the collapsed process with the same random variable for all
time t allow us to reduce the problem to a three-dimensional one. Given the call price C(T, S
T
, K, T; V ) at
maturity, the discounted call price must be a Q-martingale so that its value at time t is
C(t, T; x, y) = E
Q
t
[e

_
T
t
rsds
C(T, S
T
, K, T; V )|S
t
= x,

V = y] (5.14)
which is solved numerically. However, the volatility

V being a random variable, we do not know with
certainty its value at time t. Therefore, from the properties of conditional expectation, the value of a call
option in the multi-currency stochastic local volatility model is
C(t, T; S
t
) = E
Q
t
[C(t, T; S
t
,

V )]
In the rest of this article we will concentrate on solving numerically the pricing Equation (5.14) with

V = y
given, that is C(t, T; S
t
, y). In that case the instantaneous volatility of the underlying process becomes
deterministic
(t, ) = y(t, S
t
) = (t, S
t
) (5.15)
18
5.4 The Variable of diusion for the bond
Given the dynamics of the zero-coupon bond price in Section (2.1), we can simplify calculation by dening
the time-function H(t) as
H(t) =
1
2
_
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 dene the new process (g(t))
t0
given by
g(t) = r(t) (t) =
_
t
0

t
(s, t)dW
B
(s) =
_
t
0
(s, t)dW
B
(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 integrals
involving bond price volatility in the drift, and thus in general the current short rate is not sucient to
determine the current term structure. But if we restrict the volatility to be deterministic and independent
from 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 path
dependency in the short rate process r(t). Therefore, in the special case of Gaussian interest rates, the
zero-coupon bond price is expressed as the analytic function of a state variable which is itself Gaussian. As
a result, we can modify the variable of diusion of the bond price by diusing directly the state variable. In
that 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)dW
s
We can then reduce our SDE, by choosing to diuse the variable (t)
(t) =
_
t
0
(s)dW
B
(s) with (0) = 0
with dynamics given by
d(t) = (t)dW
t
so that g(t) = G

(t)(t) which gives the spot rate as


r(t) = (t) +g(t) = (t) G

(t)(t)
Applying Itos Lemma to deduce the PDE, we get
f
t
+
1
2
(t)
2

2
f
X
2
= 0
which is the heat equation, and
19
(t) N(m
n
, C
nn
)
m
n
= 0
C
nn
=
_
t
0

2
(u)du
The variable of diusion has a Gaussian distribution centered around zero. To nd the limit of our Domain
of Denition, we apply
3.5
_
C
nn
which is a 0.9998 condence interval. It can directly be applied to the zero-coupon bond price formula under
the 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
_
t
0
_
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))+
_
t
0
G(u)
2
(u)du
_
(5.17)
As a result, the distribution of the zero-coupon bond price is
ln B(t, T) ln
B(0, T)
B(0, t)
N(, c)
with mean

1
2
_
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 diusion (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, reducing
the dimensionality of our model to two. That is, we consider under the risk-neutral measure, the dynamics
of the diusion process Z
t
with instantaneous volatility given in Equation (5.15) and that of the zero-coupon
bond price with deterministic volatility given in Equation (5.17). Following the approach described in Section
(5.4) where the spot rate is given by r
t
= (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
dZ
t
Z
t
=
_
(t) G

(t)(t) q
t
_
dt +
Z
(t, Z
t
)dW
S
(t)
d(t) = (t)dW
B
(t)
Decorrelating the Brownian motions, we get
dW
l
(t) =
lB
dW
1
(t) +
lB
dW
2
(t) for l = S, B
where
lB
=
_
1
2
sb
and W
i
for i = 1, 2 are independent Brownian motions. We can then dene the new
process Y
2
(t) with dynamics being
dY
2
(t) =
sb

Z
(t, Z
t
)dW
1
(t) +
sb

Z
(t, Z
t
)dW
2
(t)
5.5.1 The linear case
In the linear Z-spot model, if there exists a unique solution Z
t
to the SDE given in Equation (4.12), then it
reprices the call option seen at time t
0
= 0 with strike k and maturity T given by
C
Z
(k, T) = E
Q
0
[(Z
T
k)
+
]
This model is popular mainly due to the fact that adding the already paid dividends to the strike, the market
price of a call option on the stock price seen at time t
0
= 0 is
C(t
0
, S
0
; K, T) = E
Q
t0
[e

_
T
0
rsds
(Z
T
K

)
+
]
where K

= K +D
T
. The dynamics of the diusion process and that of the zero-coupon bond price become
dZ
t
Z
t
=
_
(t) G

(t)(t) q
t
_
dt +dY
2
(t)
d(t) = (t)dW
2
(t)
We then calculate the variance of the diusion process Z
t
as
< dZ, dZ >
t
= Z
2
t
< dY, dY >
t
=
2
Z
(t, Z
t
)Z
2
t
dt
and that of the second variable of diusion (t)
< d, d >
t
=
2
(t)dt
while the covariance between the two variables is
< dZ, d >
t
=
sb

Z
(t, Z
t
)Z
t
(t)dt
Given the contingent-claim V = V (t, Z, ) = U(t, S
t
, ), its associated PDE within the domain = [0, T]
[x
L
, x
H
] [y
L
, y
H
] where x
L
, y
L
and x
H
, y
H
are respectively the lower and upper bound of the variables of
diusion, is
V
t
+
_
(t) G

(t)y q
t
_
x
V
x
+
1
2

2
Z
(x, t)x
2

2
V
x
2
+
1
2

2
(t)

2
V
y
2
+
sb

Z
(x, t)x(t)

2
V
xy
=
_
(t) G

(t)y
_
V
21
with local variance being
2
Z
(k, T) for k = K

(it means k xed) when Z


T
= k and boundary conditions
V (t, x
L
, y
L
), V (t, x
H
, y
H
) and constraints
V (T, x, y) = Payo (x D
T
)
V (t, x, y) Constraints (t, S
t
, (t), U(t, x, y))
5.5.2 The logarithm case
We let L
t
= ln Z
t
be the logarithm of the diusion process and use Itos lemma to compute its dynamic,
getting
dL
t
=
_
(t) G

(t)(t) q
t

1
2

2
Z
(t, e
Lt
)
_
dt +dY
2
(t)
d(t) = (t)dW
2
(t)
We calculate the variance of the rst variable increment L
t
as
< dL, dL >
t
=< dY
2
, dY
2
>
t
=
2
Z
(t, e
Lt
)dt
and the second variable (t)
< d, d >
t
=
2
(t)dt
while the covariance is
< dL, d >
t
=
sb

Z
(t, e
Lt
)(t)dt
Given the contingent-claim V = V (t, Z, ) = U(t, S
t
, ), its associated PDE with the domain is
V
t
+
_
(t)G

(t)yq
t

1
2

2
Z
(t, e
x
)
_
V
x
+
1
2

2
Z
(t, e
x
)

2
V
x
2
+
1
2

2
(t)

2
V
y
2
+
sb

Z
(t, e
x
)(t)

2
V
xy
=
_
(t)G

(t)y
_
V
with local variance being
2
Z
(e
k
, T) for k = log K

(it means k xed) when L


T
= k and boundary conditions
V (t, x
L
, y
L
), V (t, x
H
, y
H
) and constraints
V (T, x, y) = Payo (e
x
D
T
)
V (t, x, y) Constraints (t, L
t
, (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 price
given in Equation (5.14). Furthermore, we decomposed in Equation (3.7) the local variance with stochastic
rates in terms of the deterministic local variance plus some bias terms. All that is left to do is to compute
a stable and robust deterministic local volatility. Hence, assuming that all rates are now deterministic we
are 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] [x
L
, x
H
] where x
L
and x
H
are respectively the lower
and upper bound of the variable of diusion. We are going to use the Feynman-Kac formula (see Oksendal
in [O98]) to derive the partial dierential equation (PDE) satised by our model for either of the dividends
assumptions discussed above.
22
6.1 The stock price
For all the dynamics of the stock price S
t
in the spot and forward model described in Section (4), there is
no closed-form solutions to the price of call option and one need to use either the Monte Carlo engine to
price 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

t
U +
t
x
x
U +
1
2
(x +D
t
)
2

2
Y
(t,
x +D(0, t)
C(0, t)
)
xx
U r
t
U = 0
between two dividend payment dates. Since option prices are continuous there is a jump condition on the
payment 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 implement
a jump condition on the nite dierence grid at every dividend dates slowing convergence. Moreover, as
explained in Section (4.3) the local volatility associated to diusing the stock price is a function of the
dividends D
t
. Instead, we can express in the spot model the price of an option on the underlying price in
terms of an option on the pure diusion process. We can therefore choose to diuse either the stock price
S
t
or directly the continuous process Y
t
or Z
t
.
6.2 The Y -spot model
6.2.1 The linear case
In the Y -spot model, if there exists a unique solution Y
t
to the SDE given in Equation (4.11), then it reprices
the call option seen at time t
0
= 0 with strike k and maturity T given by
C
Y
(t
0
, Y
0
; k, T) = E
Q
0
[(Y
T
k)
+
]
A natural way to write a PDE on this model is to let V = V (t, Y
t
) = U(t, S
t
) be the contingent-claim with
domain and use Feynman-Kac formula to get the equation
V
t
+
1
2

2
Y
(x, t)x
2

2
V
x
2
= 0 (6.18)
with boundary conditions V (t, x
L
), V (t, x
H
) and constraints
V (T, x) = Payo (x)
V (t, x) Constraints (t, x)
Contrary to the stock price, the pure diusion price being a continuous process, there are no jump conditions
needed to solve for the claim V (t, Y
t
). We can add the already paid dividends to the strike so that the market
price of a call option on the stock price seen at time t
0
= 0 is
C(t
0
, S
0
; K, T) = B(0, T)E
Q
0
[(C
T
Y
T
K

)
+
]
where K

= K + D
T
. We can go further and factorise the drift term C
T
getting
C(t
0
, S
0
; K, T) = B(0, T)C
T
E
Q
0
[(Y
T
K

)
+
]
where K

=
K

CT
. Therefore, the market call price on the stock becomes
23
C(t
0
, S
0
; K, T) = B(0, T)C
T
C
Y
(t
0
, Y
0
; K

, T)
So, given the strike K in the S-space we need the strike k =
K+DT
CT
in the Y -space. Hence, in order to price
a call option with strike K and maturity T we set k =
K+DT
CT
and solve the pde in Equation (6.18) with local
variance being
2
Y
(k, T) (it means k xed) when Y
T
= k. Since B(0, T)C
T
= Re(0, T) we then multiply the
result of the PDE with Re(0, T). It leads us to dening our pricing model as
C(t
0
, S
0
; K, T) = Re(0, T)C
Y
(t
0
, Y
0
;
K +D
T
C
T
, T) = C
M
(t
0
, S
0
; 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 diusion process Y in terms of a call option on the stock
price
C
Y
(t
0
, Y
0
; k, T) =
1
B(0, T)C
T
C(t
0
, S
0
; C
T
k D
T
, T) (6.20)
That is, if we set k in the Y -space we can price a market call option of strike K = C
T
k D
T
in the S-space.
Therefore, we can indierently choose to work with the strike k =
K+DT
CT
in the Y -space or with the strike
K = C
T
k D
T
in the S-space.
6.2.2 The dierent 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 the
pde. We let V = V (t, Y
t
) = U(t, S
t
) be the contingent-claim with domain and use Feynman-Kac formula
to get the equation
V
t
+
1
2

2
Y
(x, t)x
2

2
V
x
2
q
t
V = 0
with the same boundary conditions and constraints as before. We can also multiply the price C
Y
(k, T)
(which is a function of the process Y
t
) with a deterministic function and get
C
T
C
Y
(k, T) = C
T
E
Q
0
[(Y
T
k)
+
] = E
Q
0
[(C
T
Y
T
K

)
+
] =

C
Y
(K

, T)
Considering the price B(0, T)

C
Y
(K

, T) which is still a function of the process Y


t
, we let V = V (t, Y
t
) be
the contingent-claim in for given x
L
, x
H
and we use Feynman-Kac formula to get the equation
V
t
+
1
2

2
Y
(x, t)x
2

2
V
x
2
r
t
V = 0
with local variance being
2
Y
(k, T) for k = K + D
T
and boundary conditions V (t, x
L
), V (t, x
H
) and con-
straints
V (T, x) = Payo (C
T
x D
T
)
V (t, x) Constraints (t, S
t
, U(t, x))
In the case of a call option the payo becomes
V (T, x) = (C
T
x K

)
+
and the market price is
C(t
0
, S
0
; K, T) = B(0, T)E
Q
0
[(C
T
Y
T
K

)
+
] = B(0, T)

C
Y
(K

, T)
24
6.2.3 The exponential case
Similarly to the linear case, if there exists a unique solution L
Y
(t) to the SDE above, then it reprices the
call option seen at time t
0
= 0 with strike k and maturity T given by
C
LY
(k, T) = E
Q
0
[(e
LY (T)
e
k
)
+
]
A natural way to write a PDE on this model is to let V = V (t, L
Y
(t)) = U(t, S
t
) be the contingent-claim
with domain and use the Feynman-Kac formula to get the equation
V
t
+
1
2

2
Y
(e
x
, t)
_

2
V
x
2

V
x
_
= 0
with local variance being
2
Y
(e
k
, T) for k = log K

(it means k xed) when L


Y
(T) = k and boundary
conditions V (t, x
L
), V (t, x
H
) and constraints
V (T, x) = Payo (e
x
D
T
)
V (t, x) Constraints (t, L
Y
(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(t
0
, S
0
; K, T) = B(0, T)C
T
E
Q
0
[(e
LY (T)
e
k
)
+
]
where k = log (
K+DT
CT
) and the PDE becomes
V
t
+
1
2

2
Y
(e
x
, t)
_

2
V
x
2

V
x
_
q
t
V = 0
with the same payo and constraints as above. We can also rewrite the price of the call option as
C(t
0
, S
0
; K, T) = B(0, T)E
Q
0
[(C
T
e
LY (T)
e
k
)
+
]
where k = log (K +D
T
). The associated PDE becomes
V
t
+
1
2

2
Y
(e
x
, t)
_

2
V
x
2

V
x
_
r
t
V = 0
with local variance being
2
Y
(e
k
, T) for k = log K

(it means k xed) when L


Y
(T) = k and boundary
conditions V (t, x
L
), V (t, x
H
) and constraints
V (T, x) = Payo (C
T
e
x
D
T
)
V (t, x) Constraints (t, L
Y
(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 Z
t
to the SDE given in Equation (4.12), then it reprices
the call option seen at time t
0
= 0 with strike k and maturity T given by
C
Z
(k, T) = E
Q
0
[(Z
T
k)
+
]
Given the contingent-claim V = V (t, Z) = U(t, S
t
), its associated PDE with the domain is
25
V
t
+
t
x
V
x
+
1
2

2
Z
(x, t)x
2

2
V
x
2
= 0 (6.21)
with local variance being
2
Z
(k, T) for k = K

(it means k xed) when Z


T
= k and boundary conditions
V (t, x
L
), V (t, x
H
) and constraints
V (T, x) = Payo (x D
T
)
V (t, x) Constraints (t, S
t
, U(t, x))
We can add the already paid dividends to the strike so that the market price of a call option is
C(t
0
, S
0
; K, T) = B(0, T)E
Q
0
[(Z
T
K

)
+
] = B(0, T)C
Z
(K

, T)
where K

= K + D
T
. 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 diusion process Z in terms of a call
option on the stock price
C
Z
(t
0
, Z
0
; k, T) =
1
B(0, T)
C(t
0
, S
0
; k D
T
, T) (6.22)
It leads us to dening our pricing model as
C
M
(t
0
, S
0
; K, T) = B(0, T)C
Z
(K

, T) (6.23)
with the associated PDE being
V
t
+
t
x
V
x
+
1
2

2
Z
(x, t)x
2

2
V
x
2
r
t
V = 0
and the same payo and constraints as above.
6.3.2 The exponential case
Similarly, if there exists a unique solution L
Z
(t) to the SDE above, then it reprices the call option seen at
time t
0
= 0 with strike k and maturity T given by
C
LZ
(k, T) = E
Q
0
[(e
LZ(T)
e
k
)
+
]
Given the contingent-claim V = V (t, L
Z
(t)) = U(t, S
t
), its associated PDE with the domain is
V
t
+
t
V
x
+
1
2

2
Z
(e
x
, t)
_

2
V
x
2

V
x
_
= 0
with local variance being
2
Z
(e
k
, T) for k = log K

(it means k xed) when L


Z
(T) = k and boundary
conditions V (t, x
L
), V (t, x
H
) and constraints
V (T, x) = Payo (e
x
D
T
)
V (t, x) Constraints (t, L
Z
(t), U(t, x))
We can add the already paid dividends to the strike so that the price of a call option is
C(t
0
, S
0
; K, T) = B(0, T)E
Q
0
[(e
LZ(T)
K

)
+
]
26
where K

= K + D
T
such that k = log (K +D
T
). Our pricing model becomes
C
M
(t
0
, S
0
; k, T) = B(0, T)C
LZ
(k, T) (6.24)
with PDE being
V
t
+
t
V
x
+
1
2

2
Z
(e
x
, t)
_

2
V
x
2

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 price
S is not the best way to assess the volatility risk of the stock price in presence of discrete dividends. From
Equation (6.19) we see that the knowledge of all option prices on the stock price S gives us information on
the marginal densities of the pure diusion process Y

Y
(T, k) =
1
B(t, T)

kk
C
Y
(t, Y
t
, T, k)
Therefore, as was done with the Black-Scholes formula, we can dene the implied volatility
Y
(T, k) asso-
ciated with the pure diusion process Y by
C(t, S
t
, T, K) = C(t, T)C
BS
(t, Y
t
, T, k,
Y
(T, k); r = 0, q = 0)
where k =
K+D(t,T)
C(t,T)
and C
BS
(T, k) is the Black-Scholes formula given in Equation (A.31) with rate and
repo set to zero. Similarly, when diusing the process Z we can get the implied volatility from market prices
using the relation
C(t, S
t
, T, K) = C
BS
(t, Z
t
, T, k,
Z
(T, k))
with k = K +D(t, T). We can then use an implied volatility interpolator that smooth prices in a parabolic
way to generate the missing prices C
X
(t, X
t
, T, k) for X = Y, Z and compute its associated local volatility.
Hence, the local volatility for the diusion Y or Z being cleared from discrete dividends it is numerically
more 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 Z
rather than for the stock price S is much less prone to numerical instabilities in presence of discrete dividends.
7.1 Diusing Y
We saw in Section (6.2) that given the dynamic of the process Y
t
there exists a call option C
Y
(k, T) satisfying
the PDE in Equation (6.18). Using Dupires formula derived in Annexe (B.4) the deterministic local volatility
associated to that price is

2
Y
(T, k) = E
Q
[
2
Y
(T, x)|x = k] =

T
C
Y
(t, Y
t
, k, T)
1
2

kk
C
Y
(t, Y
t
, T, k)k
2
Even though we do not observe the process C
Y
(t, Y
t
, T, k) in the market, we can price the market call option
price C(t, S
t
; 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)
xed
and multiply its result with B(t, T)C(t, T). Alternatively, using Equation (6.20) we can re-express the price
27
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
C
Y
(t, Y
t
, T, k) =
C(t, S
t
; K, T)
Re(t, T)
=
C(t, S
t
; C(t, T)k D(t, T), T)
Re(t, T)
which gives

T
C
Y
(t, Y
t
, k, T) = Re
1
(t, T)
T
C(t, S
t
; C(t, T)k D(t, T), T) +C(t, S
t
; C(t, T)k D(t, T), T)
T
Re
1
(t, T)

k
C
Y
(t, Y
t
, k, T) = Re
1
(t, T)
k
C(t, S
t
; C(t, T)k D(t, T), T)

kk
C
Y
(t, Y
t
, k, T) = Re
1
(t, T)
kk
C(t, S
t
; C(t, T)k D(t, T), T)
with
T
Re
1
(t, T) = q
T
Re
1
(t, T) so that the local volatility becomes

2
Y
(T, k) =

T
C(t, S
t
, C(t, T)k D(t, T), T) +q
T
C(t, S
t
, C(t, T)k D(t, T), T)
1
2
k
2

kk
C(t, S
t
, T, C(t, T)k D(t, T))
7.2 Diusing Z
We saw in Section (6.3) that given the dynamic of the process Z
t
there exists a call option C
Z
(k, T) satisfying
the Equation (6.21). The calculation of the local volatility can be done analytically with Dupires formula
derived in Annexe (B.3). It is equivalent to working with the undiscounted call price C(t, S
t
K, T) and the
local volatility becomes
E
Q
[
2
Z
(T, Z
T
)|Z
T
= k] =

T
C
Z
(t, Z
t
, k, T) + (r
T
q
T
)
_
k
k
C
Z
(t, Z
t
, k, T) C
Z
(t, Z
t
, k, T)
_
1
2

kk
C
Z
(t, Z
t
, T, k)k
2
To price the market call option C(t
0
, S
0
; K, T) we solve the PDE in Equation (6.21) with local volatility

Z
(T, k) for k = K +D
T
xed and multiply its result with B(0, T). Alternatively, using Equation (6.22) we
can re-express the price with strike k in the Z-space in terms of a call option on the stock price with strike
K = k D(t, T) as
C
Z
(t, Z
t
, T, k) =
C(t, S
t
; K, T)
B(t, T)
=
C(t, S
t
; k D(t, T), T)
B(t, T)
which gives

T
C
Z
(t, Z
t
, k, T) = P
1
(t, T)
T
C(t, S
t
; k D(t, T), T) +C(t, S
t
; k D(t, T), T)
T
P
1
(t, T)

k
C
Z
(t, Z
t
, k, T) = P
1
(t, T)
k
C(t, S
t
; k D(t, T), T)

kk
C
Z
(t, Z
t
, k, T) = P
1
(t, T)
kk
C(t, S
t
; k D(t, T), T)
with
T
P
1
(t, T) = r
T
P
1
(t, T) and the local volatility becomes

2
Z
(T, k) =

T
C(t, S
t
, k D(t, T), T) +q
T
C(t, S
t
, k D(t, T), T) + (r
T
q
T
)k
k
C(t, S
t
, k D(t, T), T)
1
2

kk
C(t, S
t
, T, k D(t, T))k
2
In order to calculate the local volatility
Z
(T, .) we must assume a continuum of call prices C(t
0
, S
0
; T, K).
However, we do not observe such a continuum of prices in practice and we must rely both on extrapolation
and interpolation of market prices. So, in the next section we are going to develop a model which allows us
to build such a continuum of call prices in a smooth way and such that the constraints of no-arbitrage in
time and space are satised.
28
8 The choice of a volatility model
We saw earlier that Dupires 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, one can easily obtain more than 100 points (prices or implied volatility) where some of them are listed
while 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 a
result, the market is incomplete and there are more than one acceptable price (volatility) surfaces satisfying
the 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 generate
the missing prices. However, direct interpolation and extrapolation of implied volatility surfaces does not
guarantee a resulting smooth risk-neutral density, hence a proper local volatility surface. As described by
Daglish, Hull and Suo in [DHS06], a natural choice would be to perform a Taylor expansion up to the second
order of the implied volatility surface around the money forward level. In general, the implied volatility is
modeled with a functional form of the smile around the money forward as
(t, S
t
; K, T t) = f
_
t, T t, X
Tt
t
, Y
Tt
t
, Z
Tt
t
; K
_
where the processes X
Tt
t
, Y
Tt
t
and Z
Tt
t
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. Using
historical 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 whole
market risk. When it comes to generating a volatility surface, the evaluation time t is xed and practitioners
estimate one set of parameters X, Y and Z per trading maturities. Then they rely on some interpolation
and extrapolation of parameters in time with no guarantee of satisfying the calendar spread. In the presence
of discrete dividends, it is not an easy task to satisfy the time constraint (3) in the Theorem (4.1). For
example, we consider the functional form
f(t, T t, X, Y, Z; K) = X Y ln
_
KB(t, T)
S
t
_
+Z
_
ln
_
KB(t, T)
S
t
__
2
(8.25)
with B(t, T) = e
r(Tt)
and X = (t, KB(t, T); KB(t, T), Tt), Y =
(t,St;K,Tt)
K
and Z =

2
(t,St;K,Tt)
K
2
.
Note, whatever the shape we take, the smile needs to be caped and oored in the lowest and highest strikes
in order to avoid any arbitrage opportunity. If the slope of the smile is to high the implicit pdf can be
negative. Quantitatively speaking, the implied risk-neutral probability density derived in Annexe (C.4) is
given by
(S
T
, T, S
t
, t) =
1
S
T

_
2(T t)
e

1
2
d
2
1
_
_
1 +S
T
d
1

T t

K
_
2
+S
2
T
(T t)
_

K
2
d
1
_

K
_
2

T t
__
with d
1
=
ln(St/ST )+(r+
1
2

2
)(Tt)

Tt
. Therefore, if the quantity
29

K
2
d
1
_

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 of
future pay-o 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 derivative
products dependent on the entire risk-neutral probability density function of the underlying. The FX smile
construction and quoting mechanisms being very specic we refer the readers to Reiswich et al in [RW09] for
more details and will concentrate on other markets. The standard approach is to extrapolate the prices via the
extrapolation of the implied volatility surface. One way forward is to interpolate the smile within the region
of observed prices with a polynomial as was done by Malz in [Mal97] and to cut the volatility outside that
region, see the function in Annexe (D.4). Alternatively, one can t with little control a parametric formfor the
implied volatility derived from a model which is usually the result of an asymtotic expansion of a stochastic
volatility model, see for examples Hagan et al in [HKLW02] or Bloch in [Blo09bis]. Recently, Benaim et
al in [BDK08] proposed an arbitrage-free extrapolation technique in space. They directly extrapolate the
prices outside the range of observed prices with a simple convex function of strikes matching the market
prices at the two boundaries as well as their rst two derivatives. However, the traders working directly
with the implied volatility, one must rely on inverting the Black-Scholes formula which can be non-trivial
for some strikes and some maturities, see Section (9.5). Instead, we give an example of a parametric implied
volatility 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 of
a 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
K
F(t,T)
where is a
scaling factor. We let X be the at-the-money volatility, Y the skew and Z
C
the call curvature and Z
P
the
put curvature. To avoid any arbitrage opportunity we cap and oor the smile by introducing up and down
cutos. That is, to avoid innite volatility in the lowest strikes we cut the smile at K = V
L
while to avoid
negative volatility in the highest strikes we cut it at K = V
R
with bounds for limiting the implied volatility
being respectively
max
and
min
. We let (T, K) = f(t, T t, X, Y, Z
P
, Z
C
, K) be the volatility function
for maturity T and strike K and dene in the interval V
L
< K < V
R
the parametrised smile as
(K) = X +Y m+
_
(1 N(m))Z
P
+N(m)Z
C

m
2
where N(.) is the normal cumulative distribution function. The at-the-money volatility is the level of the
smile, the skew is the slope of the smile at the money forward, the put curvature describe the curvature of
the smile on the downside while the call curvature does it on the upside. We let k = log K and dierentiate
the moneyness, getting
dm
dk
= ,
dm
2
dk
= 2m
and to simplify notation we dene
4
In 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
T
Z
=
_
(1 N(m))Z
P
+N(m)Z
C

Z
=
dT
Z
dk
= (Z
C
Z
P
)n(m)
T

Z
=
dT

Z
dk
= (Z
C
Z
P
)
2
mn(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+T
Z
m
2
We then dierentiate the volatility function once with respect to the strike k, getting
d(K)
dk
= Y + 2mT
Z
+T

Z
m
2
and then twice, getting
d
2
(K)
dk
2
= 2
2
T
Z
+ 4T

Z
mT

Z
m
3
We let Y
L
=
d(K)
dk

K=VL
and Z
L
=
d
2
(K)
dk
2

K=VL
be respectively the skew and the kurtosis of the function
at the down cutto K = V
L
while Y
R
=
d(K)
dk

K=VR
and Z
R
=
d
2
(K)
dk
2

K=VR
are the skew and the kurtosis
of the function at the up cuto K = V
R
. To get a proper local volatility we must ensure that the volatility
function is continuous and twice dierentiable in space. To do so, at each cutting point the left and right
limit of the function as well as its rst two derivatives must coincide. So in the interval 0 < K < V
L
we let
m
L
= m

K=VL
and consider the functional form
(K) = (V
L
) + (
max
(V
L
))
_
1 e
L(mmL)
1
2
L(mmL)
2 _
so that the volatility is continuous when K = V
K
and properly behaved in the range [
max
, (V
L
)]. One of
the property of that function is that at the cuto strike V
L
the volatility is automatically matched and we
only need to solve a set of linear equations to nd the parameters
L
and
L
. To do so, we dierentiate the
volatility function once with respect to the strike k, getting
d(K)
dk
= (
max
(V
L
))
_

L
+
L
(mm
L
)
_
e
L(mmL)
1
2
L(mmL)
2
and then twice, getting
d
2
(K)
dk
2
=
2
(
max
(V
L
))
L
e
L(mmL)
1
2
L(mmL)
2

2
(
max
(V
L
))
_

L
+
L
(mm
L
)
_
2
e
L(mmL)
1
2
L(mmL)
2
We now need to solve for
L
and
L
to match the skew and kurtosis of the volatility function at the down
cuto K = V
L
. In that setting m = m
L
and the rst derivative simplies to
d(K)
dk

K=VL
= (
max
(V
L
))
L
= Y
L
so that we get
31

L
=
Y
L
(
max
(V
L
))
Note, for the limitting volatility
max
to be properly specied we must have
L
< 0. Similarly, the second
derivative of the functional form simplies to
d
2
(K)
dk
2

K=VL
=
2
(
max
(V
L
))
L

2
(
max
(V
L
))
2
L
= Z
L
so that we get

L
=
Z
L

2
(
max
(V
L
))
+
2
L
We treat the upside case K > V
R
in exactly the same fashion. We let the moneyness be m
R
= m

K=VR
and
get the volatility function
(K) = (V
R
) + (
min
(V
R
))
_
1 e
R(mmR)
1
2
R(mmR)
2_
where the parameters
R
and
R
are calculated in the same way as on the downside and given by

R
=
Y
R
(
min
(V
R
))

R
=
Z
R

2
(
min
(V
R
))
+
2
R
Again, for the limitting volatility
min
to be properly specied 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 functional
form, we can derive the local volatility in a quasi closed-form solution, see Appendix (C). However, from
the denition of Dupires formula we see that we need the rst and second derivatives of the call prices
with respect to strike to be continuous for the local volatility to be continuous in the stock price. Moreover,
the call prices must be once dierentiable with respect to time and must satisfy the no-arbitrage conditions
given in Section (4.5). As explained by Overhaus et al in [OBBFJL07], satisfying these conditions when
expressed in terms of implied volatilities is non trivial. Alternatively, the no-arbitrage conditions on the
local volatility being simply that it must be positive and Lipschitz continuous, one can assume a particular
functional form for the local volatility and t it to market prices. For example, in the case of deterministic
rates, Ben Hamida et al introduced in [BC04] the parametrisation of a set of admissible local volatility
surface. They considered a cubic spline with ten spline nodes per maturity. However, in the presence of
stochastic rates it becomes more complex as one has to bootstrap both the local volatility together with the
probability distribution function in a PDE. Instead, we are directly going to assume a functional form for
the 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 volatility
surface should have few parameters with the ability of mapping a large family of surfaces. Among the
dierent techniques proposed for obtaining from market prices a smooth volatility surface, Rebonato et al
in [RC04] argued that modeling directly the density was the most desirable approach. They extended the
mixture of normals approach proposed by Alexander in [Ale01], obtaining a density with non-zero skew and
32
satisfying the risk-neutral forward condition while retaining an unconstrained numerical search. However, in
markets with long maturity products and discrete dividends such as the Japanese market, it is important for
model pricing to obtain a reliable volatility surface satisfying the no-arbitrage constraint not only in space
but also in time. So, we intend to generate a surface without arbitrage in time and in space as closely as
possible to market data. We are going to use a model which was rst initiated by the GRM and improved
over 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 now
going to describe that model and emphasise the necessary improvements to t a large family of surfaces with
very long maturities.
Considering the Remark (3.2) and given the framework described in Section (4) to represent the stock
price with discrete dividends, we are going to use a parametric representation of the market call prices in
order to smooth the data and get nice probability distribution function (pdf). To compensate the loss of
precision due to the use of a parametric model and since each volatility surface to t is dierent, we need
a model with a varying number of parameters to control the level of accuracy. Therefore, we consider a
weighted sum of interpolation functions taken in a parametric family. We want each function to satisfy the
no-free lunch constraints in such way that they are preserved in the weighted sum. Hence, in our parametric
model, the market option price C
M
(K, T) of strike K and maturity T is estimated at time t
0
= 0 by the
weighted sum
C
M
(t
0
, S
0
, B(0, T), R(0, T), D(0, T); K, T) =
n

i=1
a
i
(T)F
i
(t
0
, S
0
, P
T
, R
T
, D
T
; K, T)
where a
i
(t) are the weights and where R
t
= Re(0, t) is the repo factor between [0, t], P
t
= B(0, t) = e
rt
is the zero-coupon bond price, C
t
= C(0, t) =
Rt
Pt
is the cost of carry and D
t
= D(0, t) is the compounded
sum of discrete dividends between [0, t]. Several families F
i
can satisfy the No-Free-Lunch constraints, for
instance a sum of lognormal distribution, but in order to match a wide variety of volatility surfaces the model
has to produce prices that lead to risk-neutral pdf of the asset prices with a pronounced skew. If all the
densities are centered in the log-space around the forward value, one recover the no-arbitrage forward pricing
condition but the resulting pricing density will not display skew. Centering the dierent normal densities
around dierent location coecients (found appropriately) and constraining the weights to be positive, we
can recover the skew. Since we can always convert a density into call prices, we can then convert a mixture
of 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-Scholes
formula with shifted strike (modied by the parameters
i
(t)) as an interpolation function
F
i
(t
0
, S
0
, P
T
, R
T
, D
T
; K, T) = Call
BS
(t
0
, S
0
, R
T
, P
T
, K

(K, T)(1 +
i
(T)), T,
i
(T))
= P
T
Call
Black
(t
0
, S
0
C
T
, K

(K, T)(1 +
i
(T)), T,
i
(T))
where K

(K, t) = K+D
t
described in Section (6.3) with Black-Scholes price Call
BS
(t
0
, S
0
, R
T
, P
T
, K, T, ) =
C(t
0
, S
0
, K, T) and such that the time function t
i
(t) is regular enough. The no-arbitrage theory imposes
time and space constraints on market prices, see Section (4.5). Hence, the time dependent parameters a
i
(t)
and
i
(t) are used to recover the time structure of the volatility surface. Indeed, if the parameters
i
are
taken constant then when t 0 the pdf of the equity price tends to a weighted sum of n-Dirac distribution
whereas it should tend toward a single Dirac. So, making
i
function of time such that it tends to zero when
t 0 will solve the problem. In general, when the parameter
i
is a function of time, for the no-free lunch
constraints to be satised we must impose
n

i=1
a
i

i
t
= 0 for all t
33
The simplest way to ensure that condition is to take the same time dependency for each , that is,
i
(t) =

i
f(t). We want to choose a parametric form for f(t) with limit cases when the time tends zero or to innity.
In that case, since we can control with the parameters
i
the value of the limit of
i
f(t) when t + we
chose to let the function f(t) tend to 1 when t +, getting
f(t, ) = 1
2
1 + (1 +
t

)
2
To increase control of the model we let each function F
i
have its own parameter beta so that the function f
becomes f
i
= f(t,
i
). However, there is no more simple way of proving that the calendar spread is satised.
Moreover, to keep manageable the no-free lunch constraints, we make the weight a
i
(t) proportional to
a
0
i
f(t,i)
for some constant a
0
i
> 0 getting the representation

i
(t) =
0
i
f(t,
i
) and a
i
(t) =
a
0
i
f(t,
i
) norm
where norm =

n
i=1
a
0
i
f(t,i)
. Making the weights and the shift parameter time-dependent to t a large class
of volatility surfaces leads for all time t to the following no-free lunch constraints
a
i
(t) 0 to get convexity of the price function


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


n
i=1
a
i
(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
a
0
i
0 (8.26)
n

i=1
a
0
i

0
i
= 0

0
i
1
The model being invariant when multiplying all the terms a
0
i
with the same factor, we impose the nor-
malisation constraint

n
i=1
a
0
i
= 1 to avoid dierent parameter sets to give the same model. Given the n
parameters
i
and assuming a constant volatility
i
(t) =
0
i
, there are 4n 2 free parameters for n-function
model since we can always write a
0
1
= 1

n
i=2
a
0
i
and a
0
1

0
1
=

n
i=2
a
0
i

0
i
. As such, this model does not
allow for the control of the long term volatility surface. Therefore, for our model to be complete we need
to 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 maturity


approaches zero, that is

i
(t) = a
i
e
cit
+d
i
for c
i
, a
i
and d
i
positive constants. So far, the volatility structure given by the function
i
(t) is exponentially
decaying 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) =
_
a
i
+b
i
t
_
e
cit
+d
i
34
but we must impose b
i
0 for
i
(.) to remain positive, generating only upward humps. However, if there
are humps in the volatility surfaces they tend to be downwards humps. Therefore, we are going to consider
the function

i
(t) = a
i
e
cit
+d
i
f(t, b
i
)
for some positive constant b
i
. It has nice properties and remains positive at all time. The function decomposes
into two parts, a decreasing and an increasing function which when combined produces a hump curve. As a
result, we can therefore write at time t
0
= 0 the parametric model for a call option price of maturity t as
C
M
(t
0
, S
0
, P
t
, R
t
, D
t
; K, t) =
1
norm
n

i=1
a
i
(t)Call
BS
(t
0
, S
0
, R
t
, P
t
, K(K, t), t,
i
(t)) (8.27)
where K(K, t) = K

(K, t)(1 +
i
(t)) and a
i
(t) =
a
0
i
f(t,i)
. Alternatively, we saw in Annexe (A.2) that there is
dierent ways to write the Black-Scholes formula. That is, setting the spot rate to zero in that formula and
discounting 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
Call
BS
(t
0
, S
0
, R
t
, P
t
, K(K, t), t,
i
(t)) = Call
BS
(t
0
, S
0
, R
t
, 1,

K(K, t), t,
i
(t))
Remark 8.1 This model requires a reasonable number of points to produce its results. For example, with
14 parameters to nd, it is quite dangerous to put only a limited number of data in the calibration set. 50
points 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 going
to calculate the elements of their respective local volatility given in Section (4.3). We saw in Section (6) that
when we choose to diuse the process Y
t
or Z
t
then the strikes k =
K+Dt
Ct
or k = K +D
t
have a xed value.
We know that it is equivalent to working in the S-space with strikes being respectively K = C
t
k D
t
or
K = k D
t
. Therefore, we can dierentiate the model price C
M
(k, t) accordingly to recover the respective
local 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 is K(K, t) = K

(K, t)(1+
i
(t)) where K

(K, t) = K+D
t
. 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 of
the model price as
Call
BS
(t
0
, S
0
, R
t
, P
t
, K(K, t), t,
i
(t)) = Call
BS
(t
0
, S
0
, R
t
, 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 D
t
, getting
the market price
C(t
0
, S
0
; k D
t
, t) =
1
norm
n

i=1
a
i
(t)Call
BS
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
where
35
K

(k D
t
, t) = k
so that we have

K(k D
t
, t) = B(0, t)k and

K(k D
t
, t) = B(0, t)k(1 +
i
(t)). Therefore, using the chain
rule, the theta of the parametric model calculated at time t
0
= 0 and with maturity t is
C
M
(k D
t
, t)
t
=
_
1
norm
_
C
M
(k D
t
, t)norm
+
1
norm
_
n

i=1
a

i
(t)Call
BS
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)
d

K(k D
t
, t)
dt
Call
BS


K
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)

i
(t)
Call
BS

i
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)
Call
BS
t
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
_
where the derivatives with respect to time t are
a

i
(t) =
a
0
i
f
2
i
(t,
i
)
df
i
dt
(t,
i
)
and
[1 +
i
(t)]

=
0
i
df
i
dt
(t,
i
)
so that
d

K(k D
t
, t)
dt
= r
t

K(k D
t
, t) +B(0, t)k[1 +
i
(t)]

We can now compute the density



2
CM
K
2
(t, x, K, T) = B(t, T)E
t
[(x K)] of a call price in the parametric
model. Using the chain rule
5
we set f(.) = Call
BS
(.) and g(x) =

K(k D
t
, t) = B(0, t)k(1 +
i
(t)) with
derivative
d

K(kDt,t)
dk
= B(0, t)(1+
i
(t)). Then the rst derivative of the call price with respect to the strike
k is
C
M
(k D
t
, t)
k
=
1
norm
n

i=1
a
i
(t)B(0, t)(1 +
i
(t))
Call
BS


K
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
while the second derivative of the call price with respect to the strike k is

2
C
M
(k D
t
, t)
k
2
=
1
norm
n

i=1
a
i
(t)
_
B(0, t)(1 +
i
(t))
_
2
2
Call
BS
(

K)
2
(t
0
, S
0
, R
t
, 1,

K(k D
t
, t), t,
i
(t))
5
x
f(g(x)) =

g(x)
f(g(x))
dg(x)
dx
36
8.3.2 Greeks in the Y-model
Similarly, in the Y-model the xed strike being k =
K+Dt
Ct
, the strike in the model price becomes K =
C
t
k D
t
. Again, we set the spot rate to zero in the Black-Scholes formula and multiply the strike with the
discount factor, getting the market price
C(t
0
, S
0
; C
t
k D
t
, t) =
1
norm
n

i=1
a
i
(t)Call
BS
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
where
K

(C
t
k D
t
, t) = C
t
k
so that we have

K(C
t
k D
t
, t) = Re(0, t)k and

K(C
t
k D
t
, t) = Re(0, t)k(1 +
i
(t)). The rst derivative
of the modied call price with respect to the strike k calculated at time t
0
= 0 and of maturity t is
C
M
(C
t
k D
t
, t)
k
=
1
norm
n

i=1
a
i
(t)Re(0, t)(1 +
i
(t))
Call
BS


K
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
and the second derivative with respect to the strike k is

2
C
M
(C
t
k D
t
, t)
k
2
=
1
norm
n

i=1
a
i
(t)Re
2
(0, t)(1 +
i
(t))
2

2
Call
BS
(

K)
2
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
We now compute the theta of the parametric model calculated at time t
0
= 0 and of maturity t as
C
M
(C
t
k D
t
, t)
t
=
_
1
norm
_
C
M
(C
t
k D
t
, t)norm
+
1
norm
_
n

i=1
a

i
(t)Call
BS
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)(Re(0, t)k(1 +
i
(t)))
Call
BS


K
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)

i
(t)
Call
BS

i
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
+
n

i=1
a
i
(t)
Call
BS
t
(t
0
, S
0
, R
t
, 1,

K(C
t
k D
t
, t), t,
i
(t))
_
where (Re(0, t)k(1 +
i
(t)))

= q
t
Re(0, t)k(1 +
i
(t)) +Re(0, t)k
0
i
dfi
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 X
i
(t) valued in the open subset D with
dynamics under the risk-neutral measure Q being
dX
i
(t) =
i
(t)
_
X
i
(t) +
i
(t)
_
dW(t) for i = 1, .., m
37
where
i
(t) is the parametric displacement function and
i
(t) is a deterministic function of time. This process
is nothing more than the process Y
t
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 from
such coecients is
dS
t
S
t
=
mix
(t, S
t
)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 mixture
diusion dynamics above and the uncertain volatility mixture dynamics given by
dS
t
S
t
= (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 Gyongys results
in Section (3.1) the shifted lognormal mixture diusion dynamics is the local volatility version of the above
uncertain 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 dene (see Section (8)), we need to estimate the model parameters from the
implied volatility surface. It leads to an ill-posed inverse problem. It is ill-posed because the inversion is not
stable and amplies market data errors in the solution. To be more precise, letting x be the vector of model
parameters 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 the
solution (model parameters) x. Regularisation techniques allow one to capture the maximum information
on 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
Problem 1 Given prices C
t
(T
i
, K
i
) for i I, nd the vector of model parameters such that the dis-
counted asset price

S
t
= e
rt
S
t
is a martingale and the observed option prices are given by their risk-neutral
expectations
i I , C
t
(T
i
, K
i
) = e
r(Tt)
E

[(S(T
i
) K
i
)
+
|S
t
= 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 maturity
and all strikes we could compute the risk-neutral distribution of the logarithm price and deduce the model
parameters. We would then compute option prices for any other maturity meaning that we can not gain
further 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 only
for a nite number of them. Depending on the markets considered this number varies from few option prices
to over 250 prices. Therefore, extrapolation and interpolation is needed and one can only get a solution at
best approximately verifying the constraints. It is typically an ill posed problem as there may be either no
solution at all or an innite number of solutions. Therefore, one need to use additional criterion to choose
a solution. It means that we need to reformulate the calibration as an approximation problem, for instance
minimising the in-sample quadratic pricing error

= arg inf

J() (9.28)
J() =
n

i=1
w
i

P
t
(T
i
, K
i
) C
t
(T
i
, K
i
; )

2
where w
i
is a weight associated to each market option price. The weights are positive and must sum to one.
They should reect our condence in individual data points which is determined by the liquidity of a given
option. The optimisation can be solved with a gradient-based method. In that case we can always nd a
solution but the minimisation function is not convex and the gradient descent may not succeed in locating
the minimum. We will detail in Section (10) an alternative approach to solving non-linear programming
problems under constraints that do not require computing the gradient of the model. In general we do
not know with certainty if the objective function has a unique global minimum and if it exists if it can be
reached with a gradient based method. Many model parameters can reproduce the call prices with equal
precision due to many local minima or at region (low sensitivity to variations in model parameters). It
means that the model is very sensitive to the input prices and the starting point in the algorithm. Note, the
number of parameters to calibrate is less important from a numerical point of view than the convexity of the
objective function to minimise in a gradient based method. Non-Linear Least Square solution does not resolve
the uniqueness and stability issues. The inverse problem remains ill-posed. In order to circumvent these
diculties various authors proposed dierent regularisation methods all consisting in adding to the objective
function a penalisation criterion. As a result, it makes the problem well-posed and allow for gradient-based
optimisation algorithm. We will not discuss these criterions in detail and will refer the readers to Cont et al
approach in [CT02] where they relied on relative entropy minimisation.
We choose to estimate the vector of model parameters implicitly by minimising, given a measure, the
distance between the liquid market price P
t
(T
i
, K
i
) and the model price C
t
(T
i
, K
i
) for i I where I is the
total number of market prices considered.
Obviously we need to dene a measure and for simplicity we will only expose the optimisation problem
39

= arg inf

J() (9.29)
J() =
n

i=1
w
i

P
t
(T
i
, K
i
) C
t
(T
i
, K
i
; )

2
+H(Q, Q
0
)
where H is a measure of closeness of the model Q to a prior Q
0
. Many choices are possible for the penalisation
function H. To get uniqueness and stability of the solution, the function should be convex with respect to
the 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 coecient is the regularisation parameter and denes the relative importance of the two terms such
that when 0 we recover the standard Least Square Error which is no-longer a convex function. If is
large enough, the target function inherits the convexity properties of the penalising function and the problem
becomes well-posed. The correct choice of is important and can not be xed in advance since its optimal
value 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) reect the relative importance of reproducing dierent option prices precisely,
they must be positive and sum up to one. They may reect the width of corresponding bid-ask intervals
w
i
=
1
|P
bid
t
(T
i
, K
i
) P
ask
t
(T
i
, K
i
)|
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 dierence of
implied volatilities rather than the dierence 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 weight
the dierence in prices such that its order of magnitude correspond to the dierence in volatility. Given a
maturity T
i
and a strike K
i
, we denote the dierence at time t between the market price and the model price
as
D
t
= P
t
(T
i
, K
i
) C
t
(T
i
, K
i
; )
Since the market price can be expressed in terms of the Black & Scholes volatility
BS
(T
i
, K
i
), we can
approximate the dierence in prices as
D
t

P
t
(T
i
, K
i
)

BS
(T
i
, K
i
)
(T
i
, K
i
)
where (T
i
, K
i
) =
P
(T
i
, K
i
)
C
(T
i
, K
i
). In that case, the optimisation function becomes
J() =
n

i=1
w
i

P
(T
i
, K
i
)
C
(T
i
, K
i
)

2
+H(Q, Q
0
)
where
w
i
= w
i
_
P
t
(T
i
, K
i
)

BS
(T
i
, K
i
)
_
2
40
which is expressed in volatility. Therefore, we can modify the optimisation in price as
J() =
n

i=1
w
i

max (

BS
(T
i
, K
i
)
P
t
(T
i
, K
i
)
, 100)(P
t
(T
i
, K
i
) C
t
(T
i
, K
i
; ))

2
+H(Q, Q
0
)
to re-expresse it in volatility and where max(., .) is used to avoid overweighting of options very far from the
money. Put another way
n

i=1

P
(T
i
, K
i
)
C
(T
i
, K
i
)

i=1

P
(T
i
, K
i
)
P
t
(T
i
, K
i
)
(P
t
(T
i
, K
i
) C
t
(T
i
, K
i
; ))

2
9.4 The regularisation function
The regularisation function H(,
0
) is a positive function satisfying H(,
0
) 0 and H(
0
,
0
) = 0 and
it must be a convex function. So, for suciently large the optimisation function J() can be made globally
convex, improving the performance of most numerical optimisation schemes using a gradient based method.
However, the penalty may inuence the loss function too much, leading to biased parameters. There are
many choices to get such a function but to obtain stability in model prices from one day to the next we
choose to relate the vector of model parameters to its previously estimated values at time t 1. Setting

0
=
t1
, the regularisation function becomes
H(,
t1
) = |
t1
|
L2
which is the L
2
norm of the dierence of the two vector of model parameters. This penalty should improve
hedging 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 least
squares method in Equation (9.28) getting

0
. The objective function not being convex, a simple gradient
procedure will not give the global minimum. However, the solution (
0
, Q
0
) will be iteratively improved
and should be viewed as a way to regularise the optimisation problem in Equation (9.29). We can dene a
measure of model error (
0
, Q
0
) =
0
which represent the distance of market prices to model prices and
gives an a priori level of quadratic pricing error. This error is typically positive, that is
0
> 0. Now, given
the regularisation parameter > 0 we get the solution (

, Q

) with the a posteriori quadratic pricing


error given by (

, Q

). Note we expect

>
0
since by adding the entropy term we have given up some
precision to gain in stability. The Morozov discrepancy principle consists in minimising this loss of precision
through regularisation by choosing

such that
(

, Q

)
0
Practically, the a priori error is

2
0
= inf
0
n

i=1
w
i

P
t
(T
i
, K
i
) C
t
(T
i
, K
i
;
0
)

2
So, for > 1, for example = 1.1 we solve
(

, Q

) =
0
Since the optimisation problem in Equation (9.29) is a dierentiable function of , we can get the solution

with a small number of iterations using the Newton-Raphson method.


41
9.5 Inverting the Black-Scholes formula
We saw that to calibrate the model parameters to market prices we need to estimate the Black-Scholes
volatility 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 volatility
a 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 to
zero, it lead researchers to develop formulas to nd 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 the
present stock price times the repo bond. In that setting the Black-Scoles formula becomes
C
BS
(t, x,
xRe(t, T)
B(t, T)
, T) = xRe(t, T)
_
2N(

T t
2
) 1
_
which can be solved for the volatility as
=
2

T t
N
1
(
C
BS
+xRe(t, T)
2xRe(t, T)
)
In that setting, Brenner et al in [BS88] used a rst order Taylor polynomial approximation for the inverse
standard normal distribution around
1
2
and obtained the volatility approximation

_
2
T t
C
BS
xRe(t, T)
Later, using a higher order Taylor expansion, Corrado et al in [CM96] extended that result to cases where
stock prices deviate from discounted strike prices, getting the volatility

_
2
T t
1
xRe(t, T) +K
_
C
BS

xRe(t, T) K
2
+

_
C
BS

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 months
and 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 method
yields relatively more accurate results than other methods when call premiums are used. Increasing the
range of the domain, Liang et al in [LT09] gave under certain conditions an approximation of the implied
volatility with an error estimate for it. They rst averaged the Black-Scholes terms d
i
for i = 1, 2, to d
3
and performed a Taylor expansions of N(d
1
) and N(d
2
) around d
3
. That is, assuming d
3
close to zero and

|d3|
1 or equivalently [0.1, 2], they expanded the pricing formula given in Equation (A.32) getting rid of
the factor
1
1
and decreasing the approximation error. Then they performed a Taylor expansions of N(d
3
)
and N

(d
3
) around zero and approximated the pricing formula in Equation (A.32) with

C
BS
(t, x, K, T) =
g
3
(d
3
(T t, xC(t, T), K)) with
g
3
(d
3
(T t, xC(t, T), K)) =
1
2
+
4 m
4

2
d
3
+
m
2

2
1
d
3
The function g
3
(.) being an approximation of g
1
(.), its solution

d
3
obtained by solving a quadratic equation
is itself an approximation to d
3
given by

d
3
=

2(12

CBS(t,x,K,T))

2(12

CBS(t,x,K,T))
2
2m(4m)
4m
if 0.1 < < 1

2(12

CBS(t,x,K,T))+

2(12

CBS(t,x,K,T))
2
2m(4m)
4m
if 1 < < 2
42
Since =
log

Tt
1
d3
the approximated implied volatility (T, K) is given by
(T, K) =
log

T t
1

d
3
(T t, xC(t, T), K)
(9.30)
This formula being an approximation to the implied volatility, it may not be accurate enough for certain
strikes and maturities. Therefore we use the iterative algorithm discussed in Annexe (A.4) but with the rst
guess 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 have
reached a high degree of liquidity such that they became the benchmark to mark to market or calibrate
option 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 from
market prices. Market practice is to solve the optimisation problem in Equation (9.28) with a gradient-based
minimisation method to locate the minima. In an incomplete market, a deterministic optimisation method
will at best locate one of the local minima of the tting criterion but will not guarantee the global minima
and will not acknowledge the multiplicity 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 of global minima of the in-sample error and allow for the existence of multiple global
minima. The population of parameters is updated through cycles of independent random moves followed by
selection according to pricing performance. Parametrising a set of admissible local volatility surface, they
used an Evolutionary Algorithm (EA) to calibrate a local volatility diusion model to a nite set of option
prices. As explained in Section (8.2) we chose instead to parametrise a mixture of shifted lognormal densities
under constraints. We therefore need to devise an evolutionary algorithm that handle constraints in a simple
and ecient way. This is what we are going to focus on in the rest of the section.
11.1 Dening the problems
We consider the system with the real-valued properties
g
m
for m = 0, .., P 1
which makes the objectives of the system to be optimised. Given a N-dimensional vector of real-valued
parameter X R
N
the optimisation problem can always be written as
min f
m
(X)
where f
m
(.) is a function by which g
m
is calculated and where each element X(i) of the vector is bounded
by lower and upper limits L
i
X(i) U
i
which dene the search space S. Theory on multi-objectives
optimisation has been developed by various authors, see Coello Coello in [Coe99] for a detailed survey. We
follow Lueder in [Lu90] who showed that all functions f
m
(.) can be combined in a single objective function
H : X R
N
R expressed as the weighted sum
H(X) =
P

m=1
w
m
f
m
(X)
43
where the weighting factors w
m
dene the importance of each objective of the system. Hence, the optimisation
problem becomes
min H(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 nance involves a single objective function, the optimisation function
simplies. Most complex search problems such as optimisation problems are constrained numerical problem
(CNOP) more commonly called general nonlinear programming problems with constraints given by
g
i
(X) 0 , i = 1, .., p
h
j
(X) = 0 , j = 1, .., q
Equality constraints are usually transformed into inequality constraints by
|h
j
(X)| 0
where is the tolerance allowed. F is the set of all solutions satisfying the constraints of the problems
called the feasible region. Many practical problems have objective functions that are non-dierentiable,
non-continuous, non-linear, noisy, multi-dimensional and have many local minima. This is the case of
the calibration problem dened 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 ecient optimisation algorithms
based on the theory of evolution proposed by Darwin in [Dar82], where a biological population evolves
over generations to adapt to an environment by mutation, recombination and selection. They search from
multiple points in space instead of moving from a single point like gradient-based methods do. Moreover,
they work on function evaluation alone (tness) and do not require derivatives or gradients of the objective
functions. Since EAs are search engines working in unconstrained search spaces they lacked until recently of
a mechanism to deal with the constraints of the problems. The rst attempts to handle the constraints was
to 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 feasible
global optimum solution. Among the dierent EAs commonly used to solve CNOPs such as evolutionary
programming, evolution strategies, genetic algorithm and many more, dierential evolution (DE) became
very popular. DE is a population-based approach to function optimisation generating a new position for
an individual by calculating vector dierences 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 variants
or combining DE with another search method. One of the most popular constraint handling mechanisms is
the use of the three feasibility rules proposed by Deb in [Deb00] on genetic algorithms.
11.2 The DE algorithm
The Dierential Evolution (DE) proposed by Storn and Price in [StPr95] is an algorithm that can nd
approximate solutions to nonlinear programming problems. It is a parallel direct search method which uses
NP parameter vector
X
i,G
for i = 0, .., NP 1
as a population for each generation G like any evolutionary algorithms. Each of the NP parameter vectors
undergoes mutation, recombination and selection.
44
11.2.1 The mutation
The role of mutation is to explore the parameter space by expanding the search space. For a given parameter
vector X
i,G
called the Target vector, the DE generates a Donor vector V made of three or more independent
parent vectors X
r
l
,G
for l = 1, 2, ... The main idea is to perturbate the Base vector

V with a weighted
dierence vector (called dierential vectors)
V =

V +F

l=1
_
X
r
2l1
,G
X
r
2l
,G
_
where the mutation factor F is a constant taking values in [0, 2]. It scales the inuence of the set of pairs
of solutions selected to calculate the mutation value. By computing the dierence between two individuals
randomly chosen from the population, the algorithm is actually estimating the gradient in that zone rather
than in a point. Most of the time, the Base vector is dened as

V = X
best,G
+ (1 )X
r1,G
where [0, 1] allows for a linear combination between the best element X
best,G
of the parent population
vectors and a randomly selected vector X
r1,G
. This is called the global selection. When the base vector is
the same as the target vector, X
r1,G
= X
i,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 X
i,G
with elements of the Donor vector V
i,G
to create an ospring
called the Trial vector U
i,G
. In order to increase the diversity of the parameter vectors, elements of the
Donor vector enter the Trial vector with probability CR. In the DE algorithm, each element of the Trial
vector satises
U
i,G
(k) = V
i,G
(k) for k = n mod dim, (n + 1) mod dim, ..., (n +L 1) mod dim
= X
i,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 chosen
integer from the interval [0, dim 1]. A certain sequence of the element of U is equal to the element of
V while the other elements get the original element of X
i,G
. We only choose a subgroup of parameters for
mutation which is equivalent to cross-over. It is used to enhance the search in parameter space. The integer
L 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 the
inuence of the parent in the generation of the ospring. A higher value means less inuence 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 the
objective function with the original vector X
i,G
and the newly created vector U
i,G
. If the value of the latter
is smaller than that of the former, the new Target vector X
i,G+1
is set to U
i,G
otherwise X
i,G
is retained
45
X
i,G+1
= U
i,G
if H(U
i,G
) H(X
i,G
) , i = 1, .., NP
= X
i,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 ltering problems.
11.2.4 Convergence criterions
We allow for dierent convergence criterion in such a way that if one of them is reached, the algorithm
terminates. We let f
min
be the ttest design in the population and dene f
a,G
=
1
NP

NP
i=1
f(X
i,G
) as the
average objective value in a generation. Then, when the percentage dierence between the average value
and the best design reaches a specied small value
1
|f
a,G
f
min
|
|f
a,G
|
100
1
we terminate the algorithm. Also, we let f
minOld
be the ttest design in the previous generation and consider
as a criterion the dierence
f
minOld
f
min
<
2
where
2
is user dened. In that case, the DE algorithm will continue until there is no appreciable improve-
ment in the minimum tness value or some predened 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 NP
Evaluate the cost of each vector
for i=0 to Gmax do
repeat
Select some distinct vectors randomly
Perform mutation
Perform recombination
Perform selection
if offspring is better than main parent then
replace main parent in the population
end if
until population is completed
Apply 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 DE
model so that there are now many dierent DE models. They vary in the type of recombination operator
used as well as in the number and type of solutions used to calculate the mutation values. We are now going
to list the main ones.
46
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 X
i,G
a trial vector V generated according to the rule
V = X
r1,G
+F
_
X
r2,G
X
r3,G
_
where the integer r
l
for l = 1, 2, 3 are chosen randomly in the interval [0, NP 1] and are dierent from the
running index i. Also, F is a scalar controlling the amplication of the dierential variation X
r2,G
X
r3,G
.
We can slightly modify the scheme by doing
V = X
r1,G
+F
_
X
r2,G
+X
r3,G
X
r4,G
X
r5,G
_
As a simple rule, F is usually in the range [0.5, 1]. The population size should be between 3N and 10N and
generally we increase NP if misconvergence happens. In the case where NP is increased we should decrease
F.
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 = X
i,G
+
_
X
best,G
X
i,G
_
+F
_
X
r2,G
X
r3,G
_
where is a scalar controlling the amplication of the dierential variation X
best,G
X
i,G
. It enhance the
greediness of the scheme by introducing the current best vector X
best,G
. It is useful for non-critical objective
functions, that is, when the global minimum is relatively easy to nd. It gives a balance between robustness
and fast convergence.
11.3.3 Scheme DE3
In the same spirit, Mezura-Montes et al in [MezVelCoe06] also modied the Scheme DE1 in (11.3.1) by
incorporating information of the best solution as well as information of the current parent in the current
population to dene the new search direction.
V = X
r3,G
+
_
X
best,G
X
r2,G
_
+F
_
X
i,G
X
r1,G
_
where is a scalar controlling the amplication of the dierential variation X
best,G
X
r2,G
. This scheme
has 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 the
rule
V = X
best,G
+F
_
X
r1,G
X
r2,G
_
where F is a scalar. However, in that setting they found several optimisation problems where misconvergence
occurred. To improve the convergence, we can consider the strategy
V = X
best,G
+
j
_
X
r1,G
X
r2,G
_
where
j
is a random parameter such that

j
= (0.0001 +F)
47
where is a uniformly distributed random variable in the interval [0, 1]. It is a jitter which add uctuation to
the 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 scheme
by doing
V = X
best,G
+
j
_
X
r1,G
+X
r2,G
X
r3,G
X
r4,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 = X
r1,G
+
d
_
X
r2,G
X
r3,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 =
_
X
r1,G
+F
_
X
r2,G
X
r3,G
_
_
I
(<
1
2
)
=
_
X
r1,G
+
1
2
( + 1)
_
X
r2,G
+X
r3,G
2X
r1,G
_
_
I
(
1
2
)
where is as above. It alternates between dierential 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 r
1
event we
have
V =
_
X
r1,G
+F
_
X
r2,G
X
r3,G
_
_
I
(<Pe)
while if we favor the best event we have
V =
_
X
best,G
+F
_
X
r2,G
X
r3,G
_
_
I
(<Pe)
It alternates between dierential mutation and doing nothing.
48
11.3.8 Scheme DE8
Still another more complex algorithm than the Scheme DE1 in (11.3.1) is to introduce two strategies V
l
for
l = 1, 2. We rst build the Base vector

V
1
as the linear combination of the two original base vector X
r1,G
and X
best,G
, getting

V
1
=
M,G
X
best,G
+
M,G
X
r1,G
where
M,G
= 1
M,G
. This time
M,G
is a Gaussian variable per-generation with mean and variance
to be dened. The second Base vector

V
2
is generated according to the rule

V
2
= 2X
best,G


V
1
= (2
M,G
)X
best,G

M,G
X
r1,G
The two Trial vectors V
i
for i = 1, 2 becomes
V
1
=

V
1
+F
b
_
X
r3,G
X
r2,G
_
V
2
=

V
2
+F
b
_
X
r2,G
X
r3,G
_
= 2X
best,G
V
1
where F
b
is a Gaussian variable with mean = 0 and variance = F. In the special case where = 2 and
= 0 we get

V
1
= 2X
best,G
X
r1,G

V
2
= X
r1,G
and the system simplies to
V
1
= 2X
best,G
X
r1,G
+F
b
_
X
r3,G
X
r2,G
_
V
2
= X
r1,G
+F
b
_
X
r2,G
X
r3,G
_
and V
2
recover a pseudo Secheme DE1 where F
b
[F, F].
11.4 Improvements
The DE algorithm is found to be a powerful evolutionary algorithm for global optimisation in many real
problems. As the DE algorithm performs mutation based on the distribution of the solutions in a given
population, search directions and possible step sizes depend on the location of the individuals selected to
calculate the mutation values. As a result, since the original article of Storn and Price in [StPr95] many
authors improved the DE model to increase the exploration and exploitation capabilities of the DE algorithm
when solving optimisation problems. We are going to review a few changes to the DE algorithm which greatly
improved its performances.
11.4.1 Ageing
The DE selection is based on local competition only. The number of children that may be produced to
compete against the parent X
i,G
should be chosen suciently high so that a sucient number of child will
enter the new population. Otherwise, it would lead to survival of too many old population vectors that may
induce stagnation. To prevent the vector X
i,G
from surviving indenitely, Storn in [Sto96] used the concept
of ageing. One can dene how many generations a population vector may survive before it has to be replaced
due to excessive age. If the vector X
i,G
is younger than Num generations it remains unaltered otherwise it
is replaced by the vector X
r3,G
with r
3
= i being a randomly chosen integer in [1, NP].
49
11.4.2 Constraints on parameters
Given the parent vector X
i,G
for i = 0, .., NP1 we dene upper and lower bounds for each initial parameters
as
L(j) X
i,G0
(j) U(j)
and we randomly select the initial parameter values uniformly on the interval [L(j), U(j)] as
X
i,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 the
number of generation G increases, the DE algorithm will generate elements of the vector outside of the limits
established (lower and upper) by an amount. Following Mezura Montes et al in [MezCoeTun04] this amount
is substracted or added to the limit violated to shift the value inside the limits. If the shifted value is now
violating 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 allows
the new child, which is a new and better solution, to be selected among the r
l
solutions and create better
solutions. Therefore, a promising solution does not need to wait for the next generation to share its genetic
code.
11.4.4 Convergence 2
In order to improve performance and to accelerate the convergence process, Storn in [Sto96] explored the idea
of allowing a solution to generate more than one ospring. Once a child is better than its parent, the multiple
ospring generation ends. Following the same idea, Coello Coello and Mezura-Montes in [CoeMez03] and
then Mezura-Montes et al in [MezVelCoe06] allowed for each parent at each generation to generate k > 0
ospring. Among these newly generated solutions, the best of them is selected to compete against its parent,
increasing the chances to generate tter ospring.
11.4.5 Self-adaptive parameters
Balamurugan et al in [BaSu07] considered the key parameters of control in DE algorithmsuch as the crossover
CR and the weight applied to random dierential F to be self-adapted. That is, the control parameters are
not required to be pre-dened and can change during the evolution process. These control parameters are
applied at the individual levels in the population so that better values lead to better individuals producing
better ospring and hence better values. F is a scaling factor controlling the amplication of the dierence
between two individuals to avoid search stagnation. At generation G = 1 the amplication factor F
k,G
for
the kth individual is generated randomly in the range [0.1, 1.0]. Then, at the next generations the control
parameter is given by
F
k,G+1
=
_
F
L
+U(0, 1)F
U
if U(0, 1) <
1
F
k,G
otherwise
where F
L
= 0.1, F
U
= 0.9 and
1
represent the probability to adjust the parameter F.
50
11.4.6 Selection
Santana-Quintero et al in [SanCoe05] maintained two dierent populations (primary and secondary) accord-
ing to some criteria and considered two selection mechanisms that are activated based on the total number
of generation G
max
and the parameter sel
2
[0.2, 1] which regulates the selection pressure. That is
Type of selection =
_
Random if G < (sel
2
G
max
)
Elitist otherwise
a random selection is rst adopted followed by an elitist selection. In the random selection, three dierent
parents are randomly selected from the primary population while in the elitist selection they are selected
from the secondary one. In both selections, a single parent is selected as a reference so that all the parents
of 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 constraints
of the problems. Recently, various academics worked on solving that problem. Among many dierent
approaches, one of the most popular constraint handling mechanisms was proposed by Deb in [Deb00] on
genetic algorithms who used the three feasibility rules. Before reviewing his method and showing how it was
improved, we recall that Michalewicz in [Mi95] discussed dierent constraint handling methods used in GAs
and classied them in ve categories
methods based on preserving feasibility of solutions, that is, we use a search operator that maintains
the feasibility of solutions
methods based on penalty functions
methods making distinction between feasible and infeasible solutions using dierent search operators
for handling infeasible and feasible solutions
methods based on decoders using an indirect representation scheme which carries instructions for
constructing feasible solutions
hybrid methods where evolutionary methods are combined with heuristic rules or classical constrained
search methods
In a single-objective optimisation problem, the traditional approach for handling constraints is the penalty
function method. The tness of a candidate is based on a scale function F which is a weighted sum of the
objective function value and the amount of design constraint violation
F(X) = f
1
(X) +
p

k=1

k
max (g
k
(X), 0)
where
k
are positive penalty function coecients and such that the kth constraint should be normalised.
This method requires a careful tuning of the coecients
k
to obtain satisfactory design, that is a balance
between the objective function and the constraints but also between the constraints themselves. To overcome
this problem, Deb proposed an approach based on the non-dominance concept, ranking candidates using the
denition of domination between two candidates.
Denition 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
f
m
(X
i
) f
m
(X
j
)
51
2. solution i is strictly better than solution j in at least one objective
f
m
(X
i
) < f
m
(X
j
)
The constrained domination approach ranks candidates according to the following denition
Denition 11.2 A solution i is said to constrained-dominate a solution j if any of the following conditions
is 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 tness function be
F(X) =
_
f(X) if g
k
(X) 0 k = 1, 2, ..
f
max
+TACV otherwise
where f
max
is the objective value with the worst feasible solution in the population and (TACV) is the total
amount of constraint violation
TACV =
p

k=1
max (g
k
(X), 0)
Therefore, solutions are never directly compared in terms of both objective function and constraint violation
information. However, the high selection pressure generated by tournament selection will induce the use
of additional procedure to preserve diversity in the population such as niching or sharing. Clearly, there is
no tuning of the penalty function coecients when the number of constraint is one. But, when multiple
constraints are considered some considerations must be taken to relate constraints together. One way forward
is to normalise the constraints such that every constraint has the same contribution to the comparing value as
was done by Landa Becerra et al in [LandaCoe06]. Letting g
max
(k) be the largest violation of the constraint
max (g
k
(X), 0) found so far, we dene the new TACV as
NTACV =
p

k=1
max (g
k
(X), 0)
g
max
(k)
Alternatively, Coello Coello in [Coe00] modied the denition of the constrained domination approach given
in Denition (11.2) such that if the individuals are infeasible he compares the number of constraints violated
rst and only in the case of a tie would he use the total amount of constraint violation in the denition,
getting
Denition 11.3 A solution i is said to constrained-dominate a solution j if any of the following conditions
is 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 a
smaller TACV than solution j.
52
In that setting, the tness 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 ecient when
the degrees of violation of constraints g
k
(X) are signicantly dierent because the TACV is a single value.
Alternatively, Coello Coello and Mezura-Montes in [CoeMez02] handled constraints as additional objective
functions and used the non-dominance concept (on objective functions) in Denition (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.
Denition 11.4 A solution i is said to dominate a solution j in constraint space if both of the following
conditions are true
1. solution i is no worse than solution j in all constraints
g
k
(X
i
) g
k
(X
j
)
2. solution i is strictly better than solution j in at least one constraint
g
k
(X
i
) < g
k
(X
j
)
Introducing the idea of non-dominance concept to the constraint function space, their proposed constraint-
handling method is
Denition 11.5 A solution i is said to constrained-dominate a solution j if any of the following conditions
is 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-based
tournament selection of Coello and Mezura with the non-dominance concept of Oyama et al, getting
Denition 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 then
solution 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 then
solution i wins.
4. if solutions i and j are infeasible and non-dominated in constraint space, if solution i violates less
number 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 number
of 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 solve
the optimistion problem in Equation (9.28).
53
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 not
satisfy the AAO derived in Section (8.2) and our initial vector X
G0
will be infeasible. Similarly to Landa
Becerra et al in [LandaCoe06] we add domain knowledge to our DE algorithm at initialisation time. Our
population space consists of the vector X
1
G0
generated as in Section (11.4.2) while our belief space consists
of the vector X
2
G0
generated in such way as to enforce the AAO constraints derived in Equation (8.26) as is
done in Annexe (D.6) so that it is feasible. Given a probability CR
0
taking values in [0, 1] we will compute
our initial vector guess X
G0
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 feasibility
rules coupled with a diversity mechanism is proposed by Mezura-Montes et al in [MezVelCoe06]. It maintains
besides competitive feasible solutions some solutions with a promising objective function value allowing for
the DE to reach optimum solutions located in the boundary of the feasible region of the search space. Given
a parameter S
r
one can choose to select between parent and child based either only on the objective function
value or on feasibility. As more exploration of the search space is required at the beginning of the process,
the parameter S
r
will be decreasing in a linear fashion with respect to the number of generation. Given an
initial value S
r,0
and a terminal value S
r,
, the adjustment of the parameter is
S
r,G+1
=
_
S
r,G

Sr
if G > G
max
S
r,
otherwise
where
Sr
=
Sr,0Sr,
Gmax
. After some generations, assuming that promising areas of the feasible region have
been 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 signicant probability of being selected
which 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 to
the boundary between the feasible and infeasible region. This is the case of the calibration problem given
in Section (1) where the constraints ensure that prices do not violate the AAO rules. To circumvent this
issue, Mezura-Montes et al proposed in [MezCoe04] that at each generation the best infeasible solution with
lowest 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 to
the boundary to recombine with feasible solutions. The pseudo code for introducing diversity in the DE
algorithm is
if flip(S_r) then
Select the best infeasible individual from the children population
else
Select 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 Denition (11.6) on dominance-based tournament
selection to handle the constraints, the pseudo code for the DE algorithm with constraints becomes
Begin
G = 0 and Age_i, G = 0 i, i = 1, .., NP
54
Create a random initial population X_i, G i, i = 1, .., NP
Evaluate f(X_i, G) i, i = 1, .., NP
while niter < max_iter and G < Gmax do
fmin_old = fmin
for i = 1 to NP do
for k = 1 to N_K do
Select randomly r_1 = r_2 = r_3 = i
j_r = U(1, N)
for j = 1 to N do
if U(0, 1) < CR or j = j_r then
U_i, G(j) = X_r_3, G(j) + F (X_r_1, G(j) X_r_2, G(j))
else
U_i, G(j) = X_i, G(j)
end if
end for
if k > 1 then
if U_i, G(j) is better than U_i_best, G(j) based on five selection criteria then
U_i_best, G(j) = U_i, G(j)
else
U_i_best, G(j) = U_i, G(j)
end of for
Apply diversity :
if flip(S_r) then
if f(U_i_best, G) f(X_i, G) then
X_i, G+ 1 = X_i, G = U_i_best, G
else
X_i, G+ 1 = X_i, G
end if
else
if U_i_best, G is better than X_i, G based on five selection criteria then
X_i, G+ 1 = X_i, G = U_i_best, G
else
if Age_i, G < N_A or i = i_best then
X_i, G+ 1 = X_i, G
else
Select randomly r_4 = i
X_i, G+ 1 = X_r_4, G
Age_i, G = 0
end if
end if
end if
if fmin > f(X_i, G)
fmin = f(X_i, G)
i_best = i
end if
end for
Apply convergence criterions :
if fmin_old f_min < precision
niter = niter + 1
else
55
niter = 0
end if
G = G+ 1
end while
End
56
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 continuous
dividend 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 and
maturity T as
C
BS
(t, x, K, T) = xRe(t, T)N(d
1
(T t, xC(t, T), K)) KB(t, T)N(d
2
(T t, xC(t, T), K)) (A.31)
where Re(t, T) = e
q(Tt)
be the dividend (or repo) bond which correspond to a convexity adjustment term,
C(t, T) =
Re(t,T)
B(t,T)
, and
d
2
(t, x, y) =
1

t
log
x
y

1
2

t and d
1
(t, x, y) = d
2
(t, x, y) +

t
with the property
d
1
(t, x, y)d
2
(t, x, y) =
1

2
t
(log
x
y
)
2

1
4

2
t
where
1

=
x
y
is the moneyness of the option. Note, modifying the repo rate to q = q
2
in the cumulative
distribution N(d
1
), we recover the cumulative distribution N(d
2
). For notational purpose we let =
KB(t,T)
xRe(t,T)
,
=
1
2

T t and m =
1+
1
log such that
d
1
(T t, xC(t, T), K) =
log
2
+
Also, for d
3
=
d1+d2
2
=
log
2
we get
d
1
(T t, xC(t, T), K) = d
3
(T t, xC(t, T), K) +
d
2
(T t, xC(t, T), K) = d
3
(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 , we
get
1
1
C
BS
(t, x, K, T)
xRe(t, T)
=
1
1
_
N(d
3
(T t, xC(t, T), K) +) N(d
3
(T t, xC(t, T), K) )
_
or in a more concise form

C
BS
(t, x, K, T) = g
1
(d
3
(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 the
Black-Scholes formula (A.31) with the model parameters re-expressed as
r =
1
Tt
_
T
t
r
s
ds
q =
1
Tt
_
T
t
q
s
ds

2
=
1
Tt
_
T
t

2
s
ds
57
A.2 A dierent 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
C
BS
(t, x, K

, T; r = 0) = xRe(t, T)N(d
1
(T t, xR(t, T), K

)) K

N(d
2
(T t, xR(t, T), K

))
with
d
2
(T t, xR(t, T), K

) =
1

T t
log
xR(t, T)
KB(t, T)

1
2

T t
= d
2
(T t, xC(t, T), K)
Hence, both call prices are identical, that is
C
BS
(t, S
t
, K, T) = C
BS
(t, S
t
, 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

d
1
N(d
1
)
which we dierentiate again with respect to volatility, getting

V ega = xRe(t, T)

T td
1
n(d
1
)
dd
1
d
and
dd1
d
=
1

d
2
or
dd2
d
=
1

d
1
so we get

V ega = xRe(t, T)

T t
1

d
1
d
2
n(d
1
) =
1

d
1
d
2
V ega (A.34)
Dierentiating the price with respect to time t, we get

t
C
BS
(t, x, ) = xqRe(t, T)N[d
1
]

2(T t)
V ega rKB(t, T)N(d
2
)
We now dierentiate the price with respect to the stike

K
C
BS
(t, x, K, T) = B(t, T)N(d
2
(T t, x, k))
and then with respect to the volatility

2
K
C
BS
(t, x, k, T) = B(t, T)

d
2
N(d
2
(T t, x, k))
1

d
1
Since

d2
N(d
2
) =
xD(t,T)
KB(t,T)

d1
N(d
1
) then

2
K
C
BS
(t, x, K, T) =
xRe(t, T)
K

d
1
N(d
1
(T t, x, K))
1

d
1
=
1
K

T t
d
1
V ega
Dierentiating the price twice with respect to the strike we get
58

2
K
2
C
BS
(t, x, K, T) =
B(t, T)
K

T t
n(d
2
(T t, x, k))
which we rewrite as

2
K
2
C
BS
(t, x, K, T) =
xRe(t, T)
K
2

T t
n(d
1
(T t, x, k)) =
1
K
2
(T t)
V ega
Given B(t, T) = e

_
T
t
rsds
so that
dB(t,T)
dT
= r
T
B(t, T). We get the same for the continuous dividend, that
is
dD(t,T)
dT
= q
T
B(t, T). Setting x = S
t
, we dierentiate the call price with respect to maturity T getting

T
C
BS
(t, x, K, T) =
xRe(t, T)
2

T t

d
1
N(d
1
) +r
T
KB(t, T)N(d
2
) q
T
xRe(t, T)N(d
1
)
or

T
C
BS
(t, S
t
, K, T) =

2(T t)
V ega +r
T
KB(t, T)N(d
2
) q
T
xRe(t, T)N(d
1
)
A.4 Some properties of the volatility
When we let the volatility in Equation (A.31) tends respectively to zero and innity we get the limits
lim
0
C
BS
() = (xRe(t, T) KB(t, T))
+
lim

C
BS
() = xRe(t, T)
Therefore, the Black-Scholes formula is strictly increasing in the volatility. Moreover, Equation (A.34)
shows that the function C
BS
() is convex on the interval [0,
_
2
|log |
Tt
] and concave on the interval
[
_
2
|log |
Tt
, ]. Therefore, the equation C
BS
() = 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 C
BS
(
n
)) max (
1
V ega
, 100)
where max(., .) is used to avoid explosion when the vega get too small and
0
is the rst guess of the
algorithm since the series (
n
) 0 is monotonic. We can also calculate the second order derivative terms
and use a higher order iterative root nding algorithm such as the Halley algorithm. When the strike prices
are far from the money or the price is close to the no-arbitrage bounds, the vega becomes insignicant and
the above ratio explode. In that case one must switch to the Bisection method. Also as discussed by Jackel
in [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 at shape of the normalised Black function for small volatilities, to
enlarge the space domain in that region ( <
0
), he makes a change of variable expressing the prices in the
logarithm space. In that setting the initial guess must be modied and asymptotic expansion is performed
on the prices around 0 to calculate the new initial guess. A similar approach is used for and
interpolation is performed between the two initial guesses. Alternatively, as explained in Section (9.5) we can
estimate the initial guess by Taylor expanding the normal cumulative integral in the Black-Scholes formula.
59
A.5 Greeks on the logarithm of the stock
We let L
t
= log S
t
be the logarithm of the stock price and consider the call price
C
BS
(t, x, , q) = e
x
Re(t, T)N[d
1
] KB(t, T)N[d
2
]
where d
2
=
x+log Re(t,T)log K+(r
1
2

2
)(Tt)

Tt
and
ddi
dx
=
1

Tt
for i = 1, 2. The vega is
V ega = e
x
Re(t, T)

T t

d
1
N(d
1
)
which we dierentiate again with respect to volatility, getting

V ega = e
x
Re(t, T)

T t
1

d
1
d
2
n(d
1
) =
1

d
1
d
2
V ega
Dierentiating the price with respect to time t, we get

t
C
BS
(t, x, ) = e
x
qRe(t, T)N[d
1
]

2(T t)
V ega re
k
B(t, T)N(d
2
)
We now dierentiate the price with respect to the stike

k
C
BS
(t, x, k, T) = e
k
B(t, T)N(d
2
(T t, x, k))
and then with respect to the volatility

2
k
C
BS
(t, x, k, T) = e
x
Re(t, T)

d
1
N(d
2
(T t, x, k))
1

d
1
=
1

T t
d
1
V ega
Dierentiating the price twice with respect to the strike we get

2
k
2
C
BS
(t, x, k, T) =

k
C(t, x, k, T) +
e
k
B(t, T)

T t
n(d
2
(T t, x, k))
Given B(t, T) = e

_
T
t
rsds
so that
dB(t,T)
dT
= r
T
B(t, T). We get the same for the continuous dividend, that
is
dD(t,T)
dT
= q
T
B(t, T). Setting x = S
t
D(t, T), we dierentiate the call price with respect to maturity T
getting

T
C
BS
(t, x, K, T) =
e
x
Re(t, T)
2

T t

d
1
N(d
1
) +r
T
e
k
B(t, T)N(d
2
) q
T
xN(d
1
)
or

T
C
BS
(t, S
t
, K, T) =

2(T t)
V ega +r
T
e
k
B(t, T)N(d
2
) q
T
e
x
Re(t, T)N(d
1
)
Comparing the derivative of the Black-Scholes formula with respect to the strike K and from that with
respect to its logarithm k, we get
K
K
C(t, x, K, T) =
k
C(t, x, k, T)
K
2

KK
C(t, x, K, T) =
kk
C(t, x, k, T)
k
C(t, x, k, T)
60
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 from
market prices the stochastic local volatility with domestic and foreign stochastic rates. We let C(t, S
t
, K, T)
be the call price seen at time t with the strike K and maturity T and assume that the market provides
us with a continuum in time and space of such prices. Knowing the market prices for all time and strikes
we can dierentiate them with respect to strike to get the digital option C
K
(t, S
t
, K, T) and the density
C
KK
(t, S
t
, K, T). Using the No-Arbitrage theory, the call price under the risk-neutral probability measure
Q is
C(t, S
t
, K, T) = E
Q
t
[e

_
T
t
rsds
(S
T
K)
+
] (B.35)
where both the underlying price and the spot rate processes need to be specied. We dierentiate the call
price with respect to time T and interchanging the dierentiation and expectation operator we get
dC(t, S
t
, K, T) = E
Q
t
_
r
T
e

_
T
t
rsds
(S
T
K)
+
dT +e

_
T
t
rsds
d(S
T
K)
+

We consider the convex function C(S


t
) of the underlying price given by the call payo
C(S
t
) = (S
t
K)
+
= (S
t
K)I
StK
and apply Tanakas formula to get its dynamic
dC(S
t
) = I
StK

t
S
t
dt +I
StK
(t, )S
t
dW
t
+
1
2
(S
t
K)|(t, )|
2
S
2
t
dt
where (.) is the Dirac function. We plug it back into the expectation, getting
dC(t, S
t
, K, T) = E
Q
_
r
T
e

_
T
t
rsds
(S
T
K)
+
dT +e

_
T
t
rsds
_
I
ST K

T
S
T
dT +
1
2
(S
T
K)|(T, )|
2
S
2
T
dT
_
Since the price of a digital option is


K
C(t, S
t
, K, T) = E
t
[e

_
T
t
rsds
I
ST K
]
and using the fact that I
StK
S
t
= (S
t
K)
+
+KI
St>K
, we have
E
t
[e

_
T
t
rsds

T
S
T
I
ST K
] = E
t
[
T
e

_
T
t
rsds
(S
T
K)
+
] +KE
t
[
u
e

_
u
t
rsds
I
ST K
]
which can be re-written in terms of market prices as
E
t
[e

_
T
t
rsds
(S
T
K)] = E
t
[(S
T
K)]E
t
[e

_
T
t
rsds
|S
T
= K] = C
KK
(t, S
t
, T, K)
E
t
[e

_
T
t
rsds
S
T
I
ST K
] = C(t, S
t
, T, K) KC
K
(t, S
t
, T, K)
Note, this relation is true for any deterministic or stochastic spot rate. Then the dierentiation of the call
with respect to maturity T is
d
dT
C(t, S
t
, K, T) =

T
C(t, S
t
, K, T)
so that equating terms, we get
61

T
C(t, S
t
, K, T) = E
t
[r
T
e

_
T
t
rsds
(S
T
K)
+
] + E
t
[
T
e

_
T
t
rsds
(S
T
K)
+
] +KE
t
[
T
e

_
T
t
rsds
I
ST K
]
+
1
2
E
t
[e

_
T
t
rsds
(S
T
K)|(T, )|
2
S
2
T
]
Using the denition of the drift
t
= r
d
t
r
f
t
q
t
, where q
t
is deterministic and the property of conditional
expectation
6
, we have

T
C(t, S
t
, K, T) = E
t
[r
f
T
e

_
T
t
rsds
(S
T
K)
+
] q
T
C(t, S
t
, K, T) +KE
t
[(r
d
T
r
f
T
)e

_
T
t
rsds
I
ST K
]
+ q
T
K
K
C(t, S
t
, K, T) +
1
2
E
t
[(S
T
K)]K
2
E
t
[e

_
T
t
rsds
|(T, )|
2
|S
T
= K]
which simplies to

T
C(t, S
t
, K, T) = E
t
[r
f
T
e

_
T
t
rsds
S
T
I
ST K
] q
T
C(t, S
t
, K, T) +KE
t
[r
d
T
e

_
T
t
rsds
I
ST K
]
+ q
T
K
K
C(t, S
t
, K, T) +
1
2
C
KK
(t, S
t
, T, K)
E
t
[e

_
T
t
rsds
|S
T
= K]
K
2
E
t
[e

_
T
t
rsds
|(T, )|
2
|S
T
= K]
so that the stochastic local volatility with domestic and foreign stochastic rates becomes
E
Q
t
[e

_
T
t
rsds
|(T, )|
2
|S
T
= K]
E
Q
t
[e

_
T
t
rsds
|S
T
= K]
=

T
C(t, S
t
, K, T) +E
Q
t
[r
f
T
e

_
T
t
rsds
S
T
I
ST K
] KE
Q
t
[r
T
e

_
T
t
rsds
I
ST K
] q
t
_
K
K
C(t, S
t
, K, T) C(t, S
t
, K, T)
_
1
2
C
KK
(t, S
t
, T, K)K
2
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) simplies to
E
Q
t
[|(T, )|
2
|S
T
= K] =

T
C(t, S
t
, K, T) + (r
T
q
T
)K
K
C(t, S
t
, K, T) +q
T
C(t, S
t
, K, T)
1
2
C
KK
(t, S
t
, T, K)K
2
B.3 The local volatility in the Z-space
This is equivalent to working with the undiscounting call price C(t, S
t
, K, T) =
C(t,St,K,T)
B(t,T)
so that the local
volatility in the Z-space becomes
E
Q
t
[|(T, )|
2
|Z
T
= K] =

T
C(t, Z
t
, K, T) + (r
T
q
T
)
_
K
K
C(t, Z
t
, K, T) C(t, Z
t
, K, T)
_
1
2

KK
C(t, Z
t
, T, K)K
2
6
Et[e

_
T
t
rsds
X
T
|S
T
= K] =
Et[e

_
T
t
rsds
X
T
(S
T
K)]
Et[(S
T
K)]
62
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 local
volatility with deterministic rates in Section (B.2). Hence, the local volatility in the Y -space becomes
E
Q
t
[|(T, )|
2
|Y
T
= K] =

T
C(t, Y
t
, K, T)
1
2

KK
C(t, Y
t
, T, K)K
2
C The local volatility expressed in terms of the implied volatility
We consider the dynamic of the underlying stock price S
t
with no discrete dividends given in Equation (2.3)
and its associated call price C(t, S
t
, 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 in
Section (B) in terms of implied volatility.
C.1 The exponential case
Given the implied volatility (e
k
, T) we get the local volatility
E
Q
t
[|(T, )|
2
|S
T
= e
k
] =

T
C(t, S
t
, e
k
, T) + (r
T
q
T
)
k
C(t, S
t
, e
k
, T) +q
T
C(t, S
t
, e
k
, T)
1
2
_

kk
C(t, S
t
, e
k
, T)
k
C(t, S
t
, e
k
, T)
_
The implied volatility being a function of the strike k and the maturity T, we use the chain rule to express
the derivatives of the market prices in terms of the Black-Scholes Greeks

T
C(t, S
t
, e
k
, T) =
T
C
BS
(t, S
t
, e
k
, T) +

C
BS
(t, S
t
, e
k
, T)
T
(T, e
k
)

k
C(t, S
t
, e
k
, T) =
k
C
BS
(t, S
t
, e
k
, T) +

C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)

kk
C(t, S
t
, e
k
, T) =
kk
C
BS
(t, S
t
, e
k
, T) + 2
k
C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
) +

C
BS
(t, S
t
, e
k
, T)
kk
(T, e
k
)
+

C
BS
(t, S
t
, e
k
, T)(
k
(T, e
k
))
2
Combining terms in the numerator of the local volatility, we get

T
C(t, S
t
, e
k
, T) + (r
T
q
T
)
k
C(t, S
t
, e
k
, T) +q
T
C(t, S
t
, e
k
, T) =
T
C
BS
(t, S
t
, e
k
, T)
+

C
BS
(t, S
t
, e
k
, T)
T
(T, e
k
) + (r
T
q
T
)
_

k
C
BS
(t, S
t
, e
k
, T) +

C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
_
+ q
T
C(t, S
t
, e
k
, T)
Since

T
C
BS
(t, S
t
, e
k
, T) + (r
T
q
T
)
k
C
BS
(t, S
t
, e
k
, T) +q
T
C
BS
(t, S
t
, e
k
, T) =

2(T t)
V ega +r
T
e
k
B(t, T)N(d
2
)
q
T
e
Lt
Re(t, T)N(d
1
) (r
T
q
T
)e
k
B(t, T)N(d
2
(T t, x, e
k
)) +q
T
C
BS
(t, S
t
, e
k
, T) =

2(T t)
V ega
the numerator simplies to

T
C(t, S
t
, e
k
, T) + (r
T
q
T
)
k
C(t, S
t
, e
k
, T) +q
T
C(t, S
t
, e
k
, T) =

C
BS
(t, S
t
, e
k
, T)
_
(T, e
k
)
2(T t)
+
T
(T, e
k
)
+ (r
T
q
T
)
k
(T, e
k
)
_
63
which we write as
V ega
2(T, e
k
)(T t)
_

2
(T, e
k
) + 2(T, e
k
)(T t)
_

T
(T, e
k
) + (r
T
q
T
)
k
(T, e
k
)
_
_
Combining terms in the denominator of the local volatility, we get

kk
C(t, S
t
, e
k
, T)
k
C(t, S
t
, e
k
, T) =
kk
C
BS
(t, S
t
, e
k
, T) + 2
k
C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
+

C
BS
(t, S
t
, e
k
, T)
kk
(T, e
k
) +

C
BS
(t, S
t
, e
k
, T)(
k
(T, e
k
))
2

k
C
BS
(t, S
t
, e
k
, T)

C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
Since

kk
C
BS
(t, S
t
, e
k
, T)
k
C
BS
(t, S
t
, e
k
, T) =
e
k
B(t, T)

T t
n(d
2
(T t, x, e
k
))
and since

d2
N(d
2
) =
e
x
Re(t,T)
e
k
B(t,T)

d1
N(d
1
) the Black-Scholes terms simplies to

kk
C
BS
(t, S
t
, e
k
, T)
k
C
BS
(t, S
t
, e
k
, T) =
e
x
Re(t, T)

T t
n(d
1
(T t, x, e
k
)) =
1
(T t)
V ega
and the denominator becomes

kk
C(t, S
t
, e
k
, T)
k
C(t, S
t
, e
k
, T) =
1
(T, e
k
)(T t)
V ega + 2
k
C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
+

C
BS
(t, S
t
, e
k
, T)
kk
(T, e
k
) +

C
BS
(t, S
t
, e
k
, T)(
k
(T, e
k
))
2

C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
Using the Black-Scholes Greeks, it rewrites

kk
C(t, S
t
, e
k
, T)
k
C(t, S
t
, e
k
, T) =
1
(T, e
k
)(T t)
V ega +
2d
1

T t
V ega
k
(T, e
k
)
+

C
BS
(t, S
t
, e
k
, T)
kk
(T, e
k
) +
d
1
d
2

V ega(
k
(T, e
k
))
2

C
BS
(t, S
t
, e
k
, T)
k
(T, e
k
)
Multiply by
1
2
and factorise, we get
1
2
_

kk
C(t, S
t
, e
k
, T)
k
C(t, S
t
, e
k
, T)
_
=

C
BS
(t, S
t
, e
k
, T)
2
_
1
(T, e
k
)(T t)
+
_
2d
1
(T, e
k
)

T t
1
_

k
(T, e
k
) +
kk
(T, e
k
) +
d
1
d
2
(T, e
k
)
(
k
(T, e
k
))
2
_
which we can write as
V ega
2(T, e
k
)(T t)
_
1+(T, e
k
)(Tt)
_
_
2d
1
(T, e
k
)

T t
1
_

k
(T, e
k
)+
kk
(T, e
k
)+
d
1
d
2
(T, e
k
)
(
k
(T, e
k
))
2
__
Putting the numerator and denominator together, we get the local variance
64

2
(T, e
k
) =

2
(T, e
k
) + 2(T, e
k
)(T t)
_

T
(T, e
k
) + (r
T
q
T
)
k
(T, e
k
)
_
1 + (T, e
k
)(T t)
_
_
2d1
(T,e
k
)

Tt
1
_

k
(T, e
k
) +
kk
(T, e
k
) +
d1d2
(T,e
k
)
(
k
(T, e
k
))
2
_
or

2
(T, e
k
) =
2
(T, e
k
)
1 +
2(Tt)
(T,e
k
)
_

T
(T, e
k
) + (r
T
q
T
)
k
(T, e
k
)
_
1 + (T, e
k
)(T t)
_
_
2d1
(T,e
k
)

Tt
1
_

k
(T, e
k
) +
kk
(T, e
k
) +
d1d2
(T,e
k
)
(
k
(T, e
k
))
2
_
C.2 The linear case
Given the implied volatility (K, T) we get the local volatility
E
Q
t
[|(T, )|
2
|S
T
= K] =

T
C(t, S
t
, K, T) + (r
T
q
T
)
K
C(t, S
t
, K, T) +q
T
C(t, S
t
, K, T)
1
2

KK
C(t, S
t
, T, K)
The implied volatility being a function of the strike K and the maturity T, we use the chain rule to express
the derivatives of the market prices in terms of the Black-Scholes Greeks

T
C(t, S
t
, K, T) =
T
C
BS
(t, S
t
, K, T) +

C
BS
(t, S
t
, K, T)
T

k
C(t, S
t
, K, T) =
k
C
BS
(t, S
t
, K, T) +

C
BS
(t, S
t
, K, T)
K
(T, K)

kk
C(t, S
t
, K, T) =
kk
C
BS
(t, S
t
, K, T) + 2
K
C
BS
(t, S
t
, K, T)
K
(T, K) +

C
BS
(t, S
t
, K, T)
KK
(T, K)
+

C
BS
(t, S
t
, K, T)(
K
(T, K))
2
Combining terms in the numerator of the local volatility, we get

T
C(t, S
t
, K, T) + (r
T
q
T
)K
K
C(t, S
t
, K, T) +q
T
C(t, S
t
, K, T) =
T
C
BS
(t, S
t
, K, T)
+

C
BS
(t, S
t
, K, T)
T
(T, K) + (r
T
q
T
)K
_

K
C
BS
(t, S
t
, K, T) +

C
BS
(t, S
t
, K, T)
K
(T, K)
_
+ q
T
C(t, S
t
, K, T)
Since

T
C
BS
(t, S
t
, K, T) + (r
T
q
T
)K
K
C
BS
(t, S
t
, K, T) +q
T
C
BS
(t, S
t
, K, T) =

2(T t)
V ega
+ r
T
KB(t, T)N(d
2
(T t, x, K)) q
T
S
t
D(t, T)N(d
1
(T t, x, K)) (r
T
q
T
)KB(t, T)N(d
2
(T t, x, K))
+ q
T
C
BS
(t, S
t
, k, T) =

2(T t)
V ega
So, the numerator becomes

T
C(t, S
t
, K, T) + (r
T
q
T
)K
K
C(t, S
t
, K, T) +q
T
C(t, S
t
, K, T) =

C
BS
(t, S
t
, K, T)
_
(T, K)
2(T t)
+
T
(T, K)
+ (r
T
q
T
)K
K
(T, K)
_
which we write as
65
V ega
2(T, K)(T t)
_

2
(T, K) + 2(T, K)(T t)
_

T
(T, K) + (r
T
q
T
)K
K
(T, K)
_
_
Combining the denominator, we get

KK
C(t, S
t
, T, K) =
KK
C
BS
(t, S
t
, K, T) + 2
k
C
BS
(t, S
t
, K, T)
K
(T, K)
+

C
BS
(t, S
t
, K, T)
KK
(T, K) +

C
BS
(t, S
t
, K, T)(
K
(T, K))
2
which gives

KK
C(t, S
t
, T, K) =
1
K
2
(T, K)(T t)
V ega + 2
K
C
BS
(t, S
t
, K, T)
K
(T, K)
+

C
BS
(t, S
t
, K, T)
KK
(T, K) +

C
BS
(t, S
t
, K, T)(
K
(T, K))
2
Using the Black-Scholes Greeks, it rewrites

KK
C(t, S
t
, T, K) =
1
K
2
(T, K)(T t)
V ega +
2d
1
K(T, K)

T t
V ega
K
(T, K)
+

C
BS
(t, S
t
, K, T)
KK
(T, K) +
1
(T, K)
d
1
d
2
V ega(
K
(T, K))
2
We multiply by
K
2
2
and factorise, getting
K
2
2

KK
C(t, S
t
, T, K) =

C
BS
(t, S
t
, K, T)
2
_
1
(T, K)(T t)
+K
2d
1
(T, K)

T t

K
(T, K)
+ K
2

KK
(T, K) +K
2
d
1
d
2
(T, K)
(
K
(T, K))
2
_
which we can write as
V ega
2(T, K)(T t)
_
1+(T, K)(Tt)K
2
_
2d
1
K(T, K)

T t

K
(T, K)+
KK
(T, K)+
d
1
d
2
(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) + (r
T
q
T
)K
k
(T, K)
_
1 + (T, K)(T t)K
2
_
2d1
K(T,K)

Tt

K
(T, K) +
KK
(T, K) +
d1d2
(T,K)
(
K
(T, K))
2
_
or

2
(K, T) =
2
(K, T)
1 +
2(Tt)
(K,T)
_

T
(K, T) + (r
T
q
T
)K
K
(K, T)
_
1 + 2Kd
1

T t
K
(K, T) +K
2
d
1
d
2
(T t)(
K
(K, T))
2
+K
2
(K, T)(T t)
KK
(K, T)
66
C.3 The local volatility on Y
We consider the dynamic of the diusion process Y
t
given in Equation (6.19) and its associated call price
C
M
(t, S
t
, e
k
, T) seen at time t with the strike K and maturity T given in Equation (B.35). Given the implied
volatility (e
k
, T) we get the local volatility
E
Q
t
[|(T, )|
2
|Y
T
= e
k
] =

T
C
M
(t, Y
t
, e
k
, T) +q
T
C
M
(t, Y
t
, e
k
, T)
1
2
_

kk
C
M
(t, Y
t
, e
k
, T)
k
C
M
(t, Y
t
, e
k
, T)
_
Recall, when we are diusing the process Y , there is no drift. Therefore, we can use the local volatility
expressed in terms of implied volatility in Annexe (C.1) and set (r
T
q
T
) to zero, getting

2
(T, e
k
) =

2
(T, e
k
) + 2(T, e
k
)(T t)
_

T
(T, e
k
)
_
1 + (T, e
k
)(T t)
_
_
2d1
(T,e
k
)

Tt
1
_

k
(T, e
k
) +
kk
(T, e
k
) +
d1d2
(T,e
k
)
(
k
(T, e
k
))
2
_
or

2
(T, e
k
) =
2
(T, e
k
)
1 +
2(Tt)
(T,e
k
)
_

T
(T, e
k
)
_
1 + (T, e
k
)(T t)
_
_
2d1
(T,e
k
)

Tt
1
_

k
(T, e
k
) +
kk
(T, e
k
) +
d1d2
(T,e
k
)
(
k
(T, e
k
))
2
_
C.4 The density
Given the local volatility expressed in terms of implied volatility in Annexe (C.2) we deduce that the density
C
KK
(t, S
t
, T, K) is
K
2
(T, K)(T t)
V ega
C
KK
(t, S
t
, T, K) = 1 + 2Kd
1

T t
K
(K, T) +K
2
d
1
d
2
(T t)(
K
(K, T))
2
+ K
2
(K, T)(T t)
KK
(K, T)
Since d
1
= d
2
+

t we can rewrite the density as


K
2
(T, K)(T t)
V ega
C
KK
(t, S
t
, T, K) = 1 + 2Kd
1

T t
K
(K, T) +K
2
_
d
2
1
d
1
(K, T)

T t
_
(T t)(
K
(K, T))
2
+K
2
(K, T)(T t)
KK
(K, T)
Expanding and factorising we get
K
2
(T, K)(T t)
V ega
C
KK
(t, S
t
, T, K) =
_
1 +Kd
1

T t
K
(K, T)
_
2
+ K
2
(K, T)(T t)
_

KK
(K, T) d
1
(
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 payo being a function of the underlying price
at that time, that is for a call option with strike K
67
H(S
T
) = (S
T
K)
+
The option price is at-the-money at time T if K = S
T
. The intrinsic value of an option is the value of its
payo today. The time value of an option is equal to its price minus its intrinsic value and it bears the
optionality 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

y
2
2
dy
and a numerical approximation must be used. Common practice is to use an exponential and a fth degree
polynomial, see Abramowitz et al in [AS74]. The problem of nding an accurate cumulative normal ap-
proximation appeared when one tried to nd an accurate approximation to a n-variate cumulative function.
This is because most approximations will use the n1-variate. Hart in [Har68] proposed to use high degree
rational functions obtaining double precision accuracy throughout the real line. An implementation is given
by West in [Wes04]. Also, Genz in [Gen04] provides accurate algorithms for the computation of bivariate
and trivariate normal and t probabilities for rectangles. The implementation is available from the authors
website
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 rene to full
machine precision the Moro approximation of the inverse normal cumulative distribution function. The
Gaussian function being easily dierentiable, one can use the Newtons second order method or the Halleys
method (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 to
generate pseudorandom numbers. We let the reader refer to LEcuyer in [LEcu07] where a review of the
basic principles underlying the design of a uniform random number generators is done. For simplicity of use
we recommand one of the random number generators introduced by LEcuyer in [LEcu98] such as
MRG32ka, it has two components of order three with period length 2
191
MRG32k5a, it has two components of order ve with period length 2
319
MRG63k3a, it is a 64-bit integer arithmetic with two components of order three with period length
2
377
Alternatively, one can use a Linear Feedback Shift (LFSR) or Tausworthe random number generators which
are based on linear recurrences modulo two with primitive characteristic polynomials. For details, see
LEcuyer in [LEcu91] and Panneton et al in [PLM06]. The implementation is available from the authors
website
http://www.iro.umontreal.ca/~lecuyer
68
D.4 Parametric volatility funtion
We give an example of a parametric implied volatility function derived from Taylor expansion up to the
second order around the money forward level. Given the strike K and the forward price F(t, T) we get the
moneyness m = log
K
F(t,T)
. We let X be the at-the-money volatility, Y the skew and Z
C
the call curvature
and Z
P
the put curvature. To avoid any arbitrage opportunity we cap the smile by introducing cut os. To
avoid innite volatility in the lowest strikes we cut the smile at V
L
< 0 and to avoid negative volatility in the
highest strikes we cut the smile at V
R
> 0. Furthermore, we assume that the volatility does not depend on
moneyness below 1.5V
L
and above 1.5V
R
. To get a proper local volatility we must ensure that the volatility
function is continuous and twice dierentiable in space. To do so, at each cutting point the left and right
limit of the function as well as its rst two derivatives must coincide. In this example we will only make sure
that the rst derivative is satised. We let (T, K) = f(t, T t, X, Y, Z
P
, Z
C
, K) be the volatility function
for maturity T and strike K and dene on the put side
in the range m < 1.5V
L
= X + 1.25Y V
L
+ 1.5Z
P
V
2
L
in the range 1.5V
L
< m < V
L
= X + (6Z
P
V
L
+ 3Y )m(2Z
P
+
Y
V
L
)m
2
3Z
P
V
2
L
Y V
L
in the range V
L
< m < 0
= X +Y m +Z
P
m
2
and on the call side
in the range 0 < m < V
R
= X +Y m+Z
C
m
2
in the range V
R
< m < 1.5V
R
= X + (6Z
C
V
R
+ 3Y )m(2Z
C
+
Y
V
R
)m
2
3Z
C
V
2
R
Y V
R
in the range m > 1.5V
R
= X + 1.25Y V
R
+ 1.5Z
C
V
2
R
So far, the set of parameters (X, Y, Z
C
, Z
P
) is specied at each maturity and one need to introduce a temporal
relation between the parameters. For example, given two maturities and two sets of parameters, for any
maturity inside or outside that range one can interpolate or extrapolate the parameters with the function of
its choice
f(x) = ax +b
f(x) = ax

+b
...
69
D.5 The range of diusion of the process
In numerical implementation such as PDE or Monte Carlo we need to dene the range of diusion of the
process Y or Z which we called x
L
on the lower end of the domain and x
H
on the higher end. Given the
xed maturity T, we choose to solve for the rst strike which gives the Black-Scholes delta of a call option
equal to 0 on one end of the domain and equal to 1 on the other hand. We dene the function made of the
model delta as f(K) = (S, K, ) . Searching for the strike K we can use the Newton method (see Press
et al in [PTVF92])
x
n+1
= x
n

f(x
n
)
f

(x
n
)
where the slope is
f

(x
n
) =

x
n
(S, x
n
, ) =

2
SK
C
M
(S, K)
To avoid dierentiation by zero we modify the slope
f

(x
n
) = sign(

x
n
(S, x
n
, ))
_
|

x
n
(S, x
n
, )| +
_
where
sign(a) =
_
1 if a 0
1 otherwise
and with > 0. To improve convergence we can use the Halleys method
x
n+1
= x
n

2f(x
n
)f

(x
n
)
2(f

(x
n
))
2
f

(x
n
)
where we need to calculate the derivative of the slope
f

(x
n
) =

2
x
2
n
(S, x
n
, ) =

3
SK
2
C
M
(S, K)
In general, to avoid dierentiation 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 rst take the absolute value of the parameters a
0
i
for all i and consider the normalisation constraint

n
i=1
a
0
i
= 1. We set sum
1
=

n
i=1
a
0
i
and create a new vector with element a
0
i
=
a
0
i
sum1
so that the new
constraint

n
i=1
a
0
i
= 1 is satised. We then consider the constraint

n
i=1
a
0
i

0
i
= 0 together with
0
i
1.
Again, we set sum
2
=

n
i=1
a
0
i
|
0
i
| and consider the modied parameter

0
i
= 1 +
|
0
i
|
sum
2
and since sum
2
> 0 and

n
i=1
a
0
i
= 1 then the new constraint
n

i=1
a
0
i

0
i
= 0
70
is satised. Note, when sum
2
0 the parameter
0
i
is not dened but in that case

n
i=1
a
0
i

0
i
0. Therefore,
when sum
2
< for a small enough parameter we directly assume that the constraint is satised.
D.7 Properties of the volatility functions
We saw in Section (8.2) that the rst volatility function in the Black-Scholes formula is

i
(t) = a
i
e
cit
+d
i
for c
i
, a
i
and d
i
positive constants. Its derivative with respect to time is

i
(t) = a
i
c
i
e
cit
. We can compute
the limit of the volatility when the time goes to zero and innity as
lim
t0

i
(t) = a
i
+d
i
lim
t

i
(t) = d
i
when c
i
> 0
The common function f(t, ) is
f(t, ) = 1
2
1 + (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 innity as
well as the parameter are
lim
t
f(t, ) = 1
lim
t0
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) = a
i
e
cit
+d
i
f(t, b
i
)
with limits
lim
t0

i
(t) = a
i
lim
t

i
(t) = d
i
when c
i
> 0
To get some intuition about the behavior of the model we can decompose the weight function a
i
(t) and
compute the limit of its component, that is
lim
t
norm =
n

i=1
a
0
i
= 1
lim
t0
norm =
71
so that the limits of the weight function a
i
(t) become
lim
t
f(t,
i
) norm = 1
lim
t
a
i
(t) = a
0
i
and we must impose
lim
t0
a
i
(t) = a
0
i
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 a
i
(t) become
lim
0
a
i
(t) = a
0
i
lim

f(t,
i
) norm = 1
lim

a
i
(t) = a
0
i
Assuming that only the ith element of the vector can reach a limit then the limits of the weight function
a
i
(t) become
lim
i0
a
i
(t) a
0
i
lim
i
f(t,
i
) norm a
0
i
lim
i
a
i
(t) 1
Therefore, when one of the
i
gets too large with respect to the other element of the vector the model will
be 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 d
t
to the repo rate q
t
in Equation (2.3). In that
setting, the forward price with maturity T is continuous and given by
F(0, T) = S
0
Re(0, T)
B(0, T)
e

_
T
0
dsds
Assuming a piecewise constant dividend yield function taking constant values d(t
i1
, t
i
) on the intervals
[t
i1
, t
i
] we can approximate the discrete dividend payments in the yield model. We can t the model to all
the market forward prices recursively with the equation
d(t
i1
, t
i
) = log F(0, t
i1
) log F(0, t
i
) + log Re(t
i1
, t
i
) log B(t
i1
, t
i
)
72
E.2 Generating discrete dividends
We consider T
H
>> 1 to be the horizon date and assume that we have m discrete dividends d
1
, ..., d
m
at
the times t
1
, ..., t
m
such that 0 < t
1
< ... < t
m
T
H
. Furthermore, we assume that we can observe N < m
known discrete dividends every rst year from evaluation date. Our model will consist in generating the
discrete dividends for the remaining years (m N). We let t
0
i
for i = 1, .., N be the dividend ex-date with
dividend amount v
i
. The series is represented as
(t
0
1
, d
0
1
), (t
0
2
, d
0
2
), ..., (t
0
N
, d
0
N
), (t
1
1
, d
1
1
), (t
1
2
, d
1
2
), ..., (t
1
N
, d
1
N
), ...
For each given dividend in the rst year, we generate another dividend d
n
i
at each anniversary date t
n
i
= t
0
i
+n
for n > 0 years by capitalising its value at the risk-free rate. We apply for all these values the tax rate if it
is a tax advance and then the progression yields which are estimated by tting the observed market forward
prices. We can formalise it as
d
n
i
= y
dn
v
i
B(t
0
i
, t
n
i
)
_
1 if a dividend
tax if a tax credit
where tax = tax rate and y
dn
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 t
0
= 0 with maturity T is
F(0, T) = C
T
S
0
D
T
In order to compute the dividends d
n
i
for n > 0 we need to calibrate the progression yields y
dn
to the market
forward prices. As an example we consider that the maturity T
1
of the rst forward price is such that
t
1
i1
< T
1
< t
1
i
. The forward price becomes
F(0, T
1
) = C
T1
S
0

k=0
H(t
1
t
0
k
)d
0
k
C(t
0
k
, T
1
)

k=0
H(T
1
t
1
k
)d
1
k
C(t
1
k
, T
1
)
Using the denition of the dividends d
1
k
in Annexe (E.2), we get

k=0
H(T
1
t
1
k
)d
1
k
C(t
1
k
, T
1
) =

k=0
H(T
1
t
1
k
)y
d1
v
k
B(t
0
k
, t
1
k
)
C(t
1
k
, T
1
)
Therefore, we obtain the progression yield
y
d1
=
1

k=0
H(T
1
t
1
k
)
v
k
B(t
0
k
,t
1
k
)
C(t
1
k
, T
1
)
_
C
T1
S
0

k=0
H(t
1
t
0
k
)d
0
k
C(t
0
k
, T
1
) F(0, T
1
)
_
In the case where there is a second forward price with maturity T
2
> T
1
such that t
1
j1
< T
2
< t
1
j
we need
two progression yields y
1
d1
and y
2
d1
. Setting i = T
1
+ 1, the forward price becomes
F(0, T
2
) = C
T2
S
0

k=0
H(t
1
t
0
k
)d
0
k
C(t
0
k
, T
2
)

k=0
H(T
1
t
1
k
)d
1
k
C(t
1
k
, T
2
)

k=i
H(T
2
t
1
k
)d
1
k
C(t
1
k
, T
2
)
and we get the progression yields
73
y
2
d1
=
1

k=i
H(T
2
t
1
k
)
v
k
B(t
0
k
,t
1
k
)
C(t
1
k
, T
1
)
_
C
T2
S
0

k=0
H(t
1
t
0
k
)d
0
k
C(t
0
k
, T
2
)

k=0
H(T
1
t
1
k
)d
1
k
C(t
1
k
, T
2
)F(0, T
2
)
_
which is simply
y
2
d1
=
1

k=i
H(T
2
t
1
k
)
v
k
B(t
0
k
,t
1
k
)
C(t
1
k
, T
1
)
_
C
T2
S
0

k=0
H(T
1
t
d
k
)d
k
C(t
d
k
, T
2
) F(0, T
2
)
_
Similarly, if there are M forward prices in the year n = 1 then there are M progression yields y
p
d1
for
p = 1, ..M and setting i = T
M1
+ 1 the Mth one is given by
y
M
d1
=
1

k=i
H(T
M
t
1
k
)
v
k
B(t
0
k
,t
1
k
)
C(t
1
k
, T
M
)
_
C
TM
S
0

k=0
H(T
M1
t
d
k
)d
k
C(t
d
k
, T
M
) F(0, T
M
)
_
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
Call
t
(T, K) Put
t
(T, K) = S
t
KB(t, T)
The call/put parity on the undiscounted call and put prices becomes
Call
t
(T, K) Put
t
(T, K) = F(t, T) K
In the general case where there are discrete dividends and deterministic repo rates, we must still have at
maturity
Call
T
(T, K) Put
T
(T, K) = S
T
K = F(T, T) K
Given the denition of the forward price in Section (4.2), we get at time t
B(t, T)(S
T
K) = Re(t, T)S
t
D(t, T)B(t, T) KB(t, T)
so that the call/put parity is
Call
t
(T, K) Put
t
(T, K) = Re(t, T)S
t
D(t, T)B(t, T) KB(t, T)
while on the undiscounted call and put prices it becomes
Call
t
(T, K) Put
t
(T, K) =
Re(t, T)S
t
B(t, T)
D(t, T) K
which is the forward price in the spot model. Hence, the call/put parity remains
Call
t
(T, K) Put
t
(T, K) = F(t, T) K
74
E.5 Matching the call/put parity
So far, we have calibrated the expected dividends to the market forward prices. Using the repo curve, we
still have one degree of liberty. We can use that freedom to make sure that the call/put parity is satised
for all market data. In that case, the forward price becomes
F(t, T) = S
t
Re(t, T)
B(t, T)

k=0
H(T t
d
k
)d
k
Re(t
d
k
, T)
B(t
d
k
, T)
where Re(t, T) = e
qT (Tt)
and q
T
is a constant for the forward of maturity T.
E.6 Simultaneous calibration
Given the evaluation date t
0
+ 0 and a xed maturity T
M
, we can calibrate simultaneously the progression
yield and the repo rate leading to a system of two equations and two unknowns to solve. The rst equation
solves the progression yield
y
M
d1
=
1

k=i
H(T
M
t
1
k
)
v
k
B(t
0
k
,t
1
k
)
C(t
1
k
, T
M
)
_
C
TM
S
0

k=0
H(T
M1
t
d
k
)d
k
C(t
d
k
, T
M
) F(0, T
M
)
_
which allow us to calculate the dividends d
i
. From the call/put parity on the undiscounted call and put
prices we get
S
0
Re(0, T
M
)
B(0, T
M
)

k=0
H(T t
d
k
)d
k
Re(t
d
k
, T
M
)
B(t
d
k
, T
M
)
= Call
0
(T
M
, K) Put
0
(T
M
, K) +K
which is not linear in the repo value q
TM
and must be solved numerically. We then use the repo value to
compute the progression yield.
75
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 nancial data analysis., John Wiley and Sons, New York,
(2001).
[AN04] C. Alexander and L.M. Nogueira, Hedging with stochastic local volatility., ISMA, Centre Discussion
Paper 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 dierentiability 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-Ratclie, The equity option volatility smile : an implicit nite-
dierence approach, Working Paper, winter, (1997).
[AA98] L. Andersen, and J. Andreasen, Volatility skews and extensions of the libor market model, Working
Paper, August (1998).
[AA00] L. Andersen, and J. Andreasen, Jump-diusion models : volatility smile tting 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 Derivatives
Quantitative Research, Credit Lyonnais, December (2001).
[Atl04] M. Atlan, Localizing volatilities., Working Paper, Laboratoire de Probabilite, Universite Pierre et
Marie Curie, First Draft (2004), Last Draft (2006).
[B94] S.H. Babbs, The valuation of cross-currency interest sensitive claims, with application to Di 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 dierential evolution based power economic dispatch
of generators with valve-point eects and multiple fuel options., International Journal of Computer
Science and Engineering, Winter (2007).
[Beau01] S. Baude, GRM smile model., Rapport de stage de n detude 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., Working
Paper, CMAP, (2004).
76
[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. Bergenthumand L. Ruschendorf, Comparison of option prices in semimartingale models., University
of 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 of
Paris 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., Working
Paper, Banca IMI, (2001).
[Bri02] D. Brigo, The general mixture-diusion 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 ospring and diversity in dierential
evolution for engineering design., Advanced Engineering Informatic, Vol. 16, p193-p203, (2003).
77
[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-diusion 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, second
edition (1882).
[Deb00] K. Deb, An ecient constraint handling method for genetic algorithms., Computer Methods in Applied
Mechanics 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 unied theory of volatility, Working Paper, January, (1996).
[EK97] N. El Karoui, Modeles stochastiques de taux dinteret, Laboratoire de Probabilites, Universite de
Paris 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, Articial 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 dierential,
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., Wilmott
Magazine, September, 84-108 (2002).
[HK79] J.M. Harrison, D. Kreps, Martingale and arbitrage in multiperiods securities markets., Journal of
Economic Theory, 20, 381-408 (1979).
78
[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 articial 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 Economics
Association 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 dierential 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 nancial models : mathematical foundation and
applications., Working Paper, October (2005).
[LEcu91] P. LEcuyer, Tables of maximality-equidistributed combined LFSR generators., Working Paper, DIRO,
Universite de Montreal, (1991).
[LEcu98] P. LEcuyer, Good parameters and implementations for combined multiple recursive random number
generators., Working Paper, DIRO, Universite de Montreal, May 4 (1998).
[LEcu07] P. LEcuyer, 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 Theoretical
and Applied Finance, Vol 4 1, 45-89 (2001).
[LT09] S. Liang, Y. Tahara, A formula to compute implied volatility with error estimate., Interdisciplinary
Iinformation 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., Journal
of Derivatives, Winter, pp 18 - 36, (1997).
[Ma99] D. Marris, Financial option pricing and skewed volatility, MPhil Thesis, University of Cambridge,
(1999).
79
[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 Articial
Intelligence, MICAI, Lecture Notes in Articial 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 Modied dierential 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 diusion 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 dierential 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. LEcuyer 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 tting 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, Frankfurt
School 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 diusion option pricing., Journal of Finance 38 (1), 213-217 (1983).
[SanCoe05] L.V. Santana-Quintero, C.A. Coello Coello, An algorithm based on dierential 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
[Schr89] M. Schroder, Computing the constant elasticity of variance option pricing formula., Journal of Finance
44, 211-219 (1989).
[StPr95] R. Storn and K. Price, Dierential evolution - a simple and ecient 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 dierential evolution., International Computer
Science Institute, Berkeley, TR-96-039, (1996).
[SG07] S. Svoboda-Greenwood, The displaced diusion as an approximation of the CEV, Working paper,
April, (2007).
[Tan00] P. Tankov, GRM smile model, Rapport de stage de n detude de lX, (2002).
[Tan05] P. Tankov, Calibration de modeles et couverture de produits derives., Working Paper, Universite Paris
VII, (2005).
[Wes04] G. West, Better approximations to cumulative normal functions., Working Paper, University of the
Witwatersrand, (2004).
[WDH93] P. Wilmott, J. Dewynne and S. Howison Option pricing : mathematical models and computation,
Oxford Financial Press, (1993).
81

You might also like