Fast Fourier Transform and Option Pricing

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

FAST FOURIER TRANSFORM AND OPTION PRICING

ALE

CERN
City University London
Abstract. This article is a concise introduction to applications of Fourier transform and
FFT in option pricing.
1. Introduction
Section 2 denes the discrete Fourier transform (DFT) and section 3 explains how it
arises in the binomial asset pricing model. Section 4 talks about fast implementation of
DFT. Section 5 concludes by discussing applications of FFT in continuous-time nance.
2. Discrete Fourier Transform (DFT)
Denote by .
n
:= cos
2
n
+i sin
2
n
= e
i
2
n
the :-th root of unity. Geometrically the numbers
.
j
n
, with , = 0, . . . , : 1, represent : equidistantly spaced points on the unit circle in the
complex plane. The point .
j+1
n
is reached from .
j
n
by turning 1,:-th of the full circle
anticlockwise.
Denition 2.1. Given an :-dimensional vector a = [a
0
, a
1
, . . . , a
n1
] we say that
rev(a) := [a
0
, a
n1
, . . . , a
1
]
is a in reverse order. Intuitively, if a is written around the circle in the anticlockwise
direction then rev(a) is obtained by reading from a
0
in the clockwise direction.
Denition 2.2. The discrete Fourier transform of a = [a
0
, a
1
, . . . , a
n1
] C
n
is the vector
/ = [/
0
, /
1
, . . . , /
n1
] C
n
such that
/
k
=
1
_
:
n1

j=0
a
j
.
jk
n
=
1
_
:
n1

j=0
a
j
e
i
2
n
jk
. (2.1)
We write
/ = T (a) .
Equation (2.1) represents the forward transform. The inverse transform is given by
a
l
=
1
_
:
n1

k=0
/
k
.
kl
n
=
1
_
:
n1

k=0
/
k
e
i
2
n
kl
, (2.2)
and we write
a = T
1
(/) .
Date: February 26, 2008.
Key words and phrases. FFT, Fourier transform, option pricing, Lvy process.
JEL Classication: G12, C65.
1
FFT AND OPTION PRICING 2
Proposition 2.3. The following statements hold:
(1) The inverse discrete Fourier transform of sequence / is the same as the forward
transform of the same sequence in reversed order
T
1
(/) = T (rev (/)) , (2.3)
and vice versa
T
1
(rev (/)) = T (/) . (2.4)
(2) T
1
is indeed an inverse transformation to T, that is
T
1
(T (a)) = T
_
T
1
(a)
_
= a. (2.5)
Next we will explain the link between binomial option pricing and the DFT.
3. Binomial option pricing
Consider a two-period binomial model with high rate of return of 25% and low rate of
return of 20%. The risk-free total return is 1
f
= 1. Assuming that the initial stock price
is 100, the evolution of the stock price in the two periods ahead is given in Table 1.
number of
low returns ,
o(0, ,) o(1, ,) o(2, ,)
0 100 125 156.25
1 80 100
2 64
Table 1. Binomial stock price lattice.
Suppose we wish to price a call option struck at 1 = 100 , maturing 2 periods from now.
The intrinsic value of the option at maturity is
C(2, :) =
_
56.25 0 0

>
. (3.1)
Asset pricing theory tells us that the no-arbitrage price of the option is given recursively by
C(t, ,) =

u
C(t + 1, ,) +
d
C(t + 1, , + 1)
1
f
, (3.2)
where the risk-neutral probabilities
u
and
d
satisfy

u
=
1
f
1
d
1
u
1
d
=
1 0.8
1.25 0.8
= 4,9, (3.3)

d
= 1
u
= 5,9. (3.4)
Recursive application of (3.2) with terminal value (3.1) leads to option prices in Table 2.
number of
low returns ,
C(0, ,) C(1, ,) C(2, ,)
0 11
1
9
25 56.25
1 0 0
2 0
Table 2. Option prices in a binomial lattice.
FFT AND OPTION PRICING 3
3.1. Option pricing by circular convolution. For any two :-dimensional vectors a =
[a
0
, a
1
, . . . , a
n1
], / = [/
0
, /
1
, . . . , /
n1
] we dene circular (cyclic) convolution of a and / to
be a new vector c = [c
0
, c
1
, . . . , c
n1
],
c = a ~/,
such that
c
j
=

k+l=j or k+l=j+n
a
k
/
l
. (3.5)
Let us use the binomial example to illustrate the use of circular convolution in option
pricing. At maturity the option has three values:
C(2, :) =
_
56.25 0 0

>
.
Let vector contain the conditional one-period risk-neutral probabilities
u
= 0.43523,

d
= 0.56477. Since there are just two states over one period the remaining entries will be
padded by zeros:
=
_

u

d
0

>
.
To compute option prices at time t = 1 we evaluate
C(1, :) = C(2, :) ~rev(),1
f
=
_
25 0 31.25

>
. (3.6)
Note that we only need the rst two prices in (3.6). The last entry is meaningless it
corresponds to the no-arbitrage price of the pay-o [0 56.25]. Moving backwards in time we
have
C(0, :) = C(1, :) ~rev(),1
f
=
_
11
1
9
17
13
36
27
7
9

>
.
Again, only the rst entry is meaningful.
This procedure can be generalized to multinomial lattices as follows:
Proposition 3.1. Consider an -period model in which the random variables o
t+1
,o
t
are
independent, identically distributed under the risk-neutral measure and such that lno
t+1
,o
t
takes / distinct, equidistantly spaced values with probabilities
1
, . . . ,
k
. Then stock price
can be represented by a multinomial lattice with 1 +t(/ 1) values at time t. Let C(, :)
R
n
, : = 1 + (/ 1), be the pay-o of a derivative asset as a function of o
N
, and dene
risk-neutral price of the option recursively by setting
C(t, ,) =
k

l=1

l
C(t + 1, , + | 1),1
f
, 1 _ | _ 1 + t(/ 1),
where 1
f
is the total risk-free return over one period.
Let be a vector with rst / entries
1
, . . . ,
k
and padded by zeros to dimension :. Then
C(t, :) can also be obtained from the formula
C(t, :) = C(, :) ~
(Nt) times
..
rev() ~rev() ~. . . ~rev() ,1
Nt
f
. (3.7)
The vector C(t, :) computed in this manner has more entries than needed (: in total), the
useful 1 + t(/ 1) entries are at the top end of the vector.
Multinomial lattices provide a natural numerical tool for the discretization of Lvy
processes, which are time homogeneous processes with independent increments.
FFT AND OPTION PRICING 4
3.2. Pricing via discrete Fourier transform. In this section we will reformulate the
circular pricing formula (3.7) using the discrete Fourier transform.
Proposition 3.2. Consider a, / C
n
. The following equalities hold
T (a ~/) =
_
:T (a) T (/) , (3.8)
T
1
(a ~/) =
_
:T
1
(a) T
1
(/) , (3.9)
Now apply the inverse transform T
1
to both sides of (3.7), using property (3.9) on the
right hand side
T
1
(C
0
) = T
1
(C
N
)
_
_
dimension of C
N
T
1
(rev()) ,1
f
_
N
. (3.10)
Recall from (2.4) that T
1
(rev()) = T () and substitute this into (3.10). Finally, apply
the forward transform to both sides again and use (2.5) on the left hand side to obtain
C
0
= T
_
T
1
(C
N
)
_
_
dimension of C
N
T () ,1
f
_
N
_
. (3.11)
4. Fast Fourier Transform (FFT)
A naive implementation of DFT algorithm with :-dimensional input requires :
2
complex
multiplications. An ecient implementation of DFT, known as the fast Fourier transform
(FFT), will only require 1:ln: operations, but one still has to choose : carefully because
the constant 1 can be very large for some choices of :. There are many instances when
FFT of length :
1
is faster than FFT of length :
2
even though :
1
:
2
. This somewhat
counterintuitive phenomenon is illustrated in Table 3. It is in general advisable, to use
transform size of the form : = 2
p
3
q
5
r
where and r should be small compared to j. In
the context of option pricing this is always possible by padding the payo vector C
N
with
a sucient number of zeros.
: factorization execution time in seconds
999 983 999 983 26.3
2097 150 2 3 5
2
11 31 41 1.4
2097 152 2
21
0.42
2160 000 2
7
3
3
5
4
0.40
Intel Core 2, 2GHz, 2Gb RAM, MATLAB 6.5
Table 3. Execution time of FFT algorithm for dierent input lengths :.
An ecient implementation of FFT for all transform lengths is suggested in Frigo and
Johnson (1998). Ecient implementation of mixed 2, 3, 5-radix algorithm is due to Tem-
perton (1992). Duhamel and Vetterli (1990) survey a wide range of FFT algorithms. Fast
implementation of (3.11) for Gauss and Matlab is discussed in

Cern (2004).
5. FFT in continuous-time models
In the continuous-time limit the discrete Fourier transform is replaced by the (continuous)
Fourier transform: that is for a contingent claim with payo C
T
= )(lno
T
) we wish to nd
coecients c() such that
)(r) =
_
+i1
i1
c()e
vx
d(,i) (5.1)
FFT AND OPTION PRICING 5
for some real constant , (for details see Hubalek et al. 2006). The formula for obtaining the
coecients c() is known subject to some technical conditions it is given by the inverse
Fourier transform:
c() =
1
2
_
+1
1
)(r)e
vx
dr. (5.2)
For example, the payo of a European call option with strike price c
k
corresponds to )(r) =
(e
x
e
k
)
+
whereby simple integration yields
c() =
e
(1v)k
2( 1)
for Re 1.
Substituting for C
T
from (5.1) the risk-neutral pricing formula reads
C
0
(lno
0
) = e
rT
E[C
T
(lno
T
)] = e
rT
E
__
+i1
i1
c()e
v ln S
T
d(,i)
_
= e
rT
_
+i1
i1
c()e
v ln S
0
E
_
e
v ln S
T
=S
0
_
d(,i). (5.3)
In practice one is mainly interested in models where the risk-neutral characteristic function
of log stock return c(i) :=E[c
v ln S
T
=S
0
] is available in closed form. This is the case in the
class of exponential Lvy models with ane stochastic volatility process, discussed in Carr
and Wu (2004). This class contains a large number of popular models allowing for excess
kurtosis, stochastic volatility and leverage eects. It includes, among others, the stochastic
volatility models of Heston (1993), Due et al. (2000) and all exponential Lvy models
(cf. Madan and Seneta (1990), Eberlein et al. (1998)). For a detailed discussion of ane
processes see Due et al. (2003) and Kallsen (2006).
Option pricing therefore boils down to evaluation of integrals of the type
C
0
(lno
0
) = o
0
e
rT
_
+i1
i1
e
(v1)(ln S
0
k)
2( 1)
c(i)d(,i)
= 2o
0
e
rT
_
+i1
+i0
Re
_
e
(v1)(ln S
0
k)
2( 1)
c(i)
_
d(,i), (5.4)
where both c() and c() are known. To evaluate (5.4) one truncates the integral at a high
value of Im and then uses a numerical quadrature to approximate it by a sum, see Lee
(2004) for a detailed exposition. This yields an expression of the type
C
0
(lno
0
) - 2 Re
_
_
o
0
e
rT
n1

j=0
n
j
e
(v
j
1)(ln S
0
k)
2
j
(
j
1)
c(i
j
)
_
_
, (5.5)
where the integration weights n
j
and abscissas
j
depend on the quadrature rule. It is
particularly convenient to use Newton-Cotes rules, which employ equidistantly spaced ab-
scissas. For example, a trapezoidal rule yields

j
= , + i,, (5.6)
Im
max
= (: 1),
n
0
= n
n
=
1
2
,
n
1
= n
2
= ... = n
n1
= .
References 6
In conclusion, if the characteristic function of log returns is known, one needs to evaluate a
single sum (5.5) to nd the option price. Consequently, there is no need to use FFT if one
wishes to evaluate the option price for one xed log strike /.
5.1. FFT option pricing with multiple strikes. The situation is dierent if one wishes
to evaluate the option price (5.5) for many dierent strikes simultaneously. Let us consider
: values of moneyness i
l
= lno
0
/
l
ranging from i
max
:i to i
max
with increment
i
i
l
= i
max
|i, (5.7)
| = 0, . . . , :1. (5.8)
The idea of using FFT in this context is due to Carr and Madan (1999), who note that
with equidistantly spaced abscissas (5.6) one can write the option pricing equation (5.5) for
dierent strike values (5.7, 5.8) as a .-transform with .
l
= e
ivl
:
C
0l
= 2o
0
e
(1)
l
rT
Re
n1

k=0
e
ivkl
a
j
, (5.9)
a
j
= n
j
e
ijv
max
c(i
j
)
2
j
(
j
1)
.
Setting i =
2
n
Carr and Madan obtain a discrete Fourier transform in (5.9). Chour-
dakis (2004) points out that one can evaluate (5.9) by means of a Fractional FFT with
i ,=
2
n
. For the discussion of relative merits of the two strategies see

Cern (2004).
5.2. Further reading. Further applications of FFT appear in Albanese et al. (2004),
Andreas et al. (2002), Benhamou (2002), Chiarella and El-Hassan (1997), Dempster and
Hong (2002), Rebonato and Cooper (1998). For latest developments in option pricing using
(continuous) Fourier transform see Carr and Wu (2004),

Cern (2007),

Cern and Kallsen
(2006), Hubalek et al. (2006) and Kallsen and Vierthauer (2006). Proofs of Propositions
2.3 and 3.2 can be found in

Cern (2004).
References
Albanese, C., K. Jackson, and P. Wiberg (2004). A new Fourier transform algorithm for
value at risk. Quantitative Finance 4, 328338.
Andreas, A., B. Engelmann, P. Schwendner, and U. Wystup (2002). Fast Fourier
method for the valuation of options on several correlated currencies. In J. Hakala
and U. Wystup (Eds.), Foreign Exchange Risk. Risk Publications.
Benhamou, E. (2002). Fast Fourier transform for discrete Asian options. Journal of Com-
putational Finance 6(1), 4968.
Carr, P. and D. B. Madan (1999). Option valuation using the fast Fourier transform.
Journal of Computational Finance 2, 6173.
Carr, P. and L. Wu (2004). Time-changed Lvy processes and option pricing. Journal of
Financial Economics 71(1), 113141.

Cern, A. (2004). Introduction to FFT in nance. Journal of Derivatives 12(1), 7388.

Cern, A. (2007). Optimal continuous-time hedging with leptokurtic returns. Mathemat-


ical Finance 17(2), 175203.

Cern, A. and J. Kallsen (2006). Meanvariance hedging and optimal investment in He-
stons model with correlation. SSRN working paper, http://ssrn.com/abstract=
909305. To appear in Mathematical Finance.
References 7
Chiarella, C. and N. El-Hassan (1997). Evaluation of derivative security prices in the
Heath-Jarrow-Morton framework as path integrals using fast Fourier transform tech-
niques. Journal of Financial Engineering 6(2), 121147.
Chourdakis, K. (2004). Option pricing using the fractional FFT. Journal of Computa-
tional Finance 8(2), 118.
Dempster, M. A. H. and S. S. G. Hong (2002). Spread option valuation and the fast
Fourier transform. In H. Geman, D. Madan, S. R. Pliska, and T. Vorst (Eds.), Math-
ematical Finance Bachelier Congress 2000, pp. 203220. Springer.
Due, D., D. Filipovic, and W. Schachermayer (2003). Ane processes and applications
in nance. The Annals of Applied Probability 13(3), 9841053.
Due, D., J. Pan, and K. Singleton (2000). Transform analysis and asset pricing for ane
jump diusions. Econometrica 68, 13431376.
Duhamel, P. and M. Vetterli (1990). Fast Fourier transforms: A tutorial review and a
state of the art. Signal Processing 19, 259299.
Eberlein, E., U. Keller, and K. Prause (1998). New insights into smile, mispricing and
value at risk: The hyperbolic model. Journal of Business 71(3), 371405.
Frigo, M. and S. G. Johnson (1998). FFTW: An adaptive software architecture for the
FFT. In Proc. IEEE Intl. Conf. On Acoustics, Speech, and Signal Processing, Vol-
ume 3, Seattle, WA, pp. 13811384.
Heston, S. (1993). A closed-form solution for options with stochastic volatility with ap-
plications to bond and currency options. Review of Financial Studies 6, 327344.
Hubalek, F., J. Kallsen, and L. Krawczyk (2006). Variance-optimal hedging for processes
with stationary independent increments. The Annals of Applied Probability 16, 853
885.
Kallsen, J. (2006). A didactic note on ane stochastic volatility models. In Y. Kabanov,
R. Liptser, and J. Stoyanov (Eds.), From Stochastic Calculus to Mathematical Fi-
nance: The Shiryaev Festschrift, pp. 343368. Berlin: Springer.
Kallsen, J. and R. Vierthauer (2006). Variance-optimal hedging in ane stochastic volatil-
ity models. Preprint.
Lee, R. W. (2004). Option pricing by transform methods: Extensions, unication and
error control. Journal of Computational Finance 7(3), 115.
Madan, D. and E. Seneta (1990). The variance gamma model for stock market returns.
Journal of Business 63(4), 511524.
Rebonato, R. and I. Cooper (1998). Coupling backward induction with monte carlo
simulations: A fast Fourier transform (FFT) approach. Applied Mathematical Fi-
nance 5(2), 131141.
Temperton, C. (1992). A generalized prime factor FFT algorithm for any : = 2
p
3
q
5
s
.
SIAM Journal on Scientic and Statistical Computing 13, 676686.
Cass Business School, City University London
Current address: 106 Bunhill Row, EC1Y 8TZ London, U.K.
E-mail address: cerny@martingales.info
URL: http://www.martingales.info

You might also like