Numerical Examples
• Assume
– S0 = 100, y0 = ln S0 = 4.60517.
– r = 0.
– n = 1.
– h20 = 0.0001096, γ = h0 = 0.010469.
– γn = γ/√
n = 0.010469.
– β0 = 0.000006575, β1 = 0.9, β2 = 0.04, and c = 0.
Numerical Examples (continued)
• A daily variance of 0.0001096 corresponds to an annual volatility of
√365 × 0.0001096 ≈ 20%.
• Let h2(i, j) denote the variance at node (i, j).
• Initially, h2(0, 0) = h20 = 0.0001096.
Numerical Examples (continued)
• Let h2max(i, j) denote the maximum variance at node (i, j).
• Let h2min(i, j) denote the minimum variance at node (i, j).
• Initially, h2max(0, 0) = h2min(0, 0) = h20.
• The resulting three-day tree is depicted on p. 861.
13.4809 13.4809
12.2883 12.2883
11.7170 11.7170
12.2846 10.5733
10.9645 10.9645
10.5697 10.5256
13.4644 10.1305
10.9600 10.9600
10.5215 10.5215
10.9603 10.1269
10.6042 09.7717
10.9553 10.9553
12.2700 10.5173
11.7005 10.1231
10.9511 10.9511
12.2662 10.5135
13.4438 10.9473
yt
4.60517 4.61564 4.62611 4.63658 4.64705 4.65752
4.59470
4.58423
4.57376 0.01047
1 1
2 2
1 1
1 1
2 2
1 1
2 1
2 1
1 1
• A top number inside a gray box refers to the minimum variance h2min for the node.
• A bottom number inside a gray box refers to the maximum variance h2max for the node.
• Variances are multiplied by 100,000 for readability.
• A top number inside a white box refers to the η corresponding to h2min.
• A bottom number inside a white box refers to the η corresponding to h2max.
Numerical Examples (continued)
• Let us see how the numbers are calculated.
• Start with the root node, node (0, 0).
• Try η = 1 in Eqs. (102)–(104) on p. 845 first to obtain pu = 0.4974,
pm = 0,
pd = 0.5026.
• As they are valid probabilities, the three branches from the root node use single jumps.
Numerical Examples (continued)
• Move on to node (1, 1).
• It has one predecessor node—node (0, 0)—and it takes an up move to reach the current node.
• So apply updating rule (106) on p. 851 with = 1 and h2t = h2(0, 0).
• The result is h2(1, 1) = 0.000109645.
Numerical Examples (continued)
• Because h(1, 1)/γ = 2, we try η = 2 in Eqs. (102)–(104) on p. 845 first to obtain
pu = 0.1237, pm = 0.7499, pd = 0.1264.
• As they are valid probabilities, the three branches from node (1, 1) use double jumps.
Numerical Examples (continued)
• Carry out similar calculations for node (1, 0) with
= 0 in updating rule (106) on p. 851.
• Carry out similar calculations for node (1, −1) with
= −1 in updating rule (106).
• Single jump η = 1 works for both nodes.
• The resulting variances are
h2(1, 0) = 0.000105215, h2(1,−1) = 0.000109553.
Numerical Examples (continued)
• Node (2, 0) has 2 predecessor nodes, (1, 0) and (1, −1).
• Both have to be considered in deriving the variances.
• Let us start with node (1, 0).
• Because it takes a middle move to reach the current
node, we apply updating rule (106) on p. 851 with = 0 and h2t = h2(1, 0).
• The result is h2t+1 = 0.000101269.
Numerical Examples (continued)
• Now move on to the other predecessor node (1, −1).
• Because it takes an up move to reach the current node, apply updating rule (106) on p. 851 with = 1 and h2t = h2(1,−1).
• The result is h2t+1 = 0.000109603.
• We hence record
h2min(2, 0) = 0.000101269, h2max(2, 0) = 0.000109603.
Numerical Examples (continued)
• Consider state h2max(2, 0) first.
• Because hmax(2, 0)/γ = 2, we first try η = 2 in Eqs. (102)–(104) on p. 845 to obtain
pu = 0.1237, pm = 0.7500, pd = 0.1263.
• As they are valid probabilities, the three branches from node (2, 0) with the maximum variance use double
jumps.
Numerical Examples (continued)
• Now consider state h2min(2, 0).
• Because hmin(2, 0)/γ = 1, we first try η = 1 in Eqs. (102)–(104) on p. 845 to obtain
pu = 0.4596, pm = 0.0760, pd = 0.4644.
• As they are valid probabilities, the three branches from node (2, 0) with the minimum variance use single jumps.
Numerical Examples (continued)
• Node (2, −1) has 3 predecessor nodes.
• Start with node (1, 1).
• Because it takes a down move to reach the current node, we apply updating rule (106) on p. 851 with = −1
and h2t = h2(1, 1).a
• The result is h2t+1 = 0.0001227.
aNote that it is not = −2.
Numerical Examples (continued)
• Now move on to predecessor node (1, 0).
• Because it also takes a down move to reach the current node, we apply updating rule (106) on p. 851 with
= −1 and h2t = h2(1, 0).
• The result is h2t+1 = 0.000105609.
Numerical Examples (continued)
• Finally, consider predecessor node (1, −1).
• Because it takes a middle move to reach the current
node, we apply updating rule (106) on p. 851 with = 0 and h2t = h2(1,−1).
• The result is h2t+1 = 0.000105173.
• We hence record
h2min(2, −1) = 0.000105173, h2max(2, −1) = 0.0001227.
Numerical Examples (continued)
• Consider state h2max(2, −1).
• Because hmax(2,−1)/γ = 2, we first try η = 2 in Eqs. (102)–(104) on p. 845 to obtain
pu = 0.1385, pm = 0.7201, pd = 0.1414.
• As they are valid probabilities, the three branches from node (2,−1) with the maximum variance use double jumps.
Numerical Examples (continued)
• Next, consider state h2min(2, −1).
• Because hmin(2,−1)/γ = 1, we first try η = 1 in Eqs. (102)–(104) on p. 845 to obtain
pu = 0.4773, pm = 0.0404, pd = 0.4823.
• As they are valid probabilities, the three branches from node (2,−1) with the minimum variance use single
jumps.
Numerical Examples (concluded)
• Other nodes at dates 2 and 3 can be handled similarly.
• In general, if a node has k predecessor nodes, then up to 2k variances will be calculated using the updating rule.
– This is because each predecessor node keeps two variance numbers.
• But only the maximum and minimum variances will be kept.
Negative Aspects of the RT Algorithm Revisited
a• Recall the problems mentioned on p. 857.
• In our case, combinatorial explosion occurs when n > 1 − β1
β2 = 1 − 0.9
0.04 = 2.5 (see the next plot).
• Suppose we are willing to accept the exponential running time and pick n = 100 to seek accuracy.
• But the problem of shortened maturity forces the tree to stop at date 9!
aLyuu and Wu (R90723065) (2003, 2005).
25 50 75 100 125 150 175 Date 5000
10000 15000 20000 25000
Dotted line: n = 3; dashed line: n = 4; solid line: n = 5.
Backward Induction on the RT Tree
• After the RT tree is constructed, it can be used to price options by backward induction.
• Recall that each node keeps two variances h2max and h2min.
• We now increase that number to K equally spaced variances between h2max and h2min at each node.
• Besides the minimum and maximum variances, the other K − 2 variances in between are linearly interpolated.a
aIn practice, log-linear interpolation works better (Lyuu and Wu (R90723065) (2005)). Log-cubic interpolation works even better (Liu (R92922123) (2005)).
Backward Induction on the RT Tree (continued)
• For example, if K = 3, then a variance of 10.5436 × 10−6
will be added between the maximum and minimum variances at node (2, 0) on p. 861.a
• In general, the kth variance at node (i, j) is h2min(i, j)+k h2max(i, j) − h2min(i, j)
K − 1 , k = 0, 1, . . . , K−1.
• Each interpolated variance’s jump parameter and branching probabilities can be computed as before.
aRepeated on p. 881.
13.4809 13.4809
12.2883 12.2883
11.7170 11.7170
12.2846 10.5733
10.9645 10.9645
10.5697 10.5256
13.4644 10.1305
10.9600 10.9600
10.5215 10.5215
10.9603 10.1269
10.6042 09.7717
10.9553 10.9553
12.2700 10.5173
11.7005 10.1231
10.9511 10.9511
12.2662 10.5135
13.4438 10.9473
yt
4.60517 4.61564 4.62611 4.63658 4.64705 4.65752
4.59470
4.58423
4.57376 0.01047
1 1
2 2
1 1
1 1
2 2
1 1
2 1
2 1
1 1
Backward Induction on the RT Tree (concluded)
• Suppose a variance falls between two of the K variances during backward induction.
• Linear interpolation of the option prices corresponding to the two bracketing variances will be used as the
approximate option price.
• The above ideas are reminiscent of the ones on p. 391, where we dealt with Asian options.
Numerical Examples
• We next use the numerical example on p. 881 to price a European call option with a strike price of 100 and
expiring at date 3.
• Recall that the riskless interest rate is zero.
• Assume K = 2; hence there are no interpolated variances.
• The pricing tree is shown on p. 884 with a call price of 0.66346.
– The branching probabilities needed in backward induction can be found on p. 885.
5.37392 5.37392
3.19054 3.19054
3.19054 3.19054
2.11587 2.11587
1.20241 1.20241
1.05240 1.05240
1.05240 1.05240
0.66346 0.66346
0.52360 0.52360
0.26172 0.48366
0.00000 0.00000
0.13012 0.13012
0.14573 0.00000
0.00000 0.00000
0.00000 0.00000
0.00000 0.00000
0.00000 0.00000
St
100.00000 101.05240 102.11587 103.19054 104.27652 105.37392
98.95856
97.92797
96.90811
1 1
2 2
1 1
1 1
2 2
1 1
2 1
2 1
1 1
h2[i][j][0]
η[i][j][0]
rb[i][0]
10.9600 10.9600
10.9553 10.9553
10.5215 10.5215
10.9645 10.9645
10.9511 10.9511
12.2700 10.5173
10.9603 10.1269
10.5697 10.5256
12.2883 12.2883
13.4438 10.9473
12.2662 10.5135
11.7005 10.1231
10.6042 09.7717
13.4644 10.1305
12.2846 10.5733
11.7170 11.7170
13.4809 13.4809
h2[0][ ][ ]
1 1
1 1
1 1
2 2
1 1
2 1
2 1
1 1
2 2
η[0][ ][ ]
p[0][ ][ ][ ] 0
0
1
−1
3
−2
5
−3 rb[0][ ]
0.4974 0.4974 0.0000 0.0000 0.5026 0.5026
0.4972 0.4972 0.0004 0.0004 0.5024 0.5024 0.4775 0.4775 0.0400 0.0400 0.4825 0.4825 0.1237 0.1237 0.7499 0.7499 0.1264 0.1264
0.4970 0.4970 0.0008 0.0008 0.5022 0.5022 0.4773 0.1385 0.0404 0.7201 0.4823 0.1414 0.4596 0.1237 0.0760 0.7500 0.4644 0.1263 0.4777 0.4797 0.0396 0.0356 0.4827 0.4847 0.1387 0.1387 0.7197 0.7197 0.1416 0.1416
h2[1][ ][ ]
h2[2][ ][ ]
h2[3][ ][ ]
η[1][ ][ ]
η[2][ ][ ]
p[1][ ][ ][ ]
p[2][ ][ ][ ] rb[i][1]
h2[i][j][1]
η[i][j][1]
p[i][j][0][1] p[i][j][1][1]
p[i][j][0][0] p[i][j][1][0]
p[i][j][0][−1] p[i][j][1][−1]
rb[1][ ] rb[2][ ] rb[3][ ]
j
3 2 1 0
−1
−2
3 2 1 0
−1
−2 j
5 4 3 2
0
j
−3
−2
−1 1
Numerical Examples (continued)
• Let us derive some of the numbers on p. 884.
• A gray line means the updated variance falls strictly between h2max and h2min.
• The option price for a terminal node at date 3 equals max(S3 − 100, 0), independent of the variance level.
• Now move on to nodes at date 2.
• The option price at node (2, 3) depends on those at nodes (3, 5), (3, 3), and (3, 1).
• It therefore equals
0.1387 × 5.37392 + 0.7197 × 3.19054 + 0.1416 × 1.05240 = 3.19054.
Numerical Examples (continued)
• Option prices for other nodes at date 2 can be computed similarly.
• For node (1, 1), the option price for both variances is
0.1237 × 3.19054 + 0.7499 × 1.05240 + 0.1264 × 0.14573 = 1.20241.
• Node (1, 0) is most interesting.
• We knew that a down move from it gives a variance of 0.000105609.
• This number falls between the minimum variance
0.000105173 and the maximum variance 0.0001227 at node (2,−1) on p. 881.
Numerical Examples (continued)
• The option price corresponding to the minimum variance is 0.
• The option price corresponding to the maximum variance is 0.14573.
• The equation
x × 0.000105173 + (1 − x) × 0.0001227 = 0.000105609 is satisfied by x = 0.9751.
• So the option for the down state is approximated by x × 0 + (1 − x) × 0.14573 = 0.00362.
Numerical Examples (continued)
• The up move leads to the state with option price 1.05240.
• The middle move leads to the state with option price 0.48366.
• The option price at node (1, 0) is finally calculated as
0.4775 × 1.05240 + 0.0400 × 0.48366 + 0.4825 × 0.00362 = 0.52360.
Numerical Examples (continued)
• A variance following an interpolated variance may exceed the maximum variance or be exceeded by the minimum variance.
• When this happens, the option price corresponding to the maximum or minimum variance will be used during backward induction.a
aCakici and Topyan (2000).
Numerical Examples (concluded)
• But an interpolated variance may choose a branch that goes into a node that is not reached in forward
induction.a
• In this case, the algorithm fails.
• The Ritchken-Trevor algorithm does not have this
problem as all interpolated variances are involved in the forward-induction phase.
• It may be hard to calculate the implied β1 and β2 from option prices.b
aLyuu and Wu (R90723065) (2005).
bChang (R93922034) (2006).
Complexities of GARCH Models
a• The Ritchken-Trevor algorithm explodes exponentially if n is big enough (p. 857).
• The mean-tracking tree of Lyuu and Wu (2005) makes sure explosion does not happen if n is not too large.b
• The next page summarizes the situations for many GARCH option pricing models.
– Our earlier treatment is for NGARCH only.
aLyuu and Wu (R90723065) (2003, 2005).
bSimilar to, but earlier than, the binomial-trinomial tree on pp. 667ff.
Complexities of GARCH Models (concluded)
aModel Explosion Non-explosion
NGARCH β1 + β2n > 1 β1 + β2(√
n + λ + c)2 ≤ 1 LGARCH β1 + β2n > 1 β1 + β2(√
n + λ)2 ≤ 1 AGARCH β1 + β2n > 1 β1 + β2(√
n + λ)2 ≤ 1 GJR-GARCH β1 + β2n > 1 β1 + (β2 + β3)(√
n + λ)2 ≤ 1 TS-GARCH β1 + β2√
n > 1 β1 + β2(λ +√
n) ≤ 1 TGARCH β1 + β2√
n > 1 β1 + (β2 + β3)(λ + √
n) ≤ 1 Heston-Nandi β1 + β2(c − 12)2 > 1 β1 + β2c2 ≤ 1
& c ≤ 12
VGARCH β1 + (β2/4) > 1 β1 ≤ 1
aChen (R95723051) (2008); Chen (R95723051), Lyuu, and Wen (D94922003) (2012).
Introduction to Term Structure Modeling
The fox often ran to the hole by which they had come in, to find out if his body was still thin enough to slip through it.
— Grimm’s Fairy Tales
And the worst thing you can have is models and spreadsheets.
— Warren Buffet, May 3, 2008
Outline
• Use the binomial interest rate tree to model stochastic term structure.
– Illustrates the basic ideas underlying future models.
– Applications are generic in that pricing and hedging methodologies can be easily adapted to other models.
• Although the idea is similar to the earlier one used in option pricing, the current task is more complicated.
– The evolution of an entire term structure, not just a single stock price, is to be modeled.
– Interest rates of various maturities cannot evolve arbitrarily, or arbitrage profits may occur.
Issues
• A stochastic interest rate model performs two tasks.
– Provides a stochastic process that defines future term structures without arbitrage profits.
– “Consistent” with the observed term structures.
History
• Methodology founded by Merton (1970).
• Modern interest rate modeling is often traced to 1977 when Vasicek and Cox, Ingersoll, and Ross developed simultaneously their influential models.
• Early models have fitting problems because they may not price today’s benchmark bonds correctly.
• An alternative approach pioneered by Ho and Lee (1986) makes fitting the market yield curve mandatory.
• Models based on such a paradigm are called (somewhat misleadingly) arbitrage-free or no-arbitrage models.
Binomial Interest Rate Tree
• Goal is to construct a no-arbitrage interest rate tree consistent with the yields and/or yield volatilities of zero-coupon bonds of all maturities.
– This procedure is called calibration.a
• Pick a binomial tree model in which the logarithm of the future short rate obeys the binomial distribution.
– Exactly like the CRR tree.
• The limiting distribution of the short rate at any future time is hence lognormal.
aDerman (2004), “complexity without calibration is pointless.”
Binomial Interest Rate Tree (continued)
• A binomial tree of future short rates is constructed.
• Every short rate is followed by two short rates in the following period (p. 902).
• In the figure on p. 902, node A coincides with the start of period j during which the short rate r is in effect.
• At the conclusion of period j, a new short rate goes into effect for period j + 1.
r
* r
0.5
j rh
0.5 A
B
C
period j − 1 period j period j + 1 time j − 1 time j
Binomial Interest Rate Tree (continued)
• This may take one of two possible values:
– r: the “low” short-rate outcome at node B.
– rh: the “high” short-rate outcome at node C.
• Each branch has a 50% chance of occurring in a risk-neutral economy.
• We require that the paths combine as the binomial process unfolds.
• This model can be traced to Salomon Brothers.a
aTuckman (2002).
Binomial Interest Rate Tree (continued)
• The short rate r can go to rh and r with equal
risk-neutral probability 1/2 in a period of length Δt.
• Hence the volatility of ln r after Δt time is σ = 1
2
√1
Δt ln
rh r
(107) (see Exercise 23.2.3 in text).
• Above, σ is annualized, whereas r and rh are period based.
Binomial Interest Rate Tree (continued)
• Note that
rh
r = e2σ
√Δt.
• Thus greater volatility, hence uncertainty, leads to larger rh/r and wider ranges of possible short rates.
• The ratio rh/r may depend on time if the volatility is a function of time.
• Note that rh/r has nothing to do with the current short rate r if σ is independent of r.
Binomial Interest Rate Tree (continued)
• In general there are j possible ratesa in period j, rj, rjvj, rjvj2, . . . , rjvjj−1,
where
vj ≡ e2σj√Δt (108) is the multiplicative ratio for the rates in period j (see figure on next page).
• We shall call rj the baseline rates.
• The subscript j in σj is meant to emphasize that the short rate volatility may be time dependent.
aNot j + 1.
Baseline rates
A C
B B
C
C
D
D D H2 D
H L2 2
H L3 3
H L3 32 H1
H3
Binomial Interest Rate Tree (concluded)
• In the limit, the short rate follows the following process, r(t) = μ(t) eσ(t) W (t), (109) in which the (percent) short rate volatility σ(t) is a
deterministic function of time.
• The expected value of r(t) equals μ(t) eσ(t)2(t/2).
• Hence a declining short rate volatility is usually imposed to preclude the short rate from assuming implausibly high values.
• Incidentally, this is how the binomial interest rate tree achieves mean reversion.
Memory Issues
• Path independency: The term structure at any node is independent of the path taken to reach it.
• So only the baseline rates ri and the multiplicative ratios vi need to be stored in computer memory.
• This takes up only O(n) space.a
• Storing the whole tree would take up O(n2) space.
– Daily interest rate movements for 30 years require roughly (30 × 365)2/2 ≈ 6 × 107 double-precision floating-point numbers (half a gigabyte!).
aThroughout, n denotes the depth of the tree.
Set Things in Motion
• The abstract process is now in place.
• We need the annualized rates of return of the riskless bonds that make up the benchmark yield curve and their volatilities.
• In the U.S., for example, the on-the-run yield curve
obtained by the most recently issued Treasury securities may be used as the benchmark curve.
Set Things in Motion (concluded)
• The term structure of (yield) volatilitiesa can be estimated from:
– Historical data (historical volatility).
– Or interest rate option prices such as cap prices (implied volatility).
• The binomial tree should be found that is consistent with both term structures.
• Here we focus on the term structure of interest rates.
aOr simply the volatility (term) structure.
Model Term Structures
• The model price is computed by backward induction.
• Refer back to the figure on p. 902.
• Given that the values at nodes B and C are PB and PC, respectively, the value at node A is then
PB + PC
2(1 + r) + cash flow at node A.
• We compute the values column by column without
explicitly expanding the binomial interest rate tree (see next page).
• This takes O(n2) time and O(n) space.
HL
A C
B
Cash flows:
B
C
C
D
D
D D
+
+ 2 2 H
1 2
2 1
= B
+ 2 2
HL
2 3
2 1
= B
H
HL2
+ 2 2
HL
3 4
2 1
?
2D
21
22
23
24
Term Structure Dynamics
• An n-period zero-coupon bond’s price can be computed by assigning $1 to every node at period n and then
applying backward induction.
• Repeating this step for n = 1, 2, . . . , one obtains the market discount function implied by the tree.
• The tree therefore determines a term structure.
• It also contains a term structure dynamics.
– Taking any node in the tree as the current state induces a binomial interest rate tree and, again, a term structure.
Sample Term Structure
• We shall construct interest rate trees consistent with the sample term structure in the following table.
– This was called calibration (the reverse of pricing).
• Assume the short rate volatility is such that v ≡ rh
r = 1.5, independent of time.
Period 1 2 3
Spot rate (%) 4 4.2 4.3
One-period forward rate (%) 4 4.4 4.5
Discount factor 0.96154 0.92101 0.88135
An Approximate Calibration Scheme
• Start with the implied one-period forward rates and then equate the expected short rate with the forward rate (see Exercise 5.6.6 in text).
• For the first period, the forward rate is today’s one-period spot rate.
• In general, let fj denote the forward rate in period j.
• This forward rate can be derived from the market discount function via
fj = d(j)
d(j + 1) − 1 (see Exercise 5.6.3 in text).
An Approximate Calibration Scheme (continued)
• Since the ith short rate rjvji−1, 1 ≤ i ≤ j, occurs with probability 2−(j−1) j−1
i−1
, this means
j i=1
2−(j−1)
j − 1 i − 1
rjvji−1 = fj.
• Thus
rj =
2
1 + vj
j−1
fj. (110)
• This binomial interest rate tree is trivial to set up, in O(n) time.
An Approximate Calibration Scheme (continued)
• The ensuing tree for the sample term structure appears in figure next page.
• For example, the price of the zero-coupon bond paying
$1 at the end of the third period is
1
4 × 1 1.04 ×
1
1.0352 ×
1
1.0288 + 1 1.0432
+ 1
1.0528 ×
1
1.0432 + 1 1.0648
or 0.88155, which exceeds discount factor 0.88135.
• The tree is thus not calibrated.
4.0%
3.52%
2.88%
5.28%
4.32%
6.48%
Baseline rates
A C
B B
C
C
D
D
D
D
period 2 period 3 period 1
4.0% 4.4% 4.5%
Implied forward rates:
An Approximate Calibration Scheme (concluded)
• Indeed, this bias is inherent: The tree overprices the bonds (see Exercise 23.2.4 in text).
• Suppose we replace the baseline rates rj by rjvj.
• Then the resulting tree underprices the bonds.a
• The true baseline rates are thus bounded between rj and rjvj.
aLyuu and Wang (F95922018) (2009, 2011).
Issues in Calibration
• The model prices generated by the binomial interest rate tree should match the observed market prices.
• Perhaps the most crucial aspect of model building.
• Treat the backward induction for the model price of the m-period zero-coupon bond as computing some function f (rm) of the unknown baseline rate rm for period m.
• A root-finding method is applied to solve f(rm) = P for rm given the zero’s price P and r1, r2, . . . , rm−1.
• This procedure is carried out for m = 1, 2, . . . , n.
• It runs in O(n3) time.
Binomial Interest Rate Tree Calibration
• Calibration can be accomplished in O(n2) time by the use of forward induction.a
• The scheme records how much $1 at a node contributes to the model price.
• This number is called the state price, the Arrow-Debreu price, or Green’s function.
– It is the price of a state contingent claim that pays
$1 at that particular node (state) and 0 elsewhere.
• The column of state prices will be established by moving forward from time 0 to time n.
aJamshidian (1991).
Binomial Interest Rate Tree Calibration (continued)
• Suppose we are at time j and there are j + 1 nodes.
– The unknown baseline rate for period j is r ≡ rj. – The multiplicative ratio is v ≡ vj.
– P1, P2, . . . , Pj are the known state prices at earlier time j − 1, corresponding to rates r, rv, . . . , rvj−1 for period j.
• By definition, j
i=1 Pi is the price of the (j − 1)-period zero-coupon bond.
• We want to find r based on P1, P2, . . . , Pj and the price of the j-period zero-coupon bond.
Binomial Interest Rate Tree Calibration (continued)
• One dollar at time j has a known market value of 1/[ 1 + S(j) ]j, where S(j) is the j-period spot rate.
• Alternatively, this dollar has a present value of g(r) ≡ P1
(1 + r) + P2
(1 + rv) + P3
(1 + rv2) +· · · + Pj
(1 + rvj−1) (see next plot).
• So we solve
g(r) = 1
[ 1 + S(j) ]j (111) for r.
1
1
P
irv
i1Binomial Interest Rate Tree Calibration (continued)
• Given a decreasing market discount function, a unique positive solution for r is guaranteed.
• The state prices at time j can now be calculated (see panel (a) next page).
• We call a tree with these state prices a binomial state price tree (see panel (b) next page).
• The calibrated tree is depicted on p. 928.
A C B
B
C
C
D
D D
D 4.00%
3.526%
2.895%
0.480769
0.460505
0.228308 A
C B
C
C
D
D D D
B
period 2 period 3 period 1
4.0% 4.4% 4.5%
Implied forward rates:
0.480769 1
0.112832
(b)
0.333501
0.327842
0.107173 0.232197
(a) 1
H
HL
2 HL
2
2 1
= B
2 H
2 HL
1 2
2 1
= B = B
2 1 2H
1
2 1
= B
21
22
4.00%
3.526%
2.895%
5.289%
4.343%
6.514%
A
C B
C
C
D
D D D
B
period 2 period 3 period 1
4.0% 4.4% 4.5%
Implied forward rates:
Binomial Interest Rate Tree Calibration (concluded)
• The Newton-Raphson method can be used to solve for the r in Eq. (111) on p. 924 as g(r) is easy to evaluate.
• The monotonicity and the convexity of g(r) also facilitate root finding.
• The total running time is O(n2), as each root-finding routine consumes O(j) time.
• With a good initial guess,a the Newton-Raphson method converges in only a few steps.b
aSuch as the rj = (1+v2
j )j−1 fj on p. 917.
bLyuu (1999).
A Numerical Example
• One dollar at the end of the second period should have a present value of 0.92101 by the sample term structure.
• The baseline rate for the second period, r2, satisfies 0.480769
1 + r2 + 0.480769
1 + 1.5 × r2 = 0.92101.
• The result is r2 = 3.526%.
• This is used to derive the next column of state prices shown in panel (b) on p. 927 as 0.232197, 0.460505, and 0.228308.
• Their sum gives the correct market discount factor 0.92101.
A Numerical Example (concluded)
• The baseline rate for the third period, r3, satisfies 0.232197
1 + r3 + 0.460505
1 + 1.5 × r3 + 0.228308
1 + (1.5)2 × r3 = 0.88135.
• The result is r3 = 2.895%.
• Now, redo the calculation on p. 918 using the new rates:
1
4 × 1
1.04 × [ 1
1.03526 × ( 1
1.02895 + 1
1.04343) + 1
1.05289 × ( 1
1.04343 + 1
1.06514)],
which equals 0.88135, an exact match.
• The tree on p. 928 prices without bias the benchmark securities.
Spread of Nonbenchmark Bonds
• Model prices calculated by the calibrated tree as a rule do not match market prices of nonbenchmark bonds.
• The incremental return over the benchmark bonds is called spread.
• If we add the spread uniformly over the short rates in the tree, the model price will equal the market price.
• We will apply the spread concept to option-free bonds next.
Spread of Nonbenchmark Bonds (continued)
• We illustrate the idea with an example.
• Start with the tree on p. 934.
• Consider a security with cash flow Ci at time i for i = 1, 2, 3.
• Its model price is p(s), which is equal to
1
1.04 + s ×
C1 + 1
2 × 1
1.03526 + s ×
C2 + 1 2
C3
1.02895 + s + C3 1.04343 + s
+
1
2 × 1
1.05289 + s ×
C2 + 1 2
C3
1.04343 + s + C3 1.06514 + s
.
• Given a market price of P , the spread is the s that solves P = p(s).
4.00%+I
3.526%+I
2.895%+I
5.289%+I
4.343%+I
6.514%+I
A C
B
period 2 period 3 period 1
4.0% 4.4% 4.5%
Implied forward rates:
B
C
C
D
D D D
Spread of Nonbenchmark Bonds (continued)
• The model price p(s) is a monotonically decreasing, convex function of s.
• We will employ the Newton-Raphson root-finding method to solve
p(s) − P = 0 for s.
• But a quick look at the equation for p(s) reveals that evaluating p(s) directly is infeasible.
• Fortunately, the tree can be used to evaluate both p(s) and p(s) during backward induction.
Spread of Nonbenchmark Bonds (continued)
• Consider an arbitrary node A in the tree associated with the short rate r.
• In the process of computing the model price p(s), a price pA(s) is computed at A.
• Prices computed at A’s two successor nodes B and C are discounted by r + s to obtain pA(s) as follows,
pA(s) = c + pB(s) + pC(s) 2(1 + r + s) , where c denotes the cash flow at A.
Spread of Nonbenchmark Bonds (continued)
• To compute pA(s) as well, node A calculates pA(s) = pB(s) + pC(s)
2(1 + r + s) − pB(s) + pC(s) 2(1 + r + s)2 .
(112)
• This is easy if pB(s) and pC(s) are also computed at nodes B and C.
• When A is a terminal node, simply use the payoff function for pA(s).a
aContributed by Mr. Chou, Ming-Hsin (R02723073) on May 28, 2014.
1 1 ? I
= B
1 1 ?L I
= B
1 1? ?L2 ID
1 1 = I
= B
1 1 >L I
= B
1 1 > I
= B
1 1= > IB21 1= ? IB2
1 1= ?L IB2
1 1
?
?L2 ID
21 1= >L IB2
1 1= = IB2
A C
B B
C
C
D
D D D
A C
B B
C
C
D
D D D
(a) (b)
A
C (c)
F I*= B
B F I ? F I F I
)= B *2 1=( ) H I+( )B
F I F I F I H I
F I F I
)= B = B = B*2 1( ) +( ) 2 1*( )H I+( )2
F I+= B
F I+= B
F I*= B
=
>
?
=
>
?
H
Spread of Nonbenchmark Bonds (continued)
• Apply the above procedure inductively to yield p(s) and p(s) at the root (p. 938).
• This is called the differential tree method.a – Similar ideas can be found in automatic
differentiation (AD)b and backpropagationc in artificial neural networks.
• The total running time is O(n2).
• The memory requirement is O(n).
aLyuu (1999).
bRall (1981).
cRumelhart, Hinton, and Williams (1986).
Spread of Nonbenchmark Bonds (continued)
Number of Running Number of Number of Running Number of partitions n time (s) iterations partitions time (s) iterations
500 7.850 5 10500 3503.410 5
1500 71.650 5 11500 4169.570 5
2500 198.770 5 12500 4912.680 5
3500 387.460 5 13500 5714.440 5
4500 641.400 5 14500 6589.360 5
5500 951.800 5 15500 7548.760 5
6500 1327.900 5 16500 8502.950 5
7500 1761.110 5 17500 9523.900 5
8500 2269.750 5 18500 10617.370 5
9500 2834.170 5 . . . . . . . . . . . .
75MHz Sun SPARCstation 20.
Spread of Nonbenchmark Bonds (concluded)
• Consider a three-year, 5% bond with a market price of 100.569.
• Assume the bond pays annual interest.
• The spread can be shown to be 50 basis points over the tree (p. 942).
• Note that the idea of spread does not assume parallel shifts in the term structure.
• It also differs from the yield spread (p. 118) and static spread (p. 119) of the nonbenchmark bond over an otherwise identical benchmark bond.
4.50%
100.569 A
C B
5 5 105
Cash flows:
B
C
C
D
D D 4.026% D
3.395%
5.789%
4.843%
7.014%
105
105
105
105 106.552
105.150
103.118 106.754
103.436