0% found this document useful (0 votes)
177 views24 pages

Numerical Valuation of Euro and American Options Under Kou's Jump-Diffusion Model

This document summarizes numerical methods for pricing European and American options under Kou's jump-diffusion model. The European option price is given by a partial integro-differential equation (PIDE) and the American option price leads to a linear complementarity problem (LCP) with the same operator. Spatial derivatives are discretized using finite differences on nonuniform grids. An implicit time stepping scheme is used. Recursion formulas are derived to efficiently evaluate the integral term in O(n) operations. For European options, the resulting linear systems are solved iteratively. For American options, the document describes an operator splitting method and penalty method to solve the LCPs.

Uploaded by

afakeemail7
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views24 pages

Numerical Valuation of Euro and American Options Under Kou's Jump-Diffusion Model

This document summarizes numerical methods for pricing European and American options under Kou's jump-diffusion model. The European option price is given by a partial integro-differential equation (PIDE) and the American option price leads to a linear complementarity problem (LCP) with the same operator. Spatial derivatives are discretized using finite differences on nonuniform grids. An implicit time stepping scheme is used. Recursion formulas are derived to efficiently evaluate the integral term in O(n) operations. For European options, the resulting linear systems are solved iteratively. For American options, the document describes an operator splitting method and penalty method to solve the LCPs.

Uploaded by

afakeemail7
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Numerical Valuation of European and

American Options under Kou’s Jump-Diffusion


Model∗
Jari Toivanen†

Abstract
Numerical methods are developed for pricing European and American op-
tions under Kou’s jump-diffusion model which assumes the price of the un-
derlying asset to behave like a geometrical Brownian motion with a drift and
jumps whose size is log-double-exponentially distributed. The price of a Eu-
ropean option is given by a partial integro-differential equation (PIDE) while
American options lead to a linear complementarity problem (LCP) with the
same operator. Spatial differential operators are discretized using finite differ-
ences on nonuniform grids and time stepping is performed using the implicit
Rannacher scheme. For the evaluation of the integral term easy to implement
recursion formulas are derived which have optimal computational cost. When
pricing European options the resulting dense linear systems are solved using a
stationary iteration. For American options two ways to solve the LCPs are de-
scribed: an operator slitting method and a penalty method. Numerical experi-
ments confirm that the developed methods are very efficient as fairly accurate
option prices can be computed in a few milliseconds on a PC.

Keywords: option pricing, jump-diffusion model, partial integro-differential equa-


tion, linear complementarity problem, finite difference method, operator splitting
method, penalty method

1 Introduction
The amount of financial option trading has grown to enormous scale since the pio-
neering work by Black and Scholes [7] and Merton [33] on the pricing of options in
1973. During the last two decades it has become evident that their assumption that
the price of underlying asset behaves like a geometric Brownian motion with a drift
and a constant volatility cannot explain the market prices of options with various

This research was supported by the Academy of Finland, grant #207089

Department of Mathematical Information Technology, University of Jyväskylä, PO Box 35
(Agora), FI-40014 University of Jyväskylä, Finland, [email protected]

1
strike prices and maturities. Already 1976 Merton proposed to add jumps which
have normally distributed size to the behavior of asset prices [34]. During the last
ten years the research on models with jumps have become very active. A large num-
ber of such models have been proposed; see [12] and references therein. The model
proposed by Kou in [27] assumes the distribution of jump sizes to be a log-double-
exponential function; see also [28]. In a more rich CGMY model [9] the asset price
is a Lévy process with possibly infinite jump activity. Another generalization is to
assume the volatility to be stochastic like in [20], for example. A popular approach is
to use a deterministic volatility model where the volatility is a function of time and
the price of the underlying asset [17]. This approach was combined with Merton’s
jump-diffusion model in [4]. The most generic models assume stochastic volatility
with jumps in the asset price and possibly also in volatility like the ones in [6], [16].
The most basic options are call and put options which give the right to buy and
sell, respectively, the underlying asset with a strike price. These options can be
European or American which means that they can be exercised only at the expiry
date or anytime before it, respectively. Under many models it is possible to derive
formulas for the price of European options, but American options have to be priced
usually numerically. There is a large number of methods to price options. In this
paper we consider approach which solves numerically a partial integro-differential
equation (PIDE) or inequality derived for the price of the option. The European
options lead to equations while American options lead inequalities which have a
form of a linear complementarity problem (LCP). In option pricing context, most
common way to discretized the differential operators have been finite difference
methods; see [1] and [37], for example. The treatment of the integral term associated
to jumps in models is more challenging. Their discretization leads to full matrices.
The multiplication of a vector by such a n×n matrix requires O(n2 ) operations when
implemented in a straightforward manner. With an implicit time discretization it
is necessary to solve a problem with a full matrix which is computationally more
expensive than a multiplication.
Here we review earlier works on pricing options under jump models using finite
difference/element methods. Zhang in [39] priced American options with Merton’s
model. The integral term was treated explicitly in time while the differential terms
were treated implicitly. This lead to a first-order accurate method in time and a
stability restriction for the size of time step. Tavella and Randall in [37] considered
pricing European options. They used an implicit time discretization which leads
to the solution of problems with a full matrix. They proposed a stationary iterative
method to solve these dense problems which converges fairly rapidly. Each iteration
requires a solution with a tridiagonal matrix and a multiplication of a vector by
a full matrix. Andersen and Andreasen in [4] proposed for European options an
ADI-type operator splitting method with two fractional steps. In the first step the
spatial differential operator is treated implicitly and the integral operator is treated
explicitly and in the second step their roles are exchanged. This method is second-
order accurate in time and unconditionally stable. Furthermore, they used a well-
known fast technique for evaluating convolution integrals. It is uses the fast Fourier

2
transform (FFT) and it requires O(n log n) operations. Thus, their approach lead to
an essential reduction of computational cost.
In [14] d’Halluin, Forsyth, and Labahn price American options using a penalty
method. For the resulting nonlinear nonsmooth problems they propose an approx-
imate semismooth Newton method. They use the Crank-Nicolson method with
adaptive time steps and FFT for evaluating the integral term. d’Halluin, Forsyth,
and Vetzal in [15], develop a method for European options under Merton’s and
Kou’s model. They use nonuniform spatial grids and in order to use FFT for eval-
uating the integral term on a uniform grid they perform interpolations back and
forth nonuniform and uniform grids. The resulting dense linear systems are solved
using the iterative method proposed in [37]. In [2] Almendral and Oosterlee price
European options under Merton’s and Kou’s models. They use uniform grids and
the BDF2 method for time discretization. The integrations are performed using FFT
and the iterative method in [37] is employed for linear systems.
Cont and Voltchkova study pricing of European options under Merton’s model
and infinite jump intensity models in [13]. In the finite jump intensity case the time
discretization is implicit for the spatial differential operator and explicit for the in-
tegral operator. This leads to a first-order accurate method in time with a stability
restriction on the size of time steps. Briani, La Chioma, and Natalini propose a
fully explicit time stepping for European options in [8] which leads to a more se-
vere stability restriction. In [32] Matache, von Petersdorff, and Schwab price Euro-
pean options under models with finite and infinite jump intensity. They perform
wavelet compression for the resulting full matrix and then the multiplication of a
vector requires O(n log n) operations. The time discretization is performed using
the θ-scheme and the resulting linear problems are solved iteratively using the GM-
RES method. Matache, Schwab, and Wihler use a discontinuous Galerkin time dis-
cretization for pricing European options in [31]. Matache, Nitsche, and Schwab de-
velop a method for American options which uses the implicit Euler time discretiza-
tion and a fixed point iteration for the resulting LCPs in [30]. Recently Almendral
and Oosterlee in [3] and Wang, Wan, and Forsyth in [38] consider pricing options
under the CGMY process. In [3] the integral part is transform to a Volterra equation
while in [38] the integral with a singular integrand is decomposed and resulting
parts are treated separately. Both approaches lead to multiplication by full matrices
which is performed using FFT.
In this paper, we price options under Kou’s jump-diffusion model and the volatil-
ity can be given by a deterministic volatility model like in [4]. The spatial deriva-
tives are discretized using central finite differences with possibly some locally added
volatility in order to obtain an M-matrix. The time discretization is performed us-
ing the Rannacher time-stepping scheme [36]. The time-space grids are nonuniform
with refinement near the strike price and expiry. The main contribution of this pa-
per is the treatment of the integral term. It is based on the observation that due
to the log-double-exponential form of the kernel in Kou’s model it is possible to
derive recursion formulas for evaluating the integrals. There are several benefits
from this: The computational cost is reduced to O(n) operations per time step. The

3
resulting formulas are easy to implement and there is no difficulty to use nonuni-
form grids. With the FFT based approach and Kou’s model it is difficult to maintain
second-order convergence in space with a nonuniform grid [15] while there is no
difficulty in this with the proposed approach. For American options we consider
two alternative ways to treat the resulting LCPs. The first one is the operator split-
ting method introduced in [22], [23] and the second approach is the penalty method
by d’Halluin, Forsyth, and Vetzal in [14]. Our numerical experiments demonstrate
that the proposed approach is very fast as option prices with sufficient accuracy for
most purposes can be obtained in a few milliseconds on a PC.
The outline of this paper is the following. Section 2 introduces Kou’s model and
option pricing problems for European and American put options. Section 3 de-
scribes the discretization of the partial integro-differential equation and the corre-
sponding inequality using finite differences. Results are given on the accuracy of
approximations. The recursion formulas are described for the integral term. Section
4 describes the stationary iteration for solving the dense linear systems resulting
from pricing European options. Furthermore, an operators splitting method and a
penalty method are considered for LCPs giving the price of American options. Sec-
tion 5 presents numerical experiments with European and American options under
a constant volatility and a deterministic volatility function. The paper ends with
conclusions in Section 6.

2 Kou’s model and option pricing problems


Kou’s jump-diffusion model [27] for the value of the underlying asset x is given by
 
N (t)
dx(t) X
= µdt + σdW (t) + d  Vj  , (1)
x(t−) j=1

where W (t) is a standard Brownian motion and N (t) is a Poisson process with rate λ.
The set {Vj } is a sequence of independent identically distributed random variables
from a distribution with the log-double-exponential density
(
qα2 y α2 −1 , y<1
f (y) = −α1 −1
(2)
pα1 y , y ≥ 1,

where p, q, α1 > 1, and α2 are positive constants such that p + q = 1. Following


Andersen and Andreasen in [4], we allow the volatility σ in (1) to be a function
of t and x(t−). This volatility function makes it possible to calibrate the model to
correspond the prevailing market prices.
The owner of a European put option has the right to sell the underlying asset
for the strike price K regardless of the value of it at the expiry time T while the
owner of an American put option can sell the asset for K anytime up to the expiry.
The corresponding call options give the right to buy the underlying asset with the

4
strike price. In the rest of the paper, we consider the pricing of put options while
call options can be priced in the same manner.
When the value of the underlying asset follows Kou’s model the value of a Euro-
pean option v satisfies a final value problem defined by a partial integro-differential
equation (PIDE)
Z
1 2
vt = Lv = − (σ(t, x)x) vxx − (r − λζ)xvx + (r + λ)v − λ v(t, xy)f (y) dy (3)
2 R+

for all (t, x) ∈ [0, T ) × R+ ; see [12], for example. In (3), r is the risk free interest rate
and the coefficient ζ is given by ζ = αpα 1
1 −1
+ αqα 2
2 +1
− 1. The final value of v is given by
v(T, x) = g(x), x ∈ R+ , (4)
where g(x) is the payoff function of the European option contract. For a put option,
it is
g(x) = max{K − x, 0}, (5)
where K is the strike price. The behavior of the value of the European put option
on the boundaries is given by
v(t, 0) = Ke−r(T −t) and lim v(t, x) = 0, t ∈ [0, T ]. (6)
x→∞

The value of an American put option v satisfies a linear complementarity prob-


lem (LCP) (
(vt − Lv) ≥ 0, v ≥ g,
¡ ¢ (7)
(vt − Lv) v − g = 0
with the same final value as in (4); see [12], for example. The behavior of the value
of the American put option on the boundaries is given by
v(t, 0) = K and lim v(t, x) = 0, t ∈ [0, T ]. (8)
x→∞

3 Discretization
3.1 Truncation and time-space grid
For a finite difference discretization, we truncate the infinite domain R+ for x to be
[0, X] with a sufficiently large X. The truncation error with respect to X has been
shown to decrease exponentially pointwise in [13] and exponentially in L2 -norm in
[31]. For put options, we set the value of v at X to be zero.
We perform the discretization using a nonuniform grid. In option pricing, a more
common approach has been to perform coordinate transforms and then use a uni-
form grid which approach effectively concentrates grid points in the original coor-
dinates; see [11], [37], for example. For the computational domain [0, T ) × [0, X], we
define a (m + 1) × (n + 1) grid
(tk , xi ) ∈ {0 = t0 , . . . , tm = T } × {0 = x0 , . . . , xn = X}. (9)

5
In the following we propose one possible choice for grids. We remark that the nu-
merical methods developed in the following sections are derived for generic nonuni-
form grids, that is, they do not assume this specific choice. The solution of the PIDE
(3) changes more rapidly close to the expiry T and, hence, it is beneficial to take
smaller time steps near the expiry. This is accomplished by choosing the approxi-
mation times tk according to
µ −k/(m−2) ¶
a −1
tk = T, k = 0, 1, . . . , m − 4, (10)
a−1 − 1
and µ ¶
a−(k+m−4)/(2m−4) − 1
tk = T, k = m − 3, . . . , l, (11)
a−1 − 1
where α is a constant greater than one. By increasing α the time steps near the expiry
become smaller. The reason to make the last four time steps especially small is due
to the use of the Rannacher time-stepping explained in Section 3.4.
The space grid is defined by a grid function h as
xi = h(si ), si = i/n, i = 0, 1, . . . , n. (12)
It is beneficial to have a finer space grid near the strike price K. Such a grid is
obtained by choosing h to be
µ ¶
sinh(β(s − γ))
h(s) = 1 + K, (13)
sinh(βγ)
where the constant β is solved numerically from the equation h(1) = X. The con-
stant γ controls the amount of refinement near the strike price K. By choosing
γ = i/n the grid point xi will be exactly at K.
In the following we describe a central finite difference discretization of the spatial
derivatives and a quadrature rule for the integral term. We show that these lead to
an M-matrix and we propose recursion formulas for performing the numerical inte-
grations. Then we describe the Rannacher time-stepping for the time discretization.

3.2 Finite difference discretization of spatial derivatives


Here we describe the discretization of the spatial derivative terms together with the
zeroth-order term. This leads to a tridiagonal matrix which we denote by D. We
remark that due to the time dependent volatility σ(t, x) the matrix D is also time
dependent. We approximate the spatial derivative terms in (3) with central finite
differences. We add artificial volatility, that is, artificial diffusion at some grid points
if otherwise the discretization would lead D to have positive off-diagonal elements
and, thus, to be a non M-matrix.
The central finite difference scheme for the derivative terms in (3) gives off-
diagonal elements
−(σ̂i (t)xi )2 + (r − λζ)xi ∆xi
D i,i−1 = (14)
∆xi−1 (∆xi−1 + ∆xi )

6
and
−(σ̂i (t)xi )2 − (r − λζ)xi ∆xi−1
D i,i+1 = , (15)
∆xi (∆xi−1 + ∆xi )
where ∆xi−1 = xi − xi−1 and ∆xi = xi+1 − xi . The modified volatility σ̂i (t) in (14)
and (15) is defined by
½ ¾
2 2 ∆xi ∆xi−1
(σ̂i (t)) = max (σ(t, xi )) , (r − λζ) , −(r − λζ) . (16)
xi xi
In the case of a uniform grid, it is easy to show that including artificial volatility
is equivalent with the use of a combination of the central finite difference and an
one-sided finite difference for the first-order spatial derivative.
The diagonal element of D includes the sum of the off-diagonal elements with
a minus sign. Furthermore, r + λ is added to it due to the zeroth-order term in (3).
Thus, the ith diagonal element is given by
D i,i = r + λ − D i,i−1 − D i,i+1 . (17)
The following result states that the finite difference discretization is second-order
accurate under suitable assumptions. Due to a nonuniform grid, we require the grid
function h to be sufficiently smooth; see [29], for example. The function h defined
by (13) satisfies this requirement. The following results assume that no artificial
diffusion is added. If it is necessary to add some diffusion then often the order of
accuracy is reduced.
Theorem 1 For a given t ∈ [0, T ) let v(t, x) be three times continuously differentiable with
respect to x in [0, X] and let vxxxx (t, x) be bounded for x ∈ (0, X). Furthermore, let the
grid function h be continuously differentiable in [0, 1] and let hxx be bounded in (0, 1). If
σ̂i (t) = σ(t, xi ) then the truncation error of the finite difference approximation at (t, xi ) is
O(max{(∆xi−1 )2 , (∆xi )2 , (1/n)2 }).
Proof. Taylor’s theorem gives us the expressions
1 1
v(t, xi−1 ) = v(t, xi ) − vx (t, xi )∆xi−1 + vxx (t, xi )(∆xi−1 )2 − vxxx (t, xi )(∆xi−1 )3
2 6
4
+ O((∆xi−1 ) )
and
1 1
v(t, xi+1 ) = v(t, xi ) + vx (t, xi )∆xi + vxx (t, xi )(∆xi )2 + vxxx (t, xi )(∆xi )3 + O((∆xi )4 ).
2 6
In the following, we assume that σ̂i (t) = σ(t, xi ). For the finite difference discretiza-
tion we obtain using the above expressions a truncation error
D i,i−1 v(t, xi−1 ) + D i,i v(t, xi ) + D i,i+1 v(t, xi−1 )
µ ¶
1 2
− − (σ(t, xi )xi ) vxx (t, xi ) − (r − λζ)xi vx (t, xi ) + (r + λ)v(xi )
2
1¡ ¢
=− (σ̂i (t)xi )2 (∆xi − ∆xi−1 ) + (r − λζ)xi ∆xi−1 ∆xi vxxx (t, xi )
6
+ O(max{(∆xi−1 )2 , (∆xi )2 }).

7
Since ∆xi−1 ∆xi is dominated by O(max{(∆xi−1 )2 , (∆xi )2 }), it is sufficient to study
only the magnitude of the term ∆xi − ∆xi−1 . We have

∆xi − ∆xi−1 = xi−1 − 2xi + xi+1 = h((i − 1)/n) − 2h(i/n) + h((i + 1)/n).

Taylor’s theorem applied to h((i − 1)/n) and h((i − 1)/n) yields together with easy
manipulations that ∆xi − ∆xi−1 = O((1/n)2 ). Substituting this to the above trunca-
tion error completes the proof.
The following result states that the matrix D has desirable properties.

Theorem 2 For a positive interest rate r > 0 the matrix D − λI is a strictly diagonally
dominant M-matrix, that is,
X
(D − λI)i,j > 0 and D i,j ≤ 0 ∀j 6= i
j

for i = 1, . . . , n − 1.

Proof. First we show that the off-diagonal D i,i−1 in (14) is non positive. According
to the definition and (16), we have
n o
∆xi−1
− max (σ(t, xi ))2 , (r − λζ) ∆x
xi
i
, −(r − λζ) xi
x2i + (r − λζ)xi ∆xi
D i,i−1 =
∆xi−1 (∆xi−1 + ∆xi )
− max {(σ(t, xi )xi )2 − (r − λζ)xi ∆xi , 0, −(r − λζ)xi (∆xi−1 + ∆xi )}
= ≤ 0.
∆xi−1 (∆xi−1 + ∆xi )

Similarly the off-diagonal D i,i+1 in (15) can be shown to be non positive. From the
definition of D i,i in (17) it is easy to see that the matrix D − λI has positive diagonal.
Furthermore, it is strictly diagonal dominant, since
X
(D − λI)i,j ≥ r > 0.
j

This completes the proof.

3.3 Recursion formulas for approximating integrals


The discretization of the integral term
Z
−λ v(t, xy)f (y) dy (18)
R+

in (3) leads to a full matrix which approximation we denote by J . In the following


solution procedures, we need to multiply vectors by J which corresponds to the
evaluation of the integral term at each grid point. We do not form the matrix, but
rather device a fast way to evaluate the integral term approximately.

8
By making the change of variable y = z/x, we obtain
Z Z
I= v(t, xy)f (y) dy = v(t, z)f (z/x)/x dz. (19)
R+ R+

We decompose the integral as I = I − + I + , where


Z x Z x

I = v(t, z)f (z/x)/x dz = qα2 x −α2
v(t, z) z α2 −1 dz
0 0

and Z ∞ Z ∞
+ α1
I = v(t, z)f (z/x)/x dz = pα1 x v(t, z) z −α1 −1 dz.
x x
In the following, we consider the approximation of the integrals of the type I −
while the other ones can the treated in the same way. At each grid point xi , i =
1, . . . , n − 1, we need to approximate
Z xi i−1
X
Ii− = qα2 x−α
i
2
v(t, z) z α2 −1 dz = −
Ii,j , (20)
0 j=0

where Z xj+1

Ii,j = qα2 x−α
i
2
v(t, z) z α2 −1 dz. (21)
xj

With second-order accurate finite differences it is typical to use the linear interpola-
tion for v between grid points. This interpolation of v(t, x) leads to the approxima-
tion
i−1
X
− −
Ii ≈ Ai = A−i,j , (22)
j=0

where
Z xj+1 µ ¶
xj+1 − z z − xj
A−
i,j = qα2 x−α
i
2
v(t, xj ) + v(t, xj+1 ) z α2 −1 dz. (23)
xj ∆xj ∆xj

By performing the integration we obtain

q x−α 2 £¡ α2 +1 ¢
A−
i,j =
i
xj+1 − (xj+1 + α2 ∆xj )xαj 2 v(t, xj )
(α2 + 1)∆xj (24)
¡ ¢ ¤
+ xαj 2 +1 − (xj − α2 ∆xj )xαj+1
2
v(t, xj+1 )

for j = 1, . . . , i − 1 and
q x−α 2

A−
i,0 =
i
[xα2 v(t, 0) + α2 xα1 2 v(t, x1 )] . (25)
α2 + 1 1
The computation of all A− i s, i = 1, . . . , n − 1, using (22), (24), and (25) requires
2
O(n ) operations. This high computational cost would slow down solution proce-
dures essentially on finer grids. One possibility to speed up the computations is to

9
transform the integral in (19) to a convolution form and then use FFT in its evalu-
ation. This approach has be advocated by Andersen and Andreasen in [4], Almen-
dral and Oosterlee in [2], and d’Halluin, Forsyth, and Vetzal in [15], for example.
A nonuniform grid and the usual discontinuity of the convolution kernel makes it
difficult to maintain second-order accuracy with this approach. Furthermore, this
approach is not easy to implement.
Fortunately with a log-double-exponential f it is possible to derive a fast and
easy to implement recursion formula for computing the approximations A− i and also
the corresponding approximations for I + . In a different context, a similar formula
has been employed in [5], for example. The observation that
µ ¶−α2
− xi+1
Ai+1,j = A−
i,j
xi
for j = 0, . . . , i − 1 together with (22) lead to the recursion formula
µ ¶ α2
− xi
Ai+1 = A− −
i + Ai+1,i . (26)
xi+1

Thus, this reduces the computational cost to be O(n) operations for all A− i s, i =
1, . . . , n − 1.
Similarly, for analogously defined A+
i s we obtain a recursion formula
µ ¶α
+ xi−1 1 +
Ai−1 = Ai + A+i−1,i−1 , i = 2, . . . , n − 1, (27)
xi
where we have
p xαi 1 £¡ 1−α1 ¢
A+
i,j = xj+1 − (xj+1 − α1 ∆xj )x−αj
1
v(t, xj )
(α1 − 1)∆xj (28)
¡ ¢ ¤
+ x1−α
j
1
− (xj + α1 ∆xj )x−α
j+1 v(t, xj+1 )
1

for j = i, . . . , n − 1. The first value to be computed is A+


n−1 and it is given by

p xαn−1
1 ¡ 1−α1 ¢
A+
n−1 = xn − (xn − α1 ∆xn−1 )x−α
n−1 v(t, xn−1 ).
1

(α1 − 1)∆xn−1
Now the multiplication of a vector v by J is defined by
¡ +
¢
(J v)i = −λ A−i + Ai (29)

for i = 1, . . . , n − 1.
The following result states that our approximation of the integral is second-order
accurate under a suitable regularity assumption on v.

Theorem 3 For a given t ∈ [0, T ) let v(t, x) be twice continuously differentiable with
respect to x in [0, X] and α2 > 0 and α1 > 1. The difference between Ii− + Ii+ and A− +
i + Ai
is O(max0≤j<n (∆xj )2 ).

10
2
Proof. In the following, we show that |Ii− − A− i | = O(max0≤j<i (∆xj ) ). It can be
shown in the same way that |Ii+ − A+ 2
i | = O(maxi≤j<n (∆xj ) ). Together from these
the result follows.
We begin by considering an interval [xj , xj+1 ] for some j ∈ {0, . . . , i − 1}. The
approximation in this interval is based on the linear interpolation of v(t, z) which
we denote by v̄(z). A well-known result states that under the regularity assumption
on v the interpolation error for any z ∈ [xj , xj+1 ] is

v(t, z) − v̄(z) = vxx (t, ξ)(z − xj )(z − xj+1 )/2

for some ξ ∈ [xj , xj+1 ]. Thus, we have


1
|v(t, z) − v̄(z)| ≤ C(∆xj )2 ,
8
where C = maxx∈[0,X] vxx (t, ξ). Using this, we obtain
Z xj+1
− −
|Ii,j − Ai,j | = qα2 xi−α2
|v(t, z) − v̄(z)| z α2 −1 dz
xj
Z xj+1
1 2
−α2
≤ Cqα2 xi (∆xj ) z α2 −1 dz
8 xj
1 ¡ 2 ¢
≤ Cq x−αi
2
(∆xj )2 xαj+1 − xαj 2 .
8
Summing over the intervals, we get
i−1
X X i−1
1 2
¡ α2 α2
¢
|Ii− − A−
i | ≤ −
|Ii,j − A−
i,j | ≤ Cq x−α
i
2
(∆x j ) x j+1 − x j
j=0
8 j=0

X¡ i−1
1 ¢ 1
≤ Cq x−α
i
2
max (∆x j )2
xαj+1
2
− xαj 2 = Cq max (∆xj )2 .
8 0≤j<i
j=0
8 0≤j<i

This completes the proof.


The following results shows that the matrix J + λI has good properties.

Theorem 4 The matrix J + λI is a diagonally dominant Z-matrix with a non negative


diagonal, that is,
X
(J + λI)i,j ≥ 0 and J i,j ≤ 0 ∀j 6= i
j

for i = 1, . . . , n − 1.

Proof. For λ = 0 we have J + λI = 0 and, thus, it trivially satisfies the result. Let
λ > 0 in the following.
The off-diagonal elements of J are negative, since the coefficients for v(t, xj ) and
v(t, xj+1 ) appearing in (24) and (28) can be shown to be positive, and the result is
multiplied by −λ.

11
The row sums of J + λI can be obtained by multiplying a vector u containing
ones. In this case, for A−
i the definitions (22) and (23) give
Z xi

Ai = qα2 xi −α2
z α2 −1 dz = q.
0

Similarly can be shown that A+i ≤ p. Thus, we have


¡ +
¢
(J u)i = −λ A− i + A i ≥ −λ(q + p) = −λ.

From this the first inequality in the results follows which completes the proof.
Theorems 2 and 4 yield the following result.

Corollary 1 For a positive interest rate r > 0 the matrix A = D+J is a strictly diagonally
dominant M-matrix.

Many recursion formulas are notoriously unstable and, thus, usually unusable.
The following results guarantees that with the developed recursion formulas the ac-
cumulating error grows at most linearly with respect to the number of grid points n.
This means that the formulas are sufficiently stable to be used in the computations.

Theorem 5 Let the additional error introduced at each recursion step (26) and (27) be at
+
most δ then the error on the computed value of A−
i + Ai is less than nδ.

Proof. We denote the maximum error in the computed value of A− −


i by δi . At most
− −
the first value A1 can have the error δ1 = δ. From (26) it follows that the maximum
errors are
µ ¶ α2 ·µ ¶α2 ¸
− x1 − x1
δ2 = δ1 + δ = +1 δ
x2 x2
µ ¶ α2 ·µ ¶α2 µ ¶α2 ¸
− x2 − x1 x2
δ3 = δ2 + δ = + +1 δ
x3 x3 x3
..
.
" i µ ¶ #
X x j α2

δi = δ < iδ.
j=1
xi

In the same way, it can be shown that the error of the computed value of A+
i is less
than (n − i)δ. By summing the maximum errors the result follows.

3.4 Rannacher time-stepping scheme


After the discretization of the spatial derivative terms and the integral term in (3),
for the value of the European option we obtain a semi-discrete linear problem

v t = Av + f = Dv + J v + f , (30)

12
where the vector f is due to the nonhomogenous boundary value v(t, 0). For the
value of the American option we obtain a semi-discrete LCP
(¡ ¢
v t − Av − f ≥ 0, v ≥ g,
¡ ¢T ¡ ¢ (31)
v t − Av − f v − g = 0.
The vector g contains the values of the payoff function g at the grid points, that
is, g i = g(xi ), i = 1, . . . , n − 1. For both problems (30) and (31) the final value is
v(T ) = g.
Usually option pricing problems have a nonsmooth payoff function and, thus,
also a nonsmooth final value. In such cases the popular Crank-Nicolson method can
lead to a numerical solution with oscillations due to the lack of L-stability. In order
to obtain numerical solution without oscillations we propose to use the Rannacher
time-stepping scheme [36]. It has been applied in the option pricing in [18], [19],
[24], [35], for example.
The Rannacher time-stepping scheme performs a few first time steps with the
implicit Euler method and after that it uses the Crank-Nicolson method. This leads
to good damping properties and second-order accuracy. For the semi-discrete linear
problem (30) the Rannacher time-stepping scheme reads
B (k) v (k) = b(k) , k = m − 1, . . . , 0, (32)
where
B (k) = I + θk ∆tk A, b(k) = (I − (1 − θk )∆tk A) v (k+1) + f (k) , (33)
and
f (k) = −∆tk D 1,0 (θk v(tk , 0) + (1 − θk )v(tk+1 , 0)) u1 . (34)
In (33) and (34), the matrix A and the coefficient D 1,0 defined by (14) are computed
using the volatility at the time tk+1 − θk ∆tk . The vector u1 is such that its first com-
ponent is one and others are zero. The parameter θk is defined by
(
1, k = m − 1, m − 2, m − 3, m − 4,
θk = 1 (35)
2
, k = m − 5, . . . , 0.
For the semi-discrete LCP (31) the time-stepping scheme reads
³ ´

 B (k) v (k) − b(k) ≥ 0, v (k) ≥ g,
³ ´T ¡ ¢ k = m − 1, . . . , 0. (36)

 B (k) v (k) − b(k) v (k) − g = 0,

4 Solution methods
4.1 Iterative method for European options
We use an iterative method propose by Tavella and Randall in [37]. d’Halluin,
Forsyth, and Vetzal analyzed its convergence in [15]. For our presentation we adopt

13
the matrix formulation presented by Almendral and Oosterlee in [2]. We solve the
resulting systems of linear equations (32) using a stationary iterative method based
on a regular splitting of the matrix B (k) given by

B (k) = T − R, where T = I + θk ∆tk D and R = −θk ∆tk J . (37)

With this choice the matrix T is tridiagonal. Then the iterative method for the linear
system B (k) v = b(k) reads
³ ´
v l+1 = T −1 b(k) + Rv l , l = 0, 1, . . . , (38)

where v 0 is the initial guess taken to be v (k+1) . Each iteration requires a solution with
the tridiagonal T and the multiplication of a vector by J which corresponds to the
evaluation of the integral term in the PIDE (3). The problem with T can be solved
efficiently using LU decomposition. For the multiplication by J we can employ the
fast recursion formulas in Section 3.3. Thus, one iteration requires O(n) operations.
After l iterations the residual vector r l+1 is given by
³ ´
r l+1 = b(k) − B (k) v l+1 = b(k) − T T −1 b(k) + Rv l + Rv l+1 = Rv l+1 − Rv l . (39)

The following result [15] shows that the iteration converges rapidly.
³ ´−1
Theorem 6 Let el be the error el = v l − B (k) b(k) at the lth iteration. Then the error
el+1 at the iteration l + 1 satisfies
° l+1 ° θk ∆tk λ ° l°
°e ° ≤ °e ° . (40)
∞ 1 + θk ∆tk (r + λ) ∞

³ ´−1 ³ ´−1
Proof. Substituting v l = el + B (k) b(k) and v l+1 = el+1 + B (k) b(k) to (38).
Then rearranging the terms gives us

T el+1 = Rel . (41)

By using the properties of the matrix D it is easy to show that

kT wk∞ ≥ [1 + θk ∆tk (r + λ)] kwk∞

for any vector w. Furthermore, it can be easily seen that

kRwk∞ ≤ θk ∆tk λkwk∞

any vector w. By using these inequalities to the terms in (41) and dividing by 1 +
θk ∆tk (r + λ) the inequality (40) is obtained.

14
4.2 Operator splitting method for American options
The operator splitting method was introduced in [22] and further studied in [23],
[24]. In order to describe this method we restate the LCP at the kth time step with a
Lagrange multiplier λ(k) as
³ ´T ¡ ¢
B (k) v (k) = b(k) + ∆tk λ(k) , v (k) ≥ g, λ(k) ≥ 0, λ(k) v (k) − g = 0.

The operator splitting method has the following two fractional time steps:

B (k) v̂ (k) = b(k) + ∆tk λ(k+1) (42)

and
³ ´T ¡ ¢
v (k) − v̂ (k) = ∆tk (λ(k) −λ(k+1) ), v (k) ≥ g, λ(k) ≥ 0, λ(k) v (k) − g = 0. (43)

The first step (42) requires the solution of the linear system which can be efficiently
obtained using the iteration (38). In the second step (43) the inequalities can be
solved easily componentwise manner. Thus, the second step is computationally
very cheap and the first step determines the computational cost of the solution pro-
cedure.
The above operator splitting introduces additional error to the numerical solu-
tion. In [23], it was shown that when the Crank-Nicolson method with a constant
time step ∆t is used for the time discretization and B = B (k) is an M-matrix then un-
der the assumption that the time oscillations of the Lagrange multiplier are bounded
the difference between the solutions obtained using the unsplit and split versions is
O ((∆t)2 ). Thus, this result says that the order of accuracy of the operator splitting
method is the same as for the fully discretized LCP when both are based on the
Crack-Nicolson method.

4.3 Penalty method for American options


As a second approach for solving the LCPs we consider the penalty method pro-
posed by d’Halluin, Forsyth, and Vetzal in [14]. This leads to the solution of nonlin-
ear problems
1 © ª
B (k) v (k) = b(k) + max g − v (k), 0 , (44)
²
where ² is a small penalty parameter. One possibility is to solve the nonlinear and
nonsmooth problems (44) using a semismooth Newton method in [21]. We choose
the initial guess to be v 0 = v (k+1) . Then the (l + 1)th iterant would be given by

v l+1 = v l + dl , (45)

where the vector dl is the solution of the system of linear equations


1 © ª
C l dl = b(k) + max g − v l , 0 − B (k) v l . (46)
²

15
The matrix C l in (46) belongs to the generalized Jacobian [10] at xl and it is chosen
to be C l = B (k) + P l , where P l is a diagonal matrix with its diagonal defined by
(
1
, if v li < g i ,
P li,i = ² (47)
0, otherwise.

The matrix C l is a full matrix and the systems of linear equations in (46) could be
solved using an iteration similar to one in Section 4.1. Instead of this we employ
an approximate semismooth Newton method proposed by d’Halluin, Forsyth, and
b l = T + P l , where
Vetzal in [14] which approximates C l with a tridiagonal matrix C
b l in (45) and eliminating dl gives us
T is defined in (37). Replacing C l by C
© ª
b l v l + b(k) + 1 max g − v l , 0 − B (k) v l
b l v l+1 = C
C
²
= (T + P )v + b(k) + P l (g − v l ) − (T − R)v l
l l (48)

= b(k) + Rv l + P l g,

where we have used the identities


1 © ª
B (k) = T − R and P l (g − v l ) = max g − v l , 0 . (49)
²
³ l ´−1
b
Multiplying (48) by C leads to

l+1
¡ ¢ ³ (k)
l −1 l l
´
v = T +P b + Rv + P g , (50)

which includes two additional terms with P l when compared to (38). In [14] it has
been shown that the iteration (50) converges to the unique solution of (44).
The penalty formulation (44) leads to a solution which always violates the early
exercise constraint by a small amount controlled by the penalty parameter ². By
adding a Lagrange multiplier to the formulation like in [21], [25], and [26] it is pos-
sible to guarantee that the constraint is always satisfied.

5 Numerical results
5.1 European put option
In our first numerical example, we price a European put option defined by the pa-
rameters

σ = 0.2, r = 0, T = 0.2, K = 1, λ = 0.2, α1 = 3, α2 = 2, and p = 0.5.

These same parameters were used by Almendral and Oosterlee in [2]. Further-
more, they provide an integral presentation for the option price. Our reference price

16
0.2

0.15

0.1

t
0.05

0
0 1 2 3 4 5 6
x

Figure 1: The nonuniform time-space grid with m = 6 and n = 40.

Table 1: The pricing error, the ratio of l2 errors, the total number of iterations, and
the CPU time in milliseconds for the European put option.
m n error at K rate iter. time
6 40 −5.1 × 10−4 19 0.1
10 80 −1.2 × 10−4 4.3 28 0.2
18 160 −2.9 × 10−5 4.0 45 1.0
34 320 −7.4 × 10−6 4.0 70 2.9
66 640 −1.9 × 10−6 4.0 132 10.1

v ∗ (0, 1) = 0.042647805 is computed using their formula with Simpson’s quadrature


rule in the interval [0, 100] with 10000 subintervals. We choose the truncation bound-
ary to be at X = 6. The time-space grids are generated using α = 4 in (10), (11), and
γ = 0.4 in (12). Figure 1 shows a 5 × 41 time-space grid.
Table 1 gives the pricing errors at the money, that is, at x = K. The rate in the
table is defined as the ratio between the error on the coarser grid and the error on
the current grid. The reported numbers of iterations (38) are obtained using the
stopping criterion kr l+1 k2 < 10−9 kb(k) k2 , where the residual vector r l+1 is defined
by (39). The CPU times are given in CPU milliseconds on a PC with 3.8 GHz Intel
Xeon processor.
Based on Table 1 the discretization is second-order accurate when the number of
time and space steps are increased at the same rate. On the finer grids the number of
iterations per one time step is two. Thus, in this case the iteration (38) is a predictor-
corrector time integration scheme. The errors and the CPU times are a few orders of
magnitude smaller than in [2]. Thus, there is a clear advantage to use nonuniform
grids and the fast recursion formulas for the integration rather than uniform grids
for log x and FFT for evaluating the integrals as has been done in [2].

17
Table 2: The pricing errors, the ratio of l2 errors, the total number of iterations, and
the CPU time in milliseconds for the European call options with σ = 0.15.
m n error at 90 error at 100 error at 110 rate iter. time
6 40 4.4 × 10−3 −1.6 × 10−2 −6.1 × 10−3 19 0.1
10 80 6.0 × 10−4 −3.2 × 10−3 −1.8 × 10−3 4.8 26 0.4
18 160 6.2 × 10−4 −6.9 × 10−4 −1.7 × 10−4 4.0 43 1.0
34 320 −1.4 × 10−4 −1.5 × 10−4 −2.1 × 10−4 3.2 68 3.0
66 640 −7.2 × 10−6 −3.6 × 10−5 −3.7 × 10−5 5.6 132 10.3

5.2 European call option


In the second example, we price European call options when the model parameters
are given by

σ = 0.15, r = 0.05, T = 0.25, K = 100,


(51)
λ = 0.1, α1 = 3.0465, α2 = 3.0775, and p = 0.3445,

which are also used by d’Halluin, Forsyth, and Vetzal in [15]. Instead of pricing a
call option directly we compute the price of a put option with the same strike price
K and then we use the put-call parity for European options given by

vc (t, x) = vp (t, x) + x − Ke−r(T −t) , (52)

where vc is the value of the call option and vp is the value of the put option. The term
Ke−r(T −t) is the value of the strike price K at the time t discounted from the expiry
time T . The truncation boundary is at X = 400. The grid generation parameters in
(10), (11), and (12) are α = 4 and γ = 0.45.
Using a fine time-space grid we computed the reference prices for corresponding
put options which are given in Table 3 along with the reference prices for other
models and American options. After using the parity (52) we obtain call option
prices that coincide with ones given in [15].
Table 2 reports the errors at 90, 100, and 110 as well as the ratios of consecutive
discretization errors in the l2 -norm. Also, we give the number of iterations and CPU
time in milliseconds. We have used the same stopping criterion and PC as in Section
5.1. Based on Table 2 again the discretization is second-order accurate. While the
FFT based approach in [15] cannot maintain second-order convergence due to the
jump in the density.

5.3 European put option with local volatility function


Here we price European put options with the same parameters as in (51) except that
the local volatility is given by the function

(x/100 − 1.2)2
σ(t, x) = 0.15 + 0.15(0.5 + 2t) . (53)
(x/100)2 + 1.44

18
Table 3: The reference prices for put options.
type and volatility m n v at 90 v at 100 v at 110
European, σ = 0.15 in [15] 9.430457 2.731259 0.552363
European, σ = 0.15 2050 20480 9.430457 2.731259 0.552363
European, σ in (53) 2050 20480 9.456392 2.767587 0.561144
American, σ = 0.15 45945 40960 10.005071 2.807879 0.561876
American, σ in (53) 45945 40960 10.010192 2.843178 0.570667

0.3

0.25

0.2

0.2
0.15 0.1
0 50 100 150 200 250 0
300 t
x

Figure 2: The local volatility function σ(t, x).

The volatility surface is shown in Figure 2. We use the same grids as in Section 5.2
and the same stopping criterion for (38) as in Section 5.1. Table 4 reports the same
values as Table 2 but with the local volatility function. The errors are computed
using the reference prices in Table 3. The error behaves the same way as with the call
option together with the constant volatility σ = 0.15. Furthermore, the number of
iterations and the CPU times are similar in both cases. There is very slight increases
in CPU times due to some additional computations caused by the use of the local
volatility function.

Table 4: The pricing errors, the ratio of l2 errors, the total number of iterations, and
the CPU time in milliseconds for the European put options with the local volatility
function.
m n error at 90 error at 100 error at 110 rate iter. time
6 40 7.2 × 10−3 −2.4 × 10−2 −6.7 × 10−3 19 0.2
10 80 1.0 × 10−3 −4.2 × 10−3 −1.8 × 10−3 5.4 27 0.4
18 160 7.0 × 10−4 −8.8 × 10−4 −1.7 × 10−4 4.2 43 1.2
34 320 −1.2 × 10−4 −2.0 × 10−4 −2.1 × 10−4 3.6 68 3.8
66 640 −3.8 × 10−6 −4.7 × 10−5 −3.8 × 10−5 5.2 132 13.9

19
Table 5: The pricing errors, the ratio of l2 errors, the total number of iterations, and
the CPU time in milliseconds for the American put options with σ = 0.15.
method m n error at 90 error at 100 error at 110 rate iter. time
split 10 40 −5.1 × 10−3 −7.7 × 10−2 −1.1 × 10−2 31 0.2
penalty 10 40 −5.1 × 10−3 −7.8 × 10−2 −1.1 × 10−2 33 0.2
split 21 80 −5.1 × 10−3 −1.9 × 10−2 −1.0 × 10−3 4.0 62 0.6
penalty 21 80 −4.7 × 10−3 −2.0 × 10−2 −1.1 × 10−3 3.9 61 0.8
split 47 160 4.1 × 10−3 −4.7 × 10−3 2.2 × 10−4 3.2 114 2.2
penalty 47 160 3.0 × 10−3 −5.1 × 10−3 1.8 × 10−4 3.5 121 2.9
split 109 320 9.6 × 10−4 −1.2 × 10−3 −8.0 × 10−5 4.1 218 8.6
penalty 109 320 3.5 × 10−4 −1.3 × 10−3 −1.0 × 10−4 4.3 231 11.0
split 256 640 3.6 × 10−4 −2.8 × 10−4 8.7 × 10−6 3.3 512 38.7
penalty 256 640 1.4 × 10−4 −3.5 × 10−4 −4.1 × 10−7 3.7 513 48.3

5.4 American put option


In the following example, we price American put options defined by the model
parameters in (51). We use grids which are slightly less refined in the space with
γ = 0.4 in (12) while the time refinement defined by α = 4 in (10) and (11) is the same
as before. The approximations of the prices of American options are less accurate
due to the early exercise constraint. In order to improve the accuracy we multiply
the number of time steps m roughly by 21.25 ≈ 2.38 when the number of spatial steps
n is doubled. An alternative approach would be to use a selector for the size of the
time steps as has been done in [14] and [18], for example.
Here we use a more strict stopping criterion for the iterations (38) and (50) given
by kr l+1 k2 < 10−11 kb(k) k2 , where r l+1 is the residual vector. With the penalty method
we use the penalty parameter ² = 10−4 .
Table 5 reports the results for the operator splitting method and the penalty
method. The accuracies of both methods are fairly similar. Neither of them can
quite maintain the second-order accuracy. Also the convergences of the iterations
(38) for the operator splitting method and (50) for the penalty method are similar.
Due to this the CPU times are also similar with the penalty method being slightly
slower due to some additional updates caused by the changing coefficient matrix.

5.5 American put option with local volatility function


Here we price the same American put options as in the above section when the
constant volatility is replaced by the local volatility function (53). The parameters in
the methods are the same as before. The results reported in Table 6 are very similar
to the ones obtained with σ = 0.15. There is a slight increase in the CPU times due
to some additional computations caused by the use of the local volatility.

20
Table 6: The pricing errors, the ratio of l2 errors, the total number of iterations, and
the CPU time in milliseconds for the American put options with the local volatility
function.
method m n error at 90 error at 100 error at 110 rate iter. time
split 10 40 −1.0 × 10−2 −8.4 × 10−2 −1.1 × 10−2 30 0.2
penalty 10 40 −1.0 × 10−2 −7.7 × 10−2 −1.1 × 10−2 33 0.3
split 21 80 −4.3 × 10−3 −2.1 × 10−2 −1.2 × 10−3 4.0 63 0.8
penalty 21 80 −1.8 × 10−3 −2.0 × 10−2 −1.1 × 10−3 4.0 61 0.9
split 47 160 4.0 × 10−3 −5.2 × 10−3 1.2 × 10−4 3.2 115 2.9
penalty 47 160 2.7 × 10−3 −5.1 × 10−3 1.8 × 10−4 3.4 120 3.5
split 109 320 9.9 × 10−4 −1.3 × 10−3 −1.3 × 10−4 4.0 218 11.7
penalty 109 320 3.4 × 10−5 −1.3 × 10−3 −1.0 × 10−4 4.3 226 13.9
split 256 640 2.9 × 10−4 −3.4 × 10−4 −8.8 × 10−5 3.8 512 53.3
penalty 256 640 1.2 × 10−4 −3.4 × 10−4 −4.4 × 10−8 3.6 513 62.8

6 Conclusions
We described methods for the numerical valuation of European and American op-
tions under Kou’s jump-diffusion model [27]. Following Andersen and Andreasen
in [4] the volatility can be also a deterministic function. We considered only put op-
tions but the same methods can be used for call options and other options with more
general payoff functions. The use of finite difference discretizations on refined grids
lead to accurate prices. We described recursion formulas for the integral term which
lead to very efficient numerical methods requiring O(n) operations per time step
whereas all earlier approaches have required at least O(n log n) operations. Here n
denotes the number of spatial grid points. Furthermore, the recursion formulas are
easy to implement also for nonuniform grids and they have second-order spatial
accuracy. In the same way it is possible derive formulas with higher order accuracy.
For the dense linear systems resulting from pricing European options we used
the stationary iterative method described Tavella and Randall in [37] which have
been used also by Almendral and Oosterlee in [2], and d’Halluin, Forsyth, and
Vetzal in [15]. Based on a theoretical result in [15] and numerical experiments we
conclude that this iteration converges very rapidly requiring only a few iterations
per time step. For American options we proposed two approaches: the operator
splitting method described in [22], and the penalty method described in [14] by
d’Halluin, Forsyth, and Labahn. In the numerical experiments the accuracy and
computational effort of these both methods for American options were fairly simi-
lar. The experiments also demonstrated that European and American option prices
with error around 0.1% can be computed in a few milliseconds on a PC. Thus, the
developed methods are very efficient.

21
Acknowledgments
The author is grateful to Dr. Samuli Ikonen for many fruitful discussions on numer-
ical methods for option pricing.

References
[1] Y. A CHDOU AND O. P IRONNEAU, Computational methods for option pricing,
vol. 30 of Frontiers in Applied Mathematics, SIAM, Philadelphia, PA, 2005.

[2] A. A LMENDRAL AND C. W. O OSTERLEE, Numerical valuation of options with


jumps in the underlying, Appl. Numer. Math., 53 (2005), pp. 1–18.

[3] , Accurate valuation of European and American under the CGMY process, SIAM
J. Sci. Comput., (2006). To appear.

[4] L. A NDERSEN AND J. A NDREASEN, Jump-diffusion processes: Volatility smile fit-


ting and numerical methods for option pricing, Rev. Deriv. Res., 4 (2000), pp. 231–
262.

[5] H. T. B ANKS , V. A. B OKIL , D. C IORANESCU , N. L. G IBSON , G. G RISO , AND


B. M IARA, Homogenization of periodically varying coefficients in electromagnetic ma-
terials, J. Sci. Comput., 28 (2006), pp. 191–221.

[6] D. S. B ATES, Jumps and stochastic volatility: Exchange rate processes implicit
Deutsche mark options, Review Financial Stud., 9 (1996), pp. 69–107.

[7] F. B LACK AND M. S CHOLES, The pricing of options and corporate liabilities, J. Po-
litical Economy, 81 (1973), pp. 637–654.

[8] M. B RIANI , C. L A C HIOMA , AND R. N ATALINI, Convergence of numerical


schemes for viscosity solutions to integro-differential degenerate parabolic problems
arising in financial theory, Numer. Math., 98 (2004), pp. 607–646.

[9] P. C ARR , H. G EMAN , D. B. M ADAN , AND M. Y OR, The fine structure of asset
returns: an empirical investigation, J. Business, 75 (2002), pp. 305–332.

[10] F. H. C LARKE, Optimization and nonsmooth analysis, John Wiley & Sons Inc.,
New York, 1983.

[11] N. C LARKE AND K. PARROTT, Multigrid for American option pricing with stochas-
tic volatility, Appl. Math. Finance, 6 (1999), pp. 177–195.

[12] R. C ONT AND P. TANKOV, Financial modelling with jump processes, Chapman &
Hall/CRC, Boca Raton, FL, 2004.

22
[13] R. C ONT AND E. V OLTCHKOVA, A finite difference scheme for option pricing
in jump diffusion and exponential Lévy models, SIAM Numer. Anal., 43 (2005),
pp. 1596–1626.

[14] Y. D ’H ALLUIN , P. A. F ORSYTH , AND G. L ABAHN, A penalty method for American


options with jump diffusion processes, Numer. Math., 97 (2004), pp. 321–352.

[15] Y. D ’H ALLUIN , P. A. F ORSYTH , AND K. R. V ETZAL, Robust numerical meth-


ods for contingent claims under jump diffusion processes, IMA J. Numer. Anal., 25
(2005), pp. 87–112.

[16] D. D UFFIE , J. PAN , AND K. S INGLETON, Transform analysis and asset pricing for
affine jump-diffusions, Econometrica, 68 (2000), pp. 1343–1376.

[17] B. D UPIRE, Pricing with a smile, Risk, 7 (1994), pp. 18–20.

[18] P. A. F ORSYTH AND K. R. V ETZAL, Quadratic convergence for valuing American


options using a penalty method, SIAM J. Sci. Comput., 23 (2002), pp. 2095–2122.

[19] M. B. G ILES AND R. C ARTER, Convergence analysis of Crank-Nicolson and Ran-


nacher time-marching, J. Comput. Finance, 9 (2006), pp. 89–112.

[20] S. H ESTON, A closed-form solution for options with stochastic volatility with applica-
tions to bond and currency options, Rev. Financial Stud., 6 (1993), pp. 327–343.

[21] M. H INTERM ÜLLER , K. I TO , AND K. K UNISCH, The primal-dual active set strat-
egy as a semismooth Newton method, SIAM J. Optim., 13 (2003), pp. 865–888.

[22] S. I KONEN AND J. T OIVANEN, Operator splitting methods for American option pric-
ing, Appl. Math. Lett., 17 (2004), pp. 809–814.

[23] , Operator splitting methods for pricing American options with stochastic volatil-
ity, Tech. Rep. B11/2004, Department of Mathematical Information Technology,
University of Jyväskylä, Jyväskylä, Finland, 2004. Submitted.

[24] , Efficient numerical methods for pricing American options under stochastic
volatility, Tech. Rep. B12/2005, Department of Mathematical Information Tech-
nology, University of Jyväskylä, Jyväskylä, Finland, 2005. Submitted.

[25] K. I TO AND K. K UNISCH, Parabolic variational inequalities: The Lagrange multi-


plier approach, J. Math. Pures Appl., 85 (2006), pp. 415–449.

[26] K. I TO AND J. T OIVANEN, Lagrange multiplier approach with optimized finite dif-
ference stencils for pricing American options, Tech. Rep. B6/2006, Department of
Mathematical Information Technology, University of Jyväskylä, Jyväskylä, Fin-
land, 2006. Submitted.

[27] S. G. K OU, A jump-diffusion model for option pricing, Management Sci., 48 (2002),
pp. 1086–1101.

23
[28] S. G. K OU AND H. WANG, Option pricing under a double exponential jump diffu-
sion model, Management Sci., 50 (2004), pp. 1178–1198.

[29] T. A. M ANTEUFFEL AND A. B. W HITE , J R ., The numerical solution of second-order


boundary value problems on nonuniform meshes, Math. Comp., 47 (1986), pp. 511–
535.

[30] A.-M. M ATACHE , P.-A. N ITSCHE , AND C. S CHWAB, Wavelet Galerkin pricing of
American options on Lévy driven assets, Quant. Finance, 5 (2005), pp. 403–424.

[31] A.-M. M ATACHE , C. S CHWAB , AND T. P. W IHLER, Fast numerical solution of


parabolic integrodifferential equations with applications in finance, SIAM J. Sci. Com-
put., 27 (2005), pp. 369–393.

[32] A.-M. M ATACHE , T. VON P ETERSDORFF , AND C. S CHWAB, Fast deterministic


pricing of options on Lévy driven assets, M2AN Math. Model. Numer. Anal., 38
(2004), pp. 37–71.

[33] R. C. M ERTON, Theory of rational option pricing, Bell J. Econom. Management


Sci., 4 (1973), pp. 141–183.

[34] , Option pricing when underlying stock returns are discontinuous, J. Financial
Econ., 3 (1976), pp. 125–144.

[35] D. M. P OOLEY, K. V ETZAL , AND P. A. F ORSYTH, Remedies for non-smooth payoffs


in option pricing, J. Comput. Finance, 6 (2003), pp. 25–40.

[36] R. R ANNACHER, Finite element solution of diffusion problems with irregular data,
Numer. Math., 43 (1984), pp. 309–327.

[37] D. TAVELLA AND C. R ANDALL, Pricing financial instruments: The finite difference
method, John Wiley & Sons, Chichester, 2000.

[38] I. R. WANG , J. W. L. WAN , AND P. A. F ORSYTH, Robust numerical valuation


of European and American options under the CGMY process, tech. rep., David R.
Cheriton School of Computer Science, University of Waterloo, Waterloo ON,
Canada, 2006.

[39] X. L. Z HANG, Numerical analysis of American option pricing in a jump-diffusion


model, Math. Oper. Res., 22 (1997), pp. 668–690.

24

You might also like