Computational Economics (2006) DOI: 10.1007/s10614-006-9049-z C Springer 2006 Polynomial Algorithms for Pricing Path-Dependent Interest Rate Instruments RONALD HOCHREITER and GEORG CH. PFLUG Department of Statistics and Decision Support Systems, University of Vienna, Universitätsstraße 5/9, 1010 Vienna, Austria; E-mail: ronald.hochreiter@univie.ac.at; E-mail: georg.pflug@univie.ac.at Received 9 February 2004 / Accepted 16 May 2006 Abstract. In this paper we study algorithms for pricing of interest rate instruments using recombining tree (scenario lattice) interest models. The price is defined as expected discounted cash flow. If the cash-flow generated by the instrument depends on the full or partial history of interest rates (pathdependent contracts), then pricing algorithms are typically of exponential complexity. We show that for some models, including product form cash-flows, additive cash-flows, delayed cash-flows and limited path-dependent cash-flows, polynomial pricing algorithms exist. Key words: path-dependent financial instruments, pricing, interest rate models, recombining trees 1. Introduction A basic problem of Computational Finance is pricing of financial contracts on the basis of a calibrated recombining tree (scenario lattice) of interest rates and a given cash-flow function using the general principle present value equals the expected, discounted cash-flow. It is well known that the problem is of polynomial order if the lattice has polynomial growth and the cash-flows may be represented on the lattice. However, there are many examples of contracts, which define the payable cash-flows as a function of the whole history of the interest rate process. In general, the history tree grows exponentially and therefore the complexity of pricing such contracts is nonpolynomial. For certain subclasses of cash-flow functions however, a polynomial pricing algorithm exists. The main aim of this paper is to present a unified set of recursive algorithms for pricing such types of cash flows. The unified presentation provides a framework for studying this class as well as for developing extensions, especially parallel versions of the algorithms. Some of the algorithms are already (at least implicitly) known in the literature. References have been added where appropriate. While the effective interest rate of path-independent interest instruments depends on the current market interest rate, the contracted interest rates of
R. HOCHREITER AND G. CH. PFLUG path-dependent interest rate instruments are contingent to the historical path of the underlying interest rate, which may be short-term rates, long-term rates or interbank rates (e.g. LIBOR) among others. We assume, that a model for discretizing the process is available. The path-dependence can be defined on the whole time structure (full path-dependency) or only on a certain time frame (limited path-dependency). Generally, path-dependent interest rates can be classified into the following structures: Average. This class includes the classical Asian structure, i.e. the average interest rate (arithmetic mean) as well as product form, i.e. the product of the current and previous underlying interest rates (geometric mean). Barrier. The effective interest rate is modified if the underlying interest rate reaches certain lower or upper barriers. A typical example is a standard knock-out, for which the effective interest rate is set to zero until maturity, if the underlying rate falls below or rises above a certain barrier value. Extremum. The effective interest rate depends on a maximum or minimum reached during the life of the interest rate instrument. Path-dependent interest rate instruments are often defined on the basis of interest rates, which are not identical to the current market rate. Some examples are: Cap, Floor, and Collar. Caps put an upper limit and floors a lower limit to the effective interest rate. A Collar is a combination of a Cap and a Floor. Delay. The effective interest rate equals the market rate a pre-specified time-frame in the past. Lookback. The effective interest rate depends on some extremum or average interest rate during a pre-specified period of time. By combining a function (Average, Barrier, Extremum,... ) with a modifier (Cap, Delay, Lookback,... ), a large variety of possible contract forms may be generated. An overview of valuing and managing interest rate derivatives in a classical way can be found in e.g. Pelsser (2000) and Dai and Singleton (2003a), numerical procedures can be found in Clewlow and Strickland (1997). The paper is organized as follows. In Section 2, we describe the setup and the brute force exponential algorithm. Section 3 presents selected polynomial algorithms, while Section 4 concludes the paper. 2. Tree Processes Describing the future development of economic quantities in particular of interest rates with recombining-trees (lattices) is a standard in quantitative finance. Many models for describing the term structure of interest rates have been developed. Various reviews of these models have been published (see
POLYNOMIAL ALGORITHMS e.g. Rebonato, 1998; Hughston 2000 or Dai and Singleton 2003b; among others). The rapid evolution of interest models yields to new reviews especially in the context of the increasing complexity of new-generation interest-rate derivatives. Rebonato (2003) classifies yield-curve models into three generations. Historically the first internally consistent term structure models were published by Vasicek (1977) as well as Cox et al. (1985). Both models exhibit serious problems (e.g. negative interest rates within the Vasicek model) and there was less evidence that the models were correctly specified. The second generation yield curve models were trying to solve the problems from the first generation yield curve models by fitting the field curve to an arbitrary exogenous set of bond prices. This approach has been introduced by Hull and White (1990), extending the Vasicek model. Chronologically this extended model was not the first one of the class of yield curve fitting models. Other models in this category were published by Ho and Lee (1986), Black et al. (1990) and Black and Karasinski (1991). Interest rate lattices of this category can be implemented easily, see e.g. Hull and White (2001) for the implementation of the generalized Hull and White model. Yield curve models of the third generation include the Heath-Jarrow-Morton model (Heath et al., 1992) and the LIBOR Market Model (LMM) also called BGM/J model (Brace et al., 1997; Jamshidan, 1997) which is derived from the general HJM framework. The LMM gained acceptance as a practical and versatile model of interest rate dynamics. Based within the HJM framework, the LMM concentrates on describing market observable forward LIBORs, rather than the mathematically abstract instantaneous forward rates, and offers the possibility to price interest rate caps and floors in a manner consistent with the popular (Black, 1976) formula. Though not strictly consistent from a theoretical viewpoint, pricing swaptions by application of the Black formula is also standard practice and has been shown to be a highly accurate approximation within the LMM framework. Still, prices in the LMM framework are most commonly calculated using the leastsquares technique, presented by Longstaff and Schwartz (2001). Calculations on a lattice can be approximately calculated with a drift approximation as shown by Pietersz et al. (2004). In the following, we will use the term lattice for recombining trees. We consider a lattice L with a discrete set of states, height T, and discrete time stages t = 0, 1,...,T. Let S t Z denote the set of possible states at time t(s 0 {0}). The set of nodes of the lattice is {(t, i); i S t, t = 0,...,T }. Two nodes (t, i) and (t + 1, j) are linked by an arc, if there is a positive probability to reach i from j, i.e. p t,i, j > 0. The number of nodes of the lattice L is 1 + #(S 1 ) + +#(S T ), where #(S) denotes the number of elements of the set S. A (non-recombining) history tree T may be associated to every lattice L. Such a history tree consists of nodes (0, i 1,...,i t ); i s S s, t = 0,...T. A sequence
R. HOCHREITER AND G. CH. PFLUG 3 2 p 2,2,3 1 p 1,1,2 p 2,2,1 1 0 p 0,0,1 p 1,1,0 0 p 2,0,1 p 0,0, 1 p 1, 1,0 p 2,0, 1 p 1, 1, 2 p 2, 2, 1 p 2, 2, 3 Figure 1. A binary lattice with three stages (excluding root). (0, i 1,...,i t ) is a valid node, if p 0,0,i1 p 1,i1,i 2...p t 1,it 1,i t > 0. Two nodes (0, i 1,...i t ) and (0, i 1,...,i t, i t+1 ) are linked by an arc, if p t,it,i t+1 > 0. The root of the tree is the node (0). The leaves (0, i 1,...,i T ) carry the probabilities p 0,0,i1 p 1,i1,i 2...p T 1,iT 1,i T. The set of nodes of level t of the history tree is denoted by t. The set of terminal nodes of the history tree T equals all possible paths in the lattice. The most typical lattice structures are: Binary lattice. #(S t ) = t + 1, i.e. the number of possible states grows by one in each period. Every node (except the terminal nodes) has two successors. See Figure 1 for an example of a three-stage binary lattice. Ternary lattice. #(S t ) = 2t + 1. Every node (except the terminal nodes) has three successors. In the following, we will use the binary lattice as the standard model. The results carry over to ternary lattices or more general lattices by slight changes. The number Table I. Complexity of lattices and trees. Type of lattice Binary Ternary Nodes (Lattice) 1 2 (T + 2)(T + 1) (T + 1)2 Arcs (Lattice) T (T + 1) 3T 2 Nodes (History tree) 2 T +1 1 1 2 (3T +1 1) Arcs (History tree) 2 T +1 2 1 2 (3T +1 3)
POLYNOMIAL ALGORITHMS of time periods T is the complexity parameter. Table I compares binary and ternary lattices and trees of height T. 2.1. INTEREST RATES LATTICES AND CASH-FLOWS TREES Let a lattice L of height T with states S t, 0 t T be given. The interest rates in time period [t, t + 1] are functions of the state i of the lattice process in time t, i.e. r = r t (i). We assume that the time periods are years and r t (i) are yearly interest rates, with obvious modifications, if the time scale is different. Let f t (i) be the discount factor f t (i) = (1 + r t (i)) 1. In practical terms, the interest rates r t (i) and the factors f t (i) sit on the nodes (t, i). A cash flow stream is a sequence of functions c t (i t, i t 1,...,i 1 ), which assign to each path of the history tree a value that is paid at time t by the contract under consideration. Figures 2 and 3 illustrate the situation: The lattice carries the interest rate process and therefore the discount factors. Cash-flows are carried by the pertaining history tree. Path-Independent Cash-Flows. Cash-flows at time t do only depend on the state of the system at time t, i.e. c t (i t,...,i 1 ) = c t (i t ) t 0. Delayed Cash-Flows. Cash-flows at time t do only depend on the state of the system at time t l, i.e. c t (i t,...,i 1 ) = c t (i t l ) t l. f 1 (1) f 2 (2) f 0 f 2 (0) f 1 ( 1) f 2 ( 2) Figure 2. A binary lattice carrying the discount factors.
R. HOCHREITER AND G. CH. PFLUG c 2 (1, 2) c 3 (1, 2, 3) c 1 (1) c 3 (1, 2, 1) c 3 (1, 0, 1) c 0 c 2 (1, 0) c 2 ( 1, 0) c 3 (1, 0, 1) c 3 ( 1, 0, 1) c 3 ( 1, 0, 1) c 1 ( 1) c 3 ( 1, 2, 1) c 2 ( 1, 2) c 3 ( 1, 2, 3) Figure 3. The pertaining binary tree carrying the cash-flows. Limited Path-Dependent Cash-Flows. There is an integer d such that the cashflows at time t do only depend on the state of the system at times t, t 1,...,t d i.e. c t (i t, i t 1...,i 1 ) = c t (i t,...,i t d ) t d + 1. If d = 0, we obtain the path-independent case. Full Path-Dependent Cash-Flows. c t (i t, i t 1,...,i 1 ). Notice again that the discount factors f are defined on the lattice f t ( j); (t, j) L, whereas the cash-flows are defined on the tree in general c t (i 1,...,i t ); (0, i 1,...,i t ) T. The collection of the functions (c t ) is called a cash flow structure. To the lattice L we associate a Markovian lattice process (ξ t ) t=0,...,t. The stochastic evolution of
POLYNOMIAL ALGORITHMS this process is given by P{ξ 0 = 0} =1, P{ξ t+1 = i i+1 ξ t = i t }=p t,it,i t+1. For a cash-flow structure c = (c 0, c 1,...,c T ), the expected present value PV 0 (the today s price of the contract c)is [ T PV 0 (c) = c 0 + E c t (ξ t,ξ t 1,...,ξ 1 ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ]. Notice that the present value operator PV is linear: If c (1) and c (2) are two cash-flow structures, then PV 0 ( γ1 c (1) + γ 2 c (2)) = γ 1 PV 0 ( c (1) ) + γ 2 PV 0 ( c (2) ). 2.2. BASIC EXPONENTIAL ALGORITHM It is always possible to calculate the present value on the basis of the history tree: Recall that t is the set of all possible path (0, i 1,...,i t ) of length t. T is the set of the leaves of the history tree. Then PV 0 (c) = c 0 + [ T (0,i 1,...,i T ) T s=1 c s (i s,...,i 1 ) f s 1 (i s 1 ) f 1 (i 1 ) f 0 ]p 0,0,i1 p 1,i1,i 2 p T 1,iT 1,i T The algorithm FULLPRESENTVALUE in Table II requires that the functions f t are defined on S t, whereas the functions c t are defined on t. Since the outer loop iterates over all leaves of the history free, the complexity of this algorithm is O(T 2 T ) for binary lattices. 2.3. PATH-INDEPENDENT CASH-FLOWS For path-independent cash flows, c t (i t,...,i 1 ) = c t (i t ) the above calculation can be performed in a recursive way. There are two approaches to this recursion, a backward recursion and a forward recursion. For both algorithms f t and c t are defined on S t and the following notation is used {ξ=k} = { 1 ifξ = k 0 otherwise.
R. HOCHREITER AND G. CH. PFLUG Table II. Algorithm FULLPRESENTVALUE. FULLPRESENTVALUE(c 0, c 1,...,c T, f 0, f 1,... f T ) 1 PV 0 c 0 2 foreach (0, i 1,...,i T ) T 3 Z 0 4 for s T downto 1 5 Z [Z + c s (i s,...,i 1 )] f s 1 (i s 1 ) 6 end for 7 PV 0 PV 0 + Z p 0,0,i1 p 1,i1,i 2 p T 1,iT 1,i T 8 end foreach 9 return (PV 0 ) 2.3.1. The Backward Recursion Introduce the conditional present values for a future state (t, j) as the conditional expectation [ ] T PV t, j (c) = E c s (ξ s ) f s 1 (ξ s 1 ) f t (ξ t ) ξ t = j s=t = c t ( j) + E [ T s=t+1 ] c s (ξ s ) f s 1 (ξ s 1 ) f t (ξ t ) ξ t = j. The conditional present values PV t, j satisfy a recursion PV T, j (c) = c T ( j) [ ] T PV t, j (c) = E c s (ξ s ) f s 1 (ξ s 1 ) f t (ξ t ) ξ t = j s=t [ ] T = c t ( j) + E c s (ξ s ) f s 1 (ξ s 1 ) f t ( j) {ξt+1 =k} ξ t = j s=t+1 k S t+1 = c t ( j) + f t ( j) [ T c s (ξ s ) f s 1 (ξ s 1 ) k S t+1 E s=t+1 f t+1 (ξ t+1 ) {ξt+1 =k} ξ t = j = c t ( j) + f t ( j) k S t+1 E f t+1 (ξ t+1 ) ξ t+1 = k [ T ] s=t+1 ] p t, j,k c s (ξ s ) f s 1 (ξ s 1 )
POLYNOMIAL ALGORITHMS Table III. Algorithm PRESENTVALUEBACKWARD. PRESENTVALUEBACKWARD(c 0, c 1,...,c T, f 0, f 1,..., f T ) 1 foreach j S T 2 PV T, j c T ( j) 3 end foreach 4 for t T 1 downto 0 5 foreach j S t 6 PV t, j c t ( j) + f t ( j) k PV t+1,k p t, j,k 7 end foreach 8 end for 9 return (PV 0,0 ) = c t ( j) + f t ( j) PV 0 (c) = PV 0,0 (c) This algorithm is shown in Table III. k S t+1 PV t+1,k (c)p t, j,k 2.3.2. The Forward Recursion The forward recursion is based on the notion of state prices. The state SP t, j is the present value of a contract which pays one unit at time t, if the state at this time is j and nothing else: SP t, j = PV 0 ( t, j ) = E [ f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 {ξ t = j}]. (1) It is easy to see that the state prices fulfil the following forward recursion: SP 0,0 = 1 SP t, j = E [ ] f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 {ξ t= j } = E [ ] f t 1 (k) f 1 (ξ 1 ) f 0 {ξ t 1=k } {ξ t= j } k S t 1 = f t 1 (k)e [ ] f t 2 (ξ t 2 ) f 1 (ξ 1 ) f 0 {ξ t 1 =k} P{ξt = j ξ t 1 = k} k S t 1 = SP t 1,k f t 1 (k)p t,k, j. k S t 1 The price of c = (c 1,...,c T )is [ ] T PV 0 (c) = E c t (ξ t ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0
R. HOCHREITER AND G. CH. PFLUG Table IV. Algorithm PRESENTVALUEFORWARD. PRESENTVALUEFORWARD(c 0, c 1,...,c T, f 0, f 1,..., f T ) 1 SP 0,0 1 2 PV 0 0 3 for t 1toT 4 foreach j S t 5 SP t, j k SP t 1,k f t 1 (k)p t,k, j 6 end foreach 7 end for 8 for t 1toT 9 PV 0 PV 0 + j c t ( j) SP t, j 10 end for 11 return (PV 0 ) = = T c t ( j)e[ f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ξ t = j] j S t T c t ( j)sp t, j. j S t The complexity of this algorithm, which is shown in Table IV is of the order of the number of the nodes of the lattice, which is O(T 2 ) in the binary case. The usual way of calculating the price for a path-dependent cash flow is to expand the lattice to the full tree and do the calculations on the tree. This algorithm is nonpolynomial, in contrast to the polynomial algorithm for the non-path dependent case. However, at least for some path dependent situations, polynomial algorithms are available. However, it should be noted that the most commonly used procedure to value path-dependent cash flows is to use an augmented state variable, e.g. as described by Hull and White (1993) or Wilmott et al. (1993). 3. Special Cash-Flow Structures For simplicity, assume that no payment takes place at time 0, i.e. c 0 = 0. 3.1. PRODUCT-FORM CASH FLOWS Suppose that the cash-flows are of product form c t (ξ t,ξ t 1,...,ξ 1 ) = c t,t (ξ t ) c t,t i (ξ t 1 ) c t,1 (ξ 1 )
POLYNOMIAL ALGORITHMS where the functions c t,s for t s are defined on S s. Then [ ] T PV 0 (c 1,...,c T ) = E c t,t (ξ t )c t,t 1 (ξ t 1 )...c t,1 (ξ 1 ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 [ T = E c t,t (ξ t ) g t,t 1 (ξ t 1 ) g t,1 (ξ 1 )g t,0 ], where g t,0 = f 0 g t,1 (ξ 1 ) = c t,1 (ξ 1 ) f 1 (ξ 1 ). g t,t 1 (ξ t 1 ) = c t,t 1 (ξ t 1 ) f t 1 (ξ t 1 ). The structure of the formula reveals that a recursive calculation is possible. The constants g t,s are the new discounting factors. In contrast to the path-independent situation they carry two indices. Therefore a recursive calculation can be done for contracts which pay only at one fixed time. The total present value is obtained by summing over all times in an additional loop. As in the history-independent case we may do a backward recursion and a forward recursion. 3.1.1. Product-Form Backward Recursion For s t let PV (t) s, j be the conditional value of the contract which pays c t,t (ξ t )...,c t,s+1 (ξ s+1 ) c t,s ( j) at time t and nothing at other times conditional that the state at time s was j: PV (t) s, j = E[c t,t(ξ t )c t,t 1 (ξ t 1 ) c t,s (ξ t ) f t 1 (ξ t 1 )... f s (ξ s ) ξ s = j] = E[c t,t (ξ t )g t,t 1 (ξ t ) g t,s (ξ s ) ξ s = j]. The backward recursion for the calculation of PV (t) s, j is PV (t) t, j = c t,t( j) PV (t) s, j = k PV (t) s+1,k g t,s( j)p s, j,k = c t,s ( j) f s ( j) k PV (t) s+1,k p s, j,k.
R. HOCHREITER AND G. CH. PFLUG Table V. Algorithm PRODUCTBACKWARD. PRODUCTBACKWARD(c 0, c 1,1, c 2,2, c 2,1,...,c T,T,...c T,1, f 0, f 1,..., f T ) 1 PV 0,0 0 2 for t 1toT 3 foreach j S t 4 PV (t) t, j c t,t ( j) 5 end foreach 6 for s t downto 0 7 foreach j S s 8 PV (t) s, j c t,s( j) f s ( j) k PV(t) s+1,k p s, j,k 9 end foreach 10 end for 11 PV 0,0 PV 0,0 + PV (t) 0,0 12 end for 13 return (PV 0,0 ) The final price is PV 0 (c 1,...,c T ) = T PV (t) 0,0. Because of the additional loop, the complexity is T O(t 2 ) = O(T 3 ) for the binary case. The algorithm is shown in Table V. 3.1.2. Product-Form Forward Recursion Define for s t the values V (t) s, j as V (t) s, j = E[ ] g t,s 1 (ξ s 1 ) g t,1 (ξ 1 ) g t,0 {ξ s = j} = E [ ] c t,s 1 (ξ s 1 ) f s 1 (ξ s 1 ) c t,1 (ξ 1 ) f 1 (ξ 1 ) f 0 {ξ s = j} These values are the present values of a contract, which pays c t,s 1 (ξ s 1 ) c t,1 (ξ 1 ) at time s, but only if the state at this time is j. These values fulfil the recursion V (t) 0,0 = 1 V (t) s, j = V (t) s 1,k g t,s 1(k)p s,k, j k S s 1 = s 1,k c t,s 1(k) f s 1 (k)p s,k, j. k S s 1 V (t)
POLYNOMIAL ALGORITHMS Table VI. Algorithm PRODUCTFORWARD. PRODUCTFORWARD(c 0, c 1,1, c 2,2, c 2,1,...,c T,T,...c T,1, f 0, f 1,..., f T ) 1 PV 0 0 2 for t 1 to T 3 V (t) 0,0 1 4 for s 1 to t 5 foreach j S s 6 V (t) s, j k V (t) s 1,k c t,s 1(k) f s 1 (k)p s,k, j 7 end foreach 8 end for 9 PV 0 PV 0 + j c t,t ( j) V (t) t, j 10 end for 11 return (PV 0 ) The final present value is PV 0,0 = T t, j. j S t c t,t ( j)v (t) In the binary case, the complexity is T O(t 2 ) = O(T 3 ), the same as for the backward algorithm. The forward algorithm is shown in Table VI. 3.1.3. Simple Product Form If the cash-flow function is a simple product: c t (ξ t,ξ t 1,...,ξ 1 ) = c t (ξ t )... c t 1 (ξ t 1 )... c 1 (ξ 1 ) (2) then the situation is even simpler. Using the formula [ ] T PV 0 (c) = E c t (ξ t ) c t 1 (ξ t 1 ) c 1 (ξ 1 ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 [ T = E c t (ξ t ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ], where f s ( j) = f s ( j) c s ( j) one sees that this case may be reduced to the historyindependent case by introducing the new discounting factors f s ( j) := f s ( j) c s ( j). The present value is calculated with the cash-flows c t and the discounting factors f. The complexity is O(T 2 ) for the binary lattice.
R. HOCHREITER AND G. CH. PFLUG A special case are barrier contracts, which cease to pay if the interest rate jumps over some barrier. Suppose for instance that the contract does not pay, if the interest rate in the history was ever lower than an barrier b 1, equivalently, if a discount factors f ( ) was ever larger than b = 1/(b 1 + 1). Such a barrier contract is of the form (2), with { 0 if fs ( j) > b c s ( j) = 1 otherwise More generally, any contract with a killing condition can be classified into this category. Suppose that the contract ceases to pay if f s ( j) falls into the killing zone K s, possibly even dependent on s. Then the right choice of functions c is { 0 if fs ( j) K s c s ( j) = 1 otherwise This case covers lower, upper barriers, knock-out barrier collars, etc. 3.2. DELAYED CASH FLOW Suppose that the cash flow at time t depends only on ξ t l c t (ξ t,ξ t 1,...,ξ 1 ) = c t l (ξ t l ) c t (ξ t,ξ t 1,...,ξ 1 ) = 0 for t l for t <l, where l is a fixed number. Let for s < t F (t) s, j = E[ f t 1 (ξ t 1 ) f t 2 (ξ t 2 ) f s (ξ s ) ξ s = j]. These values fulfill the following backward recursion F (t) t 1, j = f t 1( j) F (t) s, j = E [ f t 1 (ξ t 1 ) f s+1 (k) f s ( j) {ξs+1 =k} ξ s = j ] k = k f s ( j)e[ f t 1 (ξ t 1 ) f s+1 (k) ξ t 1 = k]p{ξ s+1 = k ξ x = j} = f s ( j) k F (t) s+1,k p s, j,k
POLYNOMIAL ALGORITHMS Table VII. Algorithm DELAYED. DELAYED (0, c 1,..., c T l, f 0, f 1,..., f T ) 1 for t l to T 1 2 foreach j S t 3 F (t) t 1, j f t 1( j) 4 end foreach 5 for s t 2 downto t l 6 F (t) s, j f s( j) k F(t) s+1,k p s, j,k 7 end for 8 foreach j S t 9 c t l ( j) F (t) t l, j c t l( j) 10 end foreach 11 end for 12 PV 0,0 PRESENTVALUE( c 0, c 1,..., c T l, f 0, f 1,..., f T ) 13 return (PV 0,0 ) Then [ T PV 0 (c 1,...,c T ) = E c t l (ξ t l ) f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ] t=l T = c t l ( j)e [ ] f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ξt l = j t=l j S t l T = c t l ( j)e [ ] f t 1 (ξ t 1 ) f t l (ξ t l ) ξt l = j t=l j S t l E [ ] f t l 1 (ξ t l 1 ) f 1 (ξ 1 ) f 0 ξ t l = j T = c t l ( j) F (t) t l, j E[ f t l 1 (ξ t l 1 ) t=l j S t l ] f 1 (ξ 1 ) f 0 ξ t l = j T = c t l ( j)sp t l, j j S t l t=l where c t l ( j) = c t l ( j) F (t) t l, j and the state prices ( [ ] SP i, j = PV 0 (t, j)) = E ft 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 {ξ t = j} are defined as in (1). Notice that the values F (t) s, j are only needed for s = t l. If l = 1. then F (t) t 1, j = f t 1 ( j) and the recursive calculation of the F s is not needed (see below).
R. HOCHREITER AND G. CH. PFLUG Table VIII. Algorithm ADDITIVE. ADDITIVE (c 1,1, c 2,2, c 2,1,...,c T,T,...c T,1, f 0, f 1,..., f T ) 1 PV 0 0 2 for t 1 to T 3 PV 0 PV 0 + DELAYED(0,...,0, c t,1,...,c T,T t+1, f 0, f 1,..., f T ) 4 end for 5 return (PV 0 ) The following algorithm assumes that c t are defined on S t. For the case l 2, it calculates first recursively the values F (t) t l, j and uses one of the already defined algorithms for simple present values. The function PRESENTVALUE may either be replaced with the backward or the forward recursion. The complexity of DELAYED is O(T 3 ). The algorithm is shown in Table VII. Remark. If the delay equals 1, the algorithm is as simple as for delay 0. Suppose that c t (ξ t,...,ξ 1 ) = c t 1 (ξ t 1 ) Then the formula to be calculated is [ T PV 0 = E c t 1 (ξ t 1 f t 1 (ξ t 1 ) f 1 (ξ 1 ) f 0 ]. Setting c t 1 ( j) = c t 1 ( j) f t 1 ( j), the present value of PV 0 (0, c 0, c 1,..., c T 1, 0) equals PV 0 ( c 1,..., c T, 0). 3.3. ADDITIVE CASH FLOW Suppose that the cash-flows are of additive form: c t (ξ t,ξ t 1,...,ξ 1 ) = c t,t (ξ t ) + c t,t 1 (ξ t 1 ) + +c t,1 (ξ 1 ) Then the cash-flow function can be represented as a sum of delayed cash flows. Let c (0) = (c 1,1,...,c T,T ), c (1) = (c 2,1,...,c T,T 1, 0),. c (T 1) = (c T,1, 0,...,0), The cash-flow c (s) has delay s. The total present value is T 1 ( PV 0,0 (c) = PV 0,0 c (s) ). s=0 Algorithm ADDITIVE shown in Table VIII assumes that c t,s are defined on S s. The complexity of the additive cash flow case is O(T 4 ).
POLYNOMIAL ALGORITHMS 3.4. LIMITED PATH DEPENDENCE Suppose that the cash-flow functions are of the form c t (ξ t,ξ t 1,...,ξ 1 ) = c t (ξ t,ξ t 1,...,ξ t d ) t d + 1 c t (ξ t,ξ t 1,...,ξ 1 ) = 0 t < d + 1 Set, for t T d, IPV (d) t, j = E [ T s=t+d ] c s (ξ s...,ξ s d ) f s 1 (ξ s 1 ) f t+1 (ξ t+1 ) f t ( j) ξ t = j. These values are conditional present values of an incomplete cash-flow stream, i.e. a cash-flow stream which does not pay for the first d 1 periods after t. Notice that PV 0 = IPV (d) 0,0 and that IPV(0) t, j = PV t, j. The values IPV (d) t, j can be computed recursively. IPV (d) T, j = 0 [ ] T IPV (d) t, j = E c s (ξ s,...,ξ s d ) f s 1 (ξ s 1 ) f t ( j) ξ t = j s=t+d = E[c t+d (ξ t+d,...,ξ t ) f t+d 1 (ξ t+d 1 ) f t ( j) ξ t = j] T + E[c s (ξ s,...,ξ s d ) f s 1 (ξ s 1 ) f t ( j) ξ t = j] s=t+d+1 T = C t, j + E [ c s (ξ s,...,ξ s d ) f s 1 (ξ s 1 ) s=t+d+1 k f t ( j) {ξt+1 =k} ξ t = j ] = C t, j + T E[c s (ξ s,...,ξ s d ) f s 1 (ξ s 1 ) k s=t+d+1 f t+1 (k) f t ( j) ξ t+1 = k]p t, j,k = C t, j + f t ( j) IPV (d) t+1,k f t+1(k)p t, j,k k Here C t, j = E[c t+d (ξ t+d,...,ξ t ) f t+d 1 (ξ t+d 1 ) f t ( j) ξ t = j]. The pertaining algorithm is LIMITED shown in Table IX.
R. HOCHREITER AND G. CH. PFLUG Table IX. Algorithm LIMITED. LIMITED (0,...,0, c d+1...,c T, f 0, f 1,..., f T ) 1 foreach t 2 foreach j S t 3 IPV t, j 0 4 end foreach 5 end foreach 6 for t T d downto 0 7 foreach j S t 8 foreach k 9 C t, j,k i t+d,...,it+2 c t+d (i t+d,...,i t+2, k, j) f t+d 1 (i t+d 1 )... f t ( j) p t, j,k p t+1,k,it+2 p t+d 1,it+d 1,i t+d 10 IPV (d) 11 end foreach 12 end foreach 13 end for 14 PV 0 IPV (d) 0,0 15 return (PV 0 ) t, j C t, j,k + f t ( j)ipv (d) t+1,k f t+1(k)p t, j,k 4. Conclusion In this paper we presented an unified overview of pricing methods for pathdependent interest rate products for lattice-based (recombining tree-based) interest rate models. We considered five types of cash flows that allow for polynomial-time algorithms. Besides the path independent cash flows, the following path-dependent cash-flows have been considered: 1. Product-form cash flows, 2. Delayed cash flows, 3. Additive cash flows, and 4. Cash flows with limited path-dependence. Implementable algorithms were presented to prove that all five types of cash flows can be priced in polynomial time. Any interest rate product, whose cash flow patterns fits one of the five categories can be priced efficiently, using a lattice-based interest rate model. Further extensions based on these algorithms may include the extension to other cash-flow structures as well as the development of specialized lattice data structures or parallel versions of the presented algorithms to further improve the overall efficiency.
POLYNOMIAL ALGORITHMS References Black, F. (1976). The pricing of commodity contracts. Journal of Financial Economics, 3, 167 179. Black, F., Derman, E. and Toy, W. (1990). A one factor model of interest rates and its application to treasury bond options. Financial Analysts Journal, 46, 33 39. Black, F. and Karasinski, P. (1991). Bond and option pricing when short rates are lognormal. Financial Analysis Journal, 47, 52 59. Brace, A., Gatarek, D. and Musiela, M. (1997). The market model of interest rate dynamics. Mathematical Finance, 7(2), 127 155. Clewlow, L. and Strickland, C. (1997). Exotic Options: The State of the Art. International Thomson Business Press. Cox, J.C., Ingersoll, J.E. and Ross, S.A. (1985). A theory of the term structure of interest rates. Econometrics, 53, 365 407. Dai, Q. and Singleton, K.J. (2003a). Fixed income pricing. In: G. Constantinides, R. Harris and M. Stulz (eds.), Financial Markets and Asset Pricing, Vol. 1, Part 2 of Handbook of Economics of Finance, Elsevier B.V., pp. 1207 1246. Dai, Q. and Singleton, K.J. (2003b). Term structure modeling in theory and reality. Review of Financial Studies, 16(3), 631 678. Heath, D., Jarrow, R. and Morton, A. (1992). Bond pricing and the term structure of interest rates: A new methodology for contingent claims valuation. Econometrica, 60(1), 77 105. Ho, T.S. and Lee, S.B. (1986). Term structure movements and pricing interest rate contingent claims. Journal of Finance, 41(5), 1011 1029. Hughston, L. (2000). The New Interest Rate Models: Innovations from Heath-Jarrow-Morton to the Present. Risk Books. Hull, J. and White, A. (1990). Pricing interest rate derivative securities. Review of Financial Studies, 3(4), 573 592. Hull, J. and White, A. (1993). Efficient procedures for valuing European and American path-dependent options. Journal of Derivatives, 1(1), 21 31. Hull, J. and White A. (2001). The general hull-white model and super calibration. Financial Analysts Journal, 57(6). Jamshidan, F. (1997). LIBOR and swap market models and measures. Finance and Stochastics, 1(4), 293 330. Longstaff, F.A. and Schwartz, E.S. (2001). Valuing American options by simulation: A simple leastsquare approach. Review of Financial Studies, 14(1), 113 147. Pelsser, A. (2000). Efficient Methods for Valuing Interest-Rate Derivatives. Springer. Pietersz, R., Pelsser, A. and Regenmortel, M. (2004). Fast drift approximated pricing in the BGM model. Journal of Computational Finance, 8(1), 93 124. Rebonato, R. (1998). Interest-Rate Option Models: Understanding, Analysing and Using Models for Exotic Interest-Rate Options, 2nd edition. Wiley. Rebonato. R. (2003). Term-structure models: A review. QUARC (QUantitative Research Centre) Royal Bank of Scotland. Vasicek, O. (1977). An equilibrium characterization of the term structure. Journal of Financial Economics, 5, 177 188. Wilmott, P., Dewynne, J. and Howison, S. (1993). Option Pricing: Mathematical Models and Computation. Oxford Financial Press.