option pricing with fourier methods - opengamma … · or the fast fourier transform (fft). ... 2...

20
OpenGamma Quantitative Research Option Pricing with Fourier Methods Richard White [email protected] OpenGamma Quantitative Research n. 7 | First version: April 2012; this version February 27, 2013

Upload: duongdieu

Post on 08-Apr-2018

238 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

OpenGamma Quantitative ResearchOption Pricing with FourierMethods

Richard [email protected]

OpenGamma Quantitative Research n. 7 | First version: April 2012; this version February 27, 2013

Page 2: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

Abstract

We present details of how the price European calls and puts when the characteristicfunction of the terminal distribution is known in closed form. This includes a broad class ofLévy processes and the Heston model. Pricing is either via a single one-dimensional integralor the Fast Fourier transform (FFT). The latter gives prices (on a grid) for all strikes.

Page 3: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

Contents1 European Option Price 1

1.1 Option Pricing using the Characteristic Function . . . . . . . . . . . . . . . . . . 11.2 Integral Cut-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Finding the Cut-Off for Other Models . . . . . . . . . . . . . . . . . . . . 31.3 The Choice of α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Drift Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Pricing Using the Fast Fourier Transform 52.1 Sampling Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1 α > 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.2 α < −1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.3 −1 < α < 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.4 Short-Dated Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Sample Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Optimising the Choice of α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

A Characteristic Function 8

B Levy Processes 9B.1 Normal Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9B.2 Poisson Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

B.2.1 Compound Poisson Process . . . . . . . . . . . . . . . . . . . . . . . . . . 10B.3 The Variance Gamma Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10B.4 The Normal Inverse Gaussian Process . . . . . . . . . . . . . . . . . . . . . . . . 10B.5 The CGMY Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10B.6 The Meixner Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

C Time Change Processes 11C.1 Integrated CIR Time Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11C.2 Integrated Ornstein-Uhlenbeck Processes . . . . . . . . . . . . . . . . . . . . . . . 12

C.2.1 The Gamma-OU Time Change . . . . . . . . . . . . . . . . . . . . . . . . 12C.2.2 The Inverse Gaussian-OU Time Change . . . . . . . . . . . . . . . . . . . 12

D The Heston Model 13

Page 4: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process
Page 5: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

1 European Option PriceWe take t = 0 as today. Given an exponential martingale process Xt, we assume that the priceof an asset in a risk-neutral world1 is given by

St = FteXt (1)

where Ft is the forward price of the asset at time t and E[eXt ] = 1 (by the exponential martingaleproperty). If the probability density of Xt is given by ρt(x)

2 then the price of any Europeanoption3 expiring at time T with payoff g(ST ) is given by

V = DT

∫ ∞

−∞g(FT e

x)ρT (x)dx (2)

where DT is the discount factor. The price of a European call struck at K is given by

C(κ) = FTDT

∫ ∞

κ

(ex − eκ)ρT (x)dx (3)

with κ = ln( KFT). For any model that gives closed-form densities ρT , the price of European

options can be found by simple one-dimensional integration.

1.1 Option Pricing using the Characteristic FunctionBy definition, the characteristic function ϕX(u) of a distribution, X, is the Fourier transform4

(FT) of the probability density function (PDF) ρ(x):

ϕX(u) = E[eiuX ] =

∫ +∞

−∞eiuxρ(x)dx (4)

Many models that do not offer a closed form for the terminal density do have closed formsfor the characteristic function. Examples of such cases include a wide class of Levy processesand the Heston model[Hes93]. A large set of characteristic functions are listed in the appendix.

Obviously, one can recover the PDF from the characteristic function by taking the inverseFourier transform. Option prices can then be calculated by integrating the product of the payoff

1Specifically, in a measure where the zero-coupon bond D(t, T ) expiring at some horizon T is the numeraire.2i.e. P (Xt ∈ (x, x+ dx)) = ρt(x)dx3The option can only be exercised on one fixed date and has a payoff that is a function of the value of the

underlying asset at expiry only.4Unfortunately there is no standard definition of a Fourier transform and its inverse. OpenGamma uses the

definition common in physics (the angular frequency definition):

H(ω) =

∫ ∞

−∞eiωth(t)dt h(t) =

1

∫ ∞

−∞e−iωtH(ω)dω

which is the form used to define a characteristic function (note: this is sometimes written with a factor of 1√2π

in front of both terms). The frequency definition is

H(f) =

∫ ∞

−∞e2πifth(t)dt h(t) =

∫ ∞

−∞e−2πiftH(f)df

which has the virtue of the transform being identical apart from the sign in the exponent - most FFT implemen-tations are based on this definition.

1

Page 6: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

with the PDF - the prices are obtained via a two-dimensional integral. However, as pointed outin [Lew01], the inner product form of Parseval’s theorem states that∫ ∞

−∞g(x)(h(x))†dx =

1

∫ ∞

−∞G(u)(H(u))†du (5)

where † indicates complex conjugation and G(·) and H(·) are the FT of g(·) and h(·). Thismeans that the price of any European option can be written as

V = DT

∫ ∞

−∞[G(u)]†ϕT (u)du (6)

where G(u) =

∫ +∞

−∞eiuxg(FT e

x)dx (7)

which is the integral of the product of the Fourier transform of the payoff and the characteristicfunction. For many payoffs, including calls and puts, the Fourier transform does not exist.However we can rewrite equation 3 as

C(κ) = FTDT

∫ ∞

−∞[e−(1+α)x(ex − eκ)+][e(1+α)x�ρT (x)]dx (8)

If α > 0 and ρT has tails that fall off quicker than e−(1+α)|x|, then both terms in square bracketshave well-defined Fourier transforms. In particular the FT of the second term is just ϕ(u−(1+α)i)from the frequency shifting property [PTVF07].

The FT of the modified payoff is∫ ∞

−∞eiuxe−(1+α)x(ex − eκ)dx (9)

=

∫ ∞

κ

e(−α+iu)xdx− eκ∫ ∞

κ

e(−(1+α)+iu)xdx (10)

=eκ(α−ui)

α− ui− eκ(α−ui)

(1 + α)− ui(11)

=e−καeiuκ

α2 + α− u2 − i(2α+ 1)u(12)

Putting this all together, the price of a European call option is given by

C(κ) = FTDTe−ακ

∫ ∞

−∞e−iuκ

ϕ(u− (1 + α)i)

α2 + α− u2 + i(2α+ 1)udu (13)

If we define a modified call price, c(κ) as

c(κ) =C(κ)eακ

FTDT(14)

then equation 13 can be written as

c(κ) =1

∫ ∞

−∞e−iuκC(u)du (15)

where C(u) =ϕ(u− (1 + α)i)

α2 + α− u2 + i(2α+ 1)u(16)

2

Page 7: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

so c(κ) and C(u) are a transform pair. Equation 13 was first derived by Carr[CMS99] by directlyconsidering the FT of the (modified) call price.

Since the modified call price is real, we must have C(−u) = [C(u)]†, so equation 15 can berewritten as

c(κ) =1

π

∫ ∞

0

ℜ(e−iuκC(u))du (17)

and therefore c(κ) can be calculated using standard numerical integration methods once suitablelimits are established. Finally, the modified call price can be written as

c(κ) = − 1

∫ ∞−(1+α)i

−∞−(1+α)i

e−iνκϕ(ν)

ν2 + νidν (18)

and from this it is clear that we are integrating along a contour parallel to the real axis andshifted down by 1+α. It is possible to perform the above Fourier integral with α < 0: First notethat there are poles at ν = 0 and ν = −i; one can shift the contour across the poles and pick upthe residues [Lew01]; for −1 < α < 0, one must add FTDT (i.e. we are pricing a covered call),while for α < −1, equation 13 prices a put5.

1.2 Integral Cut-OffHow does C(u) behave as u→ ∞? Consider the case of a Brownian process, with

C(u) = eσ2

2 α(1+α)e

σ2

2 (2α+1)uie−σ2

2 u2

α2 + α− u2 + i(2α+ 1)u(19)

The numerator consists of a constant term, an oscillatory term, and a Gaussian tail term. Atu = 0 this gives

C(0) =e

σ2

2 α(1+α)

α2 + α(20)

which is real (as it must be). A cut-off can be established by considering how the ratio |C(u)|C(0)

behaves as u→ ∞. For the Gaussian process it is

|C(u)|C(0)

= α(α+ 1)e−

σ2

2 u2

u2as u→ ∞ (21)

The cut-off can be established by finding a value R such that |C(R)|C(0)

< ϵ. This analysis wouldindicate that choosing a value of α close to 0 or -1 will give a smaller cut-off. This is indeed true:however, the function C(u) will be very strongly peaked at u = 0 for α close to 0 or -1.

1.2.1 Finding the Cut-Off for Other Models

Consider the functionf(u) = ln

(|C(u)|

)− ln

(ϵC(0)

)(22)

For the Gaussian process we know this has exactly one root for u > 0 which is our requiredvalue R. We make the reasonable assumption that for all models this also holds. Equation 22

5The same result can be obtained by repeating the Parseval argument with different payoffs.

3

Page 8: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

can then be solved using a root finding algorithm. As we are approximating an integral cut-off,the accuracy of the root finder does not have to be high, so the answer can be obtained in a fewiterations.

1.3 The Choice of α

As already mentioned, equation 8 implies that ρT must have tails that fall off quicker thane−(1+α)|x|. In particular we require that

0 <

∫ ∞

−∞e(1+α)xρT (x)dx <∞

→ 0 < ℜ (ϕ[−(1 + α)i]) <∞ ℑ (ϕ[−(1 + α)i]) = 0

(23)

This can put a constraint on the allowed values of α. By direct substitution in the characteristicfunctions we can establish that there is no constraint for a Brownian process, and the followingfor these popular Levy processes:

−(1 +G) < α < M − 1 VG and CGMY (24)−(a+ b+ 1) < α < a− b− 1 NIG (25)

− (π + a+ b)

a< α <

π − a− b

aMeixner (26)

For the worse case of the allowed parameters of the Levy processes, we have −1 < α < 0, whichis a good reason for making the choice α = −0.5. In the Heston model we have

α± =2νρ2 − ν − 2aρ±

√ν2 − 4aρν + 4a2

2ν(1− ρ2)(27)

where the ± indicates the upper and lower bounds on α. When ρ = 0 this reduces to

α± = −1

2±√

1 +4a2

ν2(28)

so α = −0.5 is always valid in this case. For ρ = ±1 we have

α <a2

ν(±2a− ν)(29)

which could exclude α = −0.5.If a value of α not in these ranges is used, the result will be spurious. Section 2.3 discusses

optimising α to minimise computational time for a fixed accuracy.

1.4 Drift CorrectionThe exponential Martingale condition E[eXt ] = 1 is not necessarily met by the characteristicfunctions listed in the appendix. For a single horizon, T , we can write

ST = FT eXT−ωT (30)

4

Page 9: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

and then set

eωT = E[eXT ] = ϕXT(−i) → ωT = ln[ϕXT

(−i)] = ψXT(−i) (31)

which returns the Martingale condition. We define ϕXT(u) = e−iuωT ϕXT

(u) as the drift-correctedcharacteristic function, and use this whenever a characteristic function is required for pricing.6

2 Pricing Using the Fast Fourier TransformAssume we have established some cut-off values for the integral, R, such that the call price

CR(κ) = FTDTe−ακ

∫ R

−Re−iκuC(u)du (32)

satisfies the condition|CR(κ)− C(κ)|

C(κ)< ϵ (33)

where ϵ is the required relative error. We can then approximate the integral by sampling theintegrand at spacing ∆ to give

C(κm)

FTDT≈ e−ακme−iκmR

2π∆M−1∑j=0

e−i2πmj/M Cj

where Cj ≡ C(uj)

uj = −R+ j∆

M =2R

∆+ 1

and κm =

{2πm∆M m < M/2

− 2π(M−m)∆M m > M/2

for 0 ≤ m < M

(34)

The limits of the integral are now ±R, and κ has been discretised to κm. This is in the formof a Discrete Fourier Transform (DFT), allowing equation 34 to be written:

CT (κm)

FTDT≈ e−ακme−iκmR

2π∆[DFT (C0....CM−1)

]m

(35)

Discrete Fourier Transforms can be handled by Fast Fourier Transform (FFT) methods inN log2N time[PTVF07] and provide a whole spectrum of prices at different strikes - directintegration methods require a separate calculation for each required strike.

2.1 Sampling FrequencyThe Nyquist critical frequency is ωc = π

∆ (or fc = 12∆ using the frequency definition of the FT).

This means that if H(ω) is bandwidth-limited, i.e.

H(±(ωc + η)) = 0 ∀η > 0 (36)6We have used the time shifting property of FT[PTVF07]

5

Page 10: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

then the function h(·) is completely determined by the samples. However, if H(·) has densityoutside this range, this is moved into the range giving the wrong answer (an effect known asaliasing). Since H(·) in our case is the modified option price, we can make an approximation ofits bandwidth. If the modified option price is less than some tolerance for |κ| > |κmax, then thesampling spacing should be ∆ = π

κmax

We proceed by considering the tail behaviour of Black-Scholes prices, and making the as-sumption the the value of κmax established will not differ significantly from the true value forthe model under consideration.

2.1.1 α > 0

In this case, we are pricing calls. The price in a Black-Scholes world is

c(κ) = eακ (N(d1)− eκN(d2))

where d1 =−κ+ σ2T/2

σ√T

and d2 = d1 − σ√T

(37)

For κ ≪ 0, c(κ) ≈ eακ and for κ ≫ 0, c(κ) ≈ ae−bκ2 . The right-hand side decays much faster

and we need only consider the left.For c(κ)

c(0) < ϵ, we need

κ <1

αln(ϵc(0)) (38)

→ κmax ≈∣∣∣∣ ln(ϵc(0))α

∣∣∣∣ (39)

→ ∆ ≈ −π α

ln(ϵ(2N(σ

√T

2 )− 1)) (40)

Therefore, in this approximation there is a dependence on an unknown volatility level. How-ever, if the model is being fitted to market data, an approximate volatility level to use is known.Otherwise, a conservative choice is to use a low value for the volatility.

2.1.2 α < −1

In this case, we are pricing puts. In a Black-Scholes world the modified put price is

p(κ) = eακ (eκ(N(−d2)−N(−d1)) (41)

We need only consider κ≫ 0, for which p(κ) ≈ e(1+α)κ. It then follows that

κmax ≈ | ln(ϵp(0))1 + α

| → ∆ ≈ π1 + α

ln(ϵ(2N(σ

√T

2 )− 1)) (42)

2.1.3 −1 < α < 0

If α is in this range of values, we are pricing a call minus the forward multiplied by the discountfactor. Let the modified form7 of this be x(κ)

7i.e. the price multiplied by eακ

DTFT

6

Page 11: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

x(κ) = eακ (N(d1)− eκN(d2)− 1)

→ x(κ) =

2(N(σ√T

2

)− 1)

κ = 0

−e(1+α)κ κ≪ 0

−eακ κ≫ 0

(43)

After considering both signs of κ we arrive at the result

κmax ≈ max(∣∣∣∣ ln(−x(0)ϵ)1 + α

∣∣∣∣ , ∣∣∣∣ ln(−x(0)ϵ)α

∣∣∣∣) (44)

→ ∆ ≈ −π min(1 + α,−α)

ln(2ϵ(1−N(σ

√T

2 ))) (45)

2.1.4 Short-Dated Options

As T → 0, the price of the at-the-money puts and calls go to zero, implying that ∆ → 0, andwe are forced to take increasingly fine samples of C. There is no such problem for −1 < α < 0.In this case, ∆ is maximised for α = −0.5 to give ∆ = π

2 ln(ϵ) . There are other reasons whyα = −0.5 is a good choice, which are discussed in section 1.3.

2.2 Sample NumberThe spacing in κ-space, δ, is related to ∆ by

δ =2π

N∆(46)

where N is the number of samples. A small ∆ implies a large δ, which in turn means widelyspaced strikes unless N is also increased, which adds to the computational burden. Havingapproximated the bandwidth, κmax, and the function cut-off, R, we have the inequalities

Nδ ≥ 2κmax (47)N∆ ≥ 2R (48)

→ N =

⌊2Rκmax

π

⌋∆ =

π

κmaxδ =

π

R(49)

However, this gives no control over the size of δ or the value of N8.The standard trick to gain control over the size of δ is to zero-pad the DFT. In particular,

if our function falls to zero after M samples (so the value R is exceeded), then one can stopsampling from the function and set the values to zero, giving a total of N samples. Furthermore,we only need sample the positive values of u which give the inequality N ≥ 2M − 1 (generally,we will have N ≫M). Equation 48 is changed to read M∆ ≥ R, and combining with equation46 gives the following inequality for N :

2M − 1 ≤ N ≤ 2π

δRM (50)

8which is optimally a power of two

7

Page 12: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

which has no solution unless δ < πR . We are free to choose any value of δ meeting this condition.

Given that δ is the spacing of log-strike, we will generally want much smaller value than theupper limit. The procedure to determine M , N , and ∆ is as follows:

1. Choose δ < πR

2. Set N = f(2κmax

δ

)where f(·) is a function that returns the next number greater than its

argument that is a power of two.

3. Set ∆ = 2πNδ

4. Set M =⌊R∆

⌋=⌊RδN2π

⌋With this choice the Nyquist critical frequency, κc, is

κc =π

∆=Nδ

2> κmax (51)

If κmax is well chosen, we are guaranteed not to have aliasing issues.

2.3 Optimising the Choice of α

The computational burden is dominated by the size of M , so a procedure to find the value of αthat minimises M is desirable. One could proceed as follows: For a chosen value of δ:

1. Choose an allowed value of α in one of the three regions

2. Calculate κmax and R

3. Calculate M , N , and ∆

4. Use the value of M to make a new guess of α (subject to it being an allowed value)

5. Repeat until M is minimised in that region

6. Repeat for the other two regions of α

We have not yet investigated how strongly M varies with α and thus whether the aboveoptimisation routine is worth performing (there is no point optimising α only to find that thetotal computation time has increased).

A Characteristic FunctionSome properties of characteristic functions that follow immediately from their definition are

ϕX(0) = 1 (52)ϕX(−i) = E[eX ] (53)

and by differentiating with respect to u we have

dnϕX(0)

dun= (i)nE[Xn] (54)

8

Page 13: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

so the nth derivative of the characteristic function at zero gives the nth moment (multiplied bysome power of i).

The cumulant characteristic function, or characteristic exponent, is defined as ψ(u) = ln(ϕ(u))and has the property that

dnψX(0)

dun= (i)nE[(X − E(X))n] (55)

so the nth derivative of the characteristic exponent at zero gives the nth central moment.

B Levy ProcessesB.1 Normal ProcessThe best known Levy process is Brownian motion, which is driven by normally-distributedincrements.

ϕX(u;µ, σ) = E[exp(iuX)] (56)

=1√2πσ

∫ ∞

−∞eiux exp

(− (x− µ)2

2σ2

)(57)

= exp(iuµ− 1

2σ2u2

)(58)

(59)

and

ϕXt(u) = [ϕX(u)]t (60)

= exp(t

{iuµ− σ2u2

2

})(61)

B.2 Poisson ProcessA Poisson process has up jumps of unit size at random times such that the number of jumps Ntin a interval of size t, is distributed as:

P (Nt = n) =e−λt(λt)n

n!(62)

The time between jumps follows a exponential distribution with mean λ−1. The characteristicfunction is:

ϕNt(u;λ) = E[exp(iuNt)] (63)

=∞∑n=0

eiune−λt(λt)n

n!(64)

= exp(λt(eiu − 1)) (65)

9

Page 14: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

B.2.1 Compound Poisson Process

This process has random jump sizes independently drawn from a distribution with characteristicfunction ϕZ(u).

Xt =

Nt∑i=1

Zi, t ≥ 0 (66)

thenϕXt(u;λ) = exp(λt(ϕZ(u)− 1)) (67)

B.3 The Variance Gamma ProcessThe characteristic function of VG is given by

ϕ(u;σ, ν, θ) =

(1− iuθν +

1

2σ2νu2

)−1/ν

(68)

The distribution is symmetric for θ = 0 and negative θ gives a negative skew. ν controls theexcess kurtosis. For ease of comparison with other model three new variables are defined

C = 1/ν (69)

G =

(√1

4θ2ν2 +

1

2σ2ν − 1

2θν

)−1

(70)

M =

(√1

4θ2ν2 +

1

2σ2ν +

1

2θν

)−1

(71)

With this parameterisation the characteristic function becomes

ϕ(u;C,G,M) =

(GM

GM + (M −G)iu+ u2

)C(72)

For sensible pricing we require that E[eX ] is finite (see equation 30). This implies that C > 0,G > 0 and M > 1.

B.4 The Normal Inverse Gaussian ProcessThis has a characteristic function given by [Sch03]

ΦNIG(u; a, b, δ) = exp[−δ(

√a2 − (b+ iu)2 −

√a2 − b2)

](73)

where a > 0, a > |b|, a > |b+ 1| and δ > 0

B.5 The CGMY ProcessThe CGMY distribution has a characteristic function [CW04]

ϕCGMY (u;C,G,M, Y ) = exp{CΓ(−Y )[(M − iu)Y

−MY + (G+ iu)Y −GY ]} (74)

10

Page 15: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

where C > 0, G > 0, M > 1 and Y < 2. This process is pure jump (i.e. no Brownian part). IfY < 0 the paths have a finite number of jumps, otherwise there are infinitely many jumps in anytime interval. If Y > 1 the process is of infinite variation. The VG distribution is a special caseof CGMY with Y = 0.

B.6 The Meixner ProcessThe characteristic function of the Meixner distribution is given by

ϕ(u; a, b, δ) =

(cos(b/2)

cosh(au− ib/2)

)2δ

(75)

where a, δ > 0 and −π < b < π − 2a.

C Time Change ProcessesOver some periods market activity (trading volumes, arrival of information etc.) will be greaterthan during other periods. This can be modelled by business time in which time moves forwardrelative to calendar time at a stochastic rate. If one drives the Levy processes by business timerather than calendar time, stochastic changes are introduced to the model parameters. A numberof different stochastic clocks, for example integrated CIR, can be used.

The Time Changed Levy Process (TCLP) can be written as XYt where Yt is the businesstime. The characteristic function is given by [CGMY03]:

ϕTCLP (u, t) = E[eiuXYt

]= E

[eYtψX(u)

]= E

[ei{−iψX(u)}Yt

]= ϕYt(−iψX(u), t)

(76)

where ψX(u) is the cumulant characteristic function of the Levy process.This stochastic clock has the effect of making one of the Levy model parameters stochastic9;

which in turn makes the volatility, skew and kurtosis stochastic.

C.1 Integrated CIR Time ChangeThe model of Cox-Ingersoll-Ross is a mean-reverting positive process (used to model instanta-neous interest rates)10

dyt = κ(η − yt)dt+ λ√ytdWt (77)

The business time elapsed over a calendar period t is the integrated CIR process:

Yt =

∫ t

0

ysds (78)

9C in the case of VG and CGMY and δ in the case of NIG and Meixner.10The Feller condition 2κη > λ2 ensures that the process yt cannot reach zero. However there is no reason to

exclude yt = 0 as the mean-reverting term will make it positive again, and it can be interpreted as a period ofzero volatility.

11

Page 16: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

Let y0 be the initial rate of business time. The characteristic function is [Sch03]:

ϕ(u, t;κ, η, λ, y0) = E[eiuYt |y0]

=eκ

2ηt/λ2 exp(2y0iu/{κ+ γ coth(γt/2)})(cosh(γt/2) + κ

γ sinh(γt/2))2κη/λ2

where γ =√κ2 − 2λ2iu

(79)

C.2 Integrated Ornstein-Uhlenbeck ProcessesA Ornstein-Uhlenbeck (OU) process is defined by the SDE

dyt = −λytdt+ dZt, λ, y0 > 0, (80)

where Z is a subordinator (a Levy process with nonnegative drift, no Brownian part and onlypositive jumps called the background driving Levy process). The elapsed business time, Yt, isgiven by equation 78.

C.2.1 The Gamma-OU Time Change

If the subordinator is driven by the Gamma distribution, the characteristic function is

ϕ(u, t;λ, a, b, y0) =

exp(iuy0λ

(1− e−λt) − λa

iu− λb

{b ln

[b− iuλ−1(1− e−λt)

b

]+ iut

}) (81)

C.2.2 The Inverse Gaussian-OU Time Change

If the subordinator is driven by the Inverse Gaussian (IG) distribution, the characteristic functionis

ϕ(u, t;λ, a, b, y0) = exp(iuy0λ

(1− e−λt) +2aiu

bλA(u, t)

)(82)

where

A(u, t) =1−

√1 + κ[1− exp(−λt)]

κ

+1√1 + κ

(tanh−1

{√1 + κ[1− exp(−λt)]√

1 + κ

}− tanh−1

{1√1 + κ

})

andκ = −2iu

b2λ

12

Page 17: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

D The Heston ModelIn the Heston model [Hes93] the spot asset, St, follows a diffusion

dSt = µ(St, t)dt+√VtStdWt

dVt = a[θ − Vt]dt+ ν√VtdZt

⟨dWt, dZt⟩ = ρdt

(83)

If ρ = 0 this can be viewed as an exponential Brownian process with a CIR stochastic clock. Forρ = 0 the characteristic function is given by [Gat06]

ϕ(u) = eC(t,u)+D(t,u)V0

C(t, u) =aθ

ν2

([a− ρνui− d(u)]t− 2 ln

[c(u)− e−d(u)t

c(u)− 1

])D(u, t) =

a− ρνui+ d(u)

ν2

(1− e−d(u)t

c(u)− e−d(u)t

)c(u) =

a− ρνui+ d(u)

a− ρνui− d(u)d(u) =

√(ρνui− a)2 + iuν2 + ν2u2

(84)

In this form, the characteristic function does not suffer from any of the complex discontinuityproblems discussed in [KJ06].

References[CGMY03] Peter Carr, H�lyette Geman, Dilip B. Madan, and Marc Yor. Stochastic volatility

for levy processes. Mathematical Finance, 12:324–382, 2003. 11

[CMS99] Peter Carr, Dilip B. Madan, and Robert H Smith. Option valuation using the fastfourier transform. Journal of Computational Finance, 2:61–73, 1999. 3

[CW04] Peter Carr and Liuren Wu. Time-changed levy processes and option pricing. Journalof Financial Economics, 71:113–141, 2004. 10

[Gat06] J. Gatheral. The Volatility Surface: a Practitioner’s Guide. Finance Series. Wiley,2006. 13

[Hes93] Steven Heston. A Closed-Form Solution for Options with Stochastic Volatility withApplications to Bond and Currency Options. Review of Financial Studies, 6(6):327–343, September 1993. 1, 13

[KJ06] Christian Kahl and Peter Jackel. Not-so-complex logarithms in the heston model.2006. 13

[Lew01] Alan L. Lewis. A simple option formula for general jump-diffusion and other ex-ponential levy processes. Envision Financial Systems and OptionCity.net, 2001. 2,3

[PTVF07] William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brain P. Flannery.Numerical Recipes. Cambridge University Press, 2007. 2, 5

[Sch03] Wim Schoutens. Levy Processes in Finance. Wiley, 2003. 10, 12

13

Page 18: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

placeholder

Page 19: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

OpenGamma Quantitative Research1. Marc Henrard. Adjoint Algorithmic Differentiation: Calibration and implicit function theorem.

November 2011.

2. Richard White. Local Volatility. January 2012.

3. Marc Henrard. My future is not convex. May 2012.

4. Richard White. Equity Variance Swap with Dividends. May 2012.

5. Marc Henrard. Deliverable Interest Rate Swap Futures: Pricing in Gaussian HJM Model. Septem-ber 2012.

6. Marc Henrard. Multi-Curves: Variations on a Theme. October 2012.

7. Richard White. Option pricing with Fourier Methods. April 2012.

8. Richard White. Equity Variance Swap Greeks. August 2012.

9. Richard White. Mixed Log-Normal Volatility Model. August 2012.

10. Richard White. Numerical Solutions to PDEs with Financial Applications. February 2013.

Page 20: Option Pricing with Fourier Methods - OpenGamma … · or the Fast Fourier transform (FFT). ... 2 Pricing Using the Fast Fourier Transform 5 ... B.1 Normal Process

About OpenGamma

OpenGamma helps financial services firms unify their calculation of analytics across the traditionaltrading and risk management boundaries.

The company's flagship product, the OpenGamma Platform, is a transparent system for front-officeand risk calculations for financial services firms. It combines data management, a declarative calcu-lation engine, and analytics in one comprehensive solution. OpenGamma also develops a modern,independently-written quantitative finance library that can be used either as part of the Platform, orseparately in its own right.

Released under the open source Apache License 2.0, the OpenGamma Platform covers a range of assetclasses and provides a comprehensive set of analytic measures and numerical techniques.

Find out more about OpenGamma Download the OpenGamma Platform

EuropeOpenGamma

185 Park StreetLondon SE1 9BL

United Kingdom

North AmericaOpenGamma230 Park Avenue SouthNew York, NY 10003United States of America