SIAM J. FINANCIAL MATH. Vol. 0, No. 0, pp. 000 000 c 20XX Society for Industrial and Applied Mathematics A Fourier Transform Method for Spread Option Pricing T. R. Hurd and Zhuowei Zhou Abstract. Spread options are a fundamental class of derivative contracts written on multiple assets and are widely traded in a range of financial markets. There is a long history of approximation methods for computing such products, but as yet there is no preferred approach that is accurate, efficient, and flexible enough to apply in general asset models. The present paper introduces a new formula for general spread option pricing based on Fourier analysis of the payoff function. Our detailed investigation, including a flexible and general error analysis, proves the effectiveness of a fast Fourier transform implementation of this formula for the computation of spread option prices. It is found to be easy to implement, stable, efficient, and applicable in a wide variety of asset pricing models. Key words. spread options, multivariate spread options, jump diffusions, fast Fourier transform, gamma function AMS subject classifications. 33B15, 65T50, 91B28 DOI. 10.1137/090750421 1. Introduction. When S jt, j = 1, 2, t 0, are two asset price processes, the basic spread option with maturity T and strike K 0 is the contract that pays (S 1T S 2T K + at time T. If we assume the existence of a risk-neutral pricing measure, the risk-neutral expectation formula for the time 0 price of this option, assuming a constant interest rate r, is (1.1 Spr(S 0 ; T, K =e rt E S0 [(S 1T S 2T K + ]. The literature on applications of spread options is extensive and is reviewed by Carmona and Durrleman [2], who explore further applications of spread options beyond the case of equities modeled by geometric Brownian motion (GBM, in particular to energy trading. For example, the difference between the price of crude oil and a refined fuel such as natural gas is called a crack spread. Spark spreads refer to differences between the price of electricity and the price of fuel: options on spark spreads are widely used by power plant operators to optimize their revenue streams. Energy pricing requires models with mean reversion and jumps very different from GBM, and pricing spread options in such situations can be challenging. Closed formulas for (1.1 are known only for a limited set of asset models. In the Bachelier stock model, S t =(S 1t,S 2t is an arithmetic Brownian motion, and in this case (1.1 has a Black Scholes-type formula for any T, K. In the special case K = 0 when S t is a GBM, (1.1 is given by the Margrabe formula [14]. Received by the editors February 23, 2009; accepted for publication (in revised form November 5, 2009; published electronically DATE. This research was supported by the Natural Sciences and Engineering Research Council of Canada. http://www.siam.org/journals/sifin/x-x/75042.html Department of Mathematics and Statistics, McMaster University, Hamilton, ON, L8S 4K1, Canada (hurdt@ mcmaster.ca, zhouz3@univmail.cis.mcmaster.ca. 1
2 T. R. HURD AND ZHUOWEI ZHOU In the basic case where S t is a GBM and K>0, no explicit pricing formula is known. Instead, there is a long history of approximation methods for this problem. Numerical integration methods, typically Monte Carlo based, are often employed. When possible, however, the fastest option pricing engines by numerical integration are usually those based on the fast Fourier transform (FFT methods introduced by Carr and Madan [4]. Their first interest was in single asset option pricing for geometric Lévy process models like the variance gamma (VG model, but their basic framework has since been adapted to a variety of option payoffs and a host of asset return models where the characteristic function is known. In this work, when the payoff function is not square integrable, it is important to account for singularities in the Fourier transform variables. Dempster and Hong [5] introduced a numerical integration method for spread options based on two-dimensional FFTs that was shown to be efficient when the asset price processes are GBMs or to have stochastic volatility. Three more recent papers study the use of multidimensional convolution FFT methods to price a wide range of multiasset options, including basket and spread options. These newer methods also compute by discretized Fourier transforms over truncated domains, but unlike earlier work using the FFT, they apparently do not rely on knowing the analytic Fourier transform of the payoff function or integrability of the payoff function. Lord et al. [11] provide error analysis that explains their observation that errors decay as a negative power of the size N of the grid used in computing the FFT, provided the truncation is taken large enough. Leentvaar and Oosterlee [9] propose a parallel partitioning approach to tackle the so-called curse of dimensionality when the number of underlying assets becomes large. Jackson, Jaimungal, and Surkov [6] proposed a general FFT pricing framework for multiasset options, including variations with Bermudan early exercise features. These three papers all find that the FFT applied to the payoff function can perform well even if the payoff function is not square integrable and observe that errors can be made to decay as a negative power of N. As an alternative to numerical integration methods, another stream uses analytical methods applicable to log-normal models that involve linear approximations of the nonlinear exercise boundary. Such methods are often very fast, but their accuracy is usually not easy to determine. Kirk [7] presented an analytical approximation that performs well in practice. Carmona and Durrleman [3] and later Li, Deng, and Zhou [10] demonstrate a number of lower and upper bounds for the spread option price that combine to produce accurate analytical approximation formulas in log-normal asset models. These results extend to approximate values for the Greeks. The main purpose of the present paper is to give a numerical integration method for computing spread options in two or higher dimensions using the FFT. Unlike the above multiasset FFT methods, it is based on square integrable integral formulas for the payoff function, and like those methods it is applicable to a variety of spread option payoffs in any model for which the characteristic function of the joint return process is given analytically. Since our method involves only smooth square integrable integrands, the error estimates we present are quite straightforward and standard. In fact, we demonstrate that the asymptotic decay of errors is exponential, rather than polynomial, in the size N of the Fourier grid. For option payoffs that can be made square integrable, our method has the flexibility to handle a wide range of desirable asset return models, all with a very competitive computational expense.
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 3 The results we describe stem from the following new formula, 1 which gives a square integrable Fourier representation of the basic spread option payoff function P (x 1,x 2 = (e x 1 e x 2 1 +. Theorem 1.1. For any real numbers ɛ =(ɛ 1,ɛ 2 with ɛ 2 > 0 and ɛ 1 + ɛ 2 < 1 and x = (x 1,x 2, 2 (1.2 P (x = (2π 2 R 2 +iɛ e iux ˆP (ud 2 Γ(i(u 1 + u 2 1Γ( iu 2 u, ˆP (u =. Γ(iu 1 + 1 Here Γ(z is the complex gamma function defined for Re(z > 0 by the integral Γ(z = 0 e t t z 1 dt. Using this theorem, whose proof is given in the appendix, we will find that we can follow the logic of Carr and Madan to derive numerical algorithms for efficient computation of a variety of spread options and their Greeks. The basic strategy to compute (1.1 is to combine (1.2 with an explicit formula for the characteristic function of the bivariate random variable X t = (log S 1t, log S 2t. For the remainder of this paper, we make a simplifying assumption. Assumption 1. For any t>0, the increment X t X 0 is independent of X 0. This implies that the characteristic function of X T factorizes (1.3 E X0 [e iux T ]=e iux 0 Φ(u; T, Φ(u; T := EX0 [e iu(x T X 0 ], where Φ(u; T is independent of X 0. Although the above assumption rules out mean-reverting processes that often arise in energy applications, it holds for typical stock models: moreover, the method we propose can be generalized to a variety of mean-reverting processes. Using Theorem 1.1 and (1.3, the spread option formula can be written as an explicit two-dimensional Fourier transform in the variable X 0 : (1.4 Spr(X 0 ; T =e rt E X0 [(e X 1T e X 2T 1 + ] [ ] = e rt E X0 (2π 2 e iux T ˆP (ud 2 u R 2 +iɛ = (2π 2 e rt E X0 [e iux T ] ˆP (ud 2 u R 2 +iɛ = (2π 2 e rt e iux 0 Φ(u; T ˆP (ud 2 u. R 2 +iɛ The Greeks are handled in exactly the same way. For example, the Delta 1 := Spr/ S 10 is obtained as a function of S 0 by replacing Φ in (1.4 by Φ/ S 10. Double Fourier integrals like this can be approximated numerically by a two-dimensional FFT. Such approximations involve both a truncation and discretization of the integral, and the two properties that determine their accuracy are the decay of the integrand of (1.4 in u-space 1 It came to our attention after the submission of our paper that the result of this theorem has been simultaneously and independently stated in another working paper by Antonov and Arneguy [1]. 2 Here and in rest of the paper, some variables such as u, ɛ, x are defined to be row vectors with components u =(u 1,u 2, etc. We use implied matrix multiplication so that ux = u 1x 1 + u 2x 2, where x denotes the (unconjugated transpose of x.
4 T. R. HURD AND ZHUOWEI ZHOU and the decay of the function Spr in x-space. The remaining issue of computing the gamma function is not really difficult. Fast and accurate computation of the complex gamma function in, for example, MATLAB, is based on the Lanczos approximation popularized by [15]. 3 In this paper, we demonstrate how our method performs for computing spread options in three different two-asset stock models, namely GBM, a three factor stochastic volatility (SV model, and the VG model. Section 2 provides the essential definitions of the three types of asset return models, including explicit formulas for their bivariate characteristic functions. Section 3 discusses how the two-dimensional FFT can be implemented for our problem. Section 4 provides error analysis that shows how the accuracy and speed will depend on the implementation choices made. Section 5 describes briefly how the method extends to the computation of spread option Greeks. Section 6 gives the detailed results of the performance of the method in the three asset return models. In this section, the accuracy of each model is compared to benchmark values computed by an independent method for a reference set of option prices. We also demonstrate that the computation of the spread option Greeks in such models is equally feasible. Section 7 extends all the above results to several kinds of basket options on two or more assets. Although the formulation is simple, the resulting FFTs become, in practice, much slower to compute in higher dimensions, due to the so-called curse of dimensionality: in such cases, one can implement the parallel partitioning approach of [9]. 2. Three kinds of stock models. 2.1. The case of GBM. In the two-asset Black Scholes model, the vector S t =(S 1t,S 2t has components S jt = S j0 exp[(r σj 2 /2t + σ j W j t ], j =1, 2, where σ 1,σ 2 > 0 and W 1,W 2 are risk-neutral Brownian motions with constant correlation ρ, ρ < 1. The joint characteristic function of X T = (log S 1T, log S 2T as a function of u = (u 1,u 2 is of the form e iux 0 Φ(u; T with (2.1 Φ(u; T = exp[iu(rt e σ 2 T/2 uσu T/2], where e = (1, 1, Σ = [σ 2 1,σ 1σ 2 ρ; σ 1 σ 2 ρ, σ 2 2 ], and σ2 = diag Σ. We remind the reader that we use implied matrix multiplication and that u denotes the (unconjugated matrix transpose. Substituting this expression into (1.4 yields the spread option formula (2.2 Spr(X 0 ; T = (2π 2 e rt R 2 +iɛ e iux 0 exp[iu(rt e σ 2 T/2 uσu T/2] ˆP (ud 2 u. As we discuss in section 3, we recommend that this be computed numerically using the FFT. 2.2. Three factor SV model. The spread option problem in a three factor stochastic volatility model was given as an example by Dempster and Hong [5]. Their asset model is 3 According to these authors, computing the gamma function becomes not much more difficult than other built-in functions that we take for granted, such as sin x or e x.
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 5 defined by SDEs for X t = (log S 1t, log S 2t and the squared volatility v t : dx 1 = [(r δ 1 σ 2 1 /2dt + σ 1 vdw 1 ], dx 2 = [(r δ 2 σ 2 2/2dt + σ 2 vdw 2 ], dv = κ(µ vdt + σ v vdw v, where the three Brownian motions have correlations: E[dW 1 dw 2 ]=ρdt, E[dW 1 dw v ]=ρ 1 dt, E[dW 2 dw v ]=ρ 2 dt. As discussed in that paper, the asset return vector has the joint characteristic function e iux 0 Φ(u; T, v0, where [ ( 2ζ(1 e θt Φ(u; T, v 0 = 2θ (θ γ(1 e θt v 0 + iu(re δ T κµ [ ( 2θ (θ γ(1 e θt ] ] σv 2 2 log +(θ γt 2θ and ζ := 1 [( σ 2 2 1 u 2 1 + σ2 2 u2 2 +2ρσ ( 1σ 2 u 1 u 2 + i σ 2 1 u 1 + σ2 2 u ] 2, γ := κ i(ρ 1 σ 1 u 1 + ρ 2 σ 2 u 2 σ ν, θ := γ 2 2σ 2 vζ. 2.3. Exponential Lévy models. Many stock price models are of the form S t = e Xt, where X t is a Lévy process for which the characteristic function is explicitly known. We illustrate with the example of the VG process introduced by [13] the three parameter process Y t with Lévy characteristic triple (0, 0,ν, where the Lévy measure is ν(x =λ[e a +x 1 x>0 + e a x 1 x<0 ]/ x for positive constants λ, a ±. The characteristic function of Y t is (2.3 Φ Yt (u = [ ( 1 1+i 1 ] λt u + u2. a a + a a + To demonstrate the effects of correlation, we take a bivariate VG model driven by three independent VG processes Y 1,Y 2,Y with common parameters a ± and λ 1 = λ 2 = (1 αλ, λ Y = αλ. The bivariate log return process X t = log S t is a mixture: (2.4 X 1t = X 10 + Y 1t + Y t, X 2t = X 20 + Y 2t + Y t. Here α [0, 1] leads to dependence between the two return processes but leaves their marginal laws unchanged. An easy calculation leads to the bivariate characteristic function e iux 0 Φ(u; T
6 T. R. HURD AND ZHUOWEI ZHOU with (2.5 Φ(u; T = [ ( 1 1+i [ ( 1 1+i 1 a a + 1 a a + u 1 + u2 1 a a + (u 1 + u 2 + (u 1 + u 2 2 a a + ] (1 αλt [ 1+i ] αλt ( 1 a 1 a + ] (1 αλt u 2 + u2 2. a a + 3. Numerical integration by FFT. To compute (1.4 in these models we approximate the double integral by a double sum over the lattice Γ= {u(k = (u 1 (k 1,u 2 (k 2 k =(k 1,k 2 {0,..., N 1} 2 }, u i (k i = ū + k i η for appropriate choices of N, η, ū := Nη/2. For the FFT it is convenient to take N to be a power of 2 and lattice spacing η such that truncation of the u-integrals to [ ū, ū] and discretization leads to an acceptable error. Finally, we choose initial values X 0 = log S 0 to lie on the reciprocal lattice with spacing η =2π/Nη = π/ū and width 2 x, x = Nη /2: Γ = {x(l =(x 1 (l 1,x 2 (l 2 l =(l 1,l 2 {0,..., N 1} 2 }, x i (l i = x + l i η. For any S 0 = e X 0 with X 0 = x(l Γ we then have the approximation (3.1 Spr(X 0 ; T η2 e rt (2π 2 N 1 k 1,k 2 =0 e i(u(k+iɛx(l Φ(u(k+iɛ; T ˆP (u(k+iɛ. Now, as usual for the discrete FFT, as long as N is even, iu(kx(l = iπ(k 1 + k 2 + l 1 + l 2 + 2πikl /N (mod 2πi. This leads to the double inverse discrete Fourier transform (i.e., the MATLAB function ifft2 ( Spr(X 0 ; T ( 1 l 1+l 2 ηn 2 e rt e ɛx(l 1 N 1 2π N 2 e 2πikl /N H(k (3.2 where k 1,k 2 =0 ( =( 1 l 1+l 2 ηn 2 e rt e ɛx(l [ifft2(h](l, 2π H(k =( 1 k 1+k 2 Φ(u(k+iɛ; T ˆP (u(k+iɛ. 4. Error discussion. The selection of suitable values for ɛ, N, and η when implementing the above FFT approximation of (1.4 is a somewhat subtle issue whose details depend on the asset model in question. We now give a general discussion of the pure truncation error and pure discretization error in (3.1: a more complete analysis of the combined errors using methods described in [8] will lead to the same broad conclusions. The pure truncation error, defined by taking η 0, N while keeping ū = Nη/2 fixed, can be made smaller than δ 1 1 if the integrand of (1.4 is small and decaying outside
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 7 the square [ ū + iɛ 1, ū + iɛ 1 ] [ ū + iɛ 2, ū + iɛ 2 ]. Corollary A.1, proved in the appendix, gives a uniform O( u 2 upper bound on ˆP, while Φ(u can generally be seen directly to have some u-decay. Thus the truncation error will be less than δ 1 if one picks ū large enough so that Φ <O(δ 1 and has decay outside the square. The pure discretization error, defined by taking ū, N while keeping x = π/η fixed, can be made smaller than δ 2 1 if e ɛx 0 Spr(X0, taken as a function of X 0 R 2, has rapid decay in X 0. This is related to the smoothness of Φ(u and the choice of ɛ. The first two models are not very sensitive to ɛ, but in the VG model the following conditions are needed to ensure that singularities in u-space are avoided: a + <ɛ 1,ɛ 2,ɛ 1 + ɛ 2 <a. By applying the Poisson summation formula to e ɛx 0 Spr(X0, one can write the discretization error as (4.1 Spr ( x (X 0 Spr(X 0 = e 2 xɛl Spr(X 0 + 2 xl. l Z 2 \{(0,0} One can verify using brute force bounds that the terms on the right-hand side of (4.1 are all small and decay in all lattice directions, provided x is sufficiently large. Thus the discretization error will be less than δ 2 for all X 0 [ c x, c x] 2 with 0 <c 1 if one picks x large enough so that e ɛx 0 Spr(X0 <O(δ 2 and has decay outside the square [ x, x] 2. In summary, one expects that the combined truncation and discretization error will be close to δ 1 + δ 2 if ū = Nη/2 and η = π/ x are each chosen as above. We shall see in section 6 that the observed errors are consistent with the above analysis that predicts an asymptotic exponential decay with the size N of the Fourier lattice for the models we address. 5. Greeks. The FFT method can also be applied to the Greeks, enabling us to tackle hedging and other interesting problems. It is particularly efficient for the GBM model, where differentiation under the integral sign is always permissible. For instance, the FFT formula for vega (the sensitivity to σ takes the form Spr(S 0 ; T σ 1 H(k σ 1 = ( =( 1 l 1+l 2 ηn e rt 2π [ ( (u(k+iɛ i σ2 σ 1 2 [ ( H e ɛx(l ifft2 σ 1 + Σ σ 1 (u(k+iɛ ] (l, ] T 2 H(k, where σ2 σ 1 = [2σ 1, 0] and Σ σ 1 = [2σ 1, ρσ 2 ; ρσ 2, 0]. Other Greeks including those of higher orders can be computed in a similar fashion. This method needs to be used with care for the SV and VG models, since it is possible that differentiation leads to an integrand that decays slowly. 6. Numerical results. Our numerical experiments were coded and implemented in MATLAB version 7.6.0 on an Intel 2.80 GHz machine running under Linux with 1 GB physical memory. If they were coded in C++ with similar algorithms, we should expect to see faster performance.
8 T. R. HURD AND ZHUOWEI ZHOU 10 0 10 2 Error Plot for Spread Option (GBM u=20 u=40 u=80 u=160 10 4 10 6 Err 10 8 10 10 10 12 10 14 10 1 10 2 10 3 10 4 N Figure 1. This graph shows the objective function Err for the numerical computation of the GBM spread option versus the benchmark. Errors are plotted against the grid size for different choices of ū. The parameter values are those of the GBM model used by [5]: r =0.1, T =1.0, ρ =0.5, δ 1 =0.05, σ 1 =0.2, δ 2 =0.05, σ 2 =0.1. The strength of the FFT method is demonstrated by comparison with accurate benchmark prices computed by an independent (usually extremely slow method. Based on a representative selection of initial log-asset value pairs log S10 i = iπ 10, log Sj 20 = π 5 + jπ 10, i, j 1, 2, 3,..., 6, the objective function we measure is defined as (6.1 Err = 1 36 6 log(m ij log(b ij, i,j=1 where M ij and B ij are the corresponding FFT computed prices and benchmark prices. These choices cover a wide range of moneyness, from deep out-of-the-money to deep in-the-money. Since these combinations all lie on lattices Γ corresponding to N =2 n and ū/10 = 2 m for integers n, m, all 36 prices M ij can be computed simultaneously with a single FFT. Figure 1 shows how the FFT method performs in the two-dimensional GBM model for different choices of N and ū. Since the two factors are bivariate normal, benchmark prices can be calculated to high accuracy by one-dimensional integrations. In Figure 1 we can clearly see the effects of both truncation errors and discretization errors. For a fixed ū, the objective function decreases when N increases. The ū = 20 curve flattens out near 10 5 due to its truncation error of that magnitude. In turn, we can quantify its discretization errors with respect to N by subtracting the truncation error from the total error. The flattening of the curves with ū = 40, 80, and 160 near 10 14 should be attributed to MATLAB round-off errors: because of the rapid decrease of the characteristic function Φ, their truncation error is negligible. For a fixed N, increasing ū brings two effects: reducing truncation error and enlarging discretization error. These effects are well demonstrated in Figure 1.
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 9 10 0 10 2 10 4 Error Plot for Spread Option (SV u=20 u=40 u=80 u=160 10 6 Err 10 8 10 10 10 12 10 14 10 1 10 2 10 3 10 4 N Figure 2. This graph shows the objective function Err for the numerical computation of the SV spread option versus the benchmark computed using the FFT method itself with parameters N =2 12 and ū = 80. The parameter values are those of the SV model used by [5]: r =0.1, T =1.0, ρ =0.5, δ 1 =0.05, σ 1 =1.0, ρ 1 = 0.5, δ 2 =0.05, σ 2 =0.5, ρ 2 =0.25, v 0 =0.04, κ =1.0, µ =0.04, σ v =0.05. For the SV model, no analytical or numerical method we know is consistently accurate enough to serve as an independent benchmark. Instead, we computed benchmark prices using the FFT method itself with N =2 12 and ū = 80. The resulting objective function shows similar behavior to Figure 1 and is consistent with accuracies at the level of roundoff. We also verified that the benchmark prices are consistent to a level of 4 10 4 with those resulting from an intensive Monte Carlo computation using 1,000,000 simulations, each consisting of 2000 time steps. The computational cost to further reduce the Monte Carlo simulation error becomes prohibitive. Because the VG process has an explicit probability density function in terms of a Bessel function [12], rather accurate benchmark spread option values for the VG model can be computed by a three-dimensional integration. 4 We used a Gaussian quadrature algorithm set with a high tolerance of 10 9 to compute the integrals for these benchmarks. The resulting objective function for various values of ū, N is shown in Figure 3. The truncation error for ū = 20 is about 2 10 5. The other three curves flatten out near 5 10 8, a level we identify as the accuracy of the benchmark. A comparable graph (not shown, using benchmark prices computed with the FFT method with N =2 12 and ū = 80, showed behavior similar to Figures 1 and 2 and is consistent with the FFT method being capable of producing accuracies at the level of roundoff. The strength of the FFT method is further illustrated by the computation of individual prices and relative errors shown in Tables 1, 2, and 3. One can observe that an FFT with N = 256 is capable of producing very high accuracy in all three models. It is interesting to note that FFT prices in almost all cases were biased low compared to the benchmark. Exceptions 4 We thank a referee for this suggestion.
10 T. R. HURD AND ZHUOWEI ZHOU 10 0 10 2 Error Plot for Spread Option (VG u=20 u=40 u=80 u=160 Err 10 4 10 6 10 8 10 1 10 2 10 3 10 4 N Figure 3. This graph shows the objective function Err for the numerical computation of the VG spread option versus the benchmark values computed with a three-dimensional integration. Errors are plotted against the grid size for five different choices of ū. The parameters are r =0.1, T =1.0, ρ =0.5, a + = 20.4499, a = 24.4499, α =0.4, λ = 10. Table 1 Benchmark prices for the two-factor GBM model of [5] and relative errors for the FFT method with different choices of N. The parameter values are the same as Figure 1 except we fix S 10 = 100, S 20 = 96, ū = 40. The interpolation is based on a matrix of prices with discretization of N = 256 and a polynomial with a degree of 8. Strike K Benchmark 64 128 256 512 Interpolation 0.4 8.312461 3.8 4.5E-4 1.9E-8 1.7E-14 1.9E-8 0.8 8.114994 3.8E-1 4.6E-4 2.0E-8 7E-15 2.0E-8 1.2 7.920820 7.3E-2 4.6E-4 2.0E-8 2.8E-14 2.0E-8 1.6 7.729932 7.2E-2 4.7E-4 2.0E-8 4.8E-14 2.0E-8 2.0 7.542324 7.3E-2 4.8E-4 2.1E-8 4.9E-14 2.1E-8 2.4 7.357984 7.5E-2 4.9E-4 2.1E-8 7.3E-14 2.1E-8 2.8 7.176902 7.6E-2 5.0E-4 2.2E-8 6.8E-14 2.2E-8 3.2 6.999065 7.8E-2 5.1E-4 2.2E-8 9.7E-14 2.2E-8 3.6 6.824458 8.0E-2 5.3E-4 2.3E-8 8.2E-14 2.3E-8 4.0 6.653065 8.1E-2 5.4E-4 2.3E-8 9.0E-14 2.3E-8 to this observation seem only to appear at a level of the accuracy of the benchmark itself. The FFT computes in a single iteration an N N panel of prices spread corresponding to initial values S 10 = e x 10+l 1 η, S 20 = e x 20+l 2 η, K = 1, (l 1,l 2 {0,..., N 1} 2. If the desired selection of {S 10,S 20,K} fits into this panel of prices, or its scaling, a single FFT suffices. If not, then one has to match (x 10,x 20 with each combination, and run several FFTs, with a consequent increase in computation time. However, we have found that an interpolation technique is very accurate for practical purposes. For instance, prices for multiple strikes with the same S 10 and S 20 are approximated by a polynomial fit along the diagonal
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 11 Table 2 Benchmark prices for the three factor SV model of [5] and relative errors for the FFT method with different choices of N. The parameter values are the same as Figure 2 except we fix S 10 = 100, S 20 = 96, ū = 40. The interpolation is based on a matrix of prices with discretization of N = 256 and a polynomial with a degree of 8. Strike K Benchmark 64 128 256 512 Interpolation 2.0 7.548502 7.3E-2 4.8E-4 2.1E-8 1.6E-11 2.1E-8 2.2 7.453536 7.4E-2 4.9E-4 2.1E-8 1.2E-11 2.1E-8 2.4 7.359381 7.5E-2 4.8E-4 2.1E-8 8.6E-12 2.1E-8 2.6 7.266037 7.5E-2 5.0E-4 2.1E-8 4.6E-12 2.1E-8 2.8 7.173501 7.6E-2 5.0E-4 2.2E-8 6.1E-13 2.2E-8 3.0 7.081775 7.7E-2 5.1E-4 2.2E-8 3.5E-12 2.2E-8 3.2 6.990857 7.8E-2 5.2E-4 2.2E-8 7.7E-12 2.2E-8 3.4 6.900745 7.9E-2 5.2E-4 2.2E-8 1.2E-11 2.2E-8 3.6 6.811440 8.0E-2 5.3E-4 2.3E-8 1.7E-11 2.3E-8 3.8 6.722939 8.1E-2 5.3E-4 2.3E-8 2.0E-11 2.3E-8 4.0 6.635242 8.1E-2 5.4E-4 2.3E-8 2.4E-11 2.3E-8 Table 3 Benchmark prices for the VG model and relative errors for the FFT method with different choices of N. The parameter values are the same as Figure 3 except we fix S 10 = 100, S 20 = 96, ū = 40. The interpolation is based on a matrix of prices with discretization of N = 256 and a polynomial with a degree of 8. Strike K Benchmark 64 128 256 512 Interpolation 2.0 9.727458 5.9E-2 3.9E-4 1.5E-8 3.2E-8 1.5E-8 2.2 9.630005 5.9E-2 3.9E-4 1.7E-8 3.4E-8 1.7E-8 2.4 9.533199 6.0E-2 3.9E-4 1.8E-8 3.5E-8 1.8E-8 2.6 9.437040 6.0E-2 4.0E-4 2.0E-8 3.7E-8 2.0E-8 2.8 9.341527 6.0E-2 4.0E-4 2.5E-8 4.3E-8 2.5E-8 3.0 9.246662 6.1E-2 4.0E-4 2.5E-8 4.3E-8 2.5E-8 3.2 9.152445 6.1E-2 4.1E-4 2.3E-8 4.1E-8 2.3E-8 3.4 9.058875 6.2E-2 4.1E-4 3.0E-8 4.8E-8 3.0E-8 3.6 8.965954 6.2E-2 4.1E-4 3.0E-8 4.8E-8 3.0E-8 3.8 8.873681 6.3E-2 4.2E-4 2.8E-8 4.6E-8 2.8E-8 4.0 8.782057 6.4E-2 4.2E-4 2.9E-8 4.7E-8 2.9E-8 of the price panel: Spr(S 0 ; K 1 =K 1 spread(1, 1, Spr(S 0 ; K 1 e η =K 1 e η spread(2, 2, Spr(S 0 ; K 1 e 2η =K 1 e 2η spread(3, 3,... The results of this technique are recorded in Tables 2 and 3 in the column Interpolation. We can see this technique generates very accurate results and moreover, saves computational resources. Finally, we computed first order Greeks using the method described at the beginning of section 3 and compared them with finite differences. As seen in Table 4, the two methods come up with very consistent results. The Greeks of our at-the-money spread option exhibit some resemblance to those of the at-the-money European put/call option. The delta of S 1 is close to the delta of the call option, which is about 0.5. And the delta of S 2 is close to the delta of the put option, which is also about 0.5. The time premium of the spread option is positive. The option price is much more sensitive to S 1 volatility than to S 2 volatility. It is an important feature that the option price is negatively correlated with the underlying correlation: Intuitively speaking, if the two underlyings are strongly correlated, their comovements
12 T. R. HURD AND ZHUOWEI ZHOU Table 4 The Greeks for the GBM model compared between the FFT method and the finite difference method. The FFT method uses N =2 10 and ū = 40. The finite difference uses a two-point central formula, in which the displacement is ±1%. Other parameters are the same as Table 1 except that we fix the strike K =4.0 to make the option at-the-money. Delta(S1 Delta(S2 Theta Vega(σ 1 Vega(σ 2 Spr/ ρ FD 0.512648 0.447127 3.023823 33.114315 0.798959 4.193749 FFT 0.512705 0.447079 3.023777 33.114834 0.798972 4.193728 Table 5 Computing time of FFT for a panel of prices. Discretization GBM SV VG 64 0.091647 0.083326 0.109537 128 0.099994 0.120412 0.139276 256 0.126687 0.234024 0.220364 512 0.240938 0.711395 0.621074 1024 0.609860 2.628901 2.208770 2048 2.261325 10.243228 8.695122 diminish the probability that S 1T develops a wide spread over S 2T. This result is consistent with observations made by [10]. Since the FFT method naturally generates a panel of prices and interpolation can be implemented accurately with negligible additional computational cost, it is appropriate to measure the efficiency of the method by timing the computation of a panel of prices. Such computing times are shown in Table 5. For the FFT method, the main computational cost comes from the calculation of the matrix H in (3.2 and the subsequent FFT of H. We see that the GBM model is noticeably faster than the SV and VG models: This is due to a recursive method used to calculate the H matrix entries of the GBM model, which is not applicable for the SV and VG models. The number of calculations for H is of order N 2, which for large N exceeds the N log N of the FFT of H, and thus the advantage of this efficient algorithm for the GBM model is magnified as N increases. However, our FFT method is still very fast for the SV and VG models and is able to generate a large panel of prices within a couple of seconds. 7. High-dimensional basket options. The ideas of section 2 turn out to extend naturally to two particular classes of basket options on M 2 assets. Proposition 7.1. Let M 2. 1. For any real numbers ɛ = (ɛ 1,..., ɛ M with ɛ m > 0 for 2 m M and ɛ 1 < 1 M m=2 ɛ m, ( + M (7.1 e x 1 e xm 1 = (2π M e iux ˆP M (ud M u, R M +iɛ m=2 where for u =(u 1,..., u M C M (7.2 ˆP M (u = Γ(i(u 1 + M m=2 u m 1 M m=2 Γ( iu m. Γ(iu 1 + 1
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 13 2. For any real numbers ɛ =(ɛ 1,..., ɛ M with ɛ m > 0 for all m M, (7.3 ( 1 + M e xm = (2π M m=1 where for u =(u 1,..., u M C M R M +iɛ M (7.4 ˆQM m=1 (u = Γ( iu m Γ( i M m=1 u m + 2. e iux ˆQM (ud M u, Remark. Clearly, these two results can be applied directly to obtain an M-dimensional FFT method to price M-asset basket options that pay off either (S 1T S 2T S MT 1 + or (1 S 1T S 2T S MT +. However, it is important to also note that by a generalized put-call parity one can also price options that pay off either (1 + S 2T + + S MT S 1T + or (S 1T + S 2T + + S MT 1 +. Proof. The proof of both parts of the above proposition is based on a simple lemma proved in the appendix. Lemma 7.2. Let z R and u =(u 1,..., u M C M with Im(u m > 0 for all m M. Then ( M M (7.5 e z δ e z e xm e iux d M m=1 x = Γ( iu m R M Γ( i M M m=1 u m e i( m=1 umz. m=1 To prove (7.2, we need to compute, for u C M, ˆP M (u = R M ( e x 1 + M e xm 1 e iũ x d M x. m=2 We introduce the factor 1 = R δ(ez M m=2 exm e z dz and interchange the z integral with the x integrals. Then using Lemma 7.2 one finds [ ( ] M ˆP M (u = (e x 1 e z 1 + e z δ e z e xm e iux dx 2... dx M dx 1 dz R 2 R M 1 m=2 M m=2 = Γ( iu m Γ( i M m=2 u e iu 1x 1 e i( M m=2 umz (e x 1 e z 1 + dx 1 dz. m R 2 We can then apply Theorem 1.1 and obtain the result. The proof of (7.4 is similar to the proof of (7.2, where the two-dimensional problem can be deduced first and extended to higher dimensions with the application of Lemma 7.2. 8. Conclusion. This paper presents a new approach to the valuation of spread options, an important class of financial contracts. The method is based on a newly discovered explicit formula for the Fourier transform of the spread option payoff in terms of the gamma function.
14 T. R. HURD AND ZHUOWEI ZHOU In the final section we extended this formula to spread options in all dimensions and a certain class of basket options. This mathematical result leads to simple and transparent algorithms for pricing spread options and other basket options in all dimensions. We have shown that the powerful tool of the FFT provides an accurate and efficient implementation of the pricing formula in low dimensions. For implementation of higher-dimensional problems, the curse of dimensionality sets in, and such cases should proceed using parallel partitioning methods as introduced in [9]. The difficulties and pitfalls of the FFT, of which there are admittedly several, are by now well understood, and thus the reliability and stability properties of our method are clear. We present a detailed discussion of errors and show which criteria determine the optimal choice of implementation parameters. Many important processes in finance, particularly affine models and Lévy jump models, have well-known explicit characteristic functions and can be included in the method with little difficulty. Thus the method can easily be applied to important problems arising in energy and commodity markets. Finally, the Greeks can be systematically evaluated for such models, with similar performance and little extra work. While our method provides a basic analytic framework for spread options, much as has been done for one-dimensional options, it is certainly possible to add refinements that will improve convergence rates. Such techniques might include, for example, analytic computation of residues combined with contour deformation. Appendix. Proof of Theorem 1.1 and Lemma 7.2. Proof of Theorem 1.1. Suppose ɛ 2 > 0, ɛ 1 +ɛ 2 < 1. One can then verify either directly or from the argument that follows that e ɛ x P (x, ɛ =(ɛ 1,ɛ 2 is in L 2 (R 2. Therefore, application of the Fourier inversion theorem to e ɛ x P (x, ɛ =(ɛ 1,ɛ 2 implies that (A.1 where P (x = (2π 2 R 2 +iɛ e iu x g(ud 2 u, g(u = e iu x P (xd 2 x. R 2 By restricting to the domain {x : x 1 > 0, e x 2 <e x 1 1} we have g(u = = 0 0 [ ] log(e x1 e iu 1 1x 1 e iu 2x 2 [(e x 1 1 e x 2 ]dx 2 dx 1 e iu 1x 1 (e x 1 1 1 iu 2 [ 1 iu 2 1 1 iu 2 ] dx 1. The change of variables z = e x 1 then leads to g(u = 1 (1 iu 2 ( iu 2 1 z iu 1 0 ( 1 z z 1 iu2 dz z.
A FOURIER TRANSFORM METHOD FOR SPREAD OPTION PRICING 15 The beta function B(a, b = Γ(aΓ(b Γ(a + b is defined for any complex a, b with Re(a, Re(b > 0 by B(a, b = 1 0 z a 1 (1 z b 1 dz. From this and the property Γ(z =(z 1Γ(z 1 we have the formulas (A.2 g(u = Γ(i(u 1 + u 2 1Γ( iu 2 + 2 (1 iu 2 ( iu 2 Γ(iu 1 + 1 = Γ(i(u 1 + u 2 1Γ( iu 2. Γ(iu 1 + 1 The above derivation also leads to the following bound on ˆP. Corollary A.1. Fix ɛ 2 = ɛ, ɛ 1 = 1 2ɛ for some ɛ> 0. Then (A.3 ˆP (u 1,u 2 Γ(ɛΓ(2 + ɛ Γ(2 + 2ɛ 1 Q( u 2 /5 1/2, where Q(z =(z + ɛ 2 (z + (1 + ɛ 2. Proof. First note that for z 1,z 2 C, B(z 1,z 2 B(Re(z 1, Re(z 2. Then (A.2 and a symmetric formula with u 2 1 u 1 u 2 lead to the upper bound ˆP (u 1 i(ɛ + 1,u 2 + iɛ B(ɛ, 2+ɛ min ( 1 Q( u 2, 1 Q( u 1 + u 2 But since Q is monotonic and u 5 max ( u 2, u 1 + u 2 for all u R 2, the required result follows. Proof of Lemma 7.2. We make the change of variables p = e z and q m = e xm and prove by induction that ( M M M (A.4 pδ p q m qm ium 1 d M m=1 q = Γ( iu m R M Γ( i M M m=1 u m p i( m=1 um. m=1 m=1 The above equation trivially holds when M = 1. If it holds for M = N, then for M = N +1 one finds ( N N LHS = pδ p q N+1 q m q iu N+1 1 N+1 qm ium 1 d N+1 q R N+1 m=1 m=1 N m=1 = Γ( iu p m Γ( i p N m=1 u (p q N+1 i( N m=1 um q iu N+1 1 (A.5 N+1 dq N+1. m 0 p q N+1 The proof is complete when one notices that the q N+1 integral is simply p i( N+1 m=1 um multiplied by a beta function with parameters i( N m=1 u m and iu N+1.. REFERENCES [1] A. Antonov and M. Arneguy, Analytical Formulas for Pricing CMS Products in the LIBOR Market Model with the Stochastic Volatility, SSRN elibrary, 2009. [2] R. Carmona and V. Durrleman, Pricing and hedging spread options, SIAM Rev., 45 (2003, pp. 627 685.
16 T. R. HURD AND ZHUOWEI ZHOU [3] R. Carmona and V. Durrleman, Pricing and Hedging Spread Options in a Log-Normal Model, Tech. report, Princeton University, Princeton, NJ, 2003. Available online from http://orfe.princeton.edu/ rcarmona/download/fe/spread.pdf. [4] P. Carr and D. Madan, Option valuation using the fast Fourier transform, J. Comput. Finance, 2 (1999, pp. 61 73. [5] M. A. H. Dempster and S. S. G. Hong, Spread option valuation and the fast Fourier transform, in Mathematical Finance Bachelier Congress 2000, Springer, Berlin, 2002, pp. 203 220. [6] K. R. Jackson, S. Jaimungal, and V. Surkov, Fourier space time-stepping for option pricing with Lévy models, J. Comput. Finance, 12 (2008, pp. 1 29. [7] E. Kirk, Correlations in the energy markets, in In Managing Energy Price Risk, Risk Publications and Enron, London, 1995, pp. 71 78. [8] R. Lee, Option pricing by transform methods: Extensions, unification, and error control, J. Comput. Finance, 7 (2004, pp. 51 86. [9] C. C. W. Leentvaar and C. W. Oosterlee, Multi-asset option pricing using a parallel Fourier-based technique, J. Comput. Finance, 12 (2008, pp. 1 26. [10] M. Li, S. Deng, and J. Zhou, Closed-form approximations for spread option prices and Greeks, J. Derivatives, 15 (2008, pp. 58 80. [11] R. Lord, F. Fang, F. Bervoets, and C. W. Oosterlee, A fast and accurate FFT-based method for pricing early-exercise options under Lévy processes, SIAM J. Sci. Comput., 30 (2008, pp. 1678 1705. [12] D. Madan, P. Carr, and E. Chang, The variance gamma model and option pricing, Eur. Finance Rev., 3 (1998, pp. 79 105. [13] D. Madan and E. Seneta, The VG model for share market returns, J. Business, 63 (1990, pp. 511 524. [14] W. Margrabe, The value of an option to exchange one asset for another, J. Finance, 33 (1978, pp. 177 186. [15] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes: The Art of Scientific Computing, 3rd ed., Cambridge University Press, Cambridge, UK, 2007.