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

Option Pricing Using Fourier Transforms: A

Numerically Efficient Simplification


Mukarram Attari
Charles River Associates, Inc., 200 Clarendon Street T33, Boston, MA 02116. Email: mattari@crai.com.

March 21, 2004

Abstract
This paper presents a simple manipulation that (i) reduces the two numerical integrations needed
to compute option prices using fourier inversion into a single numerical integration and (ii) reduces
the number of characteristic function evaluations needed to obtain a given level of accuracy. The
simplification does not preclude the use of other numerical techniques to increase computational speed.
It will primarily help in empirical studies and in model calibration, since, these are occasions when
computational efficiency is critical.
Fourier Inversion is a powerful technique that allows us to address seemingly intractable option valuation
problems. Heston (1993), Scott (1997) and Duffie, Pan and Singleton (1999) use fourier inversion to address
the theoretical problem of valuing options with stochastic volatility and jumps. Chacko and Das (1998) and
Ju (1997) use fourier inversion to value interest rate options with Asian pay-offs.
Recent work by Bates (1996), Bakshi, Cao and Chen (1997) and Pan (1999) has used this technique in
empirical studies. While computational speed is not of central importance in theoretical work it is very
important in empirical work. Bates (1996), for example, reports that parameter estimation for some of the
specifications considered in the paper took 5 to 7 days on a work station. Two numerical integrations and
two sets of characteristic function evaluations are required to value options. Some efficiency is obtained
from the grouping options by time-to-expiration.
Carr and Madan (1999) explains how fast Fourier transforms may be used to value options. They show
that the resulting option values are closer to the analytical values and can be compted relatively quickly.
This paper describes a manipulation that allows option values to be computed using a single numerical
integration. The resulting integrand decays at a quadratic, instead of linear, rate reducing the range over
which it needs to be evaluated to obtain accurate option values. The beauty of this manipulation is that it
is simple and does not preclude the use of other techniques to speed up the computation of option values.
The next section describes how options have typically been valued using fourier inversion. Section II
describes the manipulation for equity options while section III considers fixed income options. Section IV
reports some numerical results and section V concludes. An appendix containing the derivations is included
at the end.

1 Valuation of Equity Options using Fourier Inversion


As described in the introduction fourier transforms and fourier inversion make it possible to value options for
a variety of processes where the resulting probability density of the underlying is not known in closed-form.
This section describes option valuation using fourier inversion.
Consider the simple case where the current stock price is given by St , the stock price at option expiration,
T , is given by ST , the risk-free interest rate is r and the option strike price is X. Let, ST = St er(T −t)+x(t,T ) ,
where x (t, T ) is the random shock term in stock prices. This covers the Black-Scholes geometric brownian
motion, processes with stochastic volatility, jumps and can also describe processes with stochastic interest
rates.1
1 For the case of stochastic interest rates, r should be interpreted as the yield on bonds with T − t to maturity. The
risk-neutral measure in this case is what is referred to as the forward-neutral measure.

1
Under the risk-neutral measure we have that Et [ST ] = St er(T −t) . We can write the value of a call option
with strike price X, C (t, St ; T, X), as
h i
C (t, St ; T, X) = e−r(T −t) Et (ST − X)+ (1)
= e−r(T£−t) Et [ST |ST ≥ X ]¤− e−r(T −t) XEt [1 |ST ≥ X ]
x(t,T ) −r(T −t)
= St E
R t∞ e x(t,T ) |x (t, T ) ≥ l − e XEt [1 |xR(t, T ) ≥ l ]

= St Ql e q (x (t,QT )) dx (t, T ) − e−r(T −t) X l q (x (t, T )) dx (t, T )
−r(T −t)
= St 1 −e X 2
where, the expectations are with respect to the risk-neutral distribution, ³ density q (x) (x ≡ x (t, T ), we drop
´
Xe−r(T −t)
Q R∞
the time indices for notational convenience), associated with x, l = ln St , 1 = l ex q (x) dx and
Q R∞ Q x x
2 = l q (x) dx. We know that 0 ≤ 1 ≤ 1 and that e q (x) ≥ 0 for all x. This allows us to treat e q (x)
as a probability density function. R∞
Let ϕ1 (ω) be the characteristic function of the density ex q (x). We have ϕ1 (ω) = −∞ eiωx ex q (x) dx and
1
R ∞
that ex q (x) = 2π −∞ 1
ϕ (ω) e−iωx dω. Similarly, let ϕ2 (ω) be the characteristic function associated with the
R∞ 1
R∞
risk-neutral density of x, q (x). We have ϕ2 (ω) = −∞ eiωx q (x) dx and that q (x) = 2π −∞ 2
ϕ (ω) e−iωx dω.
0
Substituting these characteristic functions into the expressions for the Π s gives
Z ∞µ Z ∞ ¶
Q 1 −iωx
= ϕ (ω) e dω dx (2)
j
l 2π −∞ j
Changing the order of the integration gives
Z ∞ µZ ∞ ¶
Q 1 −iωx
= ϕ (ω) e dx dω (3)
j
2π −∞ j l

This can be simplified to


· Z ∞ ¸
Q 1 1 e−iωl
j = + ϕj (ω) dω (4)
2 2π −∞ iω
This can be further simplified, using the fact that the terms in brackets has to be real, to
· Z ¸
Q 1 1 ∞ (Ij (ω) cos (ωl) − Rj (ω) sin (ωl))
j = + dω (5)
2 π 0 ω
¡ ¢ ¡ ¢
where, Rj (ω) = Re ϕj (ω) and Ij (ω) = Im ϕj (ω) . The expression above is a standard result, see Stuart
and Ord (1994, equation 4.4, pg. 122). The value of the European call option is then given as
h R∞ i
C (t, St ; T, X) = St 12 + π1 0 (I1 (ω) cos(ωl)−R
ω
1 (ω) sin(ωl))
dω (6)
h R i
∞ (I (ω) cos(ωl)−R (ω) sin(ωl))
−e−r(T −t) X 12 + π1 0 2
ω
2

The above expression requires two one dimensional numerical integrations to compute the value of a European
call option. The two integrands have ω 1 in the denominator and this is one of the factors in determining
their rate of decay. The value of a European put can be computed using European put-call parity.

2 The Modification Applied to Equity Options


This section shows that the above expression for the call value can be simplified to obtain a computationally
efficient expression
Q for valuing European
Q R ∞calls. The modification involvesRusing a slightly different approach
x 1 ∞
to compute 1 . Notice Q that 1 = l
e q (x) dx and that q (x) = 2π ϕ (ω) e−iωx dω. Substituting
−∞ 2
into the expression for 1 gives
Z ∞ µ Z ∞ ¶
Q x 1 −iωx
= e ϕ (ω) e dω dx (7)
1
l 2π −∞ 2

2
Changing the order of the integration gives
Z ∞ µZ ∞ ¶
Q 1 −i(ω+i)x
= ϕ (ω) e dx dω (8)
1
2π −∞ 2 l
Q
Using the fact that 1 |l=−∞ = 1 (option with zero strike price will have value St ), we can write
Z ∞ µZ ∞ ¶ Z ∞ ÃZ !
l
Q 1 1 −i(ω+i)x 1 −i(ω+i)x
1 = + ϕ (ω) e dx dω − ϕ (ω) e dx dω (9)
2 4π −∞ 2 l 4π −∞ 2 −∞

Integration gives
Z ∞ Z ∞ µ i(ω+i)R ¶
Q 1 1 e−i(ω+i)l 1 e + e−i(ω+i)R
= + ϕ2 (ω) dω − lim ϕ (ω) dω (10)
1
2 2π −∞ i (ω + i) 4π R→∞ −∞ 2 i (ω + i)
R∞ ³ i(ω+i)R −i(ω+i)R ´
1
The final term in the above expression, 4π lim −∞ ϕ2 (ω) e +e
i(ω+i) dω can be written as
R ³ ´ R
R→∞ ³ ´
1 ∞ i(ω+i)R ∞ −i(ω+i)R
lim −∞ ϕ2 (ω) ei(ω+i) dω + 4π
4π R→∞
1
lim −∞ ϕ2 (ω) e i(ω+i) dω. Substituting, u = −ω in the second
R∞ ³ R→∞
i(ω+i)R
´ R∞ ³ i(u−i)R ´
1
integral gives 4π lim −∞ ϕ2 (ω) ei(ω+i) dω − 4π 1
lim −∞ ϕ2 (−u) ei(u−i) du. The first integrand has
R→∞ R→∞
a pole at ω = −i, while the second integrand has a pole at u = i. Using the Residue Theorem2 to evaluate
the second integral gives
Z ∞
Q 1 1 e−i(ω+i)l ϕ (−i)
1 = + ϕ2 (ω) dω + 2 (11)
2 2π −∞ i (ω + i) 2
The final term in the above expression ϕ2 (−i) is equal to 1. This can be seen as follows:
Q
1 |l=−∞ = 1
1
R ∞ x ³R ∞ ´
= 2π −∞
e ϕ (ω) e−iωx dω dx
−∞ 2 ³
R∞ RR ´
1
= 2π lim −∞ ϕ2 (ω) −R e−i(ω+i)x dx dω
R→∞
R∞ ³ −i(ω+i)R i(ω+i)R ´
1
= − 2πi lim −∞ ϕ2 (ω) e −e
(ω+i) dω
R→∞
R ∞ −i(ω+i)R R∞ i(ω+i)R
= − 2πi lim −∞ ϕ2 (ω) (ω+i) dω + 2πi lim −∞ ϕ2 (ω) e (ω+i) dω
1 e 1
R→∞ R→∞
= ϕ2 (−i) .
Substituting into 11 gives
Z ∞
Q el e−iωl
1 =1+ ϕ2 (ω) dω (12)
2π −∞ i (ω + i)
Using this in the expression for the call value gives

h R∞ i
el e−iωl
C (t, St ; T, X) = St 1 + 2πi
−∞
ϕ2 (ω) (ω+i) dω (13)
h R∞ i
e−iωl
−e−r(T −t) X 12 + 2πi
1
−∞ 2
ϕ (ω) ω dω

Rearranging terms gives

e−r(T −t) X
C (t, St ; T, X) = St − 2 µ (14)
Z ∞
³
I2 (ω)
´ ³
R (ω)
´ ¶
R2 (ω)+ cos(ωl)+ I2 (ω)− 2ω sin(ωl)
1 ω
−e−r(T −t) X π (1+ω 2 ) dω
0

This involves a single numerical integration instead of the two needed to evaluate expression (6). Also,
the integrand has a ω 2 term in the denominator giving a faster rate of decay.
2 See Arfken (1985).

3
3 The Modification Applied to Fixed Income Options
Up until this point we have considered the case of equity options, here we consider fixed income options.
We examine the valuation of call options written on discount bonds. The valuation of other types of fixed
income options is similar. Consider the problem of valuing at t a European Call option expiring at T written
on a discount bond expiring at τ , where t < T < τ . Let the value of a call with strike price X be denoted as
C (t; T, X), P (u, v) be the price at u of a discount bond maturing at v and p (u, v) = ln (P (u, v)). Finally,
let r (t) be the short term interest rate at t.
The call option will pay nothing if P (T, τ ) ≤ X and will pay P (T, τ ) − X if P (T, τ ) > X, that is if
p (T, τ ) > ln (X) = l. This allows us to write the value of the call as
" ( Z ) #
T
C (t; T, X) = E exp − r (u) du (P (T, τ ) − X) |p (T, τ ) > ln (X) . (15)
t

where, E [.] is the expectation with respect to the risk-neutral probability distribution. Let, z (t, T ) =
RT
− t r (u) du and q (z (t, T ) , p (T, τ )) be the joint risk-neutral distribution associated with z (t, T ) and p (T, τ ).
The above equation can be written as
R∞ R∞
C (t; T, X) = −∞ l
exp
R ∞{zR(t, T ) + p (T, τ )} q (z (t, T ) , p (T, τ )) dp (T, τ ) dz (t, T ) (16)

−X −∞ l exp {z (t, T )} q (z (t, T ) , p (T, τ )) dp (T, τ ) dz (t, T )
Let ϕ (ω p , ω z ) be the characteristic function of q (z, p) (where, z ≡ z (t, T ) and p ≡ p (T, τ ), from here on
we drop the time indices R ∞ R ∞for notational convenience), that is
1 iω p p+iω z z
ϕ (ω p , ω z ) = (2π) 2 −∞ −∞
e q (z, p) dzdp
1
R ∞ R ∞ −iω p−iω z
and q (z, p) = (2π)2 −∞ −∞ e p z
ϕ (ω p , ω z ) dω z dω p allowing us to write
R∞ R∞ ³ R ∞ R ∞ −iω p−iω z ´
1
C (t; T, X) = −∞ l exp {z + p} (2π) 2 −∞ −∞
e p z
ϕ (ω p , ω z ) dω z dω p dpdz (17)
R∞ R∞ ³ R R ´
1 ∞ ∞
−X −∞ l exp {z} (2π) 2 −∞ −∞
e−iωp p−iωz z ϕ (ω p , ω z ) dω z dω p dpdz

Changing the order of the integration gives


R∞ R∞ R∞ ³ ´
¡R ∞ −i(ω +i)p ¢
1
C (t; T, X) = (2π)2 −∞ −∞
ϕ (ω p , ω z ) −∞ e−i(ωz +i)z dz e p
dp dω z dω p (18)
R R ³ R ´l ¡R ¢
1 ∞ ∞ ∞ −i(ω z +i)z ∞ −iωp p
−X (2π)2 −∞ −∞ ϕ (ω p , ω z ) −∞ e dz l
e dp dω z dω p

which can then be simplified to (see appendix)

τ ) − XP (t,T
C (t; T, X) = P (t, 2
µ
)
¶ µ ¶  (19)
Z ∞ R2 (ωp )+ I2 (ωp ) cos(ωp l)+ I2 (ωp )− R2 (ωp ) sin(ωp l)
ωp ωp
−X  π1 dω p 
0
(1+ω2p )

As with the equity options, this involves a single numerical integration instead of the two that are typically
needed to value options. Again, the integrand has an ω 2p term in the denominator giving a faster rate of
decay.

4 Numerical Results
This section quantifies the gains that can be attained through the use of the simplification described above.
The primary concern associated with the simplification is that while it requires only a single numerical
integration to value an option, the resulting integrand may be time consuming to evaluate. In more
concrete terms, the simplification may take two integrals of easily evaluated functions and turn it into a
single integral of a difficult to evaluate function.

4
Table 1: For a fixed number of function evaluations
BS SV SVJ SVSI
Time taken with simplification
Time taken with existing formula 0.703 0.499 0.495 0.519
RM SE with simplification
RM SE with existing formula 0 0.044 0.043 0.030

Table 1 reports the time needed to value options using the simplification relative to that without the
simplification. A large number of option prices, for multiple time to expiration and moneyness3 , were
computed using the four specifications estimated by Bakshi, Cao and Chen (1997); the four specifications
are (i) the Black-Scholes (BS); (ii) a stochastic volatility (SV) specification; (iii) a stochastic volatility and
stochastic interest rate (SVSI) specification; and (iv) a specification with stochastic volatility and jumps
(SVJ). Parameter values are taken from the first four columns of Table III (page 2018) of the paper. The
characteristic functions are from expressions (A10) and (A11) of the paper.
The numbers reported in Table 1 were obtained as follows. The option values were first computed
by performing the numerical integration using existing option valuation formula and a very large number
of function evaluations over a large range for ω. These values were considered the “true” option values.4
Then, the option values were computed using the existing option valuation formula and the simplified formula
presented here using smaller number of function evaluations. The time taken for this was noted. The time
taken using the simplification was divided by the time taken using the existing formula and these numbers
are reported in Table 1. The ratio of the root mean squared option pricing error for the two cases is also
reported. In all cases the difference between the “true” option value and the option value computed with a
smaller number of function evaluations, for both existing and simplified formula, was smaller than 10−6 St .
This translates into better that “penny accuracy” for St = 10000.
As can be seen there is a significant reduction in the option pricing errors that is obtained along with an
improvement in the computational speed when the simplification is used. This remains the case even when
other time-saving methods are applied to improve computational efficiency.

5 Conclusions
This paper has presented a simple manipulation that allows us to reduce the two numerical integrations
needed to compute option prices using fourier inversion into a single numerical integration. The integrand
in the simplified formula decays at a quadratic rate and hence fewer evaluations are needed to accurately
value options. Also, the simplification does not preclude the use of other numerical techniques to increase
computational speed. It will primarily help in empirical studies and in model calibration, since, these are
occasions when computational efficiency is critical.

6 Appendix
Derivation for equation (19):
In equation (18) let

C (t; T, X) = Π1 (l) − XΠ2 (l) (20)


where,
Z ∞ Z ∞ µZ ∞ ¶ µZ ∞ ¶
1 −i(ω z +i)z −i(ω p +iaj )p
Πj (l) = 2 ϕ (ω p , ω z ) e dz e dp dω z dω p (21)
(2π) −∞ −∞ −∞ l

3 The numbers reported in tables 1 and 2 are based on sixteen equally spaced time-to expirations, starting with 0.125 years
√ √
through 2.0 years, and 11 moneyness levels, from −σ 2 τ to +σ 2 τ , at each maturity. This resulted in 176 option prices.
4 The “true” values were computed using 312 equally spaced function evaluations on the interval (0, 1). The points were

mapped onto (0, ∞) using the the transform x = −α ln (u), where u ∈ (0, 1), x ∈ (0, ∞) and α = 10.0.

2τ Richardson extrapolation
was used increase the rate of convergence of the computed values to the actual option values. The results in Table 1 are based
on numerical integration using 37 function evaluations followed by Richardson extrapolation.

5
R∞ R∞
Let Iz (−∞, ∞) = −∞ e−i(ωz +i)z dz and Ip (l, ∞; a) = l e−i(ωp +ai)p dp. Integrating, we get Iz (−∞, ∞) =
RR ³ −i(ω +i)R i(ω +i)R ´ RR −i(ω p +ai)l
z −e z
lim −R e−i(ωz +i)z dz = lim e −i(ω z +i) and Ip (l, ∞; a) = lim l e−i(ωp +ai)p dp = e i(ωp +ai) −
R→∞ R→∞ R→∞
e−i(ωp +ai)R
lim . This gives
R→∞ i(ω p +ai)

Z ∞ µ Z ∞ ¶
1 1
Πj (l) = Ip (l, ∞; aj ) ϕ (ω p , ω z ) Iz (−∞, ∞) dω z dω p (22)
2π −∞ 2π −∞

1
R∞ 1
R∞ −i(ω z +i)R

2π −∞
ϕ (ω p , ω z ) Iz (−∞, ∞) dω z = − 2πi lim −∞
ϕ (ω p , ω z ) e (ωz +i) dω z
R→∞
1
R∞ i(ω z +i)R
+ 2πi lim ϕ (ω p , ω z ) e (ωz +i) dω z
R→∞ −∞

Substituting u = −ω z in the first integral gives


1
R∞ i(u−i)R R∞ i(ωz +i)R
lim −∞ ϕ (ω p , −u) e (u−i) du
2πi R→∞ + 1
lim −∞
2πi R→∞ ϕ (ω p , ω z ) e (ωz +i) dω z

The first integrand has a pole at i, while the second integrand has a pole at −i. Using the Residue
Theorem, this gives a value of ϕ (ω p , −i) for the first integral and of 0 for the second integral. Substituting
into the expression for Πj gives
Z ∞ −i(ωp +aj i)l Z ∞ −i(ωp +aj i)R
1 e 1 e
Πj (l) = ϕ (ω p , −i) dω p − lim ϕ (ω p , −i) dω p (23)
2πi −∞ ω p + aj i 2πi R→∞ −∞ ω p + aj i
1
R ∞ i(u−iaj )R
Substituting u = −ω p in the second integral gives − 2πi lim −∞ e u−iaj ϕ (−u, −i) du. The integrand
R→∞
has a pole at iaj and the integral has a value of −ϕ (−iaj , −i). This gives
Z ∞ −i(ωp +aj i)l
1 e
Πj (l) = ϕ (−iaj , −i) + ϕ (ω p , −i) dω p (24)
2πi −∞ ω p + aj i
Now, all that is left is to evaluate ϕ (−iaj , −i). For this consider l = −∞. In this case Π1 (l = −∞) =
E [ez+p ] = P (t, τ ) and Π2 (l = −∞) = E [ez ] = P (t, T ). We substitute l = −∞ into the above expression
1
R ∞ ei(ωp +i)R
and evaluate it. For aj = 1, this gives Π1 (l = −∞) = P (t, τ ) = ϕ (−i, −i)+ lim 2πi −∞ ω p +i ϕ (ω p , −i) dω p .
R→∞
The integrand has a pole at −i, and has a value of 0. This gives P (t, τ ) = ϕ (−i, −i) ⇒ Π1 (l = ln (X)) =
X
R ∞ e−iωp l
P (t, τ ) + 2πi −∞ ω +i
ϕ (ω p , −i) dω p . For aj = 0, this gives Π2 (l = −∞) = P (t, T ) = ϕ (0, −i) +
1
R ∞ eiωp R p
lim ϕ (ω p , −i) dω p . The integrand has a pole at 0, and has a value of ϕ (0, −i). This
R→∞ 2πi −∞ ω p
R ∞ e−iωp l
gives P (t, T ) = 2ϕ (0, −i) ⇒ Π2 (l = ln (X)) = P (t,T
2
) 1
+ 2πi −∞ ω p
ϕ (ω p , −i) dω p . Substituting into (20)
gives (19).

6
References
[1] Arfken, G. Mathematical Methods For Physicists, Third Edition, Academic Press (1985).
[2] Bakshi, G., C. Cao and Z. Chen. Empirical Performance of Alternative Option Pricing Models. Journal
of Finance 52 (1997), 2003-49.
[3] Bates, D. Jumps and Stochastic Volatility: Exchange Rate Processes Implicit in Deutsche Mark Options.
Review of Financial Studies 9 (1996), 69-107.
[4] Carr, P. and D. B. Madan. Option Valuation Using the Fast Fourier Transform. Journal of Computa-
tional Finance 4 (1999).
[5] Chacko, G., and S. Das. Average Interest. Working Paper. Harvard Business School (1998).
[6] Duffie, D., J. Pan and K. Singleton. Transform Analysis and Asset Pricing for Affine Jump-Diffusions.
Econometrica forthcoming (1999).
[7] Heston, S. A Closed-form Solution of Options with Stochastic Volatility with Applications to Bond and
Currency Options. Review of Financial Studies 6 (1993), 327-43.
[8] Ju, N. Fourier Transformation, Martingale and the Pricing of Average-Rate Derivatives. Working Paper.
University of Maryland (1997).
[9] Pan, J. Integrated Time-Series Analysis of Spot and Options Prices. Working Paper, Stanford University
(1999).
[10] Stuart, A., and J. K. Ord. Kendall’s Advanced Theory of Statistics Volume 1. John Wiley & Sons, New
York (1994).
[11] Scott, L. O. Pricing Stock Options in a Jump-Diffusion Model with Stochastic Volatility and Interest
Rates: Applications of Fourier Inversion Methods. Mathematical Finance 7 (1997), 413-26.

You might also like