• 沒有找到結果。

Linear-time option pricing algorithms by combinatorics

N/A
N/A
Protected

Academic year: 2021

Share "Linear-time option pricing algorithms by combinatorics"

Copied!
16
0
0

加載中.... (立即查看全文)

全文

(1)

www.elsevier.com/locate/camwa

Linear-time option pricing algorithms by combinatorics

Tian-Shyr Dai

a,1

, Li-Min Liu

b

, Yuh-Dauh Lyuu

c,∗

aDepartment of Information and Finance Management, Institute of Information Management and Institute of Finance, National

Chiao-Tung University, 1001 Ta Hsueh Road, Hsinchu, 300, Taiwan, ROC

bDepartment of Applied Mathematics, Chung Yuan Christian University, 22 Pu-Jen, Pu-chung Li, Chung-Li, Tao-Yuan county,

320, Taiwan, ROC

cDepartment of Finance and Department of Computer Science & Information Engineering, National Taiwan University, Taipei, 106, Taiwan, ROC

Received 18 September 2006; received in revised form 29 July 2007; accepted 30 August 2007

Abstract

Options are popular financial derivatives that play essential roles in financial markets. How to price them efficiently and accurately is very important both in theory and practice. Options are often priced by the lattice model. Although the prices computed by the lattice converge to the theoretical option value under the continuous-time model, they may converge slowly. Worse, for some options like barrier options, the prices can even oscillate wildly. For such options, huge amounts of computational time are required to achieve acceptable accuracy. Combinatorial techniques have been used to improve the performance in pricing a wide variety of options. This paper uses vanilla options, power options, single-barrier options, double-barrier options, and lookback options as examples to show how combinatorics can help us to derive linear-time pricing algorithms. These algorithms compare favorably against popular lattice methods, which take at least quadratic time.

c

2007 Elsevier Ltd. All rights reserved.

Keywords:Option; Pricing; Lattice; Combinatorics; Exotic option

1. Introduction

Derivative securities are financial instruments whose values depend on other more elementary financial “assets,” such as stocks, indexes, currencies, commodities, bonds, mortgages, other derivatives, temperatures, and countless others [1]. The elementary financial instrument in this paper is assumed to be stock for convenience. Options are financial derivatives that give their buyers the right but not the obligation to buy or sell the stock for a contractual price called the exercise price. With the rapid growth and the deregulation of financial markets, many complex options have been structured to meet specific financial goals. Although financial innovations make the market more efficient, they also give rise to new problems: How do we price these options efficiently and accurately?

As an option conveys a right, it must command a positive price called premium to avoid arbitrage opportunities. How to assign a fair price to an option given a continuous-time stochastic process for the stock price has been

Corresponding address: Department of Finance and Department of Computer Science & Information Engineering, National Taiwan University,

Roosevelt Rd. Sec. 4 No. 1, Taipei, 106, Taiwan, ROC.

E-mail addresses:[email protected](T.-S. Dai),[email protected](Y.-D. Lyuu). 1 Tel.: +886 3 5712121x57054; fax: +886 3 2653199.

0898-1221/$ - see front matter c 2007 Elsevier Ltd. All rights reserved.

(2)

Fig. 1. The CRR lattice. The initial stock price is S0. The upward and downward multiplicative factors for the stock price are u and d, respectively.

The upward and downward branching probabilities are p and 1 − p, respectively.

investigated since 1900. Finally in 1973, Black and Scholes settled the pricing problem in a way that is intellectually satisfying [2]. They also derived formulas for the simplest of options, the vanilla option. Still, an option must have a unique theoretical value, but calculating that value may be intractable [3]. Most options cannot be evaluated analytically and must be priced by numerical methods. Finding efficient and accurate numerical pricing methods is thus important in both theory and practice.

The lattice method is a popular numerical method for pricing options. It is a flexible way to price options since only nominal changes are needed even when the option’s payoff function is nonstandard, such as the power options (to be defined later); there may not be closed-form formulas for them. A lattice divides a certain time interval into n discrete time-steps and simulates the stock price discretely at each time-step. Take a 4-time-step Cox–Ross–Rubinstein (CRR) lattice inFig. 1as an example. (The details of the CRR lattice [4] will be described later.) The time interval between the option’s initial date to maturity date is evenly divided into 4 time-steps. The stock price at time-step 0 is S0. For any

given node located at time-step i represents a possible stock price at the i th time-step. From a node with stock price S, the CRR lattice says that the stock price after one time-step equals Su (the up-move) with probability p and Sd (the down-move) with probability 1− p, where d< u and ud = 1. The node reached by j down-moves and i − j up-moves from the root node is denoted as N(i, j) for convenience. The pricing results generated by the lattice method converge to the theoretical option value as n → ∞ [5]. To calculate the option prices, the naive lattice algorithm calculates the option price for each node of the lattice, working backward in time. The time complexity of such an algorithm is at least ∼n2/2 since there are (n + 1)(n + 2)/2 nodes on a lattice. This paradigm requires only nominal changes for different payoff functions. Of course, more time is required for complex options because more states are required per node. In fact, Chalasani et al. show that an option can be so defined that its pricing problem is #P-hard [3].

The number of time-steps should be large when pricing some options due to slow convergence. For example, the prices for barrier options oscillate wildly under the lattice method [6].Fig. 2shows the oscillation phenomenon in pricing a double-barrier option on the CRR lattice. The oscillation remains significant even as n reaches 4000. As a large n may be required to achieve acceptable accuracy, an efficient lattice algorithm that can handle large n is important. This paper uses vanilla options, power options, single-barrier options, double-barrier options, and lookback options to demonstrate how to improve upon lattice algorithms with combinatorial tools.

We now briefly survey results for the above-mentioned options. A vanilla option gives its owner the right to buy or sell stock for the exercise price and does not have other unusual features. Black and Scholes derived an analytical solution for vanilla options. A power option is basically a vanilla option with a nonstandard payoff function. Certain power options do not have analytical formulas for their prices and thus must be priced by numerical methods.

(3)

Fig. 2. The oscillation phenomenon. The x-axis and the y-axis denote the number of time-steps of the lattice model and the prices for a double-barrier call option, respectively. The numerical settings are as follows: The initial stock price is 95, the exercise price is 97, the time to maturity is 0.75 year, the risk-free rate is 15%, the volatility is 25%, and the two barriers are 80 and 120, respectively.

Fig. 3. Slow convergence. The x-axis and the y-axis denote the number of time-steps of the lattice model and the pricing result, respectively. The theoretical option value 24.20385 priced by the analytical formula [13] is denoted by the flat line. The prices from the lattice method are on the concave curve. The numerical settings are as follows: the initial stock price is 100, the risk-free rate is 6%, the volatility is 30%, and the time to maturity is 1 year.

A barrier option is an option whose payoff depends on whether the stock’s price path ever hits certain price levels called barriers. A single-barrier option contains only one barrier, whereas a double-barrier option contains two barriers. When the payoff functions of single-barrier options follow certain forms, analytical formulas are available [7,8]. Although double-barrier options have been extensively studied [9–12], no simple closed-form formula is available. There exists a formula that expresses the price as an infinite series of cumulative normal distributions. Although the truncation of this infinite series is necessary numerically, it can lead to large pricing errors [11]. The payoff of a lookback option depends on the extreme stock price achieved during a certain period of time and the stock price at maturity. Analytical formulas are available for lookback options with a standard payoff [13].

The above-mentioned options can all be priced by the lattice method. However, the prices of the lattice method may converge slowly or even oscillate wildly. The oscillation phenomenon for pricing vanilla options by the lattice model has been studied by Omberg [14]. Boyle and Lau suggest picking proper n’s to reduce the oscillation for single-barrier options [6]. Alternatively, Ritchken provides a novel trinomial lattice model for pricing both single- and double-barrier options [15]. But his approach is costly when the barrier is very close to the initial stock price S0(it is called

the “barrier-too-close” problem). Figlewski and Gao propose the adaptive mesh model (AMM hereafter) for pricing vanilla options and single-barrier options [16]. Their AMM solves the “barrier-too-close” problem of pricing single-barrier options. However, no efforts have been made to extend the AMM to price double-single-barrier options. Although the above-mentioned approaches can partially alleviate the price oscillation problem, they are not efficient as they all run in O(n2) time. An efficient lattice pricing algorithm for the lookback option is equally important since the prices

converge slowly as illustrated inFig. 3. An O(n3)-time lattice algorithm was first suggested by Hull and White [17]. The performance is reduced to O(n2) by Hull [1]. But no linear-time algorithm is available before this paper.

This paper uses combinatorics to improve the performance in pricing a wide variety of options. Specifically, such combinatorial tools as recurrence relations, the reflection principle, and the inclusion–exclusion principle are

(4)

applied to derive linear-time lattice algorithms for pricing all the options mentioned in the last paragraph. These new algorithms are therefore at least an order faster than the existing lattice algorithms.

The combinatorial approach seems to be first emphasized by Lyuu [18,19]. He shows that vanilla options can be priced in linear time by taking advantage of a recurrence relation (to be made more explicit later) [19]. Since power options can be priced by the lattice method for vanilla options after only nominal changes, a linear-time combinatorial algorithm for power options is easily available as well. Lyuu also develops a linear-time combinatorial algorithm for pricing single-barrier options by taking advantage of the reflection principle [18]. The reflection principle efficiently counts the number of paths from the root node of the lattice to any node at maturity while hitting a specific price level (the barrier) in the process. This property is useful for pricing options with one or two barriers. In our combinatorial pricing algorithm for double-barrier options, the reflection principle is applied repeatedly to count the number of paths that hit either of the barriers. To prevent counting the paths more than once as some paths may hit both barriers, the inclusion–exclusion principle becomes necessary. A proof is given to show that our algorithm runs in O(n) time.

This paper develops a linear-time combinatorial algorithm for pricing lookback options. The payoff of a lookback option depends on the stock price at maturity and the extreme stock price from time-step 0 to time-step n. Thus a way is needed to efficiently count the number of paths reaching each node at maturity, say N(4, 2) inFig. 1, with an extreme historical stock price, say S0d (the minimum price). Such paths hit the price level S0d but not S0d2. Thus

the desired number can be computed by applying the reflection principle twice, once with S0das the barrier and once

with S0d2as the barrier. We divide all paths into groups based on the combination of the stock price at maturity (such

as node N(4, 2)’s stock price above) and the extreme stock price (such as S0d above). The number of price paths

in each group can be efficiently counted by the method mentioned above. A recurrence relation that sums the value contributed by each group is then developed to obtain the result. This pricing algorithm runs in O(n) time.

Our combinatorial algorithms can be applied to speed up various lattice models. Dai and Lyuu provide a novel lattice model, the bino-trinomial tree (BTT hereafter), that solves the oscillation problem for a wide variety of options [20]. Numerical results confirm that the BTT converges more smoothly and faster than other lattice approaches. The BTT is mainly composed of a CRR lattice. Thus our pricing algorithm can form its backbone.

Our paper is organized as follows. Background knowledge, like the assumption of the stock price process, the definitions of the options mentioned in this paper, the method to price an option under the risk-neutral probability, and the required combinatorial techniques, are introduced in Section2. How to price vanilla options, power options, and single-barrier options with the above-mentioned technique is also shown in this section. A linear-time algorithm for pricing double-barrier options is derived in Section3. In Section4, we will develop O(n)-time combinatorial pricing algorithms for lookback options. Numerical results in Section5illustrates how the combinatorial techniques improve upon computational efficiency with double-barrier options and lookback options as examples. Section6concludes the paper.

2. Preliminaries

2.1. Financial background

Stock price process

For convenience, assume that options initiate at time 0 and mature at time T . Let S(t) denote the stock price at time t , where 0 ≤ t ≤ T . S(t) follows the log-normal diffusion process:

S(t + dt) = S(t)exp[(r − 0.5σ2)dt + σ dWt], (1)

where Wt denotes the Wiener process, r denotes the risk-free interest rate per annum, andσ denotes the volatility of

the stock price.

The continuous-time log-normal stock price process can be discretized into a lattice model, which is basically a random walk. The structure of the CRR lattice is described below.

CRR lattice

A CRR lattice model divides a certain time interval from time 0 to time T into n equal time-steps and specifies the stock price discretely at each time-step. The CRR lattice converges to the stock price process Eq.(1)if the first and

(5)

the second moments of the stock price process are matched at each node of the CRR lattice [5]. Consider the CRR lattice illustrated in Fig. 1. To match the first two moments, the model sets

u ≡eσ √ T/n, d ≡e−σ √ T/n.

Note that ud = 1. For pricing purpose, the probability p is set to(er T/n−d)/(u − d). The stock price S resulting from j down-moves and i − j up-moves from time-step 0 equals S0ui − jdj with probability



i j



pi − j(1 − p)j. This node is at time-step i and is denoted as N(i, j). For convenience, we use “terminal nodes” to refer to those nodes at the nth time-step where payoff occurs.

Vanilla option

A vanilla option gives the holder the right to buy or sell the stock for price X defined in the option contract at the maturity date. A call option allows the option owner to buy the stock for X dollars at time T , while a put option allows the option owner to sell the stock for X at time T . Specifically, the payoff of a vanilla option at time T can be expressed as

max(θ S(T ) − θ X, 0), (2)

whereθ equals 1 for call options and −1 for put options. Power option

Two possible payoffs for power options have been suggested in the literature:

max(θ S(T )p−θ X, 0), (3)

and

(max (θ S(T ) − θ X, 0))p, (4)

where p denotes a positive constant.

Single-barrier option

A barrier option is an option whose payoff depends on whether the stock’s price path ever hits certain price levels called barriers. A single-barrier option is a barrier option with only one barrier H . Assume that H > S(0) for convenience. Define Ssup≡sup0≤t ≤T S(t). The payoff of a single-barrier option at maturity date T is

payoff =max(θ S(T ) − θ X, 0), if Ssup≥H, 0, otherwise. Double-barrier option

A double-barrier option is a barrier option with two barriers L and H . Assume that L < S(0) < H for convenience and define Sinf≡inf0≤t ≤TS(t). The payoff of a double-barrier option at the maturity date is

payoff =max(θ S(T ) − θ X, 0) if Ssup≥ Hor Sinf≤ L,

0 otherwise. (5)

Lookback option

The payoff of a lookback option depends on the maximum or minimum stock price during the life of the option. The payoff function for a lookback option at the maturity date is

payoff = S(T ) − Sinf for a call option, Ssup −S(T ) for a put option.

(6)

Pricing options on the CRR lattice

The theoretical value of an option equals the discounted expected payoff of the option:

e−r TE(payoff) . (7)

The dynamic-programming technique is usually applied to price the option on the CRR lattice by evaluating the option value for each node from time-step n to time-step 0. Take a vanilla call option as an example. Define the option value for node N(i, j) as V (i, j). Thus V (n, j) is equal to the payoff at terminal node N(n, j), i.e., max(S0un− jdj−X, 0).

V(i, j), 0 ≤ j ≤ i < n, is calculated by

V(i, j) ≡ e−r T/n×(pV (i + 1, j) + (1 − p)V (i + 1, j + 1)) . (8) The desired price is V(0, 0). This naive pricing method takes O(n2) time as there are ∼ n2/2 nodes on an n-time-step CRR lattice. If the option is changed to the power call option, we only need to change the payoff at terminal node N(n, j) from max(S0un− jdj −X, 0) to max((S0un− jdj)p−X, 0) by Eq.(3)or(max(S0un− jdj −X, 0))pby Eq.

(4)for a positive constant p.

2.2. Combinatorial tools

This subsection introduces the combinatorial tools useful for this paper.

Recurrence relations

For a sequence { fn}, a recurrence relation defines a mathematical relationship that expresses fn as some

combination of f0, f1, . . . , fn−1. Take a vanilla call option for example. Since the probability to reach node N(n, j)

isnjpn− j(1 − p)j, the price of the n-time-step CRR lattice can be derived directly from Eq.(7)as

e−r T n X j =0  n j  pn− j(1 − p)jmax(S0un− jdj−X, 0). (9)

This formula can be evaluated in O(n) time via recurrence relations. Define Cj and Dj as probabilities



n j

 pn− j (1 − p)j and terminal stock prices S

0un− jdj, respectively. Cjand Dj can each be expressed by recurrence relations:

Cj =Cj −1 (1 − p)(n − j + 1) p j , Dj =Dj −1 d u.

Both Cjand Dj can be evaluated from Cj −1and Dj −1with only O(1) arithmetic operations. We start with C0=pn

and D0 =S0unand then evaluate each summand in Eq.(9)sequentially in constant time by the recurrence relations

above. Eq.(9)can thus be evaluated in O(n) time as there are n + 1 summands.

A power option can also be priced in O(n) time by simply replacing the payoff of a vanilla option, Eq.(2), with the payoff of a power call option, Eq.(3)or(4). To be more precise, the value of a power call option is obtained by replacing max(S0un− jdj−X, 0) in Eq.(9)with max((S0un− jdj)p−X, 0) or (max(S0un− jdj−X, 0))pto obtain,

respectively: e−r T n X j =0  n j  pn− j(1 − p)jmaxS0un− jdj p −X, 0 , (10) e−r T n X j =0  n j  pn− j(1 − p)jmaxS0un− jdj−X, 0 p .

(7)

Fig. 4. Counting the number of paths that hit barrier H by the reflection principle. Barrier H (horizontal line y = 0) is denoted by solid line.

The reflection principle

The reflection principle can help us to efficiently count the number of paths that hit a specific price level before reaching a certain node at maturity in a CRR lattice. This property is essential for pricing barrier-like options. We now derive a useful combinatorial formula with the help of the grid inFig. 4. This grid reflects the structure of a CRR lattice: The x-coordinate denotes the time-step of the CRR lattice, and the y-coordinate denotes the stock price level. Each step on the grid from vertex(i, j) can either go to vertex (i +1, j +1) (the up-move) or vertex (i +1, j −1) (the down-move). The question is, how many paths from node A ((0, −a)) that end at node B ((n, −b)) will hit barrier H? Without loss of generality, assume that a, b ≥ 0.

Consider one such path, [A J B, that hits barrier H at node J for the first time. We can reflect the initial path cA J with respect to the H -axis to get dA1J (the dashed curve). Each path from node A to node J maps to a unique path

from node A1to node J , and vice versa. Thus the number of paths from node A to node J equals the number of paths

from node A1to node J . As a result, the desired number of paths moving from node A to node B and hitting barrier

H equals the number of paths from node A1to node B. This is the celebrated reflection principle [21].

Assume that x up-moves and y down-moves are required to go from node A1 to node B. Thus x + y = n and

x − y = −a − b. These two equations give x = n−a−b2 and y = n+a+b2 . Thus the number of paths that hit H before arriving at B is  n n−a−b 2 

for even, non-negative n − a − b (11)

and zero otherwise.

Lyuu derives an O(n)-time combinatorial algorithm for pricing a single-barrier option with barrier H by taking advantage of Eq.(11)[18]. Let the barrier H be S0un−2h. We place a CRR lattice on a grid so barrier H coincides with

the x-axis of the grid as illustrated inFig. 5. The option value is obtained by taking the discounted expected payoff of the option at maturity as in Eq.(7). This is done by accumulating the values contributed by the terminal nodes. Two kinds of terminal nodes are considered. First, for a terminal node that is above barrier H (inclusive) like node A, all the paths that reach node A must hit barrier H . The option value contributed by these terminal nodes is

h X i =0 n i 

pn−i(1 − p)ie−r Tmax(S0un−idi−X, 0). (12)

Second, for a terminal node that is below barrier H (exclusive) like node B, the number of paths that hit barrier H before reaching B can be efficiently computed by Eq.(11). The option value contributed by these terminal nodes is

n X i =h+1  n 2h − i 

pn−i(1 − p)ie−r Tmax(S0un−idi−X, 0). (13)

(8)

Fig. 5. Placing a CRR lattice on a grid for pricing a single-barrier option. A CRR lattice drawn in thick solid lines and circles is placed on a grid. The x-axis and the y-axis of this grid are denoted by thin solid lines. The coordinate of the root node of the CRR lattice is(0, 2h − n). The barrier His denoted by a thick dotted line. The values in parentheses denote stock prices.

The inclusion–exclusion principle

The inclusion–exclusion principle states that if A1, . . . , Anare finite sets, then

n [ i =1 Ai = n X i =1 | Ai| − X i< j Ai \ Aj + X i< j<k Ai \ Aj \ Ak − · · · +(−1) n−1 n \ i =1 Ai ,

where | A| denotes the cardinality of set A [21]. This principle will help us to efficiently count the number of paths that hit either barrier L or H before reaching a certain terminal node. The details will be given in the next section.

3. An O(n)-time algorithm on a CRR lattice for double-barrier options

This section derives a useful combinatorial formula with the combination of the reflection principle and the inclusion–exclusion principle to build up a pricing algorithm for double-barrier options.

3.1. Combinatorial formulas

Our goal here is a combinatorial formula that counts the number of paths that hit at least one of two given price levels (L and H ) before reaching a certain node at the nth time-step on a CRR lattice. This formula will be instrumental in deriving an O(n)-time algorithm for pricing double-barrier options. Consider the grid inFig. 6. How many price paths from node A(0, −a) to node B(n, −b) will hit either barrier L or barrier H?

Before solving this problem, a simplified problem is considered first: How many price paths moving from node A to node B will hit barrier H before one hit of barrier L? One such path may hit barrier H first at J and barrier L later at K . We can first reflect the path cA J with respect to the H -axis to obtain path dA1J. The reflection principle says that

the number of paths moving from node A to node B while hitting barrier H equals the number of paths moving from node A1to node B. The reflection principle can be applied repeatedly. The curve [A1K can be reflected with respect

to the L-axis to obtain [A2K. By the reflection principle again, the number of paths moving from node A1to node B

while hitting barrier L equals the number of paths from node A2to node B. Thus the number of paths moving from

node A to node B while hitting barrier H at least once before one hit of barrier L equals the number of paths from A2

to B.

Assume that x up-moves and y down-moves are required to move from node A2(with coordinate(0, −(a + 2s)))

to node B (with coordinate(n, −b)). Thus we have x + y = n,

(9)

Fig. 6. Counting the number of paths that hit barrier L or H by the reflection principle and the inclusion–exclusion principle. Both barrier H (horizontal line y = 0) and L (horizontal line y = −s) are denoted by solid lines.

which yields the solution x =(n + a − b + 2s)/2. So the answer to our simplified problem is  n

n+a−b+2s 2



for even, non-negative n + a − b. (14) Note that a path counted by Eq.(14)may hit L first before hitting H . The point is that among the hits, there must exist one hit of H that appears before one hit of L for the path to be counted.

The problem of counting the number of paths that will hit either barrier L or barrier H before arriving at node B is now within reach. It is useful to consider a function f that maps a path to a string. Each string contains information about the barrier hitting sequence. For example, f(dA B) = H H L since the pathdA Bhits the barrier H twice before hitting the barrier L. Next, we defineαi as the set of paths whose f value contains

i

z }| {

H+L+H+· · · with i ≥ 1. L+

and H+ denote a sequence of Ls and H s, respectively. Obviously, the path dA B belongs to both setα1and setα2.

Similarly, defineβi as the set of paths whose f value contains i

z }| {

L+H+L+· · · with i ≥ 1. Thus the path dA Bbelongs to setβ1. The number of elements in setsαi andβi can be calculated by repeatedly using the reflection principle as

mentioned above. The number of elements in each set is found to be [22]:

i| =            n n + a + b +(i − 1)s 2 ! for odd i n n + a − b + i s 2 ! for even i |βi| =            n n − a − b +(i + 1)s 2 ! for odd i n n − a + b + i s 2 ! for even i. (15)

Note that each path that hits the barrier may belong to more than one set. For example, dA BinFig. 6belongs to sets α1,α2, andβ1. Note that |αi| = |βi| =0 for an integer i greater than dnse. In other words, no path can hit barrier H

and L alternatively more than dnsetimes since each path can move only n steps and the distance between H and L is s. The cardinality of the set Γ of paths moving from A to B and hitting either barrier L or H can now be derived by Eq. (15) and by the inclusion–exclusion principle. Note that Γ = α1 ∪β1 since all the paths in set Γ must

either hit barrier H (i.e., belong to setα1) or hit barrier L (belong to setβ1). By the inclusion–exclusion principle,

|Γ | = |α1| + |β1| − |α1∩β1|. The setα1∩β1is composed of the paths that hit both barriers H and L. Thus we have

α1∩β1=α2∪β2and the inclusion–exclusion principle can be applied again to obtain |α2∪β2| = |α2|+|β2|−|α2∩β2|.

The above derivation can be iteratively applied to get |Γ | = |α1∪β1| = |α1| + |β1| − |α1∩β1|

(10)

Fig. 7. Placing a CRR lattice on a grid for pricing a double-barrier option. A CRR lattice drawn in thick solid lines and circles is placed on a grid. The x-axis and the y-axis of this grid are denoted by thin solid lines. The coordinate of the root node of the CRR lattice is(0, 2h − n). The two barriers H and L are denoted by thick dotted lines, and s denotes the distance between H and L. The values in parentheses denote stock prices.

= dn se X i =1 (−1)i +1(|α i| + |βi|) ≡N(a, b, s). (16)

3.2. The O(n)-time pricing algorithm

The construction of the pricing algorithm can be divided into several cases. We first consider the case X ≥ H . If the payoff max(S(T ) − X, 0) > 0, we must have Ssup≥ S(T ) > X ≥ H, meaning the barrier H must be hit. Thus

the value of the double-barrier call option is

e−r TE(payoff) = e−r TE max(S(T ) − X, 0)1{Ssup≥Hor Sinf≤L}



=1{S(T )>X}e−r TE max(S(T ) − X, 0)1{Ssup≥Hor Sinf≤L}

 +1{S(T )≤X}e−r TE max(S(T ) − X, 0)1{Ssup≥Hor Sinf≤L}

 =1{S(T )>X}e−r TE(max(S(T ) − X, 0)) + 0

=e−r TE(max(S(T ) − X, 0))

= value of an otherwise identical vanilla call option. As this has been priced by Eq.(9), we focus on X < H from now on.

We proceed to develop efficient pricing algorithms for other, nondegenerate cases. We first place the CRR lattice on a grid as displayed inFig. 7. The barriers L and H equal S0un−hdh=S0un−2hand S0un−ldl =S0un−2l, respectively.

There is also a unique integer a such that S0un−ada≤ X< S0un−a+1da−1.

Next we analyze the option value contributed by a price path that reaches terminal node N(n, j). The probability for this price path is pn− j(1 − p)j. The payoff at node N(n, j) is max(S0un− jdj−X, 0). Thus the value contributed

by this price path is

p( j) ≡ e−r Tpn− j(1 − p)jmax(S0un− jdj −X, 0) (17)

if this price path hits either barrier L or H . Furthermore, the number of price paths that reach node N(n, j) isnj. If node N(n, j) is above the barrier H (inclusive) or below the barrier L (inclusive), the value contributed by this node isnjp( j). This is because all the price paths that reach this node must also hit barrier L or H.

The combinatorial algorithm for pricing the double-barrier call option is now within reach. First, a table is built for storing the values nk, 0 ≤ k ≤ n. Thereafter, n

k can be evaluated in constant time by a simple table lookup. Next,

(11)

Case 1. L < X < H: The option value can be decomposed into two parts: (1) the value contributed by the terminal nodes between X and H (exclusive), and (2) the value contributed by the terminal nodes above H (inclusive).

The first part of the option value is the sum of the values contributed by the terminal nodes, N(n, j), h < j < a, between X and H. The number of paths that hit one of the barriers before reaching node N(n, j) is N(n −2h, 2 j −2h, 2l −2h). The value contributed by such a path is p( j) by Eq.(17). Therefore, the value contributed by node N(n, j) is N(n − 2h, 2 j − 2h, 2l − 2h)p( j). The desired sum is therefore

a−1

X

j =h+1

N(n − 2h, 2 j − 2h, 2l − 2h)p( j). (18) The second part of the option value is the sum of the values contributed by the terminal nodes N(n, i), 0 ≤ i ≤ h, above the barrier H (inclusive). The value contributed by node N(n, i) is ni p(i). Therefore, the second part of the option value is h X i =0 n i  p(i) = e−r T h X i =0 n i 

pn−i(1 − p)imax(S0un−idi−X, 0). (19)

The value of a double-barrier call option is thus(18)+(19).

Case 2. X ≤ L: The option value consists of three distinct parts: (1) the terminal nodes between L (exclusive) and H (exclusive), (2) the terminal nodes above H (inclusive), and (3) the terminal nodes between L (inclusive) and X .

The first part of the option value is the sum of the values contributed by the terminal nodes between L and H :

l−1

X

j =h+1

N(n − 2h, 2 j − 2h, 2l − 2h)p( j). (20) The second part of the option value is the sum of the values contributed by the terminal nodes above the barrier H (inclusive) and equals Eq.(19). The third part of the option value is the sum of the values contributed by the terminal nodes, says N(n, k), l ≤ k < a, between L (inclusive) and X. This part of the option value is

a X k=l n k  p(k) = e−r T a X k=l n k  pn−k(1 − p)kmax(S0un−kdk−X, 0). (21)

Thus the value of a double-barrier call option is(19)+(20)+(21). 3.3. Time complexity

We next prove that our algorithm runs in O(n) time. Note that the degenerate case can be priced in O(n) time by Eq.(9). So we focus on nondegenerate cases.

Our pricing algorithm can be divided into three parts. The first part denotes the construction of the table for nk, 0 ≤ k ≤ n, the second part denotes the evaluation of Eqs.(19)and(21), and the last part denotes the evaluation of Eq.

(18)in case 1 or Eq.(20)in case 2. The linear-time complexity of our algorithm is established by showing that each part mentioned above can be computed in O(n) time.

The first part of our algorithm could be computed in O(n) time by the recurrence equation nk = n k−1

 ×(n − k +1)/k. Eqs.(19)and(21)can also be calculated in O(n) time by the recurrence relations used to calculate Eq.

(9). Finally, we proceed to show that both Eqs.(18)and(20)can be calculated in O(n) time. As the terms |αi|and

i| defined in Eq.(15)can be represented in nk form, |αi| + |βi| can be evaluated in constant time by looking

up the table storing nk. Thus N(a, b, s) in Eq. (16)can be solved in O(dnse) time. In both Eqs. (18) and(20), N(n −2h, 2 j −2h, 2l −2h) can be evaluated in less than l −h steps.2Consequently, it takes O(2(l−h)n (l −h)) = O(n) time to evaluate Eqs.(18)and(20). Thus the option value(18)+(19)in case 1 or(19)+(20)+(21)in case 2 can each be calculated in O(n) time and our algorithm runs in O(n) time.

(12)

4. An O(n)-time algorithm for lookback options

A lookback option can also be priced by summing the values contributed by all the terminal nodes. The major hurdle is that all the price paths that reach a terminal node, N(n, i), do not have the same payoff, depending on their extreme stock prices during the life of the option (recall Eq.(6)). To derive the value contributed by N(n, i), we divide the price paths reaching N(n, i) into groups by their extreme stock prices. Clearly, the price paths in the same group have the same payoff, thus contributing equally to the option value. The number of price paths in each group is then found by the reflection principle. The value contributed by a group is the value contributed by a price path in that group times the number of price paths in that group. Finally, a terminal node N(n, i)’s contribution to the option value equals the sum of the values contributed by the groups.

It turns out that the value contributions by adjacent terminal nodes are linked by simple recurrence relations. The option value can be evaluated in linear time by taking advantage of these relations. To keep the analysis simple, we focus on the pricing of lookback call options. The number of time-steps of the CRR lattice n is furthermore assumed to be an even number. The extension to the lookback put options and odd numbers of time-steps is straightforward.

We now divide the price paths reaching N(n, i) into groups by their extreme stock prices. Recall that the stock price of the terminal node N(n, i) is S0un−2i. For that node, and that node only, x = n − i up-moves and y = i

down-moves are taken to reach it as x − y = n − 2i . Let ℘ denote the set of price paths that end at N(n, i). Clearly, |℘| = ni. Define Sinf(o) as the minimum stock price during the time interval [0, T ] of price path o. Then

mino∈℘Sinf(o) = S0di =S0u−i, which is achieved by the price path that takes i consecutive down-moves and then

n −iconsecutive up-moves to reach N(n, i). We also have maxo∈℘Sinf(o) = min(S0un−2i, S0). This value is achieved

by the price path that takes n − i consecutive up-moves and then i consecutive down-moves to reach N(n, i). Thus ℘ can be divided into groups with extreme stock prices

S0u−i, S0u−i +1, . . . , min(S0un−2i, S0).

To evaluate the value contributed by N(n, i), two different cases are considered as follows:

Case 1. i ≤ n/2: In this case, the maximum among the minimum stock prices maxo∈℘Sinf(o) equals

min(S0un−2i, S0) = S0. Let us start with the group of price paths with minimum stock price S0u−i; price paths

in this group must hit the price level S0u−i. The cardinality of this group can be computed by applying Eq.(11)to get n

0 = 1. The contribution of this group to the option value is

e−r Tpn−i(1 − p)i(S0un−2i−S0u−i).

Next consider the group of price paths with minimum stock price S0u−i +1. Price paths of this group must hit the price

level S0u−i +1, but not S0u−i. The cardinality of this group can be computed by applying Eq.(11)twice, once with

S0u−i +1as the barrier and once with S0u−i as the barrier, to get n1 − n0. Thus the value contributed by this group

is e−r Tpn−i(1 − p)in 1  −n 0 (S0u n−2iS 0u−i +1).

In general, the value contributed by a group with minimum stock price S0u−i + jis as follows:

e−r Tpn−i(1 − p)i n j  −  n j −1  (S0un−2i−S0u−i + j),

where j ≤ i . Thus the value contributed by the terminal node N(n, i) is the sum of the above values: e−r Tpn−i(1 − p)in 0 (S0u n−2iS 0u−i) +e−r T i X j =1 pn−i(1 − p)i n j  −  n j −1  (S0un−2i−S0u−i + j).

(13)

e−r Tpn−i(1 − p)i " n 0  S0un−2i+ i X j =1  n j  −  n j −1  S0un−2i # −e−r Tpn−i(1 − p)i ( n 0  S0u−i+ i X j =1  n j  −  n j −1  S0u−i + j ) .

Denote the first term and the second term as F(i) and G(i), respectively. F(i) can be expressed by the following recurrence relation:

F(i) = F(i − 1)pxu−2+e−r Tpn−i(1 − p)i

 n i  +  n i −1  S0un−2i, (22)

where px =(1 − p)/p. G(i) can be expressed by the following recurrence relation:

G(i) = G(i − 1)pxu−1+e−r Tpn−i(1 − p)i

 n i  +  n i −1  S0. (23)

The option value contributed by N(n, i) is F(i) − G(i).

Case 2. i > n/2: In this case, the maximum among the minimum stock prices maxo∈℘Sinf(o) equals

min(S0un−2i, S0) = S0un−2i. Thus the value contributed by the terminal node N(n, i) is the sum of the values

contributed by the groups with minimum stock price S0u−i, S0u−i +1, . . . , S0un−2i as follows:

e−r Tpn−i(1 − p)in 0 (S0u n−2iS 0u−i) +e−r T n−i X j =1 pn−i(1 − p)i n j  −  n j −1  (S0un−2i−S0u−i + j).

Again, rewrite the above formula by separating the two terms making up the payoff function:

e−r Tpn−i(1 − p)i " n 0  S0un−2i+ n−i X j =1  n j  −  n j −1  S0un−2i # −e−r Tpn−i(1 − p)i ( n 0  S0u−i+ n−i X j =1  n j  −  n j −1  S0u−i + j ) .

Denote the first term and the second term as F(i) and G(i), respectively. Then the series F(i) and G(i) will satisfy the following two recurrence relations:

F(i) = F(i − 1)px/u2−e−r Tpn−i(1 − p)i

 n n − i +1  −  n n − i  S0un−2i, (24)

G(i) = G(i − 1)px/u − e−r Tpn−i(1 − p)i

 n n − i +1  −  n n − i  S0d2i −n−1. (25)

The O(n)-time pricing algorithm for pricing lookback options is now within reach. The value of a lookback option is the sum of the values contributed by all the terminal nodes,

n

X

i =0

(F(i) − G(i)) . (26)

The above formula can be evaluated in O(n) time if each F(i) − G(i) can be evaluated in constant time. Towards that end, two tables are constructed. The first table stores ni, 0 ≤ i ≤ n. The second table stores pi(1 − p)n−i, 0 ≤ i ≤ n. Both tables can be filled in O(n) time by the recurrence relations nk =  n

k−1



×(n − k + 1)/k and pi(1 − p)n−i = pi −1(1 − p)n−i +1× p/(1 − p), respectively. Note that for any arbitrary integer i between 0

(14)

Fig. 8. Pricing a power call option. The initial stock price is 100, the exercise price is 100, the risk-free rate is 10% per annum, the volatility of the stock price is 30%, and the time to maturity is 1 year. The payoff of the power call option follows Eq.(4)with p = 0.5. The solid line and the dotted line denote the combinatorial approach and the dynamic-programming approach, respectively.

F(i) and G(i) can now be calculated in constant time by Eqs.(22)–(25)given F(i −1) and G(i −1). We conclude that Eq.(26)can be calculated in O(n) time.

5. Experimental results

A power option can be viewed as a vanilla option with a nonstandard payoff function. While there is no analytical formula for a power option with payoff function Eq.(4), the power option can be priced by the lattice method with only nominal changes. However, the lattice method suffers from slow convergence and a large n is required to obtain accurate results.Fig. 8compares the O(n)-time combinatorial approach (see Eq.(10)) and the O(n2)-time dynamic-programming approach (see Eq.(8)). The x- and the y-axes denote the running time and the pricing result, respectively. For example, it costs 0.0157 s to compute with a 400-time-step CRR lattice by the dynamic-programming approach and obtain the price 2.6589 (point A). It takes almost the same time to compute with a 1600-time-step CRR lattice by the combinatorial approach and obtain the price 2.6669 (point B). The combinatorial approach obviously converges faster in terms of CPU time.

Pricing barrier options on a CRR lattice will result in significant oscillations (recallFig. 2). To alleviate them, Ritchken proposes a novel trinomial lattice model [15], but his model is not quite efficient since it runs in O(n2) time. Alternatively, Dai and Lyuu propose a novel trinomial lattice, the BTT (bino-trinomial tree) model [20]. A CRR lattice comprises the bulk of the BTT. Thus pricing barrier options on the BTT can be done in O(n) time by taking advantage of the combinatorial algorithm in this paper. Numerical results for pricing a double-barrier option are illustrated inFig. 9. The x- and y-axes denote the running time and the option price, respectively. For example, it costs 0.01538 s to compute with a 75-time-step Ritchken’s trinomial lattice to obtain the price 10.20447 (point A). It costs almost the same time to compute with a 800-time-step BTT to obtain the price 10.20137 (point B). The accurate value obtained by running a 20,000-time-step BTT is about 10.1993. It can be observed that the BTT converges more smoothly and faster than Ritchken’s trinomial lattice model.

Pricing lookback options on a lattice model suffers from slow convergence, which can be observed inFig. 3. Finding an algorithm that can handle a large n is thus important. Hull suggests an O(n2)-time algorithm to price the lookback option on the CRR lattice [1]. This paper provides a combinatorial algorithm that can solve the same problem in O(n) time. The running times for both the algorithms are listed inFig. 10. Obviously, our algorithm is much more efficient than Hull’s.

6. Conclusions

Combinatorial methods have found wide applications in many fields. This paper extends their use in improving the performance in pricing a wide variety of options. In particular, it describes how to derive O(n)-time combinatorial pricing algorithms for vanilla options, power options, single-barrier options, double-barrier options, and lookback options. These algorithms compare favorably against many other lattice methods, which take at least quadratic computational time.

(15)

Fig. 9. Pricing a double-barrier call option. The initial stock price is 95, the exercise price is 100, the risk-free rate is 10% per annum, the volatility of the stock price is 25%, the time to maturity is 1 year, and the two barriers are 140 and 90, respectively. The thin line and the thick line denote Ritchken’s trinomial lattice model and the BTT, respectively.

Fig. 10. Running-time comparison for pricing a lookback call option. The numerical settings are the same as inFig. 3. The variable n denotes the number of time-steps of the CRR lattice. “Value” denotes the pricing result of the CRR lattice. “Hull” denotes the O(n2)-time algorithm mentioned in [1]. “Combinatorics” denotes the combinatorial algorithm in this paper.

Acknowledgements

We thank Chi-Shang Draw for some of the programming works. Tian-Shyr Dai was supported in part by the NSC grant 94-2213-E-033-024 and the NCTU research grant for financial engineering and risk management project. Li-Min Liu was supported in part by the NSC grant 94-2213-E-033-031. Yuh-Dauh Lyuu was supported in part by the NSC grant 95-2213-E-002-044.

References

[1] J. Hull, Options, Futures, and Other Derivatives, 5th ed., Prentice-Hall Press, Englewood Cliffs, New Jersey, 2003. [2] F. Black, M. Scholes, The pricing of options and corporate liabilities, J. Polit. Econ. 81 (1973) 637–659. [3] P. Chalasani, S. Jha, I. Saias, Approximate option pricing, Algorithmica 25 (1999) 2–21.

[4] J. Cox, S. Ross, M. Rubinstein, Option pricing: A simplified approach, J. Financ. Econ. 7 (1979) 229–264. [5] D. Duffie, Dynamic Asset Pricing Theory, 2nd ed., Princeton University Press, Princeton, NJ, 1996. [6] P. Boyle, S. Lau, Bumping against the barrier with the binomial method, J. Deriv. 1 (1994) 6–14. [7] R. Merton, Theory of rational option pricing, Bell J. Econ. Manag. 4 (1973) 141–183.

[8] E. Reiner, M. Rubinstein, Breaking down the barriers, Risk 4 (1991) 28–35.

[9] H. Geman, M. Yor, Pricing and hedging double-barrier options: A probabilistic approach, Math. Finance 6 (1996) 365–378. [10] N. Kunitomo, M. Ikeda, Pricing options with curved boundaries, Math. Financ. 2 (1992) 275–298.

[11] L. Luo, Various types of double barrier options, J. Comput. Financ. 4 (2001) 125–138.

[12] J. Sidenius, Double barrier options: Valuation by path counting, J. Comput. Financ. 1 (1998) 63–79.

[13] B. Goldman, H. Sosin, M.A. Gatto, Path-dependent options: Buy at the low, sell at the high, J. Financ. 34 (1979) 1111–1127. [14] E. Omberg, A note on the convergence of binomial-pricing and compound-option models, J. Financ. 42 (1987) 463–469. [15] P. Ritchken, On pricing barrier options, J. Deriv. 3 (1995) 19–28.

[16] S. Figlewski, B. Gao, The adaptive mesh model: A new approach to efficient option pricing, J. Financ. Econ. 53 (1999) 313–351. [17] J. Hull, A. White, Efficient procedures for valuing European and American path-dependent options, J. Deriv. 1 (1993) 21–31. [18] Y.-D. Lyuu, Very fast algorithms for barrier option pricing and the ballot problem, J. Deriv. 5 (1998) 68–79.

(16)

[19] Y.-D. Lyuu, Financial Engineering and Computation: Principles, Mathematics, Algorithms, Cambridge University Press, Cambridge, UK, 2002.

[20] T.-S. Dai, Y.-D. Lyuu, The Bino-trinomial Tree Model — A Simple Model for Efficient and Accurate Option Pricing, Announced in the Asian FA/FMA 2006 Meeting, Auckland, New Zealand.

[21] J.H. Lint, R.M. Wilson, A Course in Combinatorics, Cambridge Univ. Press, Cambridge, UK, 1994. [22] Sri Gopal, Mohanty, Lattice Path Counting and Applications, Academic Press, New York, 1979.

數據

Fig. 1. The CRR lattice. The initial stock price is S 0 . The upward and downward multiplicative factors for the stock price are u and d, respectively.
Fig. 2. The oscillation phenomenon. The x-axis and the y-axis denote the number of time-steps of the lattice model and the prices for a double- double-barrier call option, respectively
Fig. 4. Counting the number of paths that hit barrier H by the reflection principle. Barrier H (horizontal line y = 0) is denoted by solid line.
Fig. 5. Placing a CRR lattice on a grid for pricing a single-barrier option. A CRR lattice drawn in thick solid lines and circles is placed on a grid
+5

參考文獻

相關文件

• The weight is the probability that the stock price hits the diagonal for the first time at that node...

• Use the Black-Scholes formula with the stock price reduced by the PV of the dividends.. • This essentially decomposes the stock price into a riskless one paying known dividends and

了⼀一個方案,用以尋找滿足 Calabi 方程的空 間,這些空間現在通稱為 Calabi-Yau 空間。.

You are given the wavelength and total energy of a light pulse and asked to find the number of photons it

好了既然 Z[x] 中的 ideal 不一定是 principle ideal 那麼我們就不能學 Proposition 7.2.11 的方法得到 Z[x] 中的 irreducible element 就是 prime element 了..

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

incapable to extract any quantities from QCD, nor to tackle the most interesting physics, namely, the spontaneously chiral symmetry breaking and the color confinement.. 

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most