You are on page 1of 13

# Option valuation using the fast Fourier transform

Peter Carr and Dilip B. Madan
In this paper the authors show how the fast Fourier transform may be used to value
options when the characteristic function of the return is known analytically.
1. INTRODUCTION
The Black±Scholes model and its extensions comprise one of the major develop-
ments in modern ®nance. Much of the recent literature on option valuation has
successfully applied Fourier analysis to determine option prices (see e.g. Bakshi
and Chen 1997, Scott 1997, Bates 1996, Heston 1993, Chen and Scott 1992).
These authors numerically solve for the delta and for the risk-neutral prob-
ability of ®nishing in-the-money, which can be easily combined with the stock
price and the strike price to generate the option value. Unfortunately, this
approach is unable to harness the considerable computational power of the fast
Fourier transform (FFT) (Walker 1996), which represents one of the most
fundamental advances in scienti®c computing. Furthermore, though the decom-
position of an option price into probability elements is theoretically attractive, as
explained by Bakshi and Madan (1999), it is numerically undesirable owing to
discontinuity of the payos.
The purpose of this paper is to describe a new approach for numerically
determining option values, which is designed to use the FFT to value options
eciently. As is the case with all of the above approaches, our technique
assumes that the characteristic function of the risk-neutral density is known
analytically. Given any such characteristic function, we develop a simple
analytic expression for the Fourier transform of the option value or its time
value. We then use the FFT to numerically solve for the option price or its
time value. Our use of the FFT in the inversion stage permits real-time pricing,
marking, and hedging using realistic models, even for books with thousands of
options.
To test the accuracy of our approach, we would like to use a model where the
option price is known analytically. To illustrate the potential power of Fourier
analysis, we would also like to use a model in which the density function is
complicated, while the characteristic function of the log price is simple. Finally,
we would like to use a model which is supported in a general equilibrium and
which is capable of removing the biases of the standard Black±Scholes model.
All of these requirements are met by the variance gamma (VG) model, which
assumes that the log price obeys a one-dimensional pure jump Markov process
with stationary independent increments. The mathematics of this process is
detailed by Madan and Seneta (1990), while the economic motivation and
61
empirical support for this model is described by Madan and Milne (1991) and
by Madan, Carr, and Chang (1998) respectively.
The outline of this paper is as follows. In Section 2, we brie¯y review the
current literature on the use of Fourier methods in option pricing. In Section 3,
we present our approach for analytically determining the Fourier transform of
the option value and of the time value in terms of the characteristic function of
the risk-neutral density. Section 4 details the use of the FFT to numerically solve
for the option price or time value. In Section 5, we illustrate our approach in the
VG model. Section 6 concludes.
2. REVIEW OF FOURIER METHODS IN OPTION PRICING
Consider the problem of valuing a European call of maturity T, written on the
terminal spot price S
T
of some underlying asset. The characteristic function of
s
T
= ln(S
T
) is de®ned by
ç
T
(u) = E[exp(ius
T
)]. (1)
In many situations this characteristic function is known analytically. A wide
class of examples arises when the the dynamics of the log price is given by an
in®nitely divisible process of independent increments. The characteristic func-
tion then arises naturally from the LeÂ vy±Khintchine representation for such
processes. Among this class of processes, we have the process of independent
stable increments (McCulloch 1978), the VG process (Madan, Carr, and Chang
1998), the inverse Gaussian law (Barndor-Nielsen 1997), and a wide range of
other processes proposed by Geman, Yor, and Madan (1998). Characteristic
functions have also been used in the pure diusion context with stochastic
volatility (Heston 1993) and with stochastic interest rates (Bakshi and Chen
1997). Finally, they have been used for jumps coupled with stochastic volatility
(Bates 1996) and for jumps coupled with stochastic interst rates and volatility
(Scott 1997). The solution methods can also be applied to average rate claims
and to other exotic claims (Bakshi and Madan 1999). The methods are generally
much faster than ®nite dierence solutions to partial dierential equations or
integrodierential equations, which led Heston (1993) to refer to them as closed-
form solutions.
Assuming that the characteristic function is known analytically, many
authors (e.g. Bakshi and Madan 1999, Scott 1997) have numerically determined
the risk-neutral probability of ®nishing in-the-money as
Pr(S
T
> K) = Å
2
=
1
2
÷
1
¬
_
o
0
Re
_
e
÷iu ln(K)
ç
T
(u)
iu
_
du.
Similarly, the delta of the option, denoted Å
1
, is numerically obtained as
Å
1
=
1
2
÷
1
¬
_
o
0
Re
_
e
÷iu ln(K)
ç
T
(u ÷i)
iuç
T
(÷i)
_
du.
Journal of Computational Finance
P. Carr and D. B. Madan 62
Assuming no dividends and constant interest rates r, the initial option value is
then determined as
C = SÅ
1
÷Ke
÷rT
Å
2
.
Unfortunately, the FFT cannot be used to evaluate the integral, since the
integrand is singular at the required evaluation point u = 0. Given the
considerable speed advantages of the FFT, we examine two alternative
approaches in the next section, both of which are amenable to evaluation by
the FFT.
3. TWO NEW FOURIER METHODS
In this section, we develop analytic expressions for the Fourier transform of an
option price and for the Fourier transform of the time value of an option. Both
Fourier transforms are expressed in terms of the characteristic function of the
log price.
3.1 The Fourier Transform of an Option Price
Let k denote the log of the strike price K, and let C
T
(k) be the desired value of a
T-maturity call option with strike exp(k). Let the risk-neutral density of the log
price s
T
be q
T
(s). The characteristic function of this density is de®ned by
ç
T
(u) ¬
_
o
÷o
e
ius
q
T
(s) ds. (2)
The initial call value C
T
(k) is related to the risk-neutral density q
T
(s) by
C
T
(k) ¬
_
o
k
e
÷rT
(e
s
÷e
k
)q
T
(s) ds.
Note that C
T
(k) tends to S
0
as k tends to ÷o, and hence the call pricing
function is not square-integrable. To obtain a square-integrable function, we
consider the modi®ed call price c
T
(k) de®ned by
c
T
(k) ¬ exp(ok) C
T
(k) (3)
for o > 0. For a range of positive values of o, we expect that c
T
(k) is square-
integrable in k over the entire real line. We comment later on the choice of o.
Consider now the Fourier transform of c
T
(k) de®ned by
[
T
(v) =
_
o
÷o
e
ivk
c
T
(k) dk. (4)
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 63
We ®rst develop an analytical expression for [
T
(v) in terms of ç
T
and then
obtain call prices numerically using the inverse transform
C
T
(k) =
exp(÷ok)

_
o
÷o
e
÷ivk
[
T
(v) dv =
exp(÷ok)
¬
_
o
0
e
÷ivk
[(v) dv. (5)
The second equality holds because C
T
(k) is real, which implies that the
function [
T
(v) is odd in its imaginary part and even in its real part. The
expression for [
T
(v) is determined as follows:
[
T
(v) =
_
o
÷o
e
ivk
_
o
k
e
ok
e
÷rT
(e
s
÷e
k
)q
T
(s) ds dk
=
_
o
÷o
e
÷rT
q
T
(s)
_
s
÷o
(e
s÷ok
÷e
(1÷o)k
)e
ivk
dk ds
=
_
o
÷o
e
÷rT
q
T
(s)
_
e
(o÷1÷iv)s
o ÷iv
÷
e
(o÷1÷iv)s
o ÷1 ÷iv
_
ds
=
e
÷rT
ç
T
_
v ÷(o ÷1)i
_
o
2
÷o ÷v
2
÷i(2o ÷1)v
. (6)
Call values are determined by substituting (6) into (5) and performing the
required integration. We note that the integration (5) is a direct Fourier
transform and lends itself to an application of the FFT. We also note that if
o = 0 then the denominator vanishes when v = 0, inducing a singularity in the
integrand. Since the FFT evaluates the integrand at v = 0, the use of the factor
exp(ok) or something similar is required.
We now consider the issue of the appropriate choice of the coecient o.
Positive values of o assist the integrability of the modi®ed call value over the
negative log strike axis, but aggravate the same condition for the positive log
strike axis. For the modi®ed call value to be integrable in the positive log strike
direction, and hence for it to be square-integrable as well, a sucient condition
is provided by [(0) being ®nite. From (6), we observe that [
T
(0) is ®nite
provided that ç
T
_
÷(o ÷1)i
_
is ®nite. From the de®nition of the characteristic
function, this requires that
E[S
o÷1
T
] - o. (7)
In practice, one may determine an upper bound on o from the analytical
expression for the characteristic function and the condition (7). We ®nd that one
quarter of this upper bound serves as a good choice for o.
We now consider the issue of the in®nite upper limit of integration in (5).
Note that, since the modulus of ç
t
is bounded by E[S
o÷1
T
], which is independent
of v, it follows that
¸
¸
[
T
(v)
¸
¸
2
T
E[S
o÷1
T
]
(o
2
÷o ÷v
2
)
2
÷(2o ÷1)
2
v
2
T
A
v
4
Journal of Computational Finance
P. Carr and D. B. Madan 64
for some constant A, or that
¸
¸
[(v)
¸
¸
-

A
_
v
2
.
It follows that we may bound the integral of the upper tail by
_
o
a
¸
¸
[(v)
¸
¸
dv -

A
_
a
. (8)
This bound makes it possible to set up a truncation procedure. Speci®cally, the
integral of the tail in computing the transform of (5) is bounded by

A
_
,a, and
hence the truncation error is bounded by
exp(÷ok)
¬

A
_
a
.
which can be made smaller than c by choosing
a >
exp(÷ok)
¬

A
_
c
.
3.2 Fourier Transform of Out-of-the-Money Option Prices
In the last section we multiplied call values by an exponential function to obtain
a square-integrable function whose Fourier transform is an analytic function of
the characteristic function of the log price. Unfortunately, for very short
maturities, the call value approaches its nonanalytic intrinsic value causing
the integrand in the Fourier inversion to be highly oscillatory, and therefore
dicult to integrate numerically. The purpose of this section is to introduce an
alternative approach that works with time values only. Again letting k denote
the log of the strike and S
0
denote the initial spot price, we let z
T
(k) be the T-
maturity put price when k - ln(S
0
). and we let it be the T-maturity call price
when k > ln(S
0
). For any unimodal probability density function, the function
z
T
(k) peaks at k = ln(S
0
) and declines in both directions as k tends to positive or
negative in®nity. In this section, we develop an analytic expression for the
Fourier transform of z
T
(k) in terms of the characteristic function of the log of
the terminal stock price.
Let ¸
T
(v) denote the Fourier transform of z
T
(k):
¸
T
(v) =
_
o
÷o
e
ivk
z
T
(k) dk. (9)
The prices of out-of-the-money options are obtained by inverting this transform:
z
T
(k) =
1

_
o
÷o
e
÷ivk
¸
T
(v) dv. (10)
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 65
For ease of notation, we will derive ¸
T
(v) assuming that S
0
= 1 (one may
always scale up to other values later). We may then de®ne z
T
(k) by
z
T
(k) = e
÷rT
_
o
÷o
[(e
k
÷e
s
)1
s-k.k-0
÷(e
s
÷e
k
)1
s>k.k>0
]q
T
(s) ds. (11)
The expression for ¸
T
(v) follows on noting that
¸
T
(v) =
_
0
÷o
e
ivk
e
÷rT
_
k
÷o
(e
k
÷e
s
)q
T
(s) ds dk
÷
_
o
0
e
ivk
e
÷rT
_
o
k
(e
s
÷e
k
)q
T
(s) ds dk. (12)
Reversing the order of integration in (12) yields
¸
T
(v) =
_
0
÷o
e
÷rT
q
T
(s)
_
o
s
(e
(1÷iv)k
÷e
s
e
ivk
) dk ds
÷
_
o
0
e
÷rT
q
T
(s)
_
s
0
(e
s
e
ivk
÷e
(1÷iv)k
) dk ds. (13)
Performing the inner integrations, simplifying, and writing the outer integration
in terms of characteristic functions, we get
¸
T
(v) = e
÷rT
_
1
1 ÷iv
÷
e
rT
iv
÷
ç
T
(v ÷i)
v
2
÷iv
_
. (14)
Although there is no issue regarding the behavior of z
T
(k) as k tends to
positive or negative in®nity, the time value at k = 0 can get quite steep as T ÷0,
and this can cause diculties in the inversion. The function z
T
(k) approximates
the shape of a Dirac delta function near k = 0 when maturity is small (see
Figure 1), and thus the transform is wide and oscillatory.
It is useful in this case to consider the transform of sinh(ok)z
T
(k) as this
function vanishes at k = 0. De®ne
,
T
(v) =
_
o
÷o
e
ivk
sinh(ok)z
T
(k) dk
=
_
o
÷o
e
ivk
e
ok
÷e
÷ok
2
z
T
(k) dk
=
¸
T
(v ÷io) ÷¸
T
(v ÷io)
2
. (15)
Thus, the time value is given by
z
T
(k) =
1
sinh(ok)
1

_
o
÷o
e
÷ivk
,
T
(v) dv.
Journal of Computational Finance
P. Carr and D. B. Madan 66
The value of o can be chosen to control the steepness of the integrand near
zero.
4. OPTION PRICING USING THE FFT
The FFT is an ecient algorithm for computing the sum
w(k) =

N
j=1
e
÷i

N
( j÷1)(k÷1)
x( j) for k = 1. F F F . N. (16)
where N is typically a power of 2. The algorithm reduces the number of
multiplications in the required N summations from an order of N
2
to that of
Nln
2
(N), a very considerable reduction. We present in this section the details for
writing the integration (5) as an application of the summation (16).
Using the trapezoid rule for the integral on the right-hand side of (5) and
setting v
j
= j( j ÷1), an approximation for C(k) is
C
T
(k) -
exp(÷ok)
¬

N
j=1
e
÷iv
j
k
[
T
(v
j
)j. (17)
–250 –200 –150 –100 –50 0 50 100 150 200 250
–5
0
5
10
Log strike transform variate
L
e
v
e
l

o
f

i
n
t
e
g
r
a
n
d
Without sinh
Including sinh
r = 0, t = .0027, α = 1.1
σ = .2, ν = .12, θ = .0027
FIGURE 1. Fourier inversion integrands with and without the use of sinh.
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 67
The eective upper limit for the integration is now
a = Nj. (18)
We are mainly interested in at-the-money call values C(k), which correspond
to k near 0. The FFT returns N values of k and we employ a regular spacing of
size z, so that our values for k are
k
u
= ÷b ÷z(u ÷1) for u = 1. F F F . N. (19)
This gives us log strike levels ranging from ÷b to b, where
b =
1
2
Nz. (20)
Substituting (19) into (17) yields
C
T
(k
u
) -
exp(÷ok
u
)
¬

N
j=1
e
÷iv
j
[÷b÷z(u÷1)]
[
T
(v
j
)j for u = 1. F F F . N. (21)
Noting that v
j
= ( j ÷1)j, we write
C
T
(k
u
) -
exp(÷ok
u
)
¬

N
j=1
e
÷izj( j÷1)(u÷1)
e
ibv
j
[
T
(v
j
)j. (22)
To apply the fast Fourier transform, we note from (16) that
zj =

N
. (23)
Hence, if we choose j small in order to obtain a ®ne grid for the integration,
then we observe call prices at strike spacings that are relatively large, with few
strikes lying in the desired region near the stock price. We would therefore like to
obtain an accurate integration with larger values of j and, for this purpose, we
incorporate Simpson's rule weightings into our summation. With Simpson's rule
weightings and the restriction (23), we may write our call price as
C(k
u
) =
exp(÷ok
u
)
¬

N
j=1
e
÷i

N
( j÷1)(u÷1)
e
ibv
j
[(v
j
)
j
3
[3 ÷(÷1)
j
÷o
j÷1
]. (24)
where o
n
is the Kronecker delta function that is unity for n = 0 and zero
otherwise. The summation in (24) is an exact application of the FFT. One
needs to make the appropriate choices for j and o. The next section addresses
these issues in the context of the VG option pricing model used to illustrate our
approaches.
The use of the FFT for calculating out-of-the-money option prices is similar
to (24). The only dierences are that we replace the multiplication by exp(÷ok
u
)
with a division by sinh(ok) and the function call to [(v) is replaced by a function
call to ,(v) de®ned in (15).
Journal of Computational Finance
P. Carr and D. B. Madan 68
5. THE FFT FOR VG OPTION PRICING
The VG option pricing model is described in detail in Madan, Carr, and Chang
(1998), who document that this process eectively removes the smile observed
when plotting Black±Scholes implied volatilities against strike prices. The VG
process is obtained by evaluating arithmetic Brownian motion with drift ± and
volatility o at a random time given by a gamma process having a mean rate per
unit time of 1 and a variance rate of v. The resulting process X
t
(o. ±. v) is a pure
jump process with two additional parameters ± and v relative to the Black±
Scholes model, providing control over skewness and kurtosis respectively. The
resulting risk-neutral process for the stock price is
S
t
= S
0
exp[rt ÷X
t
(o. ±. v) ÷ot]. t > 0. (25)
where, by setting o = (1,v) ln(1 ÷±v ÷
1
2
o
2
v), the mean rate of return on the
stock equals the interest rate r.
Madan, Carr, and Chang (1998) show that the characteristic function for the
log of S
T
is
ç
T
(u) = exp[ln(S
0
) ÷(r ÷o)T](1 ÷i±vu ÷
1
2
o
2
u
2
v)
÷T,v
. (26)
To obtain option prices, one can analytically invert this characteristic function
to get the density function, and then integrate the density function against the
option payo. Madan, Carr, and Chang (1998) provide a closed-form formula
for both the density function and the option price. Alternatively, the Fourier
transform of the distribution functions can be numerically inverted as reviewed
in Section 1. Finally, the Fourier transform of the modi®ed call can be
numerically inverted without using FFT. In this last case, one must set the
damping coecient o. To accomplish this, we evaluate the term ç
T
_
÷(o ÷1)i
_
in
(7) as
ç
T
_
÷(o ÷1)i
_
= exp[ln(S
0
) ÷(r ÷o)T][1 ÷±v(o ÷1) ÷
1
2
o
2
(o ÷1)
2
v]
÷T,v
.
For this expression to be ®nite, we must have
o -

±
2
o
4
÷
2
o
2
v
_
÷
±
o
2
÷1.
Generally, we anticipate in our estimates that the expectation of S
2
T
is ®nite and
that this upper bound is above unity. A value of o above unity and well below
the upper bound performs well.
For our FFT methods, we found that setting the spacing j = 0.25 delivers the
speedup of the FFT without compromising the accuracy delivered by other
methods. However, as a quality control, we recommend selective checking of the
FFT output against other methods. We used N = 4096 points in our quad-
rature, implying a log strike spacing of 8¬,4096 = .00613, or a little over half a
percentage point, which is adequate for practice. For the choice of the
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 69
dampening coecient in the transform of the modi®ed call price, we used a
value of o = 1.5. For the modi®ed time value, we used o = 1.10.
We evaluated option prices using the FFT to invert the modi®ed call price
(termed VGFFTC) and using it to invert the modi®ed time value (termed
VGFFTTV). We used 160 strike levels at four combinations of parameter
settings and compared the CPU times with those required by the following
three other methods:
1. VGFICÐFourier inversion of the modi®ed call price without using FFT;
2. VGPSÐcomputing delta and the risk-neutral probability of ®nishing in-the-
money;
3. VGPÐthe analytic formula in Madan, Carr, and Chang (1998).
The results are presented in Table 1.
We see from Table 1 that both FFT methods are considerably faster than
the other methods, computing 160 option prices in around 6.5 seconds and
11.5 seconds respectively. The analytical method of Madan, Carr, and Chang
(1998) has a speed that is broadly comparable with that of direct Fourier
inversion without invoking the fast Fourier transform. By far the slowest
method is the practice of solving for the probability of ®nishing in-the-money
and for the delta. Additionally we note that this method is not only slow but
also inaccurate, with substantial errors in Case 4.
For a more detailed analysis of Case 4, we evaluate the option prices in this
case for strikes ranging from 70 to 130 in steps of a dollar, with the spot set at
6100, the interest rate at .05. and the dividend yield at .03. At the strikes of 77,
78, and 79 the prices reported by VGPS were respectively ÷.2425, ÷.2299, and
1.5386. The correct price reported by all the other methods, VGP, VGFIC, and
the time value (TV) approach, were in agreement to four decimal places and
were respectively .6356, .6787, and .7244. For a more detailed evaluation of the
pricing errors, we computed for the remaining strikes the mean errors and their
standard deviations. The errors were measured as deviations from the analytical
formula VGP. This mean and standard deviation for VGPS are .0005658 and
.0057 respectively. The corresponding values for the modi®ed call price are
TABLE 1. CPU times for VG pricing.
Case 1 Case 2 Case 3 Case 4
o .12 .25 .12 .25
v .16 2.0 .16 2.0
± ÷.33 ÷.10 ÷.33 ÷.10
t 1 1 .25 .25
VGFFTC 6.09 6.48 6.72 6.52
VGFFTTV 11.53 11.48 11.57 11.56
VGFIC 29.90 23.74 23.18 22.63
VGPS 288.50 191.06 181.62 197.97
VGP 22.41 24.81 23.82 24.74
Journal of Computational Finance
P. Carr and D. B. Madan 70
.0001196 and .0041, while for the time value approach we have .000006059 and
.0002662. Hence, we observe that the time value approach is an order of
magnitude lower in its pricing errors compared with VGFIC, which is
considerably better than VGPS. Figure 2 presents a graph of the pricing errors
excluding the troublesome strikes for VGPS. The primary diculty with VGPS
comes from the behavior of the term iu in the denominator for values of u near
zero.
6. SUMMARY AND CONCLUSIONS
We analytically developed two Fourier transforms in terms of the characteristic
function of the log of the terminal stock price. The ®rst is the Fourier transform
of the modi®ed call price written as a function of log strike, where the
modi®cation involves multiplying by an exponential. The second is the Fourier
transform of the modi®ed time value, where the modi®cation involves multi-
plying by the hyperbolic sine function. Fourier inversion using the FFT yields
the modi®ed call price and the modi®ed time value respectively. We illustrate our
methods for the VG option pricing model and ®nd that the use of the FFT is
considerably faster than most available methods and, furthermore, that the
traditional method described by Heston (1993), Bates (1996), Bakshi and
Madan (1999), and Scott (1997) can be both slow and inaccurate. By focusing
70 80 90 100 110 120 130
–0.025
–0.02
–0.015
–0.01
–0.005
0
0.005
0.01
0.015
Strike
E
r
r
o
r
s
Analytical less VGPS
Analytical less modified call
Analytical less time value
p = 100, r = .05, q = .03, σ = .25, ν = 2.0, θ = .10, t = .25
FIGURE 2. Pricing errors in Case 4 of Table 1.
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 71
attention on delta claims, the traditional method sacri®ces the advantages of the
continuity of the call payo and inherits in its place the problematic discontinu-
ity of these claims. Thus, we recommend the use of the VGFFTC or VGFFTTV
and in general the use of the FFT whenever the characteristic function of the
underlying uncertainty is available in closed form.
We anticipate that the advantages of the FFT are generic to the widely known
improvements in computation speed attained by this algorithm and is not
connected to the particular characteristic function or process we chose to
analyze. We have observed similar speed improvements when we work with
generalizations of the VG model introduced by Geman, Madan, and Yor
(1998), where a considerable variety of processes are developed with closed
forms for the characteristic function of the log price.
REFERENCES REFERENCES
Bakshi, G., and Chen, Z. (1997). An alternative valuation model for contingent claims.
Journal of Financial Economics, 44(1), 123±165.
Bakshi, G., and Madan, D. B. (1999). Spanning and derivative security valuation.
Forthcoming in: Journal of Financial Economics.
Barndor-Nielsen, O. E. (1997). Processes of normal inverse Gaussian type. Finance and
Stochastics, 2, 41±68.
Bates, D. (1996). Jumps and stochastic volatility: Exchange rate processes implicit in
Deutschemark options. Review of Financial Studies, 9, 69±108.
Black, F., and Scholes, M. (1973). The pricing of options and corporate liabilities.
Journal of Political Economy, 81, 637±659.
Chen, R.-R., and Scott, L. (1992). Pricing interest rate options in a two-factor Cox±
Ingersoll±Ross model of the term structure. Review of Financial Studies, 5, 613±636.
Geman, H., Madan, D., and Yor, M. (1998). Asset prices are Brownian motion: Only in
business time. Working paper, University of Maryland, College Park, Maryland.
Heston, S. (1993). A closed-form solution for options with stochastic volatility with
applicatons to bond and currency options. Review of Financial Studies, 6, 327±343.
Madan, D. B., Carr, P., and Chang, E. C. (1998). The variance gamma process and
option pricing. European Finance Review, 2, 79±105.
Madan, D. B., and Milne, F. (1991). Option pricing with VG martingale components.
Mathematical Finance, 1, 39±55.
Madan, D. B., and Seneta, E. (1990). The variance gamma (V.G.) model for share
market returns. Journal of Business, 63,(4), 511±524.
McCulloch, J. H. (1978). Continuous time processes with stable increments. Journal of
Journal of Computational Finance
P. Carr and D. B. Madan 72
Scott, L. (1997). Pricing stock options in a jump±diusion model with stochastic
volatility and interest rates: Application of Fourier inversion methods. Mathematical
Finance, 7, 413±426.
Walker, J. S., (1996). Fast Fourier Transforms. CRC Press, Boca Raton, Florida.
P. Carr
Banc of America Securities LLC, New York
The Robert H. Smith School of Business, University of Maryland
Volume 2/Number 4, Summer 1999
Option valuation using the fast Fourier transform 73

A wide class of examples arises when the the dynamics of the log price is given by an in®nitely divisible process of independent increments. The solution methods can also be applied to average rate claims and to other exotic claims (Bakshi and Madan 1999). denoted Å1 . written on the terminal spot price ST of some underlying asset. 2. and a wide range of other processes proposed by Geman. Section 4 details the use of the FFT to numerically solve for the option price or time value. The methods are generally much faster than ®nite dierence solutions to partial dierential equations or integrodierential equations. we present our approach for analytically determining the Fourier transform of the option value and of the time value in terms of the characteristic function of the risk-neutral density. Carr. Characteristic functions have also been used in the pure diusion context with stochastic volatility (Heston 1993) and with stochastic interest rates (Bakshi and Chen 1997). Carr. REVIEW OF FOURIER METHODS IN OPTION PRICING Consider the problem of valuing a European call of maturity T. which led Heston (1993) to refer to them as closedform solutions. Among this class of processes. In Section 5. Bakshi and Madan 1999. we brie¯y review the current literature on the use of Fourier methods in option pricing. the inverse Gaussian law (Barndor-Nielsen 1997). The characteristic function of sT  lnST  is de®ned by 1 0T u  EexpiusT X In many situations this characteristic function is known analytically. we illustrate our approach in the VG model. the VG process (Madan. B. many authors (e. Scott 1997) have numerically determined the risk-neutral probability of ®nishing in-the-money as 1 PrST b K  Å2   % 1 2 I 0   Àiu lnK e 0T u duX Re iu Similarly. Yor.62 P. is numerically obtained as Å1  1  2 1 % I 0  Re  eÀiu lnK 0T u À i duX iu0T Ài Journal of Computational Finance . In Section 3. Assuming that the characteristic function is known analytically. we have the process of independent stable increments (McCulloch 1978). and Chang (1998) respectively.g. and Madan (1998). Section 6 concludes. The characteristic funcÂ tion then arises naturally from the Levy±Khintchine representation for such processes. Finally. Madan empirical support for this model is described by Madan and Milne (1991) and by Madan. and Chang 1998). the delta of the option. they have been used for jumps coupled with stochastic volatility (Bates 1996) and for jumps coupled with stochastic interst rates and volatility (Scott 1997). The outline of this paper is as follows. Carr and D. In Section 2.

Summer 1999 I ÀI eivk cT k dkX 4 . we examine two alternative approaches in the next section. since the integrand is singular at the required evaluation point u  0. TWO NEW FOURIER METHODS In this section. we expect that cT k is squareintegrable in k over the entire real line. we develop analytic expressions for the Fourier transform of an option price and for the Fourier transform of the time value of an option. The characteristic function of this density is de®ned by 0T u  I ÀI eius qT s dsX 2 The initial call value CT k is related to the risk-neutral density qT s by CT k  I k eÀrT es À ek qT s dsX Note that CT k tends to S0 as k tends to ÀI. and let CT k be the desired value of a T-maturity call option with strike expk. Both Fourier transforms are expressed in terms of the characteristic function of the log price.1 The Fourier Transform of an Option Price Let k denote the log of the strike price K. and hence the call pricing function is not square-integrable. Consider now the Fourier transform of cT k de®ned by 2T v  Volume 2/Number 4. We comment later on the choice of . To obtain a square-integrable function. Let the risk-neutral density of the log price sT be qT s. the initial option value is then determined as C  SÅ1 À KeÀrT Å2 X Unfortunately. we consider the modi®ed call price cT k de®ned by cT k  expk CT k 3 for  b 0. For a range of positive values of .Option valuation using the fast Fourier transform 63 Assuming no dividends and constant interest rates r. Given the considerable speed advantages of the FFT. 3. both of which are amenable to evaluation by the FFT. 3. the FFT cannot be used to evaluate the integral.

the use of the factor expk or something similar is required. a sucient condition is provided by 20 beingÁ ®nite. one may determine an upper bound on  from the analytical expression for the characteristic function and the condition (7). we observe that 2T 0 is ®nite À provided that 0T À  1i is ®nite. For the modi®ed call value to be integrable in the positive log strike direction. Madan We ®rst develop an analytical expression for 2T v in terms of 0T and then obtain call prices numerically using the inverse transform expÀk CT k  2% I ÀI e Àivk expÀk 2T v dv  % I 0 eÀivk 2v dvX 5 The second equality holds because CT k is real. and hence for it to be square-integrable as well.64 P. We now consider the issue of the appropriate choice of the coecient . this requires that ES1  ` IX T 7 In practice. since the modulus of 0t is bounded by ES1 . Note that. Carr and D. From (6). The expression for 2T v is determined as follows: 2T v    I ÀI I e ivk I k ek eÀrT es À ek qT s ds dk s ÀI  1ivs  e e1ivs À eÀrT qT s ds   iv   1  iv ÀI À Á eÀrT 0T v À   1i X  2    À v2  i2  1v I ÀI eÀrT qT s esk À e1k eivk dk ds 6 Call values are determined by substituting (6) into (5) and performing the required integration. Positive values of  assist the integrability of the modi®ed call value over the negative log strike axis. Since the FFT evaluates the integrand at v  0. We also note that if   0 then the denominator vanishes when v  0. We now consider the issue of the in®nite upper limit of integration in (5). We note that the integration (5) is a direct Fourier transform and lends itself to an application of the FFT. We ®nd that one quarter of this upper bound serves as a good choice for . which implies that the function 2T v is odd in its imaginary part and even in its real part. From the de®nition of the characteristic function. B. which is independent T of v. inducing a singularity in the integrand. but aggravate the same condition for the positive log strike axis. it follows that   ES1  A T 2T v2 T T 4 2   À v2 2  2  12 v2  v Journal of Computational Finance .

Unfortunately. and hence the truncation error is bounded by p expÀk A Y a % which can be made smaller than 4 by choosing ab p expÀk A X % 4 3. the function zT k peaks at k  lnS0  and declines in both directions as k tends to positive or negative in®nity.Option valuation using the fast Fourier transform 65 for some constant A. Let T v denote the Fourier transform of zT k: T v  I ÀI eivk zT k dkX 9 The prices of out-of-the-money options are obtained by inverting this transform: zT k  Volume 2/Number 4. and therefore dicult to integrate numerically. In this section. The purpose of this section is to introduce an alternative approach that works with time values only. or that   2v ` p A X 2 v p A X a It follows that we may bound the integral of the upper tail by I a   2v dv ` 8 This bound makes it possible to set up a truncation procedure. Again letting k denote the log of the strike and S0 denote the initial spot price. the p integral of the tail in computing the transform of (5) is bounded by Aaa. Summer 1999 1 2% I ÀI eÀivk T v dvX 10 .2 Fourier Transform of Out-of-the-Money Option Prices In the last section we multiplied call values by an exponential function to obtain a square-integrable function whose Fourier transform is an analytic function of the characteristic function of the log price. Speci®cally. for very short maturities. we develop an analytic expression for the Fourier transform of zT k in terms of the characteristic function of the log of the terminal stock price. the call value approaches its nonanalytic intrinsic value causing the integrand in the Fourier inversion to be highly oscillatory. we let zT k be the Tmaturity put price when k ` lnS0 Y and we let it be the T-maturity call price when k b lnS0 X For any unimodal probability density function.

Madan For ease of notation. The function zT k approximates the shape of a Dirac delta function near k  0 when maturity is small (see Figure 1). we will derive T v assuming that S0  1 (one may always scale up to other values later).66 P. and this can cause diculties in the inversion. B. De®ne T v    I I ÀI eivk sinhkzT k dk eivk ek À eÀk zT k dk 2 15 ÀI T v À i À T v  i X 2 I ÀI Thus. We may then de®ne zT k by zT k  eÀrT I ÀI ek À es 1s`kYk`0  es À ek 1sbkYkb0 qT s dsX 11 The expression for T v follows on noting that T v  0 ÀI eivk eÀrT k ÀI ek À es qT s ds dk  I 0 eivk eÀrT I k es À ek qT s ds dkX 12 Reversing the order of integration in (12) yields T v  0 ÀI eÀrT qT s I s e1ivk À es eivk  dk ds  I 0 eÀrT qT s s 0 es eivk À e1ivk  dk dsX 13 Performing the inner integrations. It is useful in this case to consider the transform of sinhkzT k as this function vanishes at k  0. we get T v  e ÀrT   1 erT 0T v À i À 2 À X 1  iv iv v À iv 14 Although there is no issue regarding the behavior of zT k as k tends to positive or negative in®nity. Carr and D. simplifying. the time value is given by zT k  1 1 sinhk 2% eÀivk T v dvX Journal of Computational Finance . and thus the transform is wide and oscillatory. the time value at k  0 can get quite steep as T 3 0. and writing the outer integration in terms of characteristic functions.

4. Using the trapezoid rule for the integral on the right-hand side of (5) and setting vj   j À 1. We present in this section the details for writing the integration (5) as an application of the summation (16).12.0027. The value of  can be chosen to control the steepness of the integrand near zero. θ = . OPTION PRICING USING THE FFT The FFT is an ecient algorithm for computing the sum wk  N  j1 eÀi N  jÀ1kÀ1 x j 2% for k  1Y F F F Y NY 16 where N is typically a power of 2. Fourier inversion integrands with and without the use of sinh. t = .0027 5 Level of integrand Without sinh 0 Including sinh –5 –250 –200 –150 –100 –50 0 50 Log strike transform variate 100 150 200 250 FIGURE 1. α = 1. ν = .Option valuation using the fast Fourier transform 67 10 r = 0. The algorithm reduces the number of multiplications in the required N summations from an order of N2 to that of N ln2 N. an approximation for Ck is CT k % Volume 2/Number 4. Summer 1999 N expÀk  Àivj k e 2T vj X % j1 17 .1 σ = . a very considerable reduction.2.

we incorporate Simpson's rule weightings into our summation. Carr and D. if we choose  small in order to obtain a ®ne grid for the integration. then we observe call prices at strike spacings that are relatively large. we may write our call price as Cku   N expÀku   Ài2% jÀ1uÀ1 ibvj  e N e 2vj  3  À1 j À jÀ1 Y % 3 j1 24 where n is the Kronecker delta function that is unity for n  0 and zero otherwise. With Simpson's rule weightings and the restriction (23). Journal of Computational Finance . we write CT ku  % N expÀku   Ài! jÀ1uÀ1 ibvj e e 2T vj X % j1 22 To apply the fast Fourier transform. Madan The eective upper limit for the integration is now a  NX 18 We are mainly interested in at-the-money call values Ck. where Substituting (19) into (17) yields CT ku  % b  1 N!X 2 20 19 N expÀku   Àivj Àb!uÀ1 e 2T vj  % j1 for u  1Y F F F Y NX 21 Noting that vj   j À 1. One needs to make the appropriate choices for  and . we note from (16) that !  2% X N 23 Hence. The only dierences are that we replace the multiplication by expÀku  with a division by sinhk and the function call to 2v is replaced by a function call to v de®ned in (15). The summation in (24) is an exact application of the FFT. The use of the FFT for calculating out-of-the-money option prices is similar to (24). for this purpose. The FFT returns N values of k and we employ a regular spacing of size !. The next section addresses these issues in the context of the VG option pricing model used to illustrate our approaches.68 P. We would therefore like to obtain an accurate integration with larger values of  and. so that our values for k are ku  Àb  !u À 1 for u  1Y F F F Y NX This gives us log strike levels ranging from Àb to b. with few strikes lying in the desired region near the stock price. B. which correspond to k near 0.

Alternatively. implying a log strike spacing of 8%a4096  X00613. the Fourier transform of the distribution functions can be numerically inverted as reviewed in Section 1. Madan. and Chang (1998) provide a closed-form formula for both the density function and the option price. the Fourier transform of the modi®ed call can be numerically inverted without using FFT. we recommend selective checking of the FFT output against other methods. one can analytically invert this characteristic function to get the density function. who document that this process eectively removes the smile observed when plotting Black±Scholes implied volatilities against strike prices. providing control over skewness and kurtosis respectively. we must have r 2 2   À À 1X ` '4 '2# '2 Generally. The resulting process Xt 'Y Y # is a pure jump process with two additional parameters  and # relative to the Black± Scholes model. Carr. we found that setting the spacing   0X25 delivers the speedup of the FFT without compromising the accuracy delivered by other methods. and then integrate the density function against the option payo. The VG process is obtained by evaluating arithmetic Brownian motion with drift  and volatility ' at a random time given by a gamma process having a mean rate per unit time of 1 and a variance rate of #. Finally. Summer 1999 . one Àmust set Á the damping coecient . For the choice of the Volume 2/Number 4. THE FFT FOR VG OPTION PRICING The VG option pricing model is described in detail in Madan. or a little over half a percentage point. Carr. In this last case. To accomplish this. as a quality control. The resulting risk-neutral process for the stock price is St  S0 exprt  Xt 'Y Y #  3tY t b 0Y 25 where. and Chang (1998). we evaluate the term 0T À  1i in (7) as À Á 0T À  1i  explnS0   r  3T1 À #  1 À 1 ' 2   12 #ÀTa# X 2 For this expression to be ®nite. For our FFT methods.Option valuation using the fast Fourier transform 69 5. the mean rate of return on the 2 stock equals the interest rate r. Carr. we anticipate in our estimates that the expectation of S2 is ®nite and T that this upper bound is above unity. We used N  4096 points in our quadrature. A value of  above unity and well below the upper bound performs well. Madan. and Chang (1998) show that the characteristic function for the log of ST is 0T u  explnS0   r  3T1 À i#u  1 ' 2 u2 #ÀTa# X 26 2 To obtain option prices. by setting 3  1a# ln1 À # À 1 ' 2 #. which is adequate for practice. However.

90 288. The analytical method of Madan. Carr.12 . and the time value (TV) approach.09 11. 78.16 À. Carr and D. For the modi®ed time value. with the spot set at 6100. we used a value of   1X5.25 2. 3. the interest rate at X05Y and the dividend yield at X03. VGPÐthe analytic formula in Madan. computing 160 option prices in around 6X5 seconds and 11X5 seconds respectively. By far the slowest method is the practice of solving for the probability of ®nishing in-the-money and for the delta.53 29.0 À. VGFIC. We evaluated option prices using the FFT to invert the modi®ed call price (termed VGFFTC) and using it to invert the modi®ed time value (termed VGFFTTV).25 6. we used   1X10.82 Case 4 . and 79 the prices reported by VGPS were respectively ÀX2425. This mean and standard deviation for VGPS are X0005658 and X0057 respectively.25 2.63 197. and Chang (1998) has a speed that is broadly comparable with that of direct Fourier inversion without invoking the fast Fourier transform. with substantial errors in Case 4. Case 1 ' #  t VGFFTC VGFFTTV VGFIC VGPS VGP .41 Case 2 . Additionally we note that this method is not only slow but also inaccurate.25 6. Carr. we evaluate the option prices in this case for strikes ranging from 70 to 130 in steps of a dollar.18 181. VGP.50 22. were in agreement to four decimal places and were respectively X6356.74 191. The corresponding values for the modi®ed call price are TABLE 1.16 À. Madan dampening coecient in the transform of the modi®ed call price. we computed for the remaining strikes the mean errors and their standard deviations. The correct price reported by all the other methods.97 24. The errors were measured as deviations from the analytical formula VGP.10 .06 24. and Chang (1998).52 11. VGFICÐFourier inversion of the modi®ed call price without using FFT.62 23. At the strikes of 77. ÀX2299.72 11.48 23. CPU times for VG pricing.0 À.48 11. For a more detailed evaluation of the pricing errors. 2. We see from Table 1 that both FFT methods are considerably faster than the other methods.33 1 6.74 Journal of Computational Finance . and 1X5386.57 23. VGPSÐcomputing delta and the risk-neutral probability of ®nishing in-themoney. For a more detailed analysis of Case 4.70 P.10 1 6. B. We used 160 strike levels at four combinations of parameter settings and compared the CPU times with those required by the following three other methods: 1.12 .33 . X6787. The results are presented in Table 1.81 Case 3 . and X7244.56 22.

Bakshi and Madan (1999).25 –0. Summer 1999 . we observe that the time value approach is an order of magnitude lower in its pricing errors compared with VGFIC. Figure 2 presents a graph of the pricing errors excluding the troublesome strikes for VGPS.02 FIGURE 2. Hence.01 –0. furthermore.25. where the modi®cation involves multiplying by an exponential. σ = . By focusing Volume 2/Number 4. SUMMARY AND CONCLUSIONS We analytically developed two Fourier transforms in terms of the characteristic function of the log of the terminal stock price.025 70 80 90 100 Strike 110 120 130 –0. r = .005 –0. Fourier inversion using the FFT yields the modi®ed call price and the modi®ed time value respectively. where the modi®cation involves multiplying by the hyperbolic sine function.015 Analytical less VGPS Analytical less modified call Analytical less time value p = 100.05.01 0. q = .03.015 0. Bates (1996).Option valuation using the fast Fourier transform 71 0. 6. and Scott (1997) can be both slow and inaccurate. which is considerably better than VGPS.0. t = . The second is the Fourier transform of the modi®ed time value. ν = 2.005 0 Errors –0. We illustrate our methods for the VG option pricing model and ®nd that the use of the FFT is considerably faster than most available methods and.10. X0001196 and X0041. θ = . while for the time value approach we have X000006059 and X0002662. that the traditional method described by Heston (1993). The ®rst is the Fourier transform of the modi®ed call price written as a function of log strike. Pricing errors in Case 4 of Table 1. The primary diculty with VGPS comes from the behavior of the term iu in the denominator for values of u near zero.