Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

17
Introduction  t o  Fast Fourier Transform  i n  Finance ALESCERNY is a lecturer in finance at Tanaka Business School, Imperial College London in the U.K. a.cerny@imperial,ac.uk The Fourier transform is an important tool in finan- cial economics. It delivers real-time pricing while allowing for a realistic structure of asset returns, taking into account excess kurtosis and stochastic volatility. Fourier transform is also rather abstract and thus intimidating to many practitioners. This article explains the working of the ast Fourier transform in the familiar binomial option pricing model. In fact, a good understanding of FFT requires no more than some high school mathematics and familiarity with roulette, or a bicycle wheel, or a similar  circular object  divided into equal-sized seg- ments. The returns to such a small intellectual investment are overwhelming. T he Fourier transform is becoming an increasingly popular and impor- tant tool in financial economics because it delivers real-time pricing while allowing for important properties of asset returns, such as excess kurtosis, stochastic volatility, and leverage effects, discussed in Heston [1993], Carr and Madan [1999], and Carr and W u 12004]. These impressive results come at a price—considerable abstraction that can deter practitioners. My aim is to explain the working of the discrete Fourier transform (DFT) and its fast implementation (FFT) in the familiar bino- mial option pricing model. The binomial model plays two roles in this regard. It high- lights the usefulness of FFT in an accessible wa y, showing an impo rtant com putational tool that has many other applications in finance. It also motivates the passage to continuous time, thereby providing intuition behind f ast pricing formulas in a very rich class of models. I do not provide an exhaustive account of DFT in  finance.  One can quite easily extend the Fourier pricing formula from a binomial lattice to multinomial lattices; see Cerny [2004, Chapter  Further applications of FFT appear in Albanese, Jackson, and Wiberg [2004], Andreas et al. [2002], Benhamou [2002], Chiarell a and El-Has san [1997[ , Demp ster and Hong [2002], and Rebonato and Cooper [1998].  For the most up-to-date developments in option pricing using (continuous) Fourier transform, see Carr and Wu [2004], and for evaluation of hedging errors see Cerny [2003] and Hubalek, Kallsen, and Krawczyk [2004]. I. DISCRETE EOURIER TRANSFORM AND BINOMIAL OPTION PRICING In explaining how and why option prices in the binomial model can be com- puted via a discrete Fourier transform, we assume the reader  is  familiar with the concept of risk-neutral pricing. We first introduce complex numbers and discuss their g eom etric properties, especially as they regard the unit circle; then we define the discrete Fourier transform (DFT) and highlight some of its properties. A simple binomial option pricing example shows how the pricing procedure can be performed on a circle. FALL  2004 THE JOURNAL OF DERIVATIVES 73

description

Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

Transcript of Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

Page 1: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 1/17

I n t r o d u c t i o n to Fast Fou rier

Transform in F i n a n c e

l College London in

The Fourier transform is an important tool in finan-

cial economics. It delivers real-time pricing while

allowing for a realistic structure of asset returns,

taking into account excess kurtosis and stochastic

volatility. Fourier transform is also rather abstract

and thus intimidating to many practitioners.

This article explains the working of the ast Fourier

transform in the familiar binomial option pricing

model. In fact, a good understanding of FFT

requires no more than som e high school mathematics

and familiarity with roulette, or a bicycle wheel, or

a similar circular object divided into equal-sized seg-ments. The return s to such a small intellectual

investment are overwhelming.

The Fourier transform is becoming

an increasingly popular and impor-

tant tool in financial economics

because it delivers real-time pricing

while allowing for important properties of asset

returns, such as excess kurtosis, stochastic

volatility, and leverage effects, discussed in

Heston [1993], Carr and Madan [1999], and

Ca rr and W u 12004]. These impressive results

come at a price—considerable abstraction that

can deter p ractitioners.

My aim is to explain the working of the

discrete Fourier transform (DFT) and its fast

implementation (FFT) in the familiar bino-

mial option pricing model. The binomial

model plays two roles in this regard. It high-

lights the usefulness of FFT in an accessible

way, showing an important com putational tool

that has many other applications in finance. It

also motivates the passage to continuous time,thereby providing intuition behind fast pricing

formulas in a very rich class of models.

I do not provide an exhaustive account

of DFT in finance. One can quite easily extend

the Fourier pricing formula from a binomial

lattice to multinomial lattices; see Cerny [2004,

Chapter 12]. Further applications of FFT appear

in Albanese, Jackson, and Wiberg [2004],

Andreas et al. [2002], Benhamou [2002],

Chiarella and El-Hassan [1997[, Dempster and

Hong [2002], and Rebonato and Cooper[1998]. For the most up-to-date developments

in option pricing using (continuous) Fourier

transform, see Carr and Wu [2004], and for

evaluation of hedging errors see Cerny [2003]

and Hubalek, Kallsen, and Krawczyk [2004].

I . DISCRETE EOURIER TRANSFORM

A N D B I N O M I A L O P T I O N P R I C I N G

In explaining how and why option

prices in the binomial model can be com-

puted via a discrete Fourier transform, we

assume the reader is familiar with the concept

of risk-neutral pricing. We first introduce

complex numbers and discuss their g eom etric

properties, especially as they regard the unit

circle; then we define the discrete Fourier

transform (DFT) and highlight some of its

properties. A simple binomial option pricing

example shows how the pricing procedure

can be performed on a circle.

FALL 2004 THE JOURN AL OF DERIVATIVES 7 3

Page 2: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 2/17

Introduction to Complex Numbers Complex Multiplication

Th e discrete Fourier transform is abo ut evenly spaced

points on a circle. From a mathematical point of view, evenly

distributed points on a circle are most easily described by

complex num bers. The geom etry of those numbers deter-mines the properties of Fourier transform.

Complex numbers are a convenient way to capture

vectors in a two-dimensional space. Exhibit 1 depicts a

vector 2 + i. This is a point on the plane if we move two

units on the real (horizontal) axis and one unit on the imag-

inary (vertical) axis.

This terminology is somewhat unfortunate. The imag-

inary axis is no less real than the real axis. It would be more

appropriate to talk about "horizontal" and "vertical" numbers.

The rules for addition of complex numbers are the

same as with vectors. For example:

2

14-

^ 3

- 4

^ 5

- 3

translated into complex notation would read:

(2 -f i) + (3 - 4i) = 5 - 3i

Likewise, multiplication by a scalar (a real number) worksthe same way as for vectors:

- 32

1

- 6

- 3

translates into complex numbers as

- 3 (2 -K i) = - 6 - 3i

Complex numbers are very good at describing the

mov ement around a unit circle. As shown in Exhibit 2-A, the

unit circle intersects the real axis at points —1,1, and the imag-

inary axis at points —i and i. A point A on the unit circle iuniquely characterized by its argumen t (j) —the angle betwee

the real axis and the line OA. More specifically. Exhibit 2-B

shows that the point A can b e expressed as cos (O -I- i sin (p

On most computers the functions sin and cos are

implemented in such a way that the angle (p must be give

in radians. Radians measure the distance traveled on th

perim eter of the unit circle. Th e entire perime ter of the unit

circle has length 2Tt, which correspond s to 360°. Th e angle

corresponding to i is 90° or 71/2. The angle corresponding

to —1 is 180° or 71, and so on, as shown in Exhibit 3.

Below we state four important facts about complexmultiplication:

• Mu ltiplying complex numb ers on a unit circle require

adding angles. The angle of i is 90°. The angle of i X

i will be 90° + 90° = 180°, which corresponds to - 1

see Exhibit 4-A. In complex number notation, this

gives the formula:

E X H I B I T 1

C o m p l e x N u m b e r a s a T w o - Di m e n s i o n a l V e c t o r

E X H I B I T 2P o in t o n U n i t C ir c le E xp r e s s e d a s a C o m p l e x N u m b e r

a) b)

74 INTRODUC TION T O FAST FOURIER TRANSFORM IN FINANCE FALL 200

Page 3: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 3/17

E X H I B I T 3

C o n v e r s i o n B e t w e e n D e g r e e s a n d R a d i a n s

Angle

Angle

in

in

degrees

radians

0

0

30

7r

6

60

7r

3

90

TT

2

180

TT

270

h

360

i X i = i2 = -1 (1)

Th e general definition of complex multiplication fol-

lows naturally:

- 6162+ i (2)

• It also follows that the "multiplication is adding angles"rule works quite generally on the unit circle:

(cos (pi + i sin ip^) x (cos (p2 + i sin </?2)

= cos {ifi + ip2) + i sin {(f^ + ^p^) (3)

• O ne can express points on the unit circle mo re ele-

gantly using the Euler formula:

according to the number of elementary rotations needed

to reach the particular spoke. Note that s ince we are

moving in a circle we will come back to the starting point

after five rotations counterclockwise:

and also after five rotations clockwise:

/ \0 / \—5 / \—10

{Z5) = {Z5) = {Z5) =

/ \ 1 / \ —4

{Z5) = {Z5) =/ \ — 1 4

= {Z5) = • • •

Thus the numbering of spokes is ambiguous. For

example, indexes 0, 5, —5 refer to the same spoke, as in

Exhibit 5-B.Below we summarize the mos t impor tant proper-

ties of evenly spaced points on th e un it circle. These pr op -

erties are essential for the understanding of the discrete

Fourier transform.

• Let z be a rotation by on e n-th of a full circle

cos (f + i sin ip = e"''

whereby (3) becomes

(4)

(5)

See Exhibit 4-B.

G e o m e t r y of S p o k e d W h e e ls

It is easy to construct a wheel with evenly placed

spokes using complex numbers. Suppose we want to place

five evenly spaced points on the uni t circle. One-fifth of

the full circle is characterized by the angle 27t/5. H ence ,

the first spoke will be placed at e'"f. Let us de no te thisnumber by z^ (fifth root of unity):

25 = e'"f

Since the multiplication by z^ causes counterclock-

wise rotation by one-fifth of the full circle, the second

spoke will be (^5)", the third spoke (^'5)'', and so on, as

Exhibit 5-A shows.

This provides a natural numbering of the spokes.

Then:

++ ••• T'' = 0 (6)

for any n. This is because the points {zj" , (arj' , . . . ,

(z )""' are evenly distributed on a unit circle, and thus the

result of summation must not change if we rotate the set

of points by one w-th of a full circle. The only vector that

remains unchanged after such rotation is the zero vector.

• O ne can generalize this result further. Let k be an

integer between ] and n — 1. Then:

(7)

for any n.

The reason for this result is again rotational sym-

m etry of poin ts (z*) , (z*) ,...,(^z^y . The difference is

that in the Equation (6) sequence each spoke occurs exactly

once, while in the Equation (7) sequence the same spoke

can occur several times (try n = 4, k = 2).

FALL 2004 T H E JOURNAL OF DERIVATIVES 75

Page 4: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 4/17

E X H I B I T 4

Complex Multiplication on a Unit Circle

exp(i<p,)

E X H I B I T 5

Evenly Distributed Points on a Circle

a) b)

-5 0 5

The case with k-0 requires special attention. Since

{zy = 1 for all J we have:

To summarize:

' = n for fc = 0, ±n, ±2n,.. .(8)

t y + • • • + {zty' = O f o r ^ = O , ± n , ± 2 n , . . . ( 9 )

Reverse Order on a Circle

Given a sequence of n numbers a = [ a ^ , a ^ . . ., (i^_^],

we can say that

rev(a ) = [ a o , a n _ i , . . . ,ai]

is a in reverse order. If a is wri t ten a round a circle in co

terclockwise direction then Tev{a) is found by reading fro

(3Q in clockwise direction. See Exhibit 6. Note that rev(fl

is not equal to [a^^_ ^ , . . ., a ^ oj .

We wOl require the following fact for future reference.

Fo r anyk, the sequence

is the same as the sequence

n - l

taken in the reverse order:

7 6 INTR.ODUCTION TO FAST FOURIER TRANSFORM IN FINANCE F A L L 2004

Page 5: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 5/17

E X H I B I T 6

Reverse Order on a Circle

rev(a)

This is because

(10)

y for

a n y j .

Discrete Fourier Transform (DFT)

Now t ake z^ = e'"^ (this number is called the M-th

root of unity ). Let a , a , . . ., a^_] be a sequence of «

(in general complex) numbers . The discrete Fourier trans-

form of (JQ, a,, . . ., a _ J is the sequence b^, b^, . . ., b^^_^

such that:

n - l

n - l n - l

V"'j=o V"'j=o

In short we will write:

(11)

Equat ion (11) represents the forward transform. The

inverse transform is

nra-1

..-kl

which we can write:

(12)

The inverse discrete Fourier transform of sequence

5Q, 5j, . . . , S J is the same as the forward transform

of the same sequence in reverse order:

J'-^b) = T {K V (h)) (13)

and vice versa:

(14)

This is a direct consequence of (10).

• .F"' is indeed an inverse transformation of.?-; that is:

T-^{J^{a))=J^{J^-'{a)) = a (15)

This result relies on (8) and (9); for a proo f see the appendix.

Binomial Option Pricing

Consider the distribution of FTSE 100 monthly

returns calibrated to reflect market volatility of 4.4% a

month and expected rate of return of 0.9% a month:

= 1.009

+ (1 - p)Rl = 0.044 + 1.009

Choosing the objective probability to bep = K, wesolve for R and R,:

= 1.053 withp« =1

0.965 with pd = -

(16)

(17)

Assuming that the initial value of the FTSE index

is 5100 points, the evolution of the index in the three

months ahead is given by the lattice in Exhibit 7. Sup-

pose wewant to price a call option struck at K = 5355

(5% out of the money), maturing three months from now.

The intrinsic value of the option at maturity is

C7(3) =

599.64

102.00

0.00

0.00

(18)

F A L L 2004 THE JOURNAL OF DERIVATIVES 77

Page 6: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 6/17

E X H I B I T 7

B i n o m i a l S t o c k P r ic e L a t ti c e

number of

low returns

0

1

2

3

5(0)

5100.00

5(1)

5370.30

4921.50

5(2)

5654.93

5182.34

4749.25

5 (3)

5954.64

5457.00

5000.96

4583.02

KT a Kv w 1 ir\- 0.43523a + 0.56477CdNo-Arb i t rage Value ( Q -1.0033

(22

Recursive application of (22) with terminal value (18)

produces the option prices in Exhibit 8.

O p t i o n P r i c in g o n a C ir c l e

For any two n-dimensional vectors a = [a^, a^, . .

a^^_ | ] , h = [tp, 6p . . ., ^|,_]] we define circular {cyclic)

volution of fl and /) to b e a n ew vector c.

Asset pricing theory tells us that the no-arbitrage

price of the payoff:

is given as the risk-neutral expectation of the discounted

payofi^:

No -Ar bitra ge Value ( Q = ^"'^ " "*" (19)

where the risk-neutral probabilities q^ ^ an d q^ are chosen

so that the risk-neutral expected return of all basis assets

is equal to the risk-free return:

+ QdRd = Rf

The values qJR^znd qyRrHre known as state prices.

Assuming a risk-free rate of 4% per year, the monthly

risk-free return is:

Rf = 1.04 / 2 = 1.0033

This gives conditional risk-neutral probabilities of

_Rf-Rd _ 1.0033 - 0.965

^^ ~ Ru-Rd " 1.053 - 0.965

_Ru- Rf _ 1.053 - 1.0033

' ~ Ru-Rd " 1.053 - 0.965

and the valuation formula:

= 0.43523 (20)

(21)

c — a® b

such that

n - l

fc=O(23

O ne will immediately note that the index j - k can be neg

ative. If this occurs, we simply add n to get a result between

0 and n-l; this practice is consistent with the spoke

numbering introduced in Section I, and it merely refiects

movement in a circle.

One can graph the circular convolution as follows

1. Set up two concentric circles divided into n equa

segments . Wri te a around the inner circle clock

wise and b around the outer circle counterclock

wise. Exhibit 9 shows this for « = 4.

2. Perform a scalar multiplication betw een the two cir

cles. In Exhibit 9, this would give

+ 0361 -|- 0262

3. Turn the inner circle counterclockwise by l / «- th of a

circle. Repeat the scalar multiplication between the

circles. The result is Cy In Exhibit 10:

4. Repeat this procedure to compute Cj, • • •. ^,,_i ' each

time giving the inner circle l /w-th turn counter

clockwise.

How can one use the circular convolution for option

pricing? If we wr ite both th e option payofFand the p ricing

7 8 INTRODUCTION TO FAST FOURIER TRANSFORM IN FINANCE FALL 200

Page 7: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 7/17

E X H I B I T 8

op tio n Prices in a Binomial Lattice

number of

low returns

0

1

2

3

C(0)

81.36

C ( l )

162.66

19.19

C(2)

317.54

44.25

0.00

C(3)

599.64

102.00

0.00

0.00

E X H I B I T 9

C o m p u t i n g F i rs t E le m e n t o f C ir c u l a r

C o n v o l u t i o n a ® b

kernel in the clockwise direction and then rotate the option

payoff in the counterclockwise direction, we will obtain

option prices in the natural order from highest to lowest.

To be specific, let us return to the binomial option

pricin g mod el. At maturity, the option can have four dif-

ferent values:

C{3) = 599.64 102.00 0.00 0.00

Let vector q conta in the condi t iona l one-per iod

risk-neutral probabil i t ies q^^ = 0 .43523 , q^ = 0 .56477 .

Since there are jus t two states over one p erio d, the

remaining entries will be padded by zeros:

Q= \quqd 0.00 0.00

Finally, recall that the risk-free ret urn is Rj.= 1.00 33.

Thus, to compute option prices at t ime t = 2 we need to

evaluate

E X H I B I T 1 0

C o m p u t i n g S e c o n d E le m e n t

o f C ir c u l a r C o n v o l u t i o n a ® b

c = C(3) ® rev(g/ i?f)

This op eration is depicted graphically in Exh ibit 11 ,

where the option payoffs C(3) are on the inner circle, and

the state prices q/R^nre on the outer circle, both written

in clockwise direction. Numerically we obtain:

C(3) ® rev(g/ii!r) = 317.54 44.25 0 337.54 (24)

N ot e that we need only the first three prices in (24).

The last entry is meaningless—it corresponds to the no-

arbitrage price of the payoff [0 599.64].

This result can be generalized as follows. Consider

a binomial model where C(j) is the vector of option prices

at da tej = 0, 1, . . . , N . Den ote by q the vector containing

the risk-neutral probabilities q^^ an d q^ , padded by zeros

to have the same dimension as C{N). By backward sub-

stitution:

C{N - 2) = C{N) ® rev((?)(N—j) times

C{j) = C{N) ® rev(g) ® rev(g) ® .. . ® rev(g) /R j (25)

The vec tors C{j) computed in thi s manner have

mo re entries than n eeded . Th e useful j + 1 entries are at

the top end of each vector.

Numerical results are reported in Exhibit 12. Com-

pare the relevant boldfaced entries with those in Exhibit 8.

FALL 2004 THEJO URN AL OF DERIVATIVES 7 9

Page 8: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 8/17

Circular Pricing via Discrete Fourier Transform

Now we reformulate the circular pricing formula in

Equation (25) using the discrete Fourier transform. The

discrete Fourier transform has one very useful property—

it turns circular convolutions into products:

E X H I B I T 11

Option Pricing on a Circle

{a®b) = ^T- (a) T'^ (b)

n = dimension of a

The appendix provides a proof. This property can

be used to great advantage in pricing.

Recall from Equation (25) that

599.641 0.4338

N times

•NCO = CN® rev(g) ® Tey{q) ® ... ® rev(g) /i?f

where Nis the number of time periods to maturity. Now

apply the inverse transform J^"' to both sides, using prop-

erty (27) on the right-hand side:

' (Co) = J"- (CN) X I \/dimension of CNJ ' {rev{g))

(29)

In a binomial model, the dimension of C^ is N +

1. Furthermore, recall from (14) that .F"'(rev {q)) = T{q} is the no-arbitrage price of the option at time 0.and substitute this into (29):

(30

F-' (Co) = J"-'

Finally, apply the forward transform to both sides

again, and use (15) on the left-hand side:

/iV+TjF {q) /R^y

We have provided the following theorem. Consider

a model with independent and identically distributed (IID)

stock returns and constant interest rate, represented by a

recombining binomial tree with Nperiods and N+ 1

trading dates. Let the {N+l)-dimensional vector C^ be

the payoff of the option at expiration. Let q contain the

one-step risk-neutral probabilities as the first two entries,

with the remaining N— I entries being zeros. Then the

first element of (N + l)-dimensional vector C .

The role of the forward and inverse transforms is

symmetrical. That is, we also have:

Co = T-^ (T{CN) X {^fWTlT-^ {q) /Ri)"^ (31

I I . FAST FOURIER TRANSFORM (FFT)

We can implement the pricing formula in Equation

(30) on a computer using fast DFT routines, known as

FFTs. It is highly unlikely any reader would want to write

his or her own DFT code, for this would be counter-

productive, given the wealth and the level of specializa-

tion of ready-made algorithms. Prepackaged algorithms

save time, but with little documentation at hand, imple-

menting otherwise sound mathematical formulas may not

prove straightforward. We can provide guidelines tha

ensure a trouble-free transition between the theoretical

pricing formula (30) and a computer code using a DFT

routine of the reader's choice. Specific examples are given

in CAUSS and Matlab.

There are two main issues in the use of (fast) DFT

80 INTRODUCTION TO FAST FOURIER TRANSFORM IN FINANCE FALL 2004

Page 9: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 9/17

routines: 1) finding out the mathematical definition of a

specific DFT routine, and 2) choosing the right input

length for fast computation.

Mathematical Definitions

Every textbook, and indeed every computer lan-

guage, defines the forward and inverse transforms slightly

differently. Thus the first ask of any user is to find out how

a given computer routine, call it dft, is related to the the-

oretical transforms ^and T ~ ^ defined in (11) and (12). To

do so, one proceeds in two simple steps.

In the first step, one determines the normalization

factor. Define a= [1000] and compute a = dft(fl). If 5^

= 0.25, then:

either dft =

or dft = JF-

If <3Q = 0.5, then:

either dft = T

or dft = T-'

If flp = 1, then:

either dft = Vn

or dft =

Second, to ascertain whether one is dealing with a

forward or an inverse transform, one defines 6 = [0100]

and evaluates b = dft (b). If the imaginary part of fcj s

positive, then dft is proportional to J ^ ; otherwise it is pro-

portional to T' .

In the case of the lattice pricing formulas (30) and

(31), one will use two routines, say, dft and dfti, which

are inverse to each other. In this case, it does not really

matter which of the two transforms is forward and which

is inverse. But in other applications in Section III below,

it is absolutely crucial to know whether a given routine

is proportional to -F or ^"'.

Example 1 provides an illustration. In GAUSS, the

two DFT transforms are called dfft and dffti, respectively,

and they are related to ^and J "' as follows:

E X H I B I T 12

option Prices Obtained from Circular Pricing

Equation (25)

number of

low returns C(0) C(2) C(3)

0 81.36 162.66 317.54 599.64

1 115.28 19.19 44.25 102.00

2 265.47 190.01 0.00 0.00

3 2 3 2 . 6 2 3 2 5 . 1 7 3 3 7 . 5 4 0.00

Boldfaced entries are the relevant ones.

where r i is the dimension of vector a.

Equation (30) therefore becomes:

Co = dff t i (df ft (CN) X (d ff ti (6))^) (32)

Suppose the vectors C_ N and b have already been defined

in GAUSS. To compute the option price at t = 0 we

would use the code:

C_0 = dffti( dfft(C_N).*(dfft(b)"N) );

print ' ' no-airbitrage price at t=0 is '(33)

The .* command stands for element-by-element multi-

plication.

The DFT algorithm is approximately three times

faster than backward recursion in the binomial model. The

computation time for both algorithms grows quadratically

with the number of periods, as shown in Exhibit 13.'

Input Length

A naive implementation of the DFT algorithm with

tt-dimensional input requires n ^ complex multiplications.

An efficient implementation of DFT, known as the fast

Fourier transform (FFT), will require only K«ln« oper-

ations, but one still has to choose n carefully because the

constant K can be very large for some choices of nr

Some FFT implementations automatically restrict the

transform length to the most suitable values of H (typically

K = 2'' or « = 2''3''50, which is the case in GAUSS. Others,

such as Matlab, will compute FFT of any length; here it is

FALL 2004 T H E J O U R N A L OF DERIVATIVES 8 1

Page 10: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 10/17

particularly important for the user to choose n sensibly, or

the FFT algorithm may turn out to be very slow indeed.

Example 2. The forward and the inverse FFT in

Matlab are called fft and ifft, respectively:

f ft(a) = (a) (34)

(35)

where n is the dimension of vector a. The option pricing

Equation (30) therefore becomes:

Co = i f f t ( f f t (CAT) X ((iV + 1) X i f f t

which in terms of Matlab code reads:

C_0 = ifft( fft(C_N).*(((N+l)*ifft(b))."N) ) ;

sprintf 'no-arbitrage price at t=0 is •/.0.2f' C_O(1);

(36)

The commands .* and ." stand for element-by-ele-

ment multiphcation and exponentiation, respectively.

In many instances, FFT of length w, is faster than

FFT of length W even though n^ >KJ- This somewhat

counterintuitive phenomenon is illustrated in Exhibit 14.

To understand why some transform lengths are moresuitable than others, we need one piece of terminology and

one fact: 1) the FFT algorithm for length n = 2' ' is called

a radix-2 algorithm; 2) the higher the b, the slower the

radix-6 algorithm per output length. There is one notable

exception: Radix-4 is faster than radix-2 by about 25%.

In practice, one uses transforms of size n = 2''3''5'.

If the original vector size is not of this form, the appro-

priate number of zeros is added. Ideally, q and r should be

small compared to p.

The advantage of using mixed-radix algorithms is

twofold: 1) more transform lengths are available, which

means one need not pad the input with too many zeros,

and 2) one can use the operation-saving prime factor

algorithm.'

With vector size 2'"+ 1 = 1025, thenext available

size for the radix-2 algorithm is « = 2048 = 2" but with

a mixed 2, 3, 5-radix algorithm one could use length n

= 1080= 2^ 3^5, which is nearly half the size, so the

Fourier transform evaluation is twice as fast as the radix-

2 algorithm.

Note that highly composite lengths such as 1080000

E X H I B I T 1 3

Comparison of Pricing Speeds

trading interval

in minutes

60

30

15

5

number of

periods

504

1008

2016

6048

execution time in seconds

DFT back

0.15

0.6

2.3

20.8

Pauhwi III750MHz, 128Mb RAM, GAUSS

ward recursion

0.4

1.6

6.4

61.6

E X H I B I T 1 4

Execution Time for Different Input Lengths

n

499 979

1048 575

1048 576

1080000

Pentium III

factorization

499 979

3 X 5^ X 11 X 31 X 41

220

2*^335''

750MHz, 128Mh RAM,

execution

Mallah.

time in seconds

27.2

5.2

0.93

0.11

E X H I B I T 1 5

Speed of Binomial Pricing Using DFT and

FFT Algorithms

trading interval

in minutes

30

15

5

1

Pmlium HI 750MHz,

number of

periods

1008

2016

6048

30240

128Mh RAM,

execution

D FT

0.6

2.3

20.8

510

GAUSS

time in seconds

F F T

0.003

0.006

0.022

0.27

— 2''3^5'' are calculated more quickly than simple powe

of similar length such as 2"°= 1048576 {see Exhibit 14

Transforms that are not of the length « = 2''3''5' can taka long time to compute, especially if K is a large prime

again see Exhibit 14.

Example 3. Matlab wiU allow the user to perform

FFT of any length; this is done using commands (34) an

(35). As we have noted above, however, it is sensible to

restrict transform lengths to n = 2''3''5' with q and r smal

relative to p to obtain the best performance. Matlab pro-

vides function nextpow2 giving the next higher power o

2. It also allows the user to specify the transform length by

82 INTRODUCTION TO FAST FOURIER TRJ\NSFORM IN FINANCE FALL 2004

Page 11: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 11/17

E X H I B I T 16

option Price and Option Delta—C ontinuous-Time and Binomial Approximation

A t ( s e c o n d s )

O p t i o n p r i c e

O p t i o n d e l t a

60

75.93398

0.31668534

10

75.93284

0.31668346

1

75.93286

0.31668334

Black-Scholes

0

75.93288

0.31668331

including it as a second optional argument of fft and ifft.

Hence a fast implementation of (36) in Matlab would

read:

frequencies and see that the Black-Scholes formula really

does describe the limiting value {see Exhibit 16). Note

that the Black-Scholes formula itself is still about 10,000

times faster than the FFT algorithm.

l eng th = 2"nextpow2(N+l);

C_0 = i f f t ( f f t (C_N, length). * ( ( l e n g t h * i f f t ( b , l e n g t h ) ) . " N ) ) ;

The padding of the original input C_N by zeros to

the dimension length is done automatically.

To fmd the nearest transform length of the form n

— 2/'3''5', one can use the code:

length = N+1;

while mcLX(factor(length))

length = length+1;

end;

> 5;

Example 4. In GAUSS the fast Fourier forward and

inverse transforms are performed by functions fftn and ffti.

These functions use Temperton's [1992] mixed 2, 3, 5-

radix algorithm, and the padding of input vector by zeros

to the nearest available length n = 2''3''5' is done auto-

matically. IfM is the input dimension, the output dimen-

sion from fFtn and ffti will be nextn(n) .

In terms of GAUSS code, one writes as in (33):

C_0 = f f t i C f f t n ( C _ N ) . * ( f f t i ( b ) " N ) ) ;

O ne can increase the speed further by choosing a

composite length n = 2''3''5'^ where q and r are non-zero

but small relative to p. The optimal length is given by

GAUSS function op tn (N + 1 ), and the padding by zeros

to this dimension must be performed by the user.

The FFT implementation of the binomial pricing

algorithm is blazingly fast compared to the DFT, as Exhibit

15 shows.''

Because it is so fast, one can explore higher trading

III. FURTHER APPLICATIONS

OF FFT IN FINANCE

Practical applications of the discrete or the fast

Fourier transform in modern finance go beyond the b ino -

mial model, but the essential structure of the pricing for-

mulas is that of Equation (30). To motivate the passage to

continuous time, we can rewrite the DFT pricing Equa-

tion (30) to take explicit account of the maturity date T

and the rebalancing frequency At, with N ^ = T/At

trading periods and instantaneous risk-free rate r:

i:F{ciAt)e-^^f'"

The quantity

yNAt + lTiqAt))"'^'

is known as the (risk-neutral) characteristic function of the

log stock price. In practice we are mainly interested inmodels where the continuous-time limit of (37) is avail-

able in closed form. This is the case in the class of expo-

nential Levy models with an affine stochastic volatility

process, as discussed in Carr and Wu [2004]. This class

includes a large number of popular models allowing for

excess kurtosis, stochastic volatility, and leverage effects.

It includes, among others, the stochastic volatility models

of Heston [1993], Duffie, Pan, and Singleton [2000], and

all exponential Levy models (see, for example, Madan

FALL 2004 T HE JOURNAL OF DERIVATIVES 83

Page 12: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 12/17

and Seneta [1990], and Eberlein, Keller, and Prause

[1998]). For an exhaustive characterization of afEne pro-

cesses, see DufHe, Fihpovic, and Schachermayer [2003].

In the continuous-time limit, the discrete Fourier

transform is replaced by the (continuous) Fourier trans-

form. Th at is, we wish to find coefficients ip{v) such that:

u (38)V ( )/3-ioo

for some real constant p.''

The recipe for obtaining the coefficients ipi^)

known—it is given by the inverse Fourier transform:*^

(39)

For example, a simple calculation in Carr and Madan[1999] shows that the coefficients ip of a call option with

strike price e* take the form:

ihiv) —g-(t;-l)fc

; r

2nv{v-l)

for Ref > 1

Substituting for

pricing formula reads:

j . from (38), the risk-neutral

/3-ioo

, /-/S+ioo

Jp-ioo

where E'5[e"''"'^r] is the risk-neutral characteristic function

of the log stock price.

It should now be clear that the continuous-time

pricing formula (40) is a direct analogue of its discrete-

time counterpart (37), where instead of the discrete char-acteristic function ( V A ^ ^ +\T{q^^)^'^' we use the

continuous characteristic function E''[e"''"'^'']. Instead of

discrete Fourier coefficients ^\Crp,^^ we use the con-

tinuous coefficients i/), and instead of summation we use

integration.

There is nevertheless one major difference between

(37) and (40). While the former spends a significant

amount of time computing the characteristic function of

log returns and Fourier coefficients of the option, the

latter provides both quantities in closed form. This makes

the continuous-time pricing formula (40) even faster than

the accelerated binomial formula (30).

E xa m p l e 5

In the Heston [1993] model:

we have

[v) = rT v + roa

- 2 In

— a {v + v'^)

b — pa v + C\{v)C2{v) = 7 ; T^

0 — pav — Ci(V)

where p = Corr(dB«,dBf).

Option pricing therefore boils down to evaluationof integrals of the type:

' X •/3+ioo Q(v-l){\nSo-k)

-ioo 2'!Tv(v — 1)

• /3+ioo

Refl+iO

(41

where both ip{v) and (;/)''(i') are known.

To evaluate (41), one truncates the integral at a high

value of Im v, and then uses a numerical quadrature tapproximate it by a sum; see Lee [2004] for a detailed

exposition. This yields an expression of the type:

(42

where the integration weights lo and abscissas y depend

on the quadrature rule. It is particularly convenient to use

84 INTRODUCTION TO FAST FOURIER TRANSFORM IN FINANCE FALL 200

Page 13: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 13/17

Ne wto n-C otes rules, which employ equidistantly spaced

abscissas. For example, a trapezoidal rule yields:

Vj= (3 + ijAv

(43)

10 n 2

Wi=W2= ... =

If the characteristic function of log returns is known , one

needs to evaluate a single sum (42) to find the o ption p rice.

Consequently, there is no need to use FFT if one wishes

to evaluate the option price for one fixed log strike k.

F F T O p t i o n P r ic i n g w i t h M u l t i p l e S tr i k e s

Th e situation is very different if we w ant to evaluatethe option price (42) for many different strikes simulta-

neously. Let us consider m = 121 values of moneyness K ^

= In 5^ — ki ranging from -30% to 30% with increment

A K =0.5%:

(44)

(45)

'*max ,

0.30, I = 0, . . . ,m — 1

Th e idea of using FFT in this context is due to Carr

and Madan [1999], but it has recently been improved byusing the so-called z-transform; see Chourdakis [2004].

The number

-|- . . . -f- a^-i .-(n-l)

is called the z-transform of sequence a. The discrete

Fourier transform of sequence a is obtained as a special

case of the ^-transform with n specific values of z:

Carr and Madan have noted that with equidistantly

spaced abscissas (43) one can write the option pricing

Equation (42) for different strike values (44, 45) as a z-

transform with z, = e"'^"^'^':

n - l

C o / = Re (46)&=o

2iTVj{Vj —

Setting

AVAK =277

n(47)

Carr and Madan obtain a discrete Fourier transform in

(46). Chourdakis [2004] points out that there is a fast

algorithm for the z-transform that works even when

AVAK ^ — and m^n:

n

Chirp-2r transform is an efficient algorithm for eval-

uating the ^-transform for m different points z of the form

z^ - Aw'', fe = 0, 1, . . . , m- 1

where A and w are arbitrary complex numbers. The

chirp-^ transform works by rephrasing the original z-

transforni as a circular convo lution and then com puting

this convolution by means of three FFTs as shown in Sec-

tion I. For more details see Bluestein [1968], Rabiner,

Schafer, and Rader [1969], and Bailey and Swartztrauber

[1991]. Compared to the standard w-long FFT, the chirp-

z algorithm is approximately 6(lnm+ 1)/ In n times slower,

for m < n.

The Matlab command for chirp-2- transform of n-long input sequence a reads

czt(a, m, w, A)

A GAUSS procedure czt.gss is available on my

website.

The decision on whether to use the simple sum-

mation (42) m times, or whether to apply the chirp-2r

transform (46) depends on the desired nu mb er of strikes

m. The speed of the former over the latter is roughly

m/6/(log2m+l) times higher. As a rough guide, for m ~36 the simple summation (42) is as fast as the chirp-z

formula (46); for m = 8 it is three times faster; and for m

~ 150 it is three times slower.

One also has to decide whether to force the FFT

spacing of strike values (47); this is done by boosting n while

keeping Av fix ed . Suppose that y ^ ^ is chosen sufficiently

high to achieve desired accuracy for a single strike. As a rule

of thumb, if the initial spacing 2 Jl/Im y^ ^ is six times coarser

than the desired spacing of log strikes AK, one should use

the chirp-<r transform; o therwise it will be faster to increase

FALL 2004 TH E JOURNA L OF DERIVATIVES 8 5

Page 14: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 14/17

n to satisfy (47) and use the short FFT algorithm described

in Bailey and Schwarztrauber [2004, pp. 392-3 93].

The value of Im v^^^ . tends to be higher for short

maturities and for parametric distributions with heavy

tails, such as variance gamma or generalized hyperbolic.

In such circumstances the FFT fo rmulas in (46)—(47) are

preferable. Non-parametric empirical equity return dis-

tributions have characteristic functions that decay faster,

leading to lower values of Imy^^^^^, leaving the chirp-z

transform as the best o ption.

IV. CONCLUSIONS

There are three contributions in this article. I explain

the working of the discrete Fourier transform in non-

technical language using the familiar binomial option

pricing m odel. Second, I highlight the com mo n perils incom puter implementation of fast DFT algorithms. Finally,

I explain how the binomial pricing formula relates to

more com plex continuou s-time models routinely used in

the finance industry that allow for excess kurtosis,

stochastic volatility, and leverage effects.

APPENDIX

I n v e r s e D i s c r e t e F o u r i e r T r a n s f o r m

To sh o w J-~'[J- (a)] = a, we need to prove that for b =

J-{a) defined in Equation (11) we have .?^"'(b) = a. D e n o t e a =

!F~\h) and express a from Equation (12):

1n- l

k= 0

..-kl

Now substitute for 6 , from (11):

^ k=Q \j=0 J

Move ^^'' inside the inner summation:t!

'" k=0 \j=0

Change the order of summation:

1 nn l / n l ,

•^'=IT.-AT. (4-)''' j=0 \fc=O

n- l

and take a. in front of the inner sumination (it does not depend

on k) :-1 n—1 /n —1

j= 0 \fc=O

By virtue of Equations (8) and (9), the inner summation

I^^ZQ (zi~j equals 0 (or j ^ I and n for7 = I. Consequently

n - l / n - l

= aij=0 \k=0

for all I, which proves that T'\J- (a)) = a.

F o u r ie r T r a n s fo r m o f C o n v o l u t i o n s

We wish to show T{a®b) = y/nT{a)T{b). Let us

begin by computing c= a ® b. From Equation (23):

n - l

fc=O

(A-1)

Denote by d the Fourier transform of c [rf = J-{a ® b)

and use Equation (11) to evaluate d .

n - l

• j = o

No^v substitute for c. from Equation (A-1):

n - l / n - l

j=o \fc=o

Move z' ' inside the inner parentheses, writing it as a product

g

Change the order of summation:

..kl

86 INTRODUCTION TO FAST FOURIER TRANSFORM IN FINANCE FALL 2004

Page 15: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 15/17

and take b^^z''' infront of the inner summation (it does not depend

onj):

d,= 4 E

n -i

Ej= o

(A-2)

It is easy to see that the inner summation does not depend on

k, because it always adds the same n elements. Only the order

in which these elements are added depends on k (we are com -

pleting one full turn around the circle, starting at /?-th spoke).

Hence we have:

n - l

j=0 j = o

for all k

Substituting this into (A-2) we obtain:

From the defmition of the forward transform Equation (11), a

— T(d) and& = Ti)}), which completes the proof.

ENDNOTES

Th e author thanks David Miles and Jonathan Wainwright

for suggesting important clarifications in an early draft. Peter

Carr and Sanjiv Das provided helpful comments and sugges-

tions. This is an adapted version of Cerny [2004, Chapter 7].

GAU SS is a trademark of Aptech Systems, Inc.; Matiab is a

registered trademark of The Math Wo rks, Inc.

'GAUSS programs Biriomial.gss and DFT.gss available

from author's website.

^The fast Fourier transform does not appear in under-

graduate textbooks on numerical mathematics. The most useful

introductory references are web-based; see http://www.

fftw.org/links.html, and in particular the online manual in Hey

[1999]. An efficient im plem entation of F F T for all transform

lengths is suggested in Frigo and John son [1998]; it is used in

Matlab. Efficient implementation of a mixed 2,3,5-radix algo-

rithm is due to Temperton [1992]; it is used in GAUSS.

Duhamel and Vetterli [1990] provide an excellent survey of

FFT algorithms.

•'The prime factor algorithm (PFA) works faster because

the factors 2, 3, and 5 have no common divisors; see Tem-

perton [1992].

''GAUSS code FFT.gss available on author's website.

•''For the Fourier transform to work, Cj, (In Sj)S;^ must

be integrable as a function of In Sj,. There are derivative secu-

rities, such as call and put options, where one needs to take /?

?t 0 to insure integrability (/3 > 1 for the call, ^ > 0 for the

put).

"•Some unrestrictive technical conditions must hold to

make sure that for the ip given in Equation (39) Equation (38)holds for all values of In Srp See Chandrasekharan [1989].

REFERENCES

Albanese, C , K. Jackson, and P. W iberg. "A N ew Fourier

Transform Algorithm for Value At Risk." Quantitative Finance,

4 (2004), pp. 328-338.

Andreas, A., B. Engelmann, P. Schwendner, and U. Wystup,

"Fast Fourier Method for the Valuation of Options on Several

Correlated Currencies." InJ. Hakala and U. Wystup, eds. For-

eign Excbange Risk. London: Risk Publications, 2002.

Bailey, D.H., and P.N. Swartztrauber. "The Fractional Fourier

Transform and Applications." SIAM Review, Vol. 33, No. 3

(1991), pp. 389-404 .

Benhamou, E. "Fast Fourier Transform for Discrete Asian

Options." Journal of Computational Finance, Vol. 6, No. 1 (200

Bluestein, L.I. "A Linear Filtering Approach to the Com puta-

tion of the Discrete Fourier Transform." IEEE Northeast Elec-

tronics Research and Engineering Meeting, 10 (1968), pp. 218 -

Carr, P., and D.B. Madan. "Option Valuation Using the Fast

Fourier Transform."JoMma/ of Computational Finance, 2 (1999)

pp. 61-73.

Carr, P., and L. Wu. "Time-changed Levy Processes and

Option Pncing." Journal of Financial Economics, Vol. 71, No .

(2004), pp. 113-141.

Cerny, A. Mathematical Teclmiques in Finance: Tools for Inc

plete Markets. Princeton: P rinceton University Press, 2004.

. "The Risk of Optimal, Continuously I^ebalancedHedging Strategies and its Efficient Evaluation via Fourier

Transform." Technical Report, The Business School, Imperial

College London, 2003.

Chandrasekharan, K. Classical Fourier Transforms. New Yor

Springer, 1989.

Chiarella, C , and N. El-Hassan. "Evaluation of Derivative

Security Prices in the H eath-Jarrow-Morton Framework as Path

Integrals Using Fast Fourier Transform Techniques."

Financial Engineering, Vol. 6, No . 2 (1997), pp. 121-147.

F A L L 2004 T H E JOURNAL OF DEKIVATIVES 8 7

Page 16: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 16/17

Chourdakis, K. "Option Pricing Using the Fractional FFT."

W orking paper. Available at www .theponytail.net, 2004.

Dempster, M.A.H., and S.S.G. Hong. "Spread Option Valu-

ation and the Fast Fourier Transform." In H. Geman, D.

Madan, S.R. Pliska, and T. Vorst, eds. Mathematical Finance—Bachelier Congress 2000. Berlin: Springer, 2002, pp. 203-220 .

DufFie, D., D. Filipovic, and W. Schachermayer. "AfEne Pro-

cesses and Applications in Finance." The Annals ofApplied Prob-

ability, Vol. 13, No. 3 (2003), pp. 984-1053.

DufFie, D., J. Pan, and K. Singleton. "Transform Analysis and

Asset Pricing for Affme Jump Diffusions." Econometrica, 68

(2000), pp. 1343-1376.

Duhamel, P., and M. Vetterli. "Fast Fourier Transforms: A

Tutorial Review and a State of the Art." Signal Processing, 19(1990), pp. 259-299.

Eberlein, E., U. Keller, and K. Prause. "New Insights into

Smile, Mispricing and Value at Risk: The Hyperbolic Model."

Journal of Business, Vol. 71, No. 3 (1998), pp. 371-405.

Frigo, M., and S.G.Johnson. "FFTW: An Adaptive Software

Architecture for the FFT." Proceedings of the IEEE International

Conference on Acous tics, Speech, and Signal Processing (1998), Vol.

3, pp. 1381-1384.

Heston, S. "A Closed-Form Solution for Options withStochastic Volatility with Applications to Bond and Currency

Options." Review of Financial Studies, 6 (1993), pp. 327-344.

Hey, A. "FFT Demystified." Available at http:/ /ww w.ep tools.

com/tn/TOOOl/INDEX. HTM, 1999.

Hubalek, F., J. Kallsen, and L. Krawczyk. "Variance-Optimal

Hedging and Markowitz-EfEcient Portfolios for Processes with

Stationary Independent Increments." Working paper, Tech-nische Universitat Wien, 2004.

Lee, R.W. "Option Pricing by Transform Methods: Exten-

sions, Unification and Error Control." Journal of Computatio

Finance, Vol. 7, No. 3 (2004).

Madan, D., and E. Seneta. "The Variance Gamma Model for

Stock Ma rket Re tur ns. " JoMmal of Business, Vol. 63, No.

(1990), pp. 511-524.

Rabiner, L.R., R .W . Schafer, and C M . Rader. "T he Chirp

Z-Transform Algorithm and its Application." Bell Systems Tecnical Journal, Vol. 48, No. 5 (1969), pp. 1249-1292.

Rebonato, R., and I. Cooper. "Coupling Backward Induc-

tion with Monte Carlo Simulations: A Fast Fourier Transform

(FFT) Approach." Applied M athematical Finance, Vol. 5 , No.

(1998), pp. 131-141.

Temperton, C. "A Generalized Prime Factor FFT Algorithm

for any n = 2p3q5s." SIAM Journal on Scientific and Statistic

Computing, 13 (1992), pp. 676-686.

To order reprints of this article, please contact Ajani Mali

[email protected] or 212-224-3205.

88 INT RODUCT ION T O FAST FOURIE K T RANSFORM IN FINANCE FALL 2004

Page 17: Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

7/16/2019 Introduction to Fast Fourier Transform in Finance Cerny 2004 J Derivatives

http://slidepdf.com/reader/full/introduction-to-fast-fourier-transform-in-finance-cerny-2004-j-derivatives 17/17