You are on page 1of 20

The Black-Derman-Toy Model (BDT)

The Black-Derman-Toy (1990) one-factor model is one of the most used yield-based models
to price bonds and interest-rate options. In 1991 Black and Karasinski generalized this model.
The model is arbitrage-free and thus consistent with the observed term structure of interest
rates. The short-rate volatility is potentially time dependent, and the continuous process of the
short-term interest rate is given by:

 σ (t ) 
d ln ( r ) = θ (t ) + ln ( r )  dt + σ (t )dW
 σ (t ) 

where the factor in front of ln(r) is the speed of mean reversion (“gravity”), and θ(t) divided
by the speed of mean reversion is a time-dependent mean-reversion level. The BDT model
incorporates as we see, two independent functions of time, θ(t) and σ(t), chosen so that the
model fits the term structure of spot interest rates and the term structure of spot rate
volatilities. The changes in the short rate are lognormally distributed, with the resulting
advantage that interest rates cannot become negative. Once θ(t) and σ(t) are chosen, the future
short-rate volatility, by definition, is entirely determined. An unfortunate consequence of the
model is that for certain specifications of the volatility function σ (t) the short rate can be
mean-fleeing rather than mean-reverting. The model has the advantage that the volatility unit
is a percentage, conforming to the market convention. Unfortunately, due to its lognormality,
neither analytic solutions for the prices of bonds or the prices of bond options are available,
and numerical procedures are required to derive the short-rate tree that correctly returns the
market term structures. Many practitioners choose to fit the rate structure only, holding the
future short-rate volatility constant. The convergent limit therefore reduces to the following:

d ln ( r ) = θ (t )dt + σ (t )dW

This process can be seen as a lognormal version of HL.

The following example shows how to calibrate the Black-Derman-Toy binomial tree to the
current term structure of zero-coupon yields and zero-coupon volatilities.

Example: We search the value of an American call option on a five-year zero-coupon bond
with time to expiration of four years and a strike price of 85.50. The term structure of zero-
coupon rates and volatilities is shown in the table below. From the rates and volatilities, we
will calibrate the Black-Derman-Toy interest rate tree. To price the option by using backward
induction, we build a tree for the bond prices, as shown below.

Input to Black-Derman-Toy Model


Years to Zero-Coupon Zero-Coupon
Maturity Rates (%) Volatilities
1 9.0 24.0
2 9.5 22.0
3 10.0 20.0
4 10.5 18.0
5 11.0 16.0
100
4
Su
Su3 100
Su2 Su3d
Su 100
Su2d
S Su2d2
Sud
Sd Sud2 100
3
Sd2 Sud
Sd3 100
4
Sd

100

To build the price tree, we have to build the rate tree below:
ru4
ru3
ru2 ru3d
ru ru2d
r ru2d2
rud
rd rud2
rd2 rud3
rd3
rd4
We start by finding the prices of the zero-coupon bonds with maturity from one year to five
year in the future. The face values are 100 (% of the nominal amount), the zero-coupon rates
are given in the table above.

100
= 91.74
1 + 0.09

100
= 83.40
(1 + 0.095)
2

100
= 75.13
(1 + 0.10 )
3
100
= 67.07
(1 + 0.105)
4

and
100
= 59.35
(1 + 0.11)
5

Then we add this to our data. In a different situation we might know from the beginning, these
prices from data or by bootstrapping of coupon-bonds.

Years to Zero-Coupon Zero-Coupon Zero-Bond


Maturity Rates (%) Volatilities Prices
1 9.0 24.0 91.74
2 9.5 22.0 83.40
3 10.0 20.0 75.13
4 10.5 18.0 67.07
5 11.0 16.0 59.35

This gives us a one-period price tree:


100

91.74

100

The next step is to build a two-period price tree. From the table above, it is clear that the price
today of a two-year zero-coupon bond with maturity two years from today must be 83.40. To
find the second-year bond prices at year one, we need to know the short rates at step one:
100
Su ru
83.40 100 9.0
Sd rd
100

Appealing to risk-neutral valuation, the following relationship must hold:

100 100
0.5 ⋅ + 0.5 ⋅
1 + rd 1 + ru
= 83.40
1 + 0.09

In a standard binomial tree, we have


u = eσ ∆t
, d = e −σ ∆t

u u
= e 2σ ⇒ ln   = 2σ ∆t
∆t

d d 
1 u
σ= ln  
2 ∆t  d 
and
 100
 Su = 1 + r
 u

S = 100
 d 1 + rd

where ∆t in the situation above is one year. Similarly, in the Black-Derman-Toy tree, the rates
are assumed to be log-normally distributed. This implies that

1 r  r 
σn = ln  u  = 0.5 ⋅ ln  u  = 0.22
2 ∆t  rd   rd 

As we did in the OAS-model above we define the volatility factor Zn by:

Z n = e 2σ n ∆t

We are left with two equations in two unknowns, ru and rd. We know that
ru = rdZn = rde0.44, which leads to the following quadratic equation:

100 100
0.5 ⋅ + 0.5 ⋅
1 + rd 1 + rd ⋅ e0.44
= 83.40
1 + 0.09

This gives a second order polynomial equation which can be solved and we get the following
rates at step one

rd = 7.87%, ru = 12.22%.

Using these solutions, it is now possible to calculate the bond prices that correspond to these
rates. The two-step tree of prices then becomes:
100
89.11

83.40 100
92.70
100

The next step is to fill in the two-period rate tree.


ruu
12.22%

9.0% rud
7.87%

rdd

Last time, there were two unknown rates, and two sources of information:

1. Zero-coupon rates.
2. The volatility of the zero-coupon rates.

This time, we have three unknown rates, but still only two sources of information. To get
around this problem, remember that the Black-Derman-Toy model is built on the following
assumptions:

• Rates are lognormally distributed.


• The volatility is only dependent on time, not on the level of the short rates. There is
thus only one level of volatility at the same time step in the rate tree.

Hence, the “steps” between the rates is given by

Z 3 = e 2σ 3 ∆t
= e 2⋅0.20 = e0.40
i.e.,
ruu rud
= = Z3
rud rdd

so we are left with only two unknowns.


Based on the risk-neutral valuation principle, the following relationships must hold:

100 100 100 100 100


Suu = = , Sud = = , Sdd =
1 + ruu 1 + rdd ⋅ Z 32 1 + rud 1 + rdd ⋅ Z 3 1 + rdd

0.5 ⋅ Suu + 0.5 ⋅ Sud 0.5 ⋅ Sud + 0.5 ⋅ Sdd 0.5 ⋅ Su + 0.5 ⋅ Sd
Su = , Sd = , 75.13 =
1 + 0.1222 1 + 0.0787 1 + 0.09

If the bond only has two years left to maturity, the bond yield or rate of return must satisfy

100 100 100 100


0.5 ⋅ + 0.5 ⋅ 0.5 ⋅ + 0.5 ⋅
1 + rdd ⋅ Z 3
2
1 + rdd ⋅ Z 3 1 + rdd ⋅ Z 3 1 + rdd
0.5 ⋅ + 0.5 ⋅
75.13 = 1 + 0.1222 1 + 0.0787
1 + 0.09

By solving this equation, we get rdd. By multiplying with Z2 we then also get rud and ruu:
rdd = 7.47%, rdd = 10.76%, ruu = 15.50%.

As the bond yields must be approximately lognormally distributed, it also follows that

y 
0.5 ⋅ ln  u  = 0.20
 yd 
yu
= e0.40
yd

Then, yu can be expressed as

yu  100 
yu = yd = e0.40  − 1
yd  Sd 

and Su can be expressed in terms of Sd as

100
Su = 2
  100  
1 + e  − 1 
0.40

  Sd  

This equation must be solved by a numerical model as Newton-Raphson. The solution is

 Su = 78.81

 S d = 84.98
Giving
 rdd = 7.47%

 rud = 10.76%
 r = 15.50%
 dd

This gives the missing information in the two-period rate tree. The consecutive time steps can
be computed by forward induction, as introduced by Jamshidian (1991), or more easily with
the Bjerksund and Stensland (1996) analytical approximation of the short-rate interest-rate
tree. Finally, we get the four-year short-rate tree:
22.99%
18.31%
15.50% 17.15%
12.22% 13.67%
9.0% 12.79%
10.76%
7.87% 10.21%
7.47% 9.54%

7.62%
7.12%

From the short-rate tree, we can calculate the short-rate volatilities by using the relationship
1 r 
σn = ln  u 
2 ∆t  rd 

σ 0 = 24.00%
σ = 22.00%
 1
σ 2 = 18.24%
σ = 14.61%
 3
σ 4 = 14.66%

The four-year rate tree supplies input to the solution to the five-year price tree:

100
81.30
70.44 100
63.63 85.36
60.17 75.54 100
59.35 71.41 88.66
69.20 81.64 100
77.89 91.29
85.78 100
93.35
100

The value of the American call option with strike 85.50 and time to expiration of four years
can now easily be found by standard backward induction. It follows that


C j ,i = max  S j ,i − 85.50,
( 0.5 ⋅ C j +1,i+1 + 0.5 ⋅ C j +1,i ) 

 i + rj ,i 
0.00

0.00
0.60 0.00
1.36 1.39
2.18 3.16
2.46
3.38 4.06
4.48 5.79

6.34
7.85

The price of the American call option on the five-year bond is thus 2.18.

Binomial Interest trees with Forward Inductions

To solve the tree above more effectively we will introduce forward inductions. But first we
will recall the backward induction. When we refer to nodes in a binomial model we will use
the following index notation:
(4, 4)

(3, 3)
(2, 2) (4, 2)

(1, 1) (3, 1)
(0, 0) (4, 0)
(2, 0)
(1, -1) (3, -1)

(2, -2) (4, -2)

(3, -3)

(4, -4)

Let the unit time be divided into M periods of length ∆t = 1/M each. At each period n,
corresponding to time t = n/M = n∆t, there are n + 1 states. These states range from
i = -n, -n + 2,…,n – 2, n. At the present period n = 0, there is a single state i = 0. see the figure
above. Let r(n, i) denote the annualised one-period rate at period n and state i. Denote the
discount factor at period n and state i by
1
p(n, i ) =
1 + r (n, i )∆t

The tree above is a discrete time representation of the stochastic process for the short rate,
where we have used equation above to express the discount factors instead of the one period
rate at each node. The probability for an up or down move in the three is chosen to be ½.

The attraction of the binomial lattice model lies in the fact that, once the one period discount
factors p(n, i) are determined, securities are evaluated easily by backward induction. For
example let C(n, i) denote the price of a security at period n and state i. This price is obtained
from its prices at the up and down nodes in the next period by the backward equation.

C(n, i) = ½p(n, i)[C(n + l, i+1) + C(n +1, i -1)]

C(n + 1, i + 1)

C(n, i)

C(n + 1, i – 1)

This iteration is continued backward all the way to period n = O. The price of the security
today is given by C(0,0).

Suppose we where given the following market data:

Maturity: m Zero-Coupon Price:P(0, m) YTM(m) Yield Volatility


(years) (Paying $1 in m years) (%) σterm(m) (%)
1 0.9091 10 20
2 0.8116 11 19
3 0.7118 12 18
4 0.6243 12.5 17
5 0.5428 13 16

We want to find the discount factors that assure matching between the model’s term structure
and the market term structure in. First we present the solution.
0.7967

0.8211
0.8974 0.8370

0.8748 0.8617
0.9091 0.8706
0.8790
0.9108 0.8942

0.9111 0.8981

0.9198

0.9204

The discount factors in the tree were found by using forward induction, a method first
introduced by Jamshidian. Forward induction is an efficient tool in the generation of yield
curve binomial trees. It is an application of the binomial formulation of the Fokker-Planck
forward equation. The forward induction method will be described for the general class of
Brownian-Path Independent interest models that includes the BDT model.

Brownian Path-Independent Interest Models

An interest rate model is referred to as Brownian Path Independent (BPI) if there is a function
r(z(t), t) such that r(t) = r(z(t), t), where z(t) is the Brownian motion. The instantaneous
interest rate and hence the entire yield curve depends, at any time t, on the level z(t) but not on
the prior history z(s), s < t of the Brownian motion. Two BPI families are of major interest:

Normal BPI r (t ) = U N (t ) + σ N (t ) z (t )
Lognormal BPI r (t ) = U L (t ) exp {σ L (t ) z (t )}

Where σN(t) and σL(t) represent, respectively the absolute and the percentage volatility of the
short rate r(t). UN(t) is the mean and UL(t) the median of r(t).

The advantages with the lognormal BPI are as we have mentioned the positive interest rates
and natural unit of volatility in percentage form, consistent with the way volatility is quoted in
the market place. However, unlike the normal BPI, the lognormal BPI does not provide a
closed form solution. It is possible to fit the yield curve by trial and error but this is
inefficient. In fact, the total computational time needed to calculate all the discount factors of
a tree with N periods is proportional to N3. Since N should be at least 100, too many iterations
are needed. Forward induction efficiently solves the yield curve fitting problems, but before
describing the procedure a discrete version of the BPI models is necessary.

Consider again the three above. Define the variable Xk as


k
Xk = ∑ yj
j =1

where yj =1 if an up move occurs at period k and yj =-1 if a down move occurs at period k.

The variable Xk gives the state of the short rate at period k. At any period k, the Xk has a
binomial distribution with mean zero and variance k. Now, let us investigate the mean and
variance of X k ∆t .

 E  X k ∆t  = ∆t E [ X k ] = 0
  

Var  X k ∆t  = ∆tVar [ X k ] = k ∆t = 0

It follows that X k ∆t has the same mean and variance as the Brownian motion z(t). Since
the normal distribution is a limit of binomial distributions, and the binomial process Xk has
independent increments, the binomial process X k ∆t converges to the Brownian motion z(t)
as ∆t approaches zero.

The state of the short rate was denoted by i. Replacing Xk by i will lead to having z(t)
approximated as i ∆t . Now, replacing t by n (with m = t/∆t ) gives the discrete version of the
normal and lognormal BPI families.

Normal BPI r (m, i ) = U N (m) + σ N (m)i ∆t


Lognormal BPI {
r (m, i ) = U L (m) exp σ L (m)i ∆t }
Where i = -m, - m + 2,…, m -2, m.
Green functions and the forward induction method

For a node (m, j) a pure-state security s(m, j) is a short-rate security expiring at t = m which
pays $1 at (m, j) and 0 elsewhere. The Green function G(m, j) is the time-zero value of s(m, j).
E.g., G(2, 0) is the value at t = 0 of s(2, 0).

Example: A European short rate security paying $1 at (2, 0) and 0 elsewhere is given by:

1
G (2, 0) = [ p(0, 0) p(1,1) + p(0, 0) p(1, −1)]
2

where p(m, j) is the one-period discount factor:

p (m, j ) = exp {− r (m, j )∆t}

continuously compounded or
1
p (m, j ) =
1 + r (m, j )∆t

compounded with use of the simple rate.

We can compute G(m, j) with forward induction:

1
 2 [ p (m, j − 1)G (m, j − 1) + p (m, j + 1)G (m, j + 1) ] j ≤ m −1

1
G (m + 1, j ) =  p (m, j − 1)G (m, j − 1) j = m +1
2
1
 2 p (m, j + 1)G (m, j + 1) j = −m − 1

The initial condition is given by G(0, 0) = 1.

Note that an arbitrary short-rate security expiring at t = m, with a payoff P(m) can be
considered as a combination of pure-state securities.

Example: A European short rate security with expiration T = 2 and payoff:

P(2, 2) = 0, P(2, 0) = 1 and P(2, -2) = 2

is given by:

0 + s(2, 0) + 2s(2, -2)

General we have the formula


m +1
V (0, 0) = ∑
j =− m −1
G (m + 1, j ) P(m + 1, j )

m
1
=
2
∑ G(m, j ) p(m, j ) {G(m + 1, j + 1) + G(m + 1, j − 1)}
j =− m

In discrete-time finance, the Green function is known as Arrow-Debreu prices where it


represents prices of primitive securities. Let G(n, i, m, j) denote the price at period n and state
i of a security that has a cash flow of unity at period m (m ≥ n) and state j. Note that G(m, j, m,
j) = 1 and that G(m, i, m, j) = 0 for i ≠ j. In most cases we ignore the first two arguments and
say that G(m, j) = 1 if we reach the node (m, j) and zero else.

By intuitive reasoning, the forward induction function above states how we discount a cash
flow of unity for receiving it one period later. This is simply the dual of the backward
binomial equation. Note that when j = ±m, there is only one node (at the bottom or at the top),
which gives a modified expression for these two cases.

The term structure P(0, m), which represent the price today of a bond that pays unity at period
m, can be obtained for all values of m, by the maximum smoothness criterion, see next
section.

Arrow-Debreu prices are the building blocks of all securities. The price of a zero-coupon
bond which matures at period m +1 can be expressed in terms of the Arrow-Debreu prices and
the discount factors in period m.

P (0, m + 1) = ∑ G (0, 0, m, j ) p (m, j )


j

In most cases we simply write this equation as

P(m + 1) = ∑ G (m, j ) p (m, j )


j

The term structure can be fitted to any Brownian path independent models using forward
induction. First, assume that σ(m) = σ is a given constant. The problem is then to solve U(m)
to match the given discount function p(m, j) where

{
p (m, j ) = exp −U (m) exp σ (m) j ∆t ∆t ( ) }
continuously compounded or

1
p(m, j ) =
(
1 + U (m) exp σ (m) j ∆t ∆t )
compounded with the simple rate.
Constant short-rate volatility

First, we let the short-rate volatility be a constant, σ(m) = σ. Let m > 0 and assume that U(m -
1), G(m - 1, j), r(m - 1, j) and p(m - 1, j) have been found. The values at the initial time m = 0
are U(0) = r(0, 0), G(0, 0) = 1 and p(0, 0) = 1/[1 + r(0, 0)∆t].

Step 1: Generate the Green functions:

1
 2 [ p (m, j − 1)G (m, j − 1) + p (m, j + 1)G (m, j + 1) ] j ≤ m −1

1
G (m + 1, j ) =  p (m, j − 1)G (m, j − 1) j = m +1
2
1
 2 p (m, j + 1)G (m, j + 1) j = −m − 1

Step 2: Use P(m + 1) to solve U(m) via:

{
P(m + 1) = ∑ G (m, j ) exp −U (m) exp σ j ∆t ∆t
j
( ) }
or
1
P (m + 1) = ∑ G (m, j )
j ( )
1 + U (m) exp σ j ∆t ∆t

Step 3: From U(m) calculate the short rate, and update the discount factors, for all nodes at
time m:

r (m, j ) = U (m) exp σ j ∆t ( )


p (m, j ) = exp {− r (m, j )∆t}
or
1
p (m, j ) =
1 + r (m, j )∆t

For the solution in step 2, we use a Newton-Raphson method:

f ( xmn )
xmn +1 = xmn −
f '( xmn )

We can easily do this since we have the derivatives. The procedure converges rapidly with 3
to 4 iterations.

Let U(m) = xm be the unknown. Then


{ (
f ( xm ) = ∑ G (m, j ) exp − xm ⋅ exp σ j ∆t ∆t − P(m + 1) = 0
j
) }
or
1
f ( xm ) = ∑ G (m, j ) − P (m + 1) = 0
j (
1 + xm ⋅ exp σ j ∆t ∆t )
The derivatives are given by

( )
f '( xm ) = −∑ G (m, j ) ⋅ exp σ j ∆t ∆t ⋅ exp − xm ⋅ exp σ j ∆t ∆t
j
{ ( ) }
or

f '( xm ) = ∑ G (m, j )
(
exp σ j ∆t ∆t )
( )
2
j 1 + xm ⋅ exp σ j ∆t ∆t 
 

Fitting interest rate yield and volatility data

Next consider the case matching both the yield and volatility curves in BPI models of the
same general form. This requires solving jointly for U(m) and σ(m). Let PU(1, m) and PD(1,
m) represent the prices at period n = 1 states of m-maturity zero-coupon bonds. See the figure
below.

r (m, j + 2) = U (m) exp(2σ (m)( j + 2) ∆t )

PU(m)

r (m, j ) = U (m) exp(2σ (m) j ∆t )

PD(m)

period
0 1 2 m
In the figure we have used the short rate formula for the BDT model. Note that an up move of
the short rate differs from a down move by a factor exp(2σ (m) ∆t ) . Therefore we have:
yU (m)
y D ( m)
{
= exp 2σ term (m) ∆t }
Since

1
y ( m) = − ln P(m)
∆t

we have

1  ln P (m) 
σ term (m) = ln  U 
2 ∆t  ln PD (m) 

A second equation is found by discounting back to the origin:

1
P ( m) = [ PU (m) − PD (m)] p(0, 0)
2

These two equations can be solved simultaneously to yield

 P (m) = P (m)exp( −2 ∆tσ term ( m ) )


 D U
 exp( −2 ∆tσ term ( m ) ) P ( m)
 PU (m) + PU (m) =2
 p(0, 0)

Forward induction is again used to determine the time-dependent functions that ensure
consistency with the initial yield curve data. However, state prices are now determined from
the nodes U and D requiring the following notation:

GU(m, j): the value, as seen from node U, of a security that pays off $1 if node
(m, j) is reached and zero otherwise.

GD(m, j): the value, as seen from node D, of a security that pays off $1 if node
(m, j) is reached and zero otherwise.

By definition GU(1, 1) = 1 and GD(1, -1) = 1. The tree is constructed from time ∆t onward
using a procedure similar to the previous section. Now we have two equations:

 PU (m + 1) = ∑ GU (m, j ) p (m, j )

 PD (m + 1) = ∑ GD (m, j ) p(m, j )

where j = − m, − m + 2,..., m − 2, m and

{ (
p (m, j ) = exp −U (m) exp σ (m) j ∆t ∆t ) }
or
1
p(m, j ) =
(
1 + U (m) exp σ (m) j ∆t ∆t )
depending on if we use continuous compounding or the simple-rate.

The term structure of zero-coupon bonds P(m) and the yield volatility term structure σterm(m)
are known. PU(m) and PD(m) can be found for all periods m by using the equation for the term
structure of volatility in conjunction with the Arrow-Debreu prices in a Newton-Raphson
iteration where we have two unknown U(m) and σ(m) to solve simultaneous. This can easily
be done since, as we will se, know the Jacobian.

The full set of steps to build the tree is therefore the following. Assume m > 0 and that U(m –
1), σ(m - 1), GU(m - 1, j), GD(m - 1, j) and r(m - 1, j) are known for all j at time step m – 1.
The values at initial time are U(0) = r(0, 0), σ(0) = σterm(1), GU(1, 1) = 1, GD(1, -1) = 1 and
r(m - 1, j) giving p (0, 0) = exp {−r (0, 0)∆t} or p (0, 0) = 1 (1 + r (0, 0)∆t ) .

Step 1: Derive PU(m) and PD(m) for m = 2 to N.

(
exp −2 ∆tσ term ( m ) )
PD (m) = PU (m)

PU(m) is found as the solution to

(
exp −2 ∆tσ term ( m ) ) P ( m)
PU (m) + PU (m) =2
p(0, 0)

Step 2: Generate GU(m, j), GD(m, j)

 1
GU (m, j ) = 2 [ p(m − 1, j − 1)GU (m − 1, j − 1) + p (m − 1, j + 1)GU (m − 1, j + 1)]

G (m, j ) = 1 [ p(m − 1, j − 1)G (m − 1, j − 1) + p (m − 1, j + 1)G (m − 1, j + 1) ]
 D 2
D D

Step 3: Using the derived discount functions PU(m + 1) and PD(m + 1), solve U(m) and σ(m)
from

 PU (m + 1) = ∑ GU (m, j ) p (m, j )

 PD (m + 1) = ∑ GD (m, j ) p(m, j )

where j = − m, − m + 2,..., m − 2, m and

{
p (m, j ) = exp −U (m) exp σ (m) j ∆t ∆t ( ) }
or
1
p(m, j ) =
(
1 + U (m) exp σ (m) j ∆t ∆t )
depending on if we use continuous compounding or the simple-rate.

Step 4: From the calculated values of U(m) and σ(m) calculate the short rate, and one-period
discount factors for all nodes j at time m:

(
r (m, j ) = U (m) exp σ (m) j ∆t )
p (m, j ) = exp {− r (m, j )∆t}
or
1
p (m, j ) =
1 + r (m, j )∆t

The method of forward induction requires only n arithmetic operations to construct the
discount factors at period n. The iterations are made only on the nodes at the given period, not
the whole way back to the root of the tree as in "trial and error". In a tree with N periods, the
computational time is proportional to the number of nodes N2, which is of the same order as
when closed formed solutions for the discount factors are available.

The Newton-Raphson method in 2 dimensions

The Newton-Raphson method is a well-known numerical method to solve roots to equations


from numerical analysis. The iteration scheme can be derived from a Maclaurin expansion of
a given function f(x):

h2
f ( x + h) = f ( x) + h ⋅ f '( x) + f ''( x) + ...
2!

To the lowest order we have f ( x + h) = f ( x) + h ⋅ f '( x) where x + h is the root we are trying to
calculate. Let the root be xn+1 we can write an iteration scheme as:

0 = f ( xn +1 ) = f ( xn ) + ( xn +1 − xn ) f '( xn )

This gives the well-known formula

f ( xn )
xn +1 = xn −
f '( xn )

If we have to solve two equations simultaneous:

 f ( x, y ) = 0

 g ( x, y ) = 0
We can write Newton-Raphson with vector notation:

f (x n )
x n +1 = x n −
f '(x n )

where x n = ( xn , yn ) and

 f ( xn , yn ) 
f (xn ) =  
 g ( xn , yn ) 

The derivative is called the Jacobian and is defined as:

 ∂f ( xn , yn ) ∂f ( xn , yn ) 
 ∂xn ∂yn 
J (x n ) = f '(x n ) =  
 ∂g ( xn , yn ) ∂g ( xn , yn ) 
 
 ∂xn ∂yn 

Since we can no divide by the Jacobian, we have to multiply with the inverse Jacobian.
Therefore, we remember how to invert a 2 x 2 matrix from the linear algebra:

a b  −1 1  d −b 
J =  ⇒ J =   , det (J ) = ad − bc
c d det (J )  −c a 

We then have the following system of equation to solve:

 ∂g ( xn , yn ) ∂f ( xn , yn ) 
 −  f (x , y )
 xn +1   xn  1  ∂yn ∂yn
 =
   −   n n 

 yn +1   yn  D  − ∂g ( xn , yn ) ∂f ( xn , yn )   g ( xn , yn ) 
 
 ∂xn ∂xn 
where

∂f ( xn , yn ) ∂f ( xn , yn )
∂xn ∂yn ∂f ( xn , yn ) ∂g ( xn , yn ) ∂f ( xn , yn ) ∂g ( xn , yn )
D= = −
∂g ( xn , yn ) ∂g ( xn , yn ) ∂xn ∂yn ∂yn ∂xn
∂xn ∂yn

In the BTD model above we have to solve U(m) and σ(m) from

 PU (m + 1) = ∑ GU (m, j ) p (m, j )

 PD (m + 1) = ∑ GD (m, j ) p(m, j )

where j = − m, − m + 2,..., m − 2, m and


{ (
p (m, j ) = exp −U (m) exp σ (m) j ∆t ∆t ) }
or
1
p(m, j ) =
(
1 + U (m) exp σ (m) j ∆t ∆t )
I.e., we have two equations

 f (U , σ ) = ∑ GU p(U , σ ) − PU = 0

 g (U , σ ) = ∑ GD p(U , σ ) − PD = 0
with
 ∂pU (U , σ )
 f 'U (U , σ ) = ∑ GU ∂U

 f ' (U , σ ) = G ∂pU (U , σ )
 σ ∑ U ∂σ

 g ' (U , σ ) = G ∂pD (U , σ )
 U ∑ D ∂U
 ∂p (U , σ )
 g 'σ (U , σ ) = ∑ GD D
 ∂σ

{ (
f ( xm ) = ∑ G (m, j ) exp − xm ⋅ exp σ j ∆t ∆t − P(m + 1) = 0
j
) }
or
1
f ( xm ) = ∑ G (m, j ) − P (m + 1) = 0
j 1 + xm ⋅ exp σ j ∆t ∆t ( )
The derivatives are given by

∂p (U , σ )
∂U
( )
= − exp σ (m) j ∆t ∆t ⋅ exp −U (m) ⋅ exp σ j ∆t ∆t { ( ) }
or
∂p(U , σ )
=
(
exp σ (m) j ∆t ∆t )
∂U
( )
2
1 + U (m) ⋅ exp σ (m) j ∆t ∆t 
 
and
∂p(U , σ )
∂σ
(
= −U (m) j ∆t ∆t ⋅ exp σ j ∆t ⋅ exp −U (m) ⋅ exp σ j ∆t ∆t) { ( ) }
or
∂p(U , σ )
=−
U (m) j ∆t ∆t ⋅ exp σ (m) j ∆t ( )
∂σ
( )
2
1 + U (m) ⋅ exp σ (m) j ∆t ∆t 
 

Similar expressions yields for the derivatives of PD(U, σ). Therefore, we have the Jacobian
and can use Newton-Raphson to build the tree.

You might also like