Andersen
Andersen
Abstract
The standard approach (e.g. Dupire (1994) and Rubinstein (1994)) to fitting stock processes
to observed option prices models the underlying stock price as a one-factor diffusion process
with state- and time-dependent volatility. While this approach is attractive in the sense that
market completeness is maintained, the resulting model is often highly non-stationary,
difficult to fit to steep volatility smiles, and generally is not well supported by empirical
evidence. In this paper, we attempt to overcome some of these problems by overlaying the
diffusion dynamics with a jump-process, effectively assuming that a large part of the
observed volatility smiles can be explained by fear of sudden large market movements
(“crash-o-phobia”). The first part of this paper derives a forward PIDE (Partial Integro-
Differential Equation) satisfied by European call option prices and demonstrates how the
resulting equation can be used to fit the model to the observed volatility smile/skew. In the
second part of the paper, we discuss efficient methods of applying the calibrated model to
the pricing of contingent claims. In particular, we develop an ADI (Alternating Directions
Implicit) finite difference method that is shown to be unconditionally stable and, if combined
with FFT (Fast Fourier Transform) methods, computationally efficient. The paper also
discusses the usage of Monte Carlo methods, and contains several detailed examples from
the S&P500 market. We compare pricing results obtained by the jump-diffusion approach
with those of pure diffusion, and find significant differences for a range of popular
contracts.
1. Introduction.
The standard Black-Scholes (1973) assumption of log-normal stock diffusion with
constant volatility is, as all market participants are keenly aware of, flawed. To equate the
Black-Scholes formula with quoted prices of European calls and puts, it is thus generally
necessary to use different volatilities (so-called implied volatilities) for different option
strikes (K) and maturities (T). The phenomenon is often referred to as the volatility skew
or smile (depending on the shape of the mapping of implied volatility as a function of K
and T) and exists in all major stock index markets today. Before the crash of 1987, the
1
S&P500 volatilities, for instance, formed a “smile” pattern, where deeply in- or out-of-the-
money options were characterized by higher volatilities than at-the-money options. The
post-crash shape of S&P500 implied volatilities, on the other hand, more resembles a
“sneer” (or “skew”), where implied volatilities decrease monotonically with increasing
strikes. Typically, the steepness of the skew decreases with increasing option maturities.
The existence of the skew is often attributed to fear of large downward market
movements (sometimes known as “crash-o-phobia”).
While it is common to deal with volatility skews and smiles by maintaining (K,T)-
tables of implied volatility, this ad-hoc approach clearly cannot be extended to exotic
options and might also return dubious hedging parameters for European options. More
theoretically consistent extensions of the Black-Scholes model that capture the existence
of volatility smiles can, broadly speaking, be grouped in three approaches. In the
stochastic volatility approach (see, for instance, Heston (1993), Stein and Stein (1991),
and Hull and White (1987)), the volatility of the stock is assumed to be a mean reverting
diffusion process, typically correlated with the stock process itself. Depending on the
correlation and the parameters of the volatility process, a variety of volatility skews and
smiles can be generated in this model. Empirical evidence from time-series analysis
generally shows some evidence of stochastic volatility in stock prices (see e.g. Andersen et
al (1999) for a review and many references). However, in order to generate implied
Black-Scholes volatility skews in a stochastic volatility model that are consistent with
those observed in traded options, often unrealistically high negative correlation between
the stock index and volatility is required. Also, from a computational perspective,
stochastic volatility models are complicated to handle as they are true multi-factor models;
as such, one would typically need multi-dimensional lattices to evaluate, say, American
options. We also notice that stochastic volatility models do not allow for perfect option
hedging by dynamic positions in the stock and the money market account (which in
absence of other traded contracts form an incomplete market).
Another approach, originally suggested by Merton (1976), generates volatility
skews and smiles by adding discontinuous (Poisson) jumps to the Black-Scholes diffusion
dynamics. Again, by choosing the parameters of the jump process appropriately, this so-
called jump-diffusion model can generate a multitude of volatility smiles and skews. In
particular, by setting the mean of the jump process to be negative, steep short-term skews
(which are typical in practice) are easily captured in this framework. Indeed, several
authors (e.g. Das and Foresi (1996), Bates (1996), and Bakshi et al (1997)) point out the
importance of a jump component when pricing options close to maturity. Like stochastic
volatility models, jump-diffusion models are challenging to handle numerically (an issue
2
we shall spend considerable time on in this paper) and result in stocks and bonds forming
an incomplete market1. Some papers dealing with either empirical or theoretical issues
related to jump-diffusion models include Ait-Sahalia et al (1998), Andersen et al (1999),
Ball and Torous (1985), Bates (1991), Duffie et al (1998), and Laurent and Leisen
(1998).
The third approach to volatility smile modeling retains the pure one-factor
diffusion framework of the Black-Scholes model, but extends it by allowing the stock
volatility be a deterministic function of time and the stock price. This so-called
deterministic volatility function (DVF) approach was pioneered by Dupire (1994),
Derman and Kani (1994), and Rubinstein (1994), and has subsequently been extended or
improved by many authors, including Andersen and Brotherton-Ratcliffe (1998),
Andreasen (1997), Lagnado and Osher (1997), Brown and Toft (1996), Jackwerth (1996),
Chriss (1996), and many others. The DVF approach is popular among practitioners, at
least partly because of its simplicity and the fact that its dependence on only a single
random variable model conveniently retains the market completeness of the Black-Scholes
model. Moreover, the existence of a forward equation that describes the evolution of call
option prices as functions of maturity and strike makes it possible to express the unknown
volatility function directly in terms of known option prices. This again allows for efficient
non-parametric fitting of the volatility function and, in principle at least, a precise fit to
quoted market prices. In contrast, stochastic volatility models and jump-diffusion models
are normally parameterized in a few parameters and consequently subject to fitting errors
that often are unacceptably large. Despite its popularity, the local volatility approach is
known to suffer from several drawbacks. For one, the mechanism by which the volatility
smile is incorporated is overly simplistic -- few market participants would seriously
attribute the existence of the volatility smile solely to time- and stock-dependent volatility.
Indeed, there is much empirical literature rejecting DVF models and their implications for
hedging and market completeness (e.g. Ait-Sahalia et al (1998), Andersen et al (1999),
Buraschi and Jackwerth (1998), and Dumas et al (1997)). The weak empirical evidence is
not surprising, as the DVF framework typically results in strongly non-stationary implied
volatilities, often predicting that the skew of implied volatilities will vanish in the near
future. In practice, however, volatility smiles appear quite stationary through time.
Moreover, to fit DVF models to the often quite steep short-term skew, the fitted implied
volatility function must be contorted in quite dramatic (and not very convincing) fashion.
This has implications not only for the pricing of exotics options, but also affects the hedge
parameters for standard European options.
3
As discussed in the empirical studies by Andersen et al (1999), Bates (1996), and
Bakshi et al (1997), the most reasonable model of stock prices would likely include both
stochastic volatility and jump diffusion (as in the models by Bates (1996) and Duffie et al
(1999)). From the perspective of the financial engineer, such a model would, however, not
necessarily be very attractive as it would be difficult to handle numerically and slow to
calibrate accurately to quoted prices. Rather than working with such a “complete” model,
this paper more modestly assumes that stock dynamics can be described by a jump
diffusion process where the diffusion volatility is of the DVF-type. In doing so, we hope to
combine the best of the two approaches: ease of modeling short-term volatility skews
(jumps) and accurate fitting to quoted option prices (DVF diffusion). In particular, one
hopes that the jump-part of the process dynamics will explain enough of the volatility
smile/skew to allow for a “reasonable”, stable DVF function, without the extreme short-
term variation typical of the pure diffusion approach. Empirical support for the process
used in this paper can be found in Ait-Sahalia et al (1998).
The rest of this paper is organized as follows. In section 2 we outline our process
assumptions and develop a general forward PIDE describing the evolution of European
call options as functions of strike and maturity. Paying special attention to the case of log-
normal jumps, this section also discusses the applications of the forward PIDE to the
problem of fitting the stock process to observable option prices. Section 3 illustrates the
proposed techniques by applying them to the S&P500 market. In section 4 we turn to the
development of efficient finite difference methods that allow for general option pricing
under the jump-diffusion processes used in this paper. The pricing algorithms are tested in
Section 5 on both European and exotic options. Section 5 also attempts to quantify the
impact of stock price jumps on certain exotic option contracts. Finally, Section 6 contains
the conclusions of the paper.
b g b g b g
dS (t ) / S (t − ) = r (t ) − q (t ) − λ(t )m(t ) dt + σ t , S (t − ) dW (t ) + J (t ) − 1 dπ(t ) . (1)
4
where { J (t )}t ≥0 is a sequence of positive, independent stochastic variables with, at most,
time-dependent density ζ (⋅t ; ) . Also in (1), σ is a bounded time- and state-dependent
local volatility function; m is a deterministic function given by m(t ) ≡ E J (t ) − 1 ; and r
and q are the deterministic risk-free interest rate and dividend yield, respectively. We
assume that π , W, and J are all independent. In (1), t − is the usual notation for the limit
t− | ε| , ε → 0 .
Under (1), the stock price dynamics consist of geometric Brownian motion with
state-dependent volatility, overlaid with random jumps of random magnitude S(1-J).
Notice that when the jump probability λ approaches 0, (1) becomes identical to the
diffusion dynamics assumed in most previous work on volatility smiles (e.g. Dupire
(1994), Rubinstein (1994), Derman and Kani (1994), Andersen and Brotherton-Ratcliffe
(1998), and Andreasen (1997)).
Using standard arguments (see e.g. Merton (1976)), it is easy to show that any
European-style contingent claim F on S will satisfy the backward partial integro-
differential equation (PIDE)
b g
Ft (t , S ) + r (t ) − q (t ) − λ(t )m(t ) SFS (t , S ) + 1
2 σ 2 (t , S ) S 2 FSS (t , S )
b g b g
+ λ(t ) E F t , J (t ) S − r (t ) + λ(t ) F (t , S ) = 0
(2)
b
E F t , J (t ) S = g z
∞
0
F (t , Sz )ζ ( z; t )dz . (3)
In (2), r and q can be deduced from quoted stock forwards and bond prices. We
wish to derive the remaining terms in (2) from prices C (t , S ; T , K ) of European call
options4, spanning all maturities T and strikes K. To this end, consider the following
proposition:
Proposition 1:
When S evolves according to (1), a European call option C (t , S ; T , K ) satisfies the
forward PIDE equation
5
b g
− CT + q (T ) + λ(T )m(T ) − r (T ) KCK + 1
2 σ(T , K ) K C
2 2
KK
b g b g
+
subject to C t , S (t ); t , K = S (t ) − K . In (4),
b g b gz ∞
E J (T )C t , S ; T , K / J (T ) = 1 + m(T ) C (t , S ; T , K / z )ζ '( z; T )dz .
0
(5)
z
ζ '( z; T ) = ζ ( z; T ) .
1 + m(T )
Proof:
The proof is based on an application of the Tanaka-Meyer extension of Ito's lemma. See
Appendix A for details.
While not necessary for our purposes, we point out that it is also possible to
extend (4) to the case where volatility is stochastic5.
In its most general form, equation (4) contains too many degrees of freedom to
allow for a unique process (1) consistent with quoted call option prices. For practical
applications, it is thus necessary to restrict, through parameterization, some of the terms in
(4). For instance, we could parameterize the local volatility function (σ ) directly and
attempt to construct the jump density ζ by solving the resulting series of inhomogeneous
integral equations. As the resulting equations belong to the class of Fredholm equations of
the first kind, their solution is, however, quite involved and would likely require
regularization and use of a priori information (see e.g. Press et al (1992), Chapter 18).
Instead, we prefer to parameterize the jump process and imply (non-parametrically) the
local volatility function σ . We will discuss this technique in the following section.
6
historical analysis, or, as discussed further in Section 3, from a best-fit procedure applied
to quoted option prices. Proposition 1 now becomes
b
− CT + q (T ) − r (T ) + λ'− λ KCK +g 1
σ(T , K ) 2 K 2 CKK
z
2
+ λ'
∞
−∞
b g
C (t , S ; T , Ke − µ − γz )ϕ ( z − γ)dz − q (T ) + λ' C = 0, (6)
µ + 1 γ2
where λ' ≡ λe 2 and ϕ is a standard Gaussian density. It is clear that if we know the
function C (t , S ; T , K ) and its derivatives for all T and K, then we can construct the local
volatility function σ directly from (6)6. In reality, however, only a limited set of call prices
C (t , S ; T , K ) is quoted in the market, making the inverse problem ill-posed. A variety of
regularization techniques can be applied to overcome this problem, the simplest of which
involves sufficiently smooth interpolation and extrapolation of known data (see e.g.
Andersen and Brotherton-Ratcliffe (1998), and Andreasen (1997)). This technique, which
effectively extends the input price set to cover all values of K and T, will also be employed
in this paper7. An alternative approach assumes a specific form of the local volatility
function (e.g. a spline as in Jackson et al (1999) and Coleman et al (1999)) and finds an
optimal8 fit to quoted option prices by large-scale iterative methods. The existence of a
forward equation (1) significantly improves the speed of such methods, as option prices
with different strikes and maturities can be priced in a single finite difference grid9. Other
iterative approaches along these lines can be found, for example, in Lagnado and Osher
(1997) and Avallaneda et al (1996). As a general comment, we point out that iterative
methods that are feasible in a pure diffusion setting may become prohibitively slow for
jump-diffusions due to the presence of integrals in the forward and backward equations.
To improve speed, one can imagine replacing the non-parametric specification of the local
volatility function with a parametric form and combining this with “bootstrapping” of the
forward equation; we will briefly discuss such a technique in Section 2.3.
To proceed, we first wish to transform (6) into an equation involving implied
volatilities rather than call prices. The former is normally much "flatter" as a function of K
and T than the latter and significantly simplifies interpolation and extrapolation
procedures. As a first step, let us eliminate the dependence on r (t ) and q (t ) . To this end,
z
introduce x (u) = S (u) / F (t , u), u > t , where F (t , u) = S (t ) exp t [r (τ ) − q (τ )]dτ is the
u
b g b
dx (u) / x (u − ) = ( λ− λ')du + σ t , S (u − ) dW (u) + J (u) − 1 dπ(u)g
≡ ( λ− λ')du + sb u, x (u− )gdW (u) + b J (u) − 1gdπ(u), u > t
7
where we have introduced a reparameterized local volatility function s dependent on x,
rather than S. Now, by standard pricing theory (e.g. Harrison and Pliska (1981)) we can
write
e zT
C (t , S (t ); T , K ) t r ( s ) ds
b
= Et x ( T ) − k g +
≡ ψ (t ; T , k ), k ≡ K / F (t , T ) (7)
F (t , T )
where the expectation is taken with respect to the risk-neutral probability measure,
conditional upon information revealed up to time t. Notice the introduction of the
normalized strike k = K / F (t , T ) . It follows from Proposition 1 and (6) that the function
ψ satisfies the forward equation
−ψ T b
+ λ'− λ kψ g k + 1
2 s(T , k ) 2 k 2ψ kk + λ' z
∞
−∞
ψ (t ; T , ke − µ − γz )ϕ ( z − γ)dz − λψ
' = 0. (8)
For the special case of s(u, x (u)) = s$ where s$ is a constant, we know from
Merton (1976) that10
∞ ∞
ψ (t , T , k ) = M (t ; T , k , s$) ≡ ∑ A(n) Φ (d n ) − k ∑ B(n)Φ (d n − vn ) , (9)
n=0 n= 0
b g
M t , T , k , s$(T , k ) = ψ (t ; T , k ) , (10)
where the right-hand side is observed in the market11. Equations (8) and (10) allow us to
express the local volatility s(T , k ) as a function of implied Merton volatility s$(T , k ) .
Tedious, but straightforward, manipulations yield
8
∞
T − t ∑ A(n)ϕ (d n ) α n
LM s$ FG1 − α I 1F
α (T − t ) J+ Gα d s$ +
1 IJ OP =
2
+ s$k2
H s$ − dn
K s$ H K PQ
1 2 2 n
s( T , k ) k
2
n= 0 MN kk n n n k
k T− t
FG∑ nA(n)Φ (d ) − k ∑ nB(n)Φ (d
(T − t ) − 1
∞ ∞
I
− v )J+
H n =1
n
n =1
n
K n
∞
T − t ∑ α A(n)ϕ (d ) M
L s$ + (λ− λ ) ks$ + s$ PO − λE JM c t , T , k / J , s$b T , k / J gh *
n =0 N 2( T − t )
n
Q n k T
(11)
where α n ≡ 1 +
FG nγ2 IJ . This gives us:
−1
H s$(T , K ) 2 (T − t ) K
Proposition 2:
Defining k = K / F (t , T ) , the local volatility function σ(T , K ) = s T , k b g is given by the
implied Merton volatility s$(T , k ) in (9)-(10) as follows:
num = T − t ∑
∞
α n A(n)ϕ (d n )
LM s$ + (λ− λ ) ks$ + s$ OP *
n= 0 N 2( T − t ) Q k T
e s$( k , T ) + γ / (T − t ) j − λE JM c t , T , k / J , s$b T , k / J gh ,
− µ − 12 γ2
+ λ' M t , T , ke , 2 2
∞
T − t ∑ A(n)ϕ ( d n ) α n
LM s$ F1 − α
+ s$ G
I 1F
α (T − t ) J+ Gα d s$ +
1 IJ OP
2
den = k
H s$ − dn
K s$ H K PQ
1 2 2 n
2
n= 0 MN kk k n n n k
k T− t
with α n
F
≡ G1 +
nγ IJ . 2 −1
H s$(T , K ) (T − t ) K 2
Proof:
Follows directly from (11) after an application of the definition (10) of M (⋅) .
We notice that when s$(T , k ) is constant and equal to g, say, s$(T , k ) = s(T , k ) = g , and
Proposition 2 reduces to
b
λE JM t , T , k / J , g = λ' M t , T , ke g e − µ − 12 γ2
, g 2 + γ2 / (T − t ) , j (12)
9
a result that can be verified by direct computation and will be useful in the following. Also
notice that when λ→ 0 , Proposition 2 reduces to
s$
+ 2 s$T
(T − t )
s( T , k ) 2 =
F
k Gs$ − s$k2 d 0 T − t +
1FGd 0 s$k +
1 IJ IJ
2
H KK
2
H kk
s$ k T− t
which is a known expression for the jump-free case (see Andersen and Brotherton-
Ratcliffe (1998), or Andreasen (1997)).
The infinite series in Proposition 2 are all well-behaved and typically require the
evaluation of less than 5-6 terms before sufficient accuracy is achieved. For the result in
Proposition 2 to be useful in practice, we only need efficient methods of computing the
integral term
c
I (T , k ) = λE JM t , T , k / J , s$ T , k / J b gh
= λ' z−∞
∞
M c t , T , ke − µ− γ
, s$(T , ke
z
)hϕ ( z − γ)dz
− µ− γ
z
= λ' z−∞
∞
M ct , T , e γω
( − v)
, s$(T , e )hϕ (v )dv
γω
( − v)
does not vanish for ω − v → − ∞ , we proceed to separate out the part of the integrand that
correspond to some (guessed) constant volatility g. That is, we define
c h c
ξ( x; t , T ) = M t , T , eγx , s$(T , eγx ) − M t , T , eγx , g h
and can now write
I (T , k ) = λ' z−∞
∞
c
M t , T , eγω
( − v)
h
, g ϕ (v )dv + λ' z
∞
−∞
ξ(ω − v; t , T )ϕ (v )dv
= λ' M t , T , ke e − µ − 21 γ2
, g 2 + γ2 / (T − t ) + λ' j z∞
−∞
ξ(ω − v; t , T )ϕ (v )dv
(13)
where we have used (12). We are now left with the problem of computing numerically
c( T , ω ) = z
∞
−∞
ξ(ω − v; t , T )ϕ (v )dv
10
which can be interpreted as convolution ξ * ϕ of the two functions ξ and ϕ . This
suggests the introduction of discrete Fourier transform (DFT) methods. Specifically,
assume that we are interested in evaluating c(T , ω ) as a function of ω on an equidistant
grid ω i = ω 0 + i∆ , i = 0,1,..., N − 1 , where N is an even number and ∆ some positive
constant. We will assume that the grid is wide enough to ensure that ξ(ω 0 ; t , T ) and
b g
ξ(ω N − 1; t , T ) are close to zero12. Writing ξ ω i ; t , T = ξ i and ϕ (i∆ ) = ϕ i , the convolution
can be approximated by
N /2
c(T ,ω i ) ≈∆ ∑ξ i− j
j =− N / 2 + 1
ϕj (14)
where we account for negative indices by assuming that both ξ and ϕ are periodic with
period N (a necessary assumption in DFT). The summation in (14) is, conveniently, the
definition of the convolution operator in the theory of DFT. Using ⋅ to denote discrete
Fourier transforms, it is well-known that
c i /∆= ξ i ϕ i
where the index i runs over N different frequencies. ϕ can be constructed analytically
(the Fourier transform of a Gaussian density is another Gaussian density), whereas ξ
can be computed efficiently using Fast Fourier Transformation (FFT). This suggests the
following algorithm:
Notice that the algorithm above gives the values of c for all N values of ω on the grid
simultaneously. If N = 2 p for some integer p, FFT is of computational order
O( N log 2 N ) . The algorithm above is thus also of order O( N log 2 N ) , a significant
improvement over a direct implementation of (14) ( O( N 2 ) to evaluate c at all N values of
ω ). In general, we need to run the algorithm above for different values of T in some pre-
defined grid. With M different values of T, the total effort of computing the convolution
integrals becomes O( MN log 2 N ) .
11
Finally, a word of caution about the usage of FFT. The assumption of ξ and ϕ
being periodic functions can sometimes introduce spurious wrap-around effects if ξ does
not decay fast enough for high and low values of ω . A standard technique for dealing
with such effects involves zero padding of the ω -array; see for instance Press et al (1992)
for a discussion.
First, we choose a distribution of the jumps. As in the previous section, one could for
example assume that J is log-normal with best-fitted parameters µ , λ, γ. For each interval
[Ti , Ti+ 1 ] let the local volatility be given by σ(t , S ) = g ( S ; a i ) where g is some function
defined by its parameter vector a i . Starting with i = 0 we now repeatedly solve (7) over
the interval [Ti , Ti+ 1 ] for changing values of the parameters a i , until an optimal fit to the
observed option prices is obtained. A good choice for updating the parameter vector a i is
the Levenberg-Marquardt routine described in Press et al (1992). Once the optimal a i is
found we proceed to the next time step. If we wish to find a perfect fit to the observed
option prices each parameter vector a i must have a dimension that is at least as high as the
number of quoted option prices with maturity Ti+ 1.
One would think that the updating and the numerical solution of the PIDEs would
prohibit the practical application of this algorithm, but this is not the case. Using the
numerical PIDE solution algorithm that we present below we are typically able to fit to a
10 ×10 grid of observed option prices in less than one minute on a Pentium PC.
3. Fitting the local volatility function: an example from the S&P500 market.
In this section we illustrate the theory of the previous section by an example based
on data from the S&P500 index. We will use the method outlined in Section 2.2 and
consequently assume that jumps are log-normal with constant parameters ( µ , γ, λ). In
12
April 1999, the bid-offer implied Black-Scholes volatilities of European call options on the
S&P500 index were as shown in Table 1. With a constant interest rate of r = 559% . and a
constant dividend yield of q = 114%
. the bid-offer spreads correspond to bid and offer
option price spreads from mid as given in the second column of Table 1. To determine the
jump parameters, we first do a best fit (in a least-squares sense) of the Merton model (9)
to the mid implied Black-Scholes volatilities of Table 1. The resulting best-fit parameters
are
Interestingly, the best-fit continuous volatility σ is close to what one obtains by time-
series estimation on historical S&P500 data (for instance, using the past 10 year’s time-
series of daily S&P500 returns we get a historical volatility of approximately 15.0%). The
mean jump in return is m = − 54.54% . This number, and the estimated jump intensity λ,
are higher than what one would expect from time-series data, and either indicate that the
market currently perceives the chance of a big crash to be higher than normal or, more
likely, that the jump parameters include significant elements of risk aversion (“market price
of risk”). In particular, in jump-diffusion models the continuous movement of the stock
can be hedged perfectly by continuous trading in the stock and the money-market account,
whereas a perfect hedge of the jump component is virtually impossible. It is therefore
economically plausible that the market risk-neutral measure coincides with the objective
(“historical”) probability measure for the continuous part of the jump-diffusion dynamics,
whereas the market risk-neutral parameters for the discontinuous part of the dynamics are
risk-adjusted relative to those of the objective probability measure. Identical continuous
volatility is also required for the objective probability measure and the market risk-neutral
measure to be equivalent.
13
Table 1: Bid/Ask implied Black-Scholes volatilities in S&P500, April 1999
Strike (K)
Bid
/Offer 50 70 80 85 90 95 100 105 110 115 120 130 140 150 160 170 180 200
T
0.08 5 Bid 28.05 25.29 22.17 18.95 15.50
Ask 30.13 26.44 23.03 20.10 19.57
0.25 6 Bid 30.57 28.30 25.95 23.55 21.28 19.23 17.57 15.64
Ask 31.75 29.16 26.61 24.13 21.88 20.03 19.03 19.28
0.50 7 Bid 29.70 27.78 25.96 24.22 22.56 20.98 19.65 18.58 16.22
Ask 30.50 28.44 26.52 24.74 23.06 21.52 20.32 19.52 19.04
0.75 9 Bid 30.96 29.36 27.74 26.15 24.61 23.22 22.01 21.02 20.14 18.50 16.40
Ask 31.82 30.08 28.36 26.69 25.11 23.70 22.51 21.56 20.78 19.63 19.22
1.00 10 Bid 30.60 29.28 27.92 26.53 25.12 23.73 22.43 21.27 20.19 18.27 16.48 12.67
Ask 31.40 29.96 28.52 27.07 25.62 24.21 22.91 21.77 20.75 19.12 18.19 18.30
1.50 11 Bid 30.01 28.93 27.81 26.67 25.53 24.38 23.30 22.37 21.50 19.99 18.68 17.46 16.09 10.74
Ask 30.69 29.53 28.35 27.17 25.99 24.82 23.74 22.81 21.96 20.53 19.41 18.64 18.29 18.46
2.00 12 Bid 29.87 28.90 27.92 26.94 25.97 25.01 24.08 23.24 22.53 21.25 20.11 19.09 18.16 17.25 16.09
Ask 30.51 29.46 28.44 27.42 26.41 25.43 24.48 23.64 22.93 21.69 20.63 19.76 19.12 18.72 18.59
3.00 15 Bid 31.64 30.04 29.24 28.44 27.64 26.84 26.06 25.29 24.56 23.93 22.94 22.04 21.24 20.55 19.97 19.45 18.52
Ask 32.38 30.64 29.78 28.94 28.10 27.28 26.48 25.69 24.94 24.31 23.32 22.44 21.68 21.05 20.57 20.18 19.73
4.00 17 Bid 34.24 31.69 30.33 29.65 28.98 28.31 27.64 26.99 26.34 25.61 24.97 24.19 23.48 22.85 22.28 21.76 21.31 20.56
Ask 35.56 32.41 30.91 30.19 29.48 28.77 28.08 27.41 26.74 25.99 25.35 24.55 23.84 23.23 22.68 22.20 21.79 21.18
5.00 20 Bid 33.69 31.60 30.50 29.93 29.38 28.83 28.29 27.75 27.21 26.66 26.14 25.24 24.55 23.98 23.47 22.99 22.55 21.82
Ask 34.94 32.31 31.08 30.47 29.88 29.31 28.73 28.17 27.61 27.06 26.52 25.60 24.91 24.34 23.83 23.37 22.95 22.28
7.00 42 Bid 32.29 30.97 30.20 29.81 29.42 29.04 28.66 28.29 27.92 27.54 27.17 26.45 25.77 25.31 24.96 24.62 24.32 23.80
Ask 34.32 32.19 31.22 30.77 30.32 29.88 29.46 29.05 28.64 28.24 27.85 27.09 26.39 25.91 25.54 25.20 24.90 24.40
10.0 75 Bid 31.07 30.50 30.09 29.86 29.63 29.38 29.15 28.91 28.68 28.44 28.20 27.73 27.25 26.78 26.31 25.98 25.77 25.39
Ask 33.91 32.29 31.61 31.28 30.95 30.64 30.33 30.05 29.76 29.48 29.20 28.67 28.15 27.64 27.13 26.78 26.55 26.15
Market bid and offer implied volatilities for the S&P 500 index. Strikes (K) are in percentage of initial spot
and maturities (T) are measured in years. The second column reports approximate option price bid and ask
spreads from mid in basis points (1/100 of pct) of the spot index value. Volatilities are expressed in
percent. Blank cells mean that the are no observations for that particular maturity and strike. The interest
rate and dividend yield are 5.59% and 1.14%, respectively.
To measure how well our estimated constant-parameter Merton model fits the
S&P options market, Table 2 list the absolute differences in model-implied Black-Scholes
volatilities to the mid implied volatilities of Table 1. Generally, the time-homogenous
Merton model exhibits a surprisingly good fit to the S&P500 options market. The total
RMS error in Table 2 is approximately 1.35%.
14
Table 2: Difference in implied Black-Scholes volatilities: Merton model vs. Market
Fitting errors on best-fitted Merton model, expressed in terms of implied Black-Scholes volatilities. Listed
numbers are in percent, relative to mid-market prices. Maturities (T) are expressed in years and strikes (K)
in percentage of initial spot. Jump parameters are σ = 17.65%, λ = 8.90%, µ = − 88.98%, γ= 45.05% . The
interest rate and dividend yield are 5.59% and 1.14%, respectively.
To construct a local volatility surface that fits the input volatilities of Table 1, we
first convert the bid and offer implied volatilities of Table 1 into a grid of implied Merton
volatilities (as in (10)). We then generate a smooth surface of these volatilities that lies
inside the bid and offer spread, and extrapolate to the unobservable corners of the
volatility grid. The smoothing/extrapolation procedure used is described in detail in
Andreasen (1996); it involves numerically solving an optimization problem with quadratic
objective function and linear constraints. The resulting grid of Merton volatilities is given
in Table 3. As expected from the results in Table 2, the implied Merton volatilities are
fairly, though not perfectly, flat.
15
Table3: Smooth Implied Merton Volatilities for S&P500
Smooth implied Merton volatilities for the S&P500 index. Volatility numbers are in per cent. Maturities
are in years and strikes are in percentage of initial spot. Jump parameters are
λ = 8.90%, µ = − 88.98%, γ= 45.05% . The interest rate and dividend yield are 5.59% and 1.14%,
respectively.
16
Figure 1: Local Diffusion Volatilities for the S&P500 Index, April 1999
0.3
0.25
0.2
0.15
0.1
9.7
8.5
0.05 7.3
6.1
4.9
0 3.7
23%
27%
32%
2.5
39%
46%
55%
66%
79%
1.3
94%
113%
134%
161%
192%
0.1
229%
273%
326%
390%
Local volatilities for jump-diffusion model when fitted to S&P500 option prices. First axis is future spot
relative to current spot and second axis is time in years. The local volatilities are generated on a 150x256
grid. Jump parameters are λ = 8.90%, µ = − 88.98%, γ= 45.05% . The interest rate and dividend yield are
5.59% and 1.14%, respectively.
The local volatility surface is, essentially, U-shaped and quite stationary through
time. For comparison, Figure 2 shows the local volatilities obtained by fitting a pure
diffusion (DVF) model to the data in Table 1. Not surprisingly, Figure 2 shows that the
local volatilities of the pure diffusion model needs to be very steep and highly non-
stationary in order to fit the S&P500 data. The impact of this non-stationarity on option
prices will be examined in Section 5.
17
Figure 2: DVF Local Volatilities for the S&P500 Index, April 1999
0.5
0.45
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
9.1
8.1
18%
7.1
23%
31%
6.1
40%
53%
5.1
71%
4.1
93%
123%
3.1
163%
215%
2.1
284%
375%
1.1
496%
0.1
Local volatilities for pure diffusion model when fitted to S&P500 option prices. First axis is future spot
relative to current spot and second axis is time in years. The local volatilities are generated on a 150x256
grid. The interest rate and dividend yield are 5.59% and 1.14%, respectively.
18
typically exhibit better convergence and stability properties than explicit methods and are
preferable for option pricing problems. The paper by Andreasen and Gruenewald presents
such an implicit method that solves the pricing PIDE on a single Crank-Nicholson finite
difference grid, with each time-step involving the inversion of a non-sparse matrix. In the
constant-parameter setting of Andreasen and Gruenewald, the matrix inversion turns out
to be computationally feasible. In our setting with time- and price-dependent volatility
functions, another approach is needed. In the following subsection we describe an accurate
and efficient solution technique that can be used under our model assumptions.
LM OP
0=
∂F
∂t
∂ 1 ∂2 +∞
z
+ − r + a + b 2 2 F + λ ς(t , x − y ) F (t , y )dy − λF
N∂x 2 ∂x −∞
Q
(15)
r = r (t ), a = a (t , x ), b = b(t , x ), λ = λ(t ) .
Defining
LM
D≡ − r+ a
∂ 1 2 ∂2
+ b
OP
N ∂x 2 ∂x 2 Q
and using the convolution operator * we can write (15) in the more compact form
∂F
0= + DF − λF + λς* F (16)
∂t
0=
1
∆t
b g
F (t + ∆t ) − F (t ) + D θ C F (t ) + (1 − θ C ) F (t + ∆t )
(17)
+ λ( − 1 + ς*) θ J F (t ) + (1 − θ J ) F (t + ∆t )
19
where θ C ,θ J ∈ [0,1] are constants.
Rearranging (17) yields
There are various ways of arranging (18) for numerical solution. The most
obvious, corresponding to a standard Crank-Nicolson finite difference scheme,
θ C = θ J = 1 / 2 , is not practically feasible because after discretizing the x-space into N
points inversion of a full N × N matrices is required, a computationally costly procedure
of order N 3 per time step. Note that full matrix inversion has to be performed at every
step since the parameters vary in both time and state. The state-dependent parameters also
preclude use of Fourier transform techniques to solve the inversion problem. Explicit
schemes, θ C = θ J = 0 , are computationally feasible but potentially unstable and suffer
from the drawback that their convergence in the time domain are only of O ∆t , unlike b g
c h
Crank-Nicolson schemes that have precision of O ∆t 2 . When using FFT techniques to
handle the convolution integral, the computational order of the explicit scheme is
O( N log 2 N ) per time step. Schemes of the type θ C = 1 / 2, θ J = 0 are stable and efficient
but accuracy is lost due to the asymmetric treatment of the continuous and jump part.
Numerical experiments show that biases are introduced in the solution, particularly for
long dated options.
In our experience, the best numerical solution method is an ADI (Alternating
Directions Implicit) method where each time-step in the grid is split into two half-steps.
For the first half-step we set θ C = 1,θ J = 0 , which gives us
LM 1 − DOP F (t + ∆t / 2) = LM 1 − λ+ λς*OP F (t + ∆t )
N ∆t / 2 Q N ∆t / 2 Q (19a)
ς* F (t + ∆t ) = ς F (t + ∆t ) .
If we observe that ς only needs to be computed once, the computational cost associated
with the convolution part of (19a) is one FFT and one inverse FFT, i.e. O( N log 2 N ) . We
further note that the discrete version of the differential operator D is a tri-diagonal matrix.
20
Consequently, once the RHS of (19a) is obtained by FFT methods, then the system (19a)
can be solved at a cost of O( N ) . Hence, the total cost of solving (19a) is O( N log 2 N ) .
For the second half-step we set θ C = 0,θ J = 1 , whereby
LM 1 + λ− λς*OP F (t ) = LM 1 + DOP F (t + ∆t / 2)
N ∆t / 2 Q N ∆t / 2 Q (19b)
If we let
y=
LM 1 + DOP F (t + ∆t / 2)
N ∆t / 2 Q
we can take the Fourier transform of (19b) to arrive at
FG 2 + λIJ F (t ) − λ ς F (t ) = FG 2 + λ− λ ς IJ.
H∆t K y ⇒ F (t ) = y /
H∆t K (20)
We can now transform the equation back to obtain F (t ) . All in all this requires one tri-
diagonal matrix multiplication, one FFT and one inverse FFT, i.e. a procedure with a
computational burden of O( N log 2 N ) .
To formally specify the discrete scheme described in (19a-b) we define the
difference operators
1 1
δx f ( x ) = f ( x + ∆x ) − f ( x − ∆x ) ; δxx f ( x ) = f ( x + ∆x ) − 2 f ( x ) + f ( x − ∆x )
2 ∆x ( ∆x ) 2
b g LMN
D f x = − r + aδx +
1 2
2
OP
b δxx f ( x ); ς* f ( x ) = ∑ q j ( x ) f ( j∆x )
Q j
where
q j ( x) = z b j + 1/2 g∆x
b j − 1/ 2 g∆x
ς( x − y )dy .
21
LM 2 − DOP F bt + ∆t / 2g = LM 2 − λ+ λς*OP F bt + ∆t g,
N ∆t Q N ∆t Q (21a)
The following proposition describes some important properties of the scheme (21a-b).
Proposition 3
The following properties hold for the scheme (21a-b):
Proof
(iii) was shown above. (i) and (ii) are shown in Appendix A.
4.2. Refinements
While the scheme described by (21a) and (21b) is attractive in that it is
unconditionally stable and only requires O( N log 2 N ) operations per time step, a direct
application suffers from certain drawbacks. Specifically, accurate representation of the
convolution integral will generally require a very wide grid. Since the FFT algorithm only
accepts uniform step length in the x-direction, the precision of the numerical solution in
areas of interest might suffer. To overcome this, we here define an algorithm that assumes
linearity of the option price outside a grid of size equal to a number of standard deviations
of the underlying process. A standard Crank-Nicolson PDE grid is used for the numerical
solution of the linear part whereas the inner grid is solved using the FFT-ADI-algorithm
described in (21a-b) above.
We split the function in two parts:14
F = F 1x ∈( x , x ) + F 1x∉ ( x ,x ) ≡ G + H ,
On x ∈ ( x , x ) , G solves
22
∂G ∂G
0=
∂t
b
+ DG + λ ς* − 1 F =
∂t
g
+ DG − λG + λς* G + H .
H (t , x ) ≅ gl (t )e x + hl (t ) 1x < x + gu (t )e x + hu (t ) 1x > x
b g b g b
ς* H (t , x ) ≅ gl (t )e x 1 + m(t ) Pr' x + ln J (t ) < x + hl (t ) Pr x + ln J (t ) < x g (24)
+ g (t )e b1 + m(t )gPr' b x + ln J (t ) > x g+ h (t ) Pr b x + ln J (t ) > x g
u
x
u
where Pr(⋅) denotes probability under the distribution defined by ς and Pr' (⋅) denotes
probability under the distribution described by the Radon-Nikodym transformed density:
b g
ς'(t , x ) = ς(t , x )e x / 1 + m(t ) . In the Merton (1976) case of log-normal jumps these
probabilities can be computed in closed-form as Gaussian distribution functions. If the
distribution of the jumps is non-parametric, the probabilities can be calculated by simple
numerical integration over the densities ςς , '.
We now get the following system
N ∆t Q N ∆t Q
where terms of the type ς*G are handled numerically by FFTs and terms of the type
ς* H are handled by expression (24). This technique is only directly possible when we
explicitly know the asymptotic behavior of F , i.e. the coefficients gl , gu , hl , hu . However,
if we assume asymptotic linearity of F in e x , i.e. asymptotic linearity of the boundary
conditions of (15), we have that
F (t , x ) − f (t , x ) → 0
x→ ∞
23
rf = f t + (a + λm) f x + 1
2 b 2 f xx (26)
subject to the same boundary conditions as for (15).16 Hence we can make the
approximation
H ≅ f 1x ∉ [ x , x ]
Using this we can solve (26) on a wide and possibly coarse Crank-Nicolson grid on some
interval x , x ⊃ x , x to obtain the discrete solutions for f , and then use these solutions
to find the coefficients in (24) as the solutions to
c h b g
f t , x = gl (t )e x + hl (t ); f t , x = gu (t )e x + hu (t )
f b t , x g = g (t )e
l
x
+ hl (t ); f b t , x g = g (t )e
u
x
+ hu (t )
This scheme can be used for most applications including exotic options, such as barrier
options and options with Bermudan or American style exercise. Introducing the extra grid
for solving (15) does not increase the order of the computational burden of the algorithm.
b
The computational cost of the scheme is still O N log 2 N per time step. g
4.3 A Numerical Example
In this section we give a quick example of the practical performance of the method
that has been outlined in the previous section. The table below compares Merton’s (1976)
exact formula for European puts and calls (equation (9)) with the prices generated by the
algorithm (21a)-(21b), refined as discussed in the previous section. To stress the
algorithm, the jump parameters have been set to fairly extreme values:
24
Table 4: Prices of European Calls and Puts using ADI-FFT PIDE Solver
European put and call option prices of Merton model computed using FFT-ADI method with different
number of state space steps on the main grid. The number of time steps and the number of steps on the
coarse outer grid are set to be half the number of x- steps on the main grid. Due to the FFT algorithm the
number of x-steps on the main grid are multiples of 2. The order of convergence is computed as the
average slope of the graph in Figure 3. The process parameters are
r = 0.05, q = 0.02 , σ = 0.15, λ = 0.1, γ= 0.4 , S (0) = 100.0, K = 100.0 .
Figure 3 shows the numerical convergence of the FFT-ADI finite difference algorithm in
the form of a log-log plot of absolute error against the time step. The average slope of
such graphs are used to compute the convergence order in Table 4.
Table 4 and figure 3 shows us that the convergence of the algorithm is smooth and
approximately of order 2 in the number of time- and x-steps – a little higher for short-
dated options and a little lower for long-dated options. This experimentally confirms the
second statement of Proposition 3. In order to obtain accuracy to one basis point, Table 4
shows that generally 512 steps in the x-direction are necessary. CPU time for such a
calculation is less than 1s on a 400 MHz Pentium PC. Exact CPU times for various
number of x-steps are given in Table 5 below.
25
Figure 3: Convergence of FFT-ADI scheme
0
-2 5 6 7 8 9 10
-4
-6
log |error|
-8
-10
-12 T=0.01
-14 T=1
-16 T=10
-18
log2 #steps
Log-log graph of absolute errors of European call option prices (relative to Merton formula (9)) against
number of x-steps in the main grid. The number of time steps and the number of x-steps on the coarse
outer grid are set to be half the number of x- steps on the main grid The process parameters are
r = 0.05, q = 0.02 , σ = 0.15, λ = 0.1, µ = − 1.08, γ= 0.4 , S ( 0) = 100.0, K = 100.0 .
CPU times on a 400 MHz Pentium PC for FFT-ADI algorithm when the number of time steps and the
number of x-steps on the coarse outer grid are equal to half the number of x-steps on the main grid.
26
scheme. For each time step one would determine whether there is a jump or not by
randomizing over the jump probability ( λ∆t ) and then subsequently randomize over the
jump distribution to determine the size of the jump. This procedure, however, is
computationally inferior to other methods that explicitly exploit the independence of the
jumps and the Brownian motion. One such procedure is described below17.
Let {τ j } j=1,2,K be the arrival times of the Poisson process π . We know that
{τ j + 1 − τ j } j =1,2 ,K are mutually independent with distribution given by
d
Pr τ j + 1 − τ j > si = e
z −
τ j+ s
τj
bg
λ u du
For each path we wish to simulate we use this to draw the arrival times for the particular
path up to our time horizon that we are considering. We then construct an increasing
simulation time line that includes the jump times and our time horizon, say {ti }i=0,1,K . The
price process is now simulated as
bg b g
S ti = F 0, ti e b i g ,
x t
x ( ti ) = − z
0
ti 1 i− 1
2 k =0
2
b
λ(u)m(u)du − ∑ σ t k , x (t k ) (t k + 1 − t k ) g
(27)
i− 1
∑ σb t gt
i
+
k =0
k , x (t k ) k+ 1 − t k ε (t k ) + ∑1
k =1
t k ∈{τ j } ln J (t k )
and {ε(ti )}i=0,K is a sequence of independent standard normal random variables, and
{ J (τ j )} j =1,2 ,K is a sequence of independent random variables drawn according to the
marginal distributions {ςτ ( j ;⋅)} j =1,2 ,K .
The simulation scheme described by (27) is O ∆t convergent to the true d i
stochastic differential equation and ensures that simulated stock prices have expectations
equal to their forwards. Higher order accuracy simulation schemes can be constructed
using the Taylor-expansion techniques described in Kloeden and Platen (1992).
27
implied in the model. Second, we price a range of standard option contracts. Throughout,
we compare the results of the jump-diffusion model to the results of the DVF model.
Table 6: Input and output call prices for jump-diffusion model fitted to S&P500
‘Input’ refers to call option prices (% of current stock price) generated directly from the smooth Merton
volatilities in Table 2 and Merton’s formula (9). ‘Output’ refers to call option prices generated using the
local volatility surface in Figure 2 and the FFT-ADI algorithm of Section 4. The backward equation was
solved on a grid with 128 time steps, 256 x-steps on the main grid, and 128 x-steps on the coarse outer
grid (see Section 4.2).
28
Table 6 shows that except for very deep out-of-the-money short-dated options the
maximal pricing error for input versus output option prices is around 2 basis points (1/100
of a percent).
In order to be able to compare the produced option prices directly to the input
bid/offer implied volatilities Table 7 reports the implied Black-Scholes volatilities
corresponding to the ‘output’prices in Table 6.
Implied Black-Scholes volatilities for option prices generated from solving the backward equation (2) on
the local volatility surface shown in Figure 1. The implied volatilities correspond to the ‘output’ option
prices of Table 6.
Comparing to the input bid/offer Black-Scholes implied volatilities of Table 1 we see that
all the output implied volatilities are within the bid/offer volatility spread.
The fitted DVF model, the local volatilities of which are shown in Figure 2, has
implied Black-Scholes volatilities reported in Table 8. As was the case for the jump-
diffusion model, the implied volatilities of the DVF model, reported in Table 8, are all
within the bid/offer implied volatilities of Table 1.
29
Table 8: Implied S&P500 Black-Scholes volatilities of pure diffusion model
Implied Black-Scholes volatilities for the DVF model fitted to S&P data, i.e. the model whose local
volatility surface is shown in Figure 2. The backward equation was solved numerically on a grid with 128
time steps, 256 x-steps on the main grid, and 128 steps on the coarse outer grid (see Section 4.2).
As was the case for the jump-diffusion model, the implied volatilities of the DVF model,
reported in Table 8, are all within the bid/offer implied volatilities of Table 1.
30
Table 9: Future 1-year S&P500 volatility skews in jump-diffusion model
Future volatility implied volatility skews in the jump-diffusion model fitted to S&P data. The implied
Black-Scholes volatilities are for 1-year options. The first column reports the time in years. For each of the
three stock price levels, strikes are reported in percent of the stock price level.
Table 9 shows that the volatility skew of the jump-diffusion model is surprisingly stable
over time and stock price levels. This is not the case for the fitted DVF model, as is
obvious from Table 10 below. In particular, we notice that the future implied volatility
skews of the fitted pure diffusion model are highly non-stationary and tend to flatten out
as time progresses. In a few cases, the implied volatility surface even turns into a smile or
otherwise becomes non-monotonic in the strike.
31
Table 10: Future 1-year S&P500 volatility skews in the pure diffusion model
Future volatility implied volatility skews in the pure diffusion (DVF) model fitted to S&P data. The
implied Black-Scholes volatilities are for 1-year options. The first column reports the time in years. For
each of the three stock price levels, strikes are reported in percent of the stock price level.
32
Table 11: S&P500 Option prices: Jump-diffusion versus pure diffusion
Fwd starting call spread Bermudan 80% put Asian 120% call
Option Jump- Pure Diffusion Jump- Pure Diffusion Jump- Pure Diffusion
Maturity Diffusion (DVF) Diffusion (DVF) Diffusion (DVF)
1.0 8.79 8.73 3.06 3.02 0.46 0.46
2.0 7.68 7.40 5.40 5.07 2.18 2.12
3.0 7.28 6.79 7.22 6.61 4.35 4.19
4.0 6.87 6.32 8.70 7.90 6.50 6.26
5.0 6.49 5.88 9.93 8.96 8.50 8.22
6.0 6.09 5.51 10.94 9.78 10.30 10.00
7.0 5.73 5.15 11.76 10.43 11.92 11.62
8.0 5.43 4.85 12.45 10.97 13.40 13.11
9.0 5.16 4.59 13.05 11.42 14.71 14.43
10.0 4.91 4.35 13.55 11.81 15.88 15.63
Exotic option prices (in % of current spot) for the jump-diffusion and pure diffusion (DVF) models. Both
models are fitted to the S&P500 data in Section 3. The forward starting call spread prices refer to the
prices of forward starting 100-120 strike call option spreads with a maturity of one year, i.e. the prices in
4th row and 2nd and 3rd columns of the table is today’s percentage price of an option that pays
(S ( 4) / S (3) − 120% ) − ( S (4 ) / S (3) − 100% ) at year 4. The Bermudan option prices are the prices of put
+ +
options with a strike of 80% of initial spot, with the right to exercise once every month. The Asian call
prices refer to the prices of 120% strike call options on the arithmetic monthly average. Forward starting
and Asian option prices were computed from 100,000 simulations. The simulation standard error is
everywhere less than 1% of the option price. The Bermudan option prices were computed using the FFT-
ADI method on a grid of size 128x256.
Table 11 shows that the jump-diffusion and DVF models return significantly different
prices for Bermudan and forward starting options, and that this difference grows as the
maturity is increased. The differences in the Asian option prices are smaller but still
significant.
33
6. Conclusions.
This paper has presented a framework for adding Poisson jumps to the standard
DVF (Deterministic Volatility Function) diffusion models of stock price evolution. We
have developed a forward PIDE (Partial Integro-Differential Equation) for the evolution
of call option prices as functions of strike and maturity, and shown how this equation can
be used in an efficient calibration to market quoted option prices. To employ the calibrated
model to pricing of various exotic options, we have developed an efficient ADI
(Alternating Direction Implicit) finite-difference technique with attractive stability and
convergence properties.
Applying our calibration algorithm to the S&P500 market results in a largely
constant diffusion volatility overlaid with a surprisingly significant jump component. For
the S&P500 market, we find diffusion volatilities around 15-20% and a 9% (annual)
chance of an index drop averaging around 50%. While it is possible that the market
objectively assigns such high probabilities of large crashes – after all, many market
participants are currently debating the existence of a bubble in Internet stocks – the
extreme nature of the jump parameters more likely reflect the impossibility of hedging the
jumps and as such include a risk premium relative to historical parameters. Numerically,
fitting a jump-diffusion model to the S&P500 market appears easier and more robust than
fitting a DVF model: lacking the jump component to handle the significant short-term
skew in S&P500 volatilities, the latter model requires very steep and highly time-
dependent local volatilities to match market prices.
As the paper demonstrates, the evolution of the volatility smile in a DVF model
fitted to S&P500 data is highly non-stationary and often counterintuitive. The jump-
diffusion model, on the other hand, produces almost perfect stationary S&P500 volatility
skews. Despite giving virtually identical prices of European options, the two models differ
significantly in their pricing of a range of standard exotic option contracts.
While this paper has primarily focused on stocks, we point out that the
methodology employed here works equally well for FX rates. As most FX markets exhibit
volatility smiles, rather than skews, calibration to such market will typically result in much
less directional jump processes, with the mean jump being much closer to 0 than was the
case for stocks.
34
References
Ait-Sahalia, Y., Y. Wang, and F. Yared (1998), “Do Option Markets Correctly Price the
Probabilities of Movements of the Underlying Asset?,” Working Paper, University of
Chicago
Bakshi, G., C. Cao, and Z. Chen (1997), “Empirical Performance of Alternative Option
Pricing Models,” Journal of Finance, 52, 2003-2049.
Bates, D. (1996), “Jumps and Stochastic Volatility: Exchange Rate Processes Implicit in
Deutsche Mark Options,” Review of Financial Studies, 9, 1, 69-107.
Black, F. and M. Scholes (1973), “The Pricing of Options and Corporate Liabilities,”
Journal of Political Economy, 81, 637-659.
Boyle, P, M. Broadie, and P. Glasserman (1997), “Monte Carlo Methods for Security
Pricing,” Journal of Economic Dynamics and Control, 21, 8-9, 1267-1321.
Brown, G. and K. Toft (1996), “Constructing Implied Binomial Trees from Multiple
Probability Distributions,” Working Paper, University of Texas, Austin.
35
Buraschi and Jackwerth (1998), “Explaining Option Prices: Deterministic vs. Stochastic
Models,” Working Paper, London Business School.
Coleman, T., Y. Li, and A. Verma (1999), “Reconstructing the Optimal Volatility
Surface,” Journal of Computational Finance, 2, 3, 77-102.
Das, R. and S. Foresi (1996), “Exact Solutions for Bond and Option Prices with
Systematic Jump Risk,” Review of Derivatives Research, 1, 7-24.
Derman, E. and I. Kani (1994), "Riding on a Smile," RISK Magazine, February, 32-39
Dierckx, P. (1995), Curve and Surface Fitting with Splines, Oxford Science Publications.
Dumas, B., J. Fleming, and R. Whaley (1997), “Implied Volatility Functions: Empirical
Tests,” Journal of Finance, forthcoming.
Duffie, D., J. Pan, and K. Singleton, “Transform Analysis and Option Pricing for Affine
Jump-Diffusions,” Working Paper, Stanford University.
Harrison, M. and S. Pliska (1981), "Martingales and Stochastic Integrals in the Theory of
Continuous Trading," Stochastic Processes and Their Applications, 11, 215-260.
Heston, S. (1993), “A Closed-Form Solution for Options with Stochastic Volatility with
Applications to Bond and Currency Options, Review of Financial Studies, 6, 2, 327-343.
Hull, J. and A. White (1987), “The Pricing of Options with Stochastic Volatilities,”
Journal of Finance, 42, 281-300.
Karatzas, I. and S. Shreve (1991), Brownian Motion and Stochastic Calculus, Springer
Verlag.
36
Kloeden, P. and E. Platen (1992), Numerical Solution of Stochastic Differential
Equations, Springer Verlag
Krishnan, V. (1984), Nonlinear Filtering and Smoothing, John Wiley and Sons.
Lagnado, R. and S. Osher (1997), "Reconciling Differences," RISK Magazine, April, 79-
83
Merton, R. (1976), "Option Pricing when Underlying Stock Returns are Discontinuous,"
Journal of Financial Economics, May, 125-144.
Mitchell, A. and D. Griffiths (1980), The Finite Difference Method in Partial Differential
Equations, John Wiley & Sons
Stein, E and J. Stein (1991), “Stock Price Distributions with Stochastic Volatility: an
Analytic Approach,” Review of Financial Studies, 4, 4, 727-752.
Zhang, X. (1993), “Options Americaines et Modeles de Diffusion avec Sauts,” C.R. Acad.
Sci. Paris, Serie I, 857-862.
37
Appendix A
Proof of Proposition 1
Consider a twice differentiable function H S (t ) . With stock price dynamics as in b g
b g
(1), the evolution of H S (t ) is given by the Doleans-Dade-Meyer extension to Ito's
lemma (see e.g. Krishnan (1984), p. 184):
b g b gb
dH S (t ) = H S S (t − ) r (t ) − q (t ) − λ(t )m(t ) S (t − )dt + g 1
2 b gb g
H SS S (t − ) σ t , S (t − ) S (t − ) 2 dt
2
b gb
+ H S S (t − ) σ t , S (t − ) S (t − )dW (t ) +g H b J (t ) S (t − ) g− H b S (t − )g dπ(t )
(A.1)
b g b g
+
Now, set H S (t ) = S (t ) − K for a fixed positive number K. While this function
is not differentiable, let us nevertheless proceed formally as in (A.1):
b
d S (t ) − K g =1
+
S ( t − )> K b r(t ) − q(t ) − λ(t )m(t )gS (t − )dt + δb S (t − ) − K gσb t , K g K dt
1
2
2 2
(A.2)
where 1A denotes the indicator function for the set A and δ(⋅) is Dirac's delta function.
(A.2) can, in fact, be justified rigorously by the Tanaka-Meyer formula (see Karatzas and
Shreve (1991), p. 218) and is equivalent to the integral representation
+ z δb S (v − ) − K gσb v , K g K dv
t
T 2
1 2
t 2
+ z1 σb v , S (v − )gS (v − )dW (v )
T
S (v − )> K
+ z b J (v ) S (v − ) − K g − b S (v − ) − K g dπ(v ).
t
T + +
(A.3)
t
By standard pricing theory, the time t price of a T-maturity European call option
with strike K is
38
Cb t , S (t ); T , K g = e z b g
T
− r ( v ) dv +
t
Et S ( T ) − K , (A.4)
+ z E δb S (v ) − K g σb v , K g K dv
t
T 2
1 2
2 t
+ z E b J (v ) S (v ) − K g − b S (v ) − K g λ(v )dv ,
t
T + +
t (A.5)
t
where we have used the martingale property of the stochastic integral over W(t); the fact
that S (t ) and S (t − ) are identically distributed; and the independence of W, J, and π .
In (A.5) the expectation of the Dirac delta function equals the stock price density,
and hence, from a standard result in Breeden and Litzenberger (1978),
E δb S (v ) − K g = e z b g
v
r ( u ) du
t
t
CKK t , S (t ); v , K .
C (t , S (t ); v , K )e z b g
v
r ( u ) du
t
= Et 1S ( v ) > K S (v ) − K
S (v ) + Ke z
v
r ( u ) du
= Et 1S ( v ) > K t
CK (t , S (t ); v , K ).
Inserting these results into (A.5) and differentiating with respect to T yields
b
CT (t , S (t ); T , K ) = − q (T ) − λ(T )m(T ) C (t , S (t ); T , K ) + g 1
2 b g
σ T , K K 2 CKK (t , S (t ); T , K )
2
b
− r (T ) − q (T ) − λ(T )m(T ) KCK (t , S (t ); T , K ) g
+ λ(T )e z b J (T )S (T ) − K g − λ(T )e z b g
T T
− r ( u ) du + − r ( u ) du +
t
Et t
Et S ( T ) − K .
(A.6)
By the independence assumption and (A.4),
39
e
− z
T
t
r ( u ) du
b
Et J ( T ) S ( T ) − K g +
=e
− zT
t
r ( u ) du
b
Et J ( T ) S ( T ) − K / J ( T ) g
+
= z ∞
−∞
zC (t , S (t );T , K / z )ζ ( z; T )dz
b
= 1 + m(T ) gz C(t , S (t );T , K / z)ζ '(z; T )dz.
∞
b g
where ζ '( z; T ) ≡ zζ ( z; T ) / 1 + m(T ) is probability density function as J (T ) > 0 (a.s.),
1 + m(T ) > 0 , and E J (T ) / 1 + m(T ) = 1 . b g
The above identity together with another application of (A.4) reduces (A.6) to the
result in Proposition 1.
Proof of Proposition 3
We first consider the von Neumann stability. Inserting u1 (t , x ) = ϑ1− t eikx into (21a)
and u2 (t , x ) = ϑ−2 t eikx and (21b), where ϑ1 , ϑ2 are complex numbers, yields
LM 2 + L− r + aδ + 1 b δ O OP e LM 2 e F IOP
∆t MN PQ Q 2 ikx
M ∆t
ikx
GH
− λ eikx − ∑ q ( x )e ikj ∆x
JKPQ
=N ⋅N
x xx j
2 j
ϑ ≡ ϑ1∆t / 2 ⋅ϑ ∆2 t / 2
LM 2 − L− r + aδ + 1 b δ O OP e LM 2 e F IOP
N ∆t MN PQ Q + λGe ∑ q ( x )e JKPQ
2 ikx ikj∆x
ikx ikx
−
2
x xx
MN ∆t H j
j
The von Neumann criterion (Mitchell and Griffiths (1980), p. 38) for stability requires that
ϑ ≤1 for all integers k .
Straightforward calculations show that
F I
2
− r−
b2
1 − b
cos k∆x + i
a
sin k∆gx
2
∆t
− λ 1− GH ∑ q ( x) cos kj∆xJK + iλ∑ q ( x) sin kj∆x
j j
ϑ = ∆t ∆x ∆x
2
⋅
j j
2 b2
b a
g F I
∆t
+ r+
∆x 2
1 − cos k∆x − i
∆x
sin k∆x 2 + λ 1 −
∆t GH ∑ q ( x) cos kj∆xJK − iλ∑ q ( x) sin kj∆x
j
j
j
j
40
1
∆t / 2
− r−
b2
∆x 2
1 − cos k∆x + i
a
∆x
bsin k∆x g
≤1
1
∆t / 2
+ r+
b2
∆x 2
b1 − cos k∆x g− i ∆x sin k∆x
a
∑ q ( x ) cos kj∆x ≤∑ q ( x) = 1,
j
j
j
j
≤1
2 F I
+ λG1 − ∑ q ( x ) cos kj∆xJ− iλ∑ q ( x ) sin kj∆x
∆t H j Kj
j
j
for all k -- again by a geometric argument. In total, we conclude that the scheme is
unconditionally stable.
Turning to the issue of precision, we first note that
L b s − t g FG ∂IJ OP F (t )
F ( s) = M ∑
∞ n n
MN n! H∂t K PQ
n= 0
b s − t g∂∂t
=e F (t ).
0=
LM ∂ + D + λbς* − 1gOP F
N ∂t Q
These two properties together with the fact that, in the case of deterministic parameters,
the operators D and ς* commute imply that we can write
41
∆t ∆t
− D b g
λ ς*− 1
e 2
F ( t + ∆t / 2 ) = e 2
F (t + ∆t ),
∆t ∆t
− b
λ ς*− 1 g D
e 2
F (t ) = e 2
F (t + ∆t / 2).
MN 2 2 H 2 K PQ 2 H2 K
2 2 * 3
MN 2 PQ
LM1 − ∆t λbς* − 1g+ 1 FG ∆t IJ λ cς − 1h OP F (t ) = LM1 + ∆t D + 1 FG ∆t IJ D OP F (t + ∆t / 2) + Oc ∆t h
2
2
2
2 H2 K QP NM 2 2 H 2 K PQ
2 * 2 3
NM 2
We now note that for arbitrary analytic functions f , we have that
c h
D f ( x ) = Df ( x ) + O ∆x 2 , ς* f ( x ) = ς* f ( x ) + O ∆x 2 . c h
Inserting this gives us the two equations
+ G J e − D F (t + ∆t / 2) + λ bς* − 1g F (t + ∆t ) j + Oc ∆t∆x + ∆t h ,
2 H2 K
2 2 2 2 3
+ G J e D F b t + ∆t / 2g− λ c ς − 1h F b t gj + Oc ∆t∆x + ∆t h .
2
2 H2 K
2 2 * 2 3
42
LM1 − ∆t λbς* − 1gOP F (t ) = LM1 + ∆t D OP LM1 − ∆t D OP LM1 + ∆t λbς* − 1gOP F (t + ∆t )
−1
N 2 Q N 2 QN 2 Q N 2 Q
L ∆t D OP LM1 − ∆t D OP 1 FG ∆t IJ e − D F (t + ∆t / 2) + λ bς* − 1g F (t + ∆t )j
+ M1 +
−1 2
N 2 QN 2 Q 2 H2 K
2 2 2
1 F ∆t I
2
+ G J e D F (t + ∆t / 2) − λ c ς − 1h F (t ) j + Oc ∆t∆x + ∆t h
2
2 H2 K
2 2 * 2 3
LM1 − ∆t D OP −1
b g b g bg b g
= 1 + O ∆t ; F t + ∆t = F t + O ∆t
N 2 Q
to conclude that
N 2 Q N 2 QN 2 Q N 2 Q (A.7)
+ O( ∆t∆x 2 + ∆t 3 )
(A.7) is just another way of writing (21a-b). Hence, we can conclude that the local
truncation error of the scheme (21a-b) is O( ∆t∆x 2 + ∆t 3 ) , and thereby that the local
accuracy of the scheme is of order O( ∆t 2 + ∆x 2 ) .
43
Endnotes.
1
The degree of incompleteness is higher in a jump-diffusion model than in a stochastic volatility
model. Whereas stochastic volatility models can be made complete by the introduction of one (or a
few) traded options, a jump-diffusion model typically requires the existence of a continuum of
options for the market to be complete.
2
As discussed in Section 1, the risk-neutral measure is not necessarily unique for jump-diffusions
of the type (1). If the measure is not unique, i.e. we work in an incomplete market with only a finite
set of options traded on S, (1) should be interpreted as being valid for some explicit choice of
measure. By fitting the parameters of (1) to market prices, this choice of measure effectively
becomes the market measure.
3
Note that integration over the Poisson differential dπ is to be interpreted as a Stieltjes integral (see
for instance Krishnan (1984), p. 155).
4
a
The payoff of a European call option at maturity is C ( T , S ; T , K ) = S − K . f +
5
In particular, we would just replace σ 2 ( T , K ) with Et σ 2 ( T )| S ( T ) = K .
6
We notice that (6) is not invertible (in the sense that σ 2 (⋅) ≥ 0 exists) for arbitrary choices of the
constant jump parameters.
7
On a philosophical note, we point out that this assumption effectively leads to a complete market:
the jump component can be hedged by taking a position in a continuum of call options with equal
maturity and with strikes spanning the interval [0, ∞ [. In practice, this type of “hedge” is, of
course, not realistic.
8
Typically the norm minimized is a weighted sum of the least-squares aggregate price error and a
regularity term measuring the smoothness of the local volatility function.
9
Surprisingly, many papers (including most of the ones cited here) suboptimally use the backward
PDE to compute the prices of the call options to which the model is fitted. In effect, each iteration
in the search algorithm involves solving one PDE per option in the target set (rather than just a
single PDE, would be the case if the forward equation was used).
10
For a quick derivation of this result, see Andreasen and Gruenewald (1996).
44
11
As discussed in Footnote 6, (10) will not have a meaningful solution s$ for arbitrary choices of
the jump parameters. Clearly, we would require that the chosen parameters satisfy
a f
M t , T , k ,0 < ψ ( t ; T , k ) for all relevant T and k.
12
If this is not the case, we can either extend the grid or evaluate the contributions to the integral
outside the range of ω by extrapolation methods.
13
For the standard backward PIDE (2) we have x = ln S , a = r − q − λm − 2σ ,
1 2
b = σ.
14
Here 1A denotes the indicator function on the set A .
15
That is, we assume that stock prices do not jump and that the asymptotic value of the option is
independent of the jump. Notice the presence of the term λm in (26) which cancels off a similar
term in a.
16
In fact this holds for any volatility used in (26).
17
If the jump intensity is constant, one can also a) first draw the number of jumps for a particular
path by sampling the Poisson distribution directly; and then b) simulate the location on the time-
line of these jumps. Step b) is simple as jump-times are uniformly distributed on the simulation
horizon when conditioned on the number of jumps.
45