You are on page 1of 10

# An Eﬃcient, and Fast Convergent Algorithm for

Barrier Options
Tian-Shyr Dai
1
and Yuh-Dauh Lyuu
2
1. Department of Information and Finance Management, National Chiao-Tung University, 1001 Ta
Hsueh Road, Hsinchu, Taiwan 300, ROC. E-mail:d88006@csie.ntu.edu.tw. He was supported by
NSC grant 94-2213-E-033-024.
2. Department of Computer Science & Information Engineering, National Taiwan University.
Abstract. A barrier option is an option whose payoﬀ depends on whether
the price path of the underlying asset ever reaches certain predetermined
price levels called the barriers. A single- (double-) barrier option is a bar-
rier option with one (two, respectively) barrier(s). No simple and exact
closed-form pricing formula for double-barrier options has been reported
in the literature. This paper proposes a novel tree model that can price
both single- and double-barrier options eﬃciently and accurately. This
tree model achieves the high eﬃciency by combinatorial techniques and
numerical accuracy by hitting the barriers exactly. Numerical experi-
ments are given to verify the superiority of our method.
Keywords: barrier option, combinatorics, option pricing, tree
1 Introduction
A barrier option is an option whose payoﬀ depends on whether the stock price
reaches a certain predetermined level (the barrier) before the maturity date.
A double- and the single-barrier options are barrier options with two and one
barriers, respectively. A knock-in barrier option comes into existence if the stock
price reaches the barrier(s) before the maturity date, while a knock-out one
ceases to exist if the stock price reaches the barrier(s) before the maturity.
When the payoﬀ functions for the single barrier options follow some standard
forms, analytical pricing formulas are derived in [8]. The valuation of double-
barrier options is discussed in [5, 11, 6]. However, there are no simple, exact
closed-form formulas for these options. The pricing formula can be expressed as
an inﬁnite series of cumulative normal distributions. Although truncation of this
series is necessary numerically, it can lead to large pricing errors [6].
A tree model is popular for pricing barrier options. This research is interesting
since it can price barrier options with nonstandard payoﬀ functions, such as
power payoﬀ functions. However, there may not be closed-form formulas for
such options. A tree divides the time span from now to the option’s maturity
into n time steps and simulates the stock price discretely at each step. Take
the 3-time-step CRR tree [2] illustrated in Fig. 1 as an example. Let the stock
price at time step 0 be S
0
. From an arbitrary node with price S

, the CRR tree
says that the stock price after one time step equals S

u (the up move) with
2 Dai and Lyuu
0
S
u S
0
d S
0
p
p − 1
2
0
u S
3
0
u S
0
S
2
0
d S
3
0
d S
u S
0
d S
0
0 1 2 3
N(0,0)
N(1,0)
N(1,1)
N(2,0)
N(2,1)
N(2,2)
N(3,0)
N(3,1)
N(3,2)
N(3,3)
Time step
Fig. 1. The CRR Tree.
(a)
(b)
1
L
2
L
Fig. 2. Pricing a Single-Barrier Option by the CRR Tree Model. The barrier is denoted
by L. (a) The eﬀective barrier is L1. (b) The eﬀective barrier is L2.
probability p and S

d (the down move) with probability 1 − p, where ud = 1.
Hence the price resulting from j down moves and i −j up moves from time step
0 equals S
0
u
i−j
d
j
with probability
_
i
j
_
p
i−j
(1 − p)
j
. This node at time step i is
denoted as N(i, j) for simplicity. Some details will be introduced in Section 2.
Pricing barrier options on a CRR tree makes the computed prices oscillate
signiﬁcantly as a function of n [1]. This is because the barrier being assumed by
the tree varies with n. Consider the pricing of a single-barrier option with barrier
L in Fig. 2. In the 2-time-step tree of panel (a), the stock price can not hit the
barrier L exactly. Instead, a near price on the CRR tree like L
1
becomes the
barrier adopted. Call it the eﬀective barrier. Similarly, in the 3-time-step tree
of panel (b), the eﬀective barrier is changed to L
2
. The pricing results oscillate
mainly because the eﬀective barrier ﬂuctuates with n. To solve this problem,
Boyle and Lau suggest to pick a proper n for which the tree has a layer close
to L [1]. This method reduces the errors dramatically. However, their method
can not be easily adapted to handle two barriers since it is next to impossible to
pick an n that will tailor to both barriers. Derman et al. price the single-barrier
options by interpolation [3]. They ﬁrst calculate the option value for each hallow
node by moving the barrier outward to L
2
. Then they calculate the value for
Eﬃcient Algorithms for Barrier Options 3
each hallow node by moving the barrier inward to L

. We call L

and L
2
the inner
and outer barriers to L, respectively. The option value for each hollow node is
obtained by interpolating the two values mentioned above.
Ritchken alleviate the oscillation problem [10] by using “stretch parame-
ter(s)” to tune the structure of his trinomial tree. Thus a layer of his tree can
be made to coincide with each barrier. However, the branching probabilities of
Ritchken’s trinomial tree model are not guaranteed to be valid. More seriously,
when a barrier is very close to the initial stock price, a large number of time steps
is required and his algorithm becomes ineﬃcient. Figlewski and Gao suggest the
adaptive mesh model (AMM) to solve this “barrier-too-close” problem for pric-
ing single-barrier options [4]. But no eﬀorts have been carried out to extend the
AMM to price double-barrier options.
All aforementioned approaches are not eﬃcient enough since each node of
the tree must be evaluated during backward induction to obtain the price. As
the number of nodes of a tree is proportional to n
2
, the backward induction also
runs in O(n
2
) time. Lyuu provides an O(n)−time combinatorial algorithm for
pricing single-barrier options on the CRR tree [7]. However, the pricing results
oscillate signiﬁcantly since the CRR tree is not guaranteed to hit the barrier.
This paper proposes a novel tree model, the tri-binomial tree (the TB tree
hereafter), for pricing barrier options. The TB tree draws mainly from [7, 10].
First, to alleviate the oscillation problem, the TB tree is guaranteed to have
a layer that coincides with each barrier. Second, the TB tree is built on the
CRR tree and the computation can be made linear in n by combinatorial tech-
niques. We also prove that TB tree is constructible and valid. Numerical results
show that our approach can achieve the same level of accuracy with much less
computational time than other tree approaches mentioned above.
2 Preliminaries
We assume that the option initiates at time 0 and matures at time T. The
exercise price for this option is denoted by X. Let S
t
denote the stock price at
time t, where 0 ≤ t ≤ T. S
t
follows the log-normal diﬀusion process:
S
t+dt
= St · exp[(r −0.5σ
2
) dt + σ dWt], (1)
where W
t
is the standard Wiener process, r is the risk-free interest rate per
annum, and σ denotes the volatility of the stock price.
A tree model divides the time span from time 0 to time T, into n time steps
and simulates the price discretely at each time step. A tree converges to the
stock price process mentioned in Eq. (1) if the ﬁrst and the second moments of
the stock price process are matched at each node of the tree. Consider the CRR
tree illustrated in Fig. 1. To match the ﬁrst two moments of the stock price, u
is set as e
σ

T/n
. The probability p is set to (e
rT/n
−d)/(u −d).
The payoﬀs of the barrier options at time T are deﬁned as follows. Deﬁne
S
inf
= inf
0≤t≤T
S
t
. The payoﬀ of a down-and-out single-barrier call option with
barrier L is
Payoﬀ =
_
0, if S
inf
≤ L,
max(ST −X, 0), otherwise.
4 Dai and Lyuu
S
t ∆ ' t ∆
T
t ∆ t ∆
u
P
d
P
m
P
0 ' t ∆
l
t ∆ + σ 2 l
t ∆ + σ 6 l
t ∆ + σ 4 l
t ∆ − σ 2 l
t ∆ + σ 8 l (= h)
Time
t ∆ − σ 4 l
t ∆ + σ 10 l
t ∆ t ∆
A
B
C t ∆ +σ l
t ∆ −σ l
t ∆ + σ 3 l
t ∆ + σ 3 l
t ∆ + σ 5 l
t ∆ + σ 7 l
t ∆ + σ 9 l
H
L
cell width
cell height
Fig. 3. The TB tree for Pricing Double-Barrier Options. L and H are denoted by thick
dotted lines. The S0-log-prices for the nodes at maturity are listed next to these nodes.
Deﬁne S
sup
= sup
0≤t≤T
S
t
. The payoﬀ of a knock-in double-barrier call option
with barriers L and H is
Payoﬀ =
_
max(ST −X, 0), if Ssup ≥ H or S
inf
≤ L,
0, otherwise.
This paper focuses on the pricing aforementioned barrier options. The extension
to other types of barrier options is straightforward.
3 Construction of the TB Tree
The TB tree is built on the CRR tree and is guaranteed to hit each barrier.
We will ﬁrst show how to construct an TB tree. The O(n)-time combinatorial
algorithm for pricing double-barrier options will be introduced in section 4.
Consider the TB tree for a double-barrier option with barriers H and L in
Fig. 3. The underlying is a CRR tree in shadow. The ﬁrst two time steps of the
CRR tree is truncated, and this CRR tree begins with three nodes: A, B, and C.
These three nodes are connected by S at time 0. The TB tree has two following
features: (1) It has two layers that coincide with H and L. (2) The branching
probabilities P
u
, P
m
, and P
d
are valid. To make the truncated CRR tree hit H
and L, the length of a time step ∆t should satisfy some speciﬁc constraint. We
will explain how to pick a proper ∆t later. The length of the the ﬁrst time step
of the TB tree ∆t

is the remaining amount of time to make the whole tree span
T. A, B, and C are ﬁnally selected among the light gray nodes at time ∆t

to
make P
u
, P
m
, and P
d
valid and to make the TB tree hit H and L.
Now we determine ∆t. Assume that the stock price at S is S
0
. Deﬁne the S
0
-
log-price of price V

as ln(V

/S
0
) for convenience. A S
0
-log-price of z therefore
Eﬃcient Algorithms for Barrier Options 5
implies a price of S
0
e
z
. Note that the diﬀerence between the S
0
-log-prices of two
adjacent nodes like A and B is 2σ

∆t, because the upward and the downward
multiplication factors of the CRR tree are e
σ

∆t
and e
−σ

∆t
, respectively. The
S
0
-log-prices of H and L are h = ln(H/S
0
) and = ln(L/S
0
), respectively. To
make sure the truncated CRR tree has two layers that coincide with H and L,
h−

∆t
must be some integer k. Assume that we try to construct an m-time-step
tree. The length of each time step ∆τ = T/m, but
h−

∆τ
may not be an integer.
So we pick a ∆t that is close to ∆τ and that makes
h−

∆t
an integer. We pick
∆t =
_
h−
2κσ
_
2
, where κ =
_
h−

∆τ
_
. Note that the number of time steps of TB
tree is no longer equal to, but close to, m as we change the length of each time
step. Let the truncated CRR tree has
_
T
∆t
_
− 1 time steps. The length of the
ﬁrst time step ∆t

is the remaining amount of time to make the whole tree span
T: ∆t

= T −
__
T
∆t
_
−1
_
∆t. It is easy to verify that ∆t ≤ ∆t

< 2∆t.
Finally, we select A, B, and C that are connected by S. Note that three
branches are required for S to match the ﬁrst two moments of the logarithmic
stock price process; a binomial branch from S does not have enough degrees of
freedom. By Eq. (1), the mean µ and the variance Var of the S
0
-log-prices of A,
B, and C equal (r − σ
2
/2) ∆t

and σ
2
∆t

, respectively. Let the S
0
-log-price of
B be ˆ u. To make the truncated CRR tree hit H and L, the following must be
satisﬁed for some integer j:
ˆ u =
_
+ 2jσ

∆t, if the truncated CRR tree has even number of time steps,
+ (2j + 1)σ

∆t, otherwise.
Those nodes whose S
0
-log-prices satisfy the above constraint at time ∆t

are
colored in light gray in Fig. 3. We choose A, B, and C to make P
u
, P
m
, and
P
d
valid. Recall that the diﬀerence between two adjacent nodes’ S
0
-log-prices
is 2σ

∆t . There exists a unique light gray node whose S
0
-log-price lies in the
interval [ µ −σ

∆t, µ +σ

∆t). We select this node as B. For example, the S
0
-
log-price of B is +3σ

∆t in Fig. 3. The S
0
-log-price of B is closest to µ among
those of the light gray nodes. The S
0
-log-prices of A and C are ˆ µ + 2σ

∆t and
ˆ µ − 2σ

∆t, respectively. Deﬁne β ≡ ˆ µ − µ, α ≡ β + 2σ

∆t, γ ≡ β − 2σ

∆t.
Note that β ∈ [−σ

∆t, σ

∆t) and that α > β > γ. The branching probabilities
are derived by solving the following equalities
Puα + Pmβ + P
d
γ = 0, (2)
Puα
2
+ Pmβ
2
+ P
d
γ
2
= Var, (3)
Pu + Pm + P
d
= 1. (4)
Eqs. (2) and (3) match the ﬁrst two moments of the logarithmic stock price,
and Eq. (4) ensures that P
u
, P
m
, P
d
as probabilities sum to one. A proof given
in Appendix A shows that the inequalities 0 ≤ P
u
, P
m
, P
d
≤ 1 are satisﬁed.
We now develop an eﬃcient and accurate algorithm for pricing double-barrier
options on the TB tree. First, an O(n)-time algorithm is developed to price a
double-barrier option on the CRR tree in section 4. This algorithm can be used
to evaluate the option values of A, B, and C eﬃciently since each of these nodes
can be viewed as the root node of a CRR tree that begins at time ∆t

. The ﬁnal
6 Dai and Lyuu
pricing result of our TB tree is e
−r∆t

(P
u
×V
A
+P
m
×V
B
+P
d
×V
C
), where
V
X
denotes the option value at X.
Pricing a single-barrier option with barrier L by the TB tree is much simpler!
We simply construct the truncated CRR tree that has a layer coinciding with
L. Note that we do not need to adjust the length of a time step since it needs
to match only L (instead of L and H).
4 An O(n)-Time Combinatorial Algorithm on a CRR
Tree
We ﬁrst derive a useful combinatorial formula by the reﬂection principle and
the inclusion-exclusion principle. This formula is used to build up the pricing
algorithm. We focus on the knock-in double-barrier call options. The extension
to other types of double-barrier options is straight forward.
A Combinatorial Formula
A combinatorial formula is derived with the help of the lattice in Fig. 4.
This lattice reﬂects the structure of the CRR tree. The x- and y- coordinates
denotes the time step of the tree and the stock price level, respectively. To ﬁt
the price movement on the CRR tree, each path can move from vertex (i, j) to
vertex (i + 1, j + 1) (the up move) or vertex (i + 1, j − 1) (the down move).
Now consider the following problem: How many price paths starting form A will
reach either H or L before arriving at B? Without loss of generality, we assume
that a, b ≥ 0. A simpliﬁed problem is discussed ﬁrst: How many paths moving
J
s
K
H
L
A
(0,a)
(0, a)
(0, (a+2s))
B
(n, b)
(0,0)
(0, s)
1
A
2
A
Fig. 4. Count the Number of Paths That Hit Barrier H and L by the Re-
ﬂection Principle.
form A to B will hit barrier H before one hit of barrier L? One such path may
hit barrier H at J and barrier L at K. We can reﬂect the path
´
AJ (marked
by solid curve) with respect to the H-axis to get
¯
A
1
J (marked by dash curve).
Each path from A to J maps to a unique path from A
1
to J. Thus the number
of paths from A to J equals to the number of paths from A
1
to J. The reﬂection
principle says that the number of paths staring from A and hitting H before
reaching B equals to the number of paths moving from A
1
to B. The reﬂection
principle can be applied more than once. The curve
¯
A
1
K can be reﬂected with
respect to the L-axis to obtain
¯
A
2
K. Again, the number of paths staring from
Eﬃcient Algorithms for Barrier Options 7
A
1
and hitting L before reaching B equals to the number of paths moving from
A
2
to B. Thus the number of paths moving from A to B and reaching H at
least once before reaching L is equal to the number of paths moving from A
2
to
B. Assume that x up moves and y down moves are required to move from A
2
to B. Thus we have x +y = n and x −y = a −b + 2s. We get x =
n+a−b+2s
2
by
solving the above equations. So the answer to the aforementioned problem is
_
n
n+a−b+2s
2
_
for even, non-negative n + a −b. (5)
Note that a path counted by Eq. (5) may hit L ﬁrst before hitting H. The point
is that among the hits, one hit of H must appear before one hit of L.
The problem of counting the number of paths that will hit either H or L
before arriving at B is now within reach. First, a function f is constructed
to map each path to a string. This string contains the information about the
barrier hitting sequence. For example, f(
¯
AB) = HHL since
¯
AB hits H twice
before hitting L. Next, we deﬁne α
i
as the set of paths whose f value contains
i
¸ .. ¸
H
+
L
+
H
+
· · ·. L
+
and H
+
denote a sequence of Ls and Hs, respectively. Obvi-
ously,
¯
AB belongs to set α
1
and set α
2
. Similarly, deﬁne β
i
as the set of paths
whose f value contains
i
¸ .. ¸
L
+
H
+
L
+
· · ·. Thus the path
¯
AB belongs to set β
1
. The
number of elements in set α
i
and β
i
can be calculated by repeatedly using the
reﬂection principle. The number of elements in each set is listed as follows:
| αi | =

_
n
n+a+b+(i−1) s
2
_
for odd i
_
n
n+a−b+is
2
_
for even i
| βi | =

_
n
n−a−b+(i+1) s
2
_
for odd i
_
n
n−a+b+is
2
_
for even i
(6)
Note that each path that hits the barrier may belong to more than one set. For
example,
¯
AB belongs to α
1
, α
2
, and β
1
. The inclusion-exclusion principle is then
applied to calculate the number of paths that moves from A (with coordinate
(0, −a)) to B (n, −b) and that hit either H or L at least once as follows:
N(a, b, s) =

n
s

i=1
(−1)
i+1
(|αi| +|βi|). (7)
The Pricing Algorithm
The construction of the pricing algorithm can be divided into several dif-
ferent cases. For some degenerate cases like S
0
≤ L, S
0
≥ H, and X ≥ H,
the value of a knock-in double-barrier option can be proved to equal the value
of a vanilla call option. These degenerate cases can be directly priced by any
analytical or numerical method that price a vanilla call option. So we further
focus on the case L < S
0
< H and X < H from now on. The pricing result
is obtained by summing the value contributed by each node at the maturity
of the CRR tree. Combinatorial techniques is applied to implement our pric-
ing algorithm eﬃciently. We ﬁrst put the CRR tree on a lattice as displayed
in Fig. 5. Assume that the barrier H and L equal to S
0
u
n−h
d
h
(= S
0
u
n−2h
)
and L = S
0
u
n−l
d
l
(= S
0
u
n−2l
), respectively. The exercise price X satisﬁes the
following equality S
0
u
n−a
d
a
≤ X < S
0
u
n−a+1
d
a−1
for some integer a.
8 Dai and Lyuu
H
L
0 n Time step
) (
0
n
u S

) (
0
S
) (
2
0
l n
u S

) (
2
0
h n
u S

Price level
) (
0
n
u S
2h
h l s 2 2 − ≡
n h − 2
l h 2 2 −
n h 2 2 −
Fig. 5. Put a CRR Tree on a Lattice. The coordinate of the root node of the CRR
tree is (0, 2h −n). The values in parentheses denote the stock prices.
Now we analyze the value contributed by a price path that reaches N(n, j).
The probability for this path is p
n−j
(1−p)
j
. The payoﬀ at N(n, j) is (S
0
u
n−j
d
j

X)
+
. Thus the value contributed by this path is p(j) ≡ e
−rT
p
n−j
(1−p)
j
(S
0
u
n−j
d
j

X)
+
, if this price path hits the barrier. Note that the value contribution by
N(n, j) is V (j) ≡ (
n
j
)p(j) if N(n, j) is above H or below L (inclusive). This is
because all the price paths that reach N(n, j) must also hit the barrier.
The pricing algorithm can be divided into two following cases. For conve-
nience, the term“terminal node” refers to the node of the tree at maturity date.
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, and (2) the
value contributed by the terminal nodes above H (inclusive). The ﬁrst part can
be computed by accumulating the values contributed by the terminal nodes, says
N(n, j) (a > j > h), between X and H. The number of paths that reach one of
the barriers before reaching N(n, j) is N(n −2h, 2j −2h, 2l −2h) (see Eq. (7)).
The value contributed by such a path is p(j). Therefore, the value contributed
by node N(n, j) is N(n − 2h, 2j − 2h, 2l − 2h)p(j). The ﬁrst part of the option
value is P
0

a−1
j=h+1
N(n − 2h, 2j − 2h, 2l − 2h))p(j). The second part of the
option value is computed by accumulating the values contributed by the termi-
nal nodes, says N(n, i) (0 ≤ i ≤ h), above the barrier H (inclusive). The value
contributed by N(n, i) is V (i). Therefore, the second part of the option value is
P
1
=

h
i=0
V (i). The value of a knock-in double-barrier call option is P
0
+P
1
.
Case 2. X ≤ L: The option value is decomposed into three parts: (1) the value
contributed by the terminal nodes between L and H, (2) the value contributed
by the terminal nodes above H (inclusive), and (3) the value contributed by the
terminal nodes between L (inclusive) and X. The ﬁrst part of the option value
is expressed as P

0

l−1
j=h+1
N(n − 2h, 2j − 2h, 2l − 2h)p(j). The second part
of the option value equals P
1
. The third part is computed by accumulating the
values contributed by the terminal nodes, says N(n, k) (l ≤ k < a), between L
(inclusive) and X to get P

1

a
k=l
V (k). The option value is P

0
+P
1
+P

1
.
Eﬃcient Algorithms for Barrier Options 9
5 Experimental Results
We ﬁrst compare the performance among the TB tree, Lyuu’s algorithm [7],
and the Ritchken’s trinomial tree [10] in Table 1. All programs are run on a
Pentium-4 2.8GHz computer. Note that Lyuu’s algorithm oscillates signiﬁcantly.
Both Ritchken’s trinomial tree and the TB tree converge monotonically to the
true value 5.9968. But the TB tree can achieve each level of accuracy with fewer
computational time than the Ritchken’s trinomial tree. Thus we conclude that
the TB tree is superior to both Lyuu’s and the Ritchken’s approaches.
Table 1. Convergence Rate for Pricing a Down-and-Out Single-Barrier Option.
Ritchken Lyuu TB
Time (sec) n Value n Value n Value
0.001 100 5.9997 1000 6.1002 500 5.9980
0.004 200 5.9986 4000 6.1998 2000 5.9972
0.016 400 5.9980 16000 6.0829 8000 5.9969
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
barrier is 90. Time denotes the computational time in seconds. n and Value denotes the
number of time steps and the pricing result of each tree model.
The TB tree can accurately solve the barrier-too-close problem for pricing
double-barrier options while AMM can not as illustrated in Table 2. Level de-
notes the AMM level. The number of steps of AMM is determined by the AMM
level. The Inner Barrier and the Outer Barrier denote the results computed
by moving the upper barrier (120) to the inner barrier and the outer barrier,
respectively. Note that AMM undervalues the option if the upper barrier moves
down to the inner barrier and overvalues the option if the upper barrier moves
up to the upper barrier. Each pricing result of the TB tree is properly selected so
the number of steps of the TB tree is approximately equal to that of the AMM.
Obviously, the TB tree provides more accurate results than the AMM.
6 Conclusion
The TB tree that can eﬃciently and accurately price barrier options is proposed
in this paper. It is mainly composed of the CRR tree so the computation can
be speeded up by combinatorial techniques. It produces accurate pricing results
since it has a layer to coincide with each barrier. Numerical results show that
the TB tree are superior to other existing approaches.
References
1. Boyle P., and Lau, S. “Bumping Against the Barrier with the Binomial
Method,” Journal of Derivatives, 1 (1994), pp. 6–14.
10 Dai and Lyuu
Table 2. Convergence Rate Comparison between AMM and the TB tree.
AMM TB
Level n Inner Barrier Outer Barrier n Value
2 671 0.000001 0.000015 655 0.000003
1 2686 0.000001 0.000005 2625 0.000003
The initial stock price and the exercise price is 100, the risk-free rate is 10%, the
volatility of the stock price is 30%, the time to maturity is 1 year, and the two barriers
are 99.5 and 120, respectively. The pricing results of the TB tree converge to 0.000003.
2. Cox J., Ross, S., and Rubinstein, M. “Option Pricing: A Simpliﬁed Ap-
proach.” Journal of Financial Economics, 7 (1979), pp. 229–264.
3. Derman, E., Kani, I., Ergener, D., and Bardhan, I. “Enhanced Numerical
Methods for Options with Barriers,” Working Paper, Goldman Sachs. (1995).
4. Figlewski, S., and Gao, B. “The Adaptive Mesh Model: A New Approach to
Eﬃcient Option Pricing.” Journal of Financial Economics, 53 (1999), pp. 313–
351.
5. Geman H., and Yor, M. “Pricing and Hedging Double-Barrier Options: A Prob-
abilistic Approach.” Mathematical Finance, 6 (1996), pp. 365–378.
6. Luo, L. “Various Types of Double Barrier Options.” Journal of Computational
Finance, 4 (2001), pp. 125–138.
7. Lyuu Y.D. “Very Fast Algorithms for Barrier Option Pricing and the Ballot
Problem.” Journal of Derivatives, 5 (1998), pp. 68–79.
8. Merton, R. “Theory of Rational Option Pricing.” Bell Journal of Economics
and Management, 4 (1973), pp. 141–183.
9. Reiner, E. and Rubinstein, M. “Breaking Down the Barriers.” Risk, 4 (1991),
pp. 28–35.
10. Ritchken, P. “On Pricing Barrier Options.” Journal of Derivatives, 3 (1995),
pp. 19–28.
11. Sidenius, J. “Double Barrier Options: Valuation by Path Counting.” Journal of
Computational Finance, 1 (1998), pp. 63–79.
A Validity of Risk-Neutral Probabilities
Deﬁne det = (β − α)(γ − α)(γ − β), det
u
= (βγ + Var)(γ − β), det
m
= (αγ +
Var)(α − γ), and det
d
= (αβ + Var)(β − α). Then Cramer’s rule applied to
Eq. (2)–(4) gives P
u
= det
u
/det, P
m
= det
m
/det, and P
d
= det
d
/det. Note
that det < 0 because α > β > γ. To ensure that the branching probabilities
are valid, it suﬃces to show that P
u
, P
m
, P
d
≥ 0. As det < 0, it is suﬃcient
to show det
u
, det
m
, det
d
≤ 0 instead. Finally, as α > β > γ, it suﬃces to
show that βγ + Var ≥ 0, αγ + Var ≤ 0, and αβ + Var ≥ 0 under the premise
β ∈ [−σ

∆t, σ

∆t). Indeed,
βγ + Var = β
2
−2βσ

∆t +σ
2
∆t

≥ β
2
−2βσ

∆t +σ
2
∆t = (β −σ

∆t)
2
≥ 0,
αγ + Var = β
2
−4σ
2
∆t +σ
2
∆t

≤ β
2
−4σ
2
∆t + 2σ
2
∆t = β
2
−2σ
2
∆t ≤ 0,
αβ + Var = β
2
+ 2βσ

∆t +σ
2
∆t

≥ β
2
+ 2βσ

∆t +σ
2
∆t = (β +σ

∆t)
2
≥ 0,
as desired.

1) S0 p N(1. This node at time step i is denoted as N (i. Derman et al. This is because the barrier being assumed by the tree varies with n. probability p and S d (the down move) with probability 1 − p. Then they calculate the value for . where ud = 1.0) S0 N(3.3) S0 d 3 3 Time step 0 1 2 Fig. In the 2-time-step tree of panel (a). (b) The eﬀective barrier is L2 . 1. Consider the pricing of a single-barrier option with barrier L in Fig. The barrier is denoted by L. To solve this problem. Instead. a near price on the CRR tree like L1 becomes the barrier adopted. (a) The eﬀective barrier is L1 .1) S0 d S0 d S0 d 2 N(3. They ﬁrst calculate the option value for each hallow node by moving the barrier outward to L2 . Pricing a Single-Barrier Option by the CRR Tree Model. the stock price can not hit the barrier L exactly. Hence the price resulting from j down moves and i − j up moves from time step i 0 equals S0 ui−j dj with probability j pi−j (1 − p)j . The CRR Tree. The pricing results oscillate mainly because the eﬀective barrier ﬂuctuates with n.0) N(2. This method reduces the errors dramatically. 2. in the 3-time-step tree of panel (b). Some details will be introduced in Section 2. their method can not be easily adapted to handle two barriers since it is next to impossible to pick an n that will tailor to both barriers.2) N(2.1) N(0. However. the eﬀective barrier is changed to L2 . L2 L1 (a) (b) Fig.0) S 0u N(3. Call it the eﬀective barrier. 2. price the single-barrier options by interpolation [3].2 Dai and Lyuu S 0u 3 S 0u 2 S 0u N(3.2) 1 − p N(1. Boyle and Lau suggest to pick a proper n for which the tree has a layer close to L [1]. Similarly. Pricing barrier options on a CRR tree makes the computed prices oscillate signiﬁcantly as a function of n [1].0) N(2. j) for simplicity.

max(ST − X. 1. All aforementioned approaches are not eﬃcient enough since each node of the tree must be evaluated during backward induction to obtain the price. The option value for each hollow node is obtained by interpolating the two values mentioned above.Eﬃcient Algorithms for Barrier Options 3 each hallow node by moving the barrier inward to L . u √ is set as eσ T /n . The payoﬀs of the barrier options at time T are deﬁned as follows. Consider the CRR tree illustrated in Fig. More seriously. the branching probabilities of Ritchken’s trinomial tree model are not guaranteed to be valid. where 0 ≤ t ≤ T . As the number of nodes of a tree is proportional to n2 .5σ ) dt + σ dWt ]. This paper proposes a novel tree model. However. The exercise price for this option is denoted by X. 2 Preliminaries We assume that the option initiates at time 0 and matures at time T . The TB tree draws mainly from [7. the TB tree is built on the CRR tree and the computation can be made linear in n by combinatorial techniques. otherwise. the pricing results oscillate signiﬁcantly since the CRR tree is not guaranteed to hit the barrier. But no eﬀorts have been carried out to extend the AMM to price double-barrier options. to alleviate the oscillation problem. the tri-binomial tree (the TB tree hereafter). a large number of time steps is required and his algorithm becomes ineﬃcient. into n time steps and simulates the price discretely at each time step. A tree model divides the time span from time 0 to time T . Lyuu provides an O(n)−time combinatorial algorithm for pricing single-barrier options on the CRR tree [7]. r is the risk-free interest rate per annum. for pricing barrier options. St follows the log-normal diﬀusion process: St+dt = St · exp[(r − 0. We also prove that TB tree is constructible and valid. Second. . A tree converges to the stock price process mentioned in Eq. Figlewski and Gao suggest the adaptive mesh model (AMM) to solve this “barrier-too-close” problem for pricing single-barrier options [4]. the backward induction also runs in O(n2 ) time. when a barrier is very close to the initial stock price. However. 2 (1) where Wt is the standard Wiener process. The payoﬀ of a down-and-out single-barrier call option with barrier L is Payoﬀ = 0. To match the ﬁrst two moments of the stock price. respectively. (1) if the ﬁrst and the second moments of the stock price process are matched at each node of the tree. the TB tree is guaranteed to have a layer that coincides with each barrier. if Sinf ≤ L. First. Numerical results show that our approach can achieve the same level of accuracy with much less computational time than other tree approaches mentioned above. We call L and L2 the inner and outer barriers to L. and σ denotes the volatility of the stock price. 0). 10]. Ritchken alleviate the oscillation problem [10] by using “stretch parameter(s)” to tune the structure of his trinomial tree. Thus a layer of his tree can be made to coincide with each barrier. The probability p is set to (erT /n − d)/(u − d). Deﬁne Sinf = inf 0≤t≤T St . Let St denote the stock price at time t.

Deﬁne Ssup = sup0≤t≤T St . Pm . and C. The extension to other types of barrier options is straightforward. and C are ﬁnally selected among the light gray nodes at time ∆t to make Pu . otherwise. The S0 -log-prices for the nodes at maturity are listed next to these nodes. To make the truncated CRR tree hit H and L. A. The payoﬀ of a knock-in double-barrier call option with barriers L and H is Payoﬀ = max(ST − X. and Pd valid and to make the TB tree hit H and L. The ﬁrst two time steps of the CRR tree is truncated. The underlying is a CRR tree in shadow. Now we determine ∆t. if Ssup ≥ H or Sinf ≤ L. 0). B. 0. The O(n)-time combinatorial algorithm for pricing double-barrier options will be introduced in section 4. We will explain how to pick a proper ∆t later. 3. Assume that the stock price at S is S0 . and this CRR tree begins with three nodes: A. Consider the TB tree for a double-barrier option with barriers H and L in Fig. B. 3. The TB tree has two following features: (1) It has two layers that coincide with H and L. Deﬁne the S0 log-price of price V as ln(V /S0 ) for convenience. The TB tree for Pricing Double-Barrier Options. (2) The branching probabilities Pu . A S0 -log-price of z therefore . The length of the the ﬁrst time step of the TB tree ∆t is the remaining amount of time to make the whole tree span T . We will ﬁrst show how to construct an TB tree. L and H are denoted by thick dotted lines. These three nodes are connected by S at time 0. This paper focuses on the pricing aforementioned barrier options. and Pd are valid. Pm . the length of a time step ∆t should satisfy some speciﬁc constraint.4 Dai and Lyuu ∆t ' ∆t ∆t ∆t ∆t ∆t l + 10σ ∆t l + 9σ ∆t H l + 8σ ∆t (= h) l + 7σ ∆t l + 6σ ∆t A l + 5σ ∆t l + 4σ ∆t Pu Pm S B l + 3σ ∆t l + 2σ ∆t Pd C l + σ ∆t L l l − σ ∆t l − 2σ ∆t cell height l + 3σ ∆t cell width l − 4σ ∆t 0 ∆t ' T Time Fig. 3 Construction of the TB Tree The TB tree is built on the CRR tree and is guaranteed to hit each barrier.

Let the S0 -log-price of B be u. h− √ must be some integer k. and C to make Pu . because the upward and the downward √ √ multiplication factors of the CRR tree are eσ ∆t and e−σ ∆t . an O(n)-time algorithm is developed to price a double-barrier option on the CRR tree in section 4. and C that are connected by S. The S0 -log-price of B is closest to √ among C ˆ those of the light gray nodes. There exists a √ √ + interval [ µ − σ ∆t. 2σ ∆τ h− makes 2σ√∆t an integer. Finally. We choose A. We pick h− ∆t = h− . First. the mean µ and the variance Var of the S0 -log-prices of A. respectively. The ﬁnal . To make the truncated CRR tree hit H and L. We now develop an eﬃcient and accurate algorithm for pricing double-barrier options on the TB tree. By Eq. Pm . the following must be ˆ satisﬁed for some integer j: √ + 2jσ ∆t. The S0 -log-prices of H and L are h = ln(H/S0 ) and = ln(L/S0 ). Note that the number of time steps of TB 2κσ tree is no longer equal to. Let the truncated CRR tree has ∆t − 1 time steps. Pu α + Pm β + Pd γ 2 2 2 (2) (3) (4) = Var. γ ≡ β − 2σ ∆t. √ ˆ √ Note that β ∈ [−σ ∆t. u= ˆ if the truncated CRR tree has even number of time steps. ˆ µ − 2σ ∆t. Pm . respectively. (1). For example. the S0 µ log-price of B is + 3σ ∆t in Fig. The S0 -log-prices of A and√ are µ + 2σ ∆t and √ √ Deﬁne β ≡ µ − µ. B. otherwise. Pu + Pm + Pd = 1. Pd ≤ 1 are satisﬁed. a binomial branch from S does not have enough degrees of freedom. Pm . Those nodes whose S0 -log-prices satisfy the above constraint at time ∆t are colored in light gray in Fig. Eqs. Recall that the diﬀerence between two adjacent nodes’ S0 -log-prices √ unique light gray node whose S0 -log-price lies in the is 2σ ∆t . √ + (2j + 1)σ ∆t. B. respectively. (4) ensures that Pu . µ √ σ ∆t). where κ = 2σ√∆τ . respectively. Assume that we try to construct an m-time-step 2σ ∆t tree. The length of each time step ∆τ = T /m. m as we change the length of each time T step. but close to. and C equal (r − σ 2 /2) ∆t and σ 2 ∆t . B. Note that three branches are required for S to match the ﬁrst two moments of the logarithmic stock price process. A proof given in Appendix A shows that the inequalities 0 ≤ Pu . α ≡ β + 2σ ∆t. To make sure the truncated CRR tree has two layers that coincide with H and L. we select A.Eﬃcient Algorithms for Barrier Options 5 implies a price of S0 ez . Pd as probabilities sum to one. Note that the diﬀerence between the S0 -log-prices of two √ adjacent nodes like A and B is 2σ ∆t. The length of the ﬁrst time step ∆t is the remaining amount of time to make the whole tree span T T : ∆t = T − ∆t − 1 ∆t. and C eﬃciently since each of these nodes can be viewed as the root node of a CRR tree that begins at time ∆t . 3. It is easy to verify that ∆t ≤ ∆t < 2∆t. but So we pick a ∆t that is close to ∆τ and that 2 h− √ may not be an integer. This algorithm can be used to evaluate the option values of A. σ ∆t) and that α > β > γ. We select this node as B. B. and Eq. 3. (2) and (3) match the ﬁrst two moments of the logarithmic stock price. The branching probabilities are derived by solving the following equalities Pu α + Pm β + Pd γ = 0. and Pd valid.

4. 4 An O(n)-Time Combinatorial Algorithm on a CRR Tree We ﬁrst derive a useful combinatorial formula by the reﬂection principle and the inclusion-exclusion principle.a) A1 (0. (a+2s)) A2 Fig. Note that we do not need to adjust the length of a time step since it needs to match only L (instead of L and H). j) to vertex (i + 1. We focus on the knock-in double-barrier call options.and y. we assume that a. This formula is used to build up the pricing algorithm. a) J s K H (n. where VX denotes the option value at X. Again. 4. The reﬂection principle can be applied more than once.0) (0. s) L (0. The reﬂection principle says that the number of paths staring from A and hitting H before reaching B equals to the number of paths moving from A1 to B. the number of paths staring from . form A to B will hit barrier H before one hit of barrier L? One such path may hit barrier H at J and barrier L at K. b ≥ 0. Count the Number of Paths That Hit Barrier H and L by the Reﬂection Principle. The curve A1 K can be reﬂected with respect to the L-axis to obtain A2 K. To ﬁt the price movement on the CRR tree. Now consider the following problem: How many price paths starting form A will reach either H or L before arriving at B? Without loss of generality. Thus the number of paths from A to J equals to the number of paths from A1 to J. Each path from A to J maps to a unique path from A1 to J. Pricing a single-barrier option with barrier L by the TB tree is much simpler! We simply construct the truncated CRR tree that has a layer coinciding with L. A Combinatorial Formula A combinatorial formula is derived with the help of the lattice in Fig. The extension to other types of double-barrier options is straight forward. respectively. j + 1) (the up move) or vertex (i + 1. b) A B (0. A simpliﬁed problem is discussed ﬁrst: How many paths moving (0.coordinates denotes the time step of the tree and the stock price level. each path can move from vertex (i. The x.6 Dai and Lyuu pricing result of our TB tree is e−r∆t (Pu × VA + Pm × VB + Pd × VC ). This lattice reﬂects the structure of the CRR tree. j − 1) (the down move). We can reﬂect the path AJ (marked by solid curve) with respect to the H-axis to get A1 J (marked by dash curve).

The problem of counting the number of paths that will hit either H or L before arriving at B is now within reach. So we further focus on the case L < S0 < H and X < H from now on. Combinatorial techniques is applied to implement our pricing algorithm eﬃciently. a function f is constructed to map each path to a string. Thus we have x + y = n and x − y = a − b + 2s. The pricing result is obtained by summing the value contributed by each node at the maturity of the CRR tree. −a)) to B (n. First. and β1 . We ﬁrst put the CRR tree on a lattice as displayed in Fig. The point is that among the hits. we deﬁne αi as the set of paths whose f value contains i H L H + · · ·. b. AB belongs to α1 . Assume that the barrier H and L equal to S0 un−h dh (= S0 un−2h ) and L = S0 un−l dl (= S0 un−2l ). respectively. α2 . Thus the number of paths moving from A to B and reaching H at least once before reaching L is equal to the number of paths moving from A2 to B. We get x = n+a−b+2s by 2 solving the above equations. −b) and that hit either H or L at least once as follows: N(a. AB belongs to set α1 and set α2 . Next. The number of elements in each set is listed as follows: + + | αi | = ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ n n+a+b+(i−1) s 2 n+a−b+is 2 for odd i for even i n | βi | = ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ n n−a−b+(i+1) s 2 n−a+b+is 2 for odd i (6) for even i n Note that each path that hits the barrier may belong to more than one set. This string contains the information about the barrier hitting sequence. non-negative n + a − b. Thus the path AB belongs to set β1 . . Obviously. The inclusion-exclusion principle is then applied to calculate the number of paths that moves from A (with coordinate (0. respectively. s) = n s (−1) i=1 i+1 (|αi | + |βi |). deﬁne βi as the set of paths + + i whose f value contains L H L+ · · ·. The exercise price X satisﬁes the following equality S0 un−a da ≤ X < S0 un−a+1 da−1 for some integer a. L+ and H + denote a sequence of Ls and Hs. (5) Note that a path counted by Eq. the value of a knock-in double-barrier option can be proved to equal the value of a vanilla call option. For some degenerate cases like S0 ≤ L. (5) may hit L ﬁrst before hitting H. For example. and X ≥ H. Assume that x up moves and y down moves are required to move from A2 to B. So the answer to the aforementioned problem is n n+a−b+2s 2 for even. 5. Similarly. (7) The Pricing Algorithm The construction of the pricing algorithm can be divided into several different cases. f (AB) = HHL since AB hits H twice before hitting L.Eﬃcient Algorithms for Barrier Options 7 A1 and hitting L before reaching B equals to the number of paths moving from A2 to B. The number of elements in set αi and βi can be calculated by repeatedly using the reﬂection principle. For example. These degenerate cases can be directly priced by any analytical or numerical method that price a vanilla call option. S0 ≥ H. one hit of H must appear before one hit of L.

2l − 2h)p(j). between X and H. Case 2. The ﬁrst part of the option value l−1 is expressed as P0 ≡ j=h+1 N(n − 2h. 2j − 2h. j) is V (j) ≡ (n )p(j) if N (n. 2l − 2h))p(j). (2) the value contributed by the terminal nodes above H (inclusive). the term“terminal node” refers to the node of the tree at maturity date. if this price path hits the barrier. L < X < H: The option value can be decomposed into two parts: (1) the value contributed by the terminal nodes between X and H. Case 1. 2j − 2h. . The payoﬀ at N (n. The value contributed by such a path is p(j). Now we analyze the value contributed by a price path that reaches N (n. the second part of the option value is h P1 = i=0 V (i). j) is above H or below L (inclusive). i) (0 ≤ i ≤ h). 5. Therefore. 2h − n). The values in parentheses denote the stock prices. The third part is computed by accumulating the values contributed by the terminal nodes. i) is V (i). The pricing algorithm can be divided into two following cases. This is j because all the price paths that reach N (n. The ﬁrst part can be computed by accumulating the values contributed by the terminal nodes. The number of paths that reach one of the barriers before reaching N (n. says N (n. j) must also hit the barrier. between L a (inclusive) and X to get P1 ≡ k=l V (k). The coordinate of the root node of the CRR tree is (0. j) (a > j > h). The second part of the option value is computed by accumulating the values contributed by the terminal nodes. says N (n. k) (l ≤ k < a).8 Dai and Lyuu Price level 2h 0 ( S0 ) ( S 0u n ) H ( S 0u n − 2 h ) n Time step s ≡ 2l − 2h 2h − n 2h − 2l L ( S 0 u n − 2l ) 2 h − 2n ( S 0u − n ) Fig. For convenience. and (3) the value contributed by the terminal nodes between L (inclusive) and X. 2l − 2h)p(j). Thus the value contributed by this path is p(j) ≡ e−rT pn−j (1−p)j (S0 un−j dj − X)+ . above the barrier H (inclusive). The second part of the option value equals P1 . j) is N(n − 2h. j) is N(n − 2h. Note that the value contribution by N (n. and (2) the value contributed by the terminal nodes above H (inclusive). 2l − 2h) (see Eq. 2j − 2h. The option value is P0 + P1 + P1 . j) is (S0 un−j dj − X)+ . 2j − 2h. the value contributed by node N (n. The ﬁrst part of the option a−1 value is P0 ≡ j=h+1 N(n − 2h. j). The value contributed by N (n. says N (n. X ≤ L: The option value is decomposed into three parts: (1) the value contributed by the terminal nodes between L and H. (7)). The probability for this path is pn−j (1−p)j . Put a CRR Tree on a Lattice. Therefore. The value of a knock-in double-barrier call option is P0 + P1 .

respectively. Ritchken Lyuu TB Time (sec) n Value n Value n Value 0.004 200 5. The TB tree can accurately solve the barrier-too-close problem for pricing double-barrier options while AMM can not as illustrated in Table 2. Note that AMM undervalues the option if the upper barrier moves down to the inner barrier and overvalues the option if the upper barrier moves up to the upper barrier. and the barrier is 90. the time to maturity is 1 year.” Journal of Derivatives. 6 Conclusion The TB tree that can eﬃciently and accurately price barrier options is proposed in this paper. Convergence Rate for Pricing a Down-and-Out Single-Barrier Option. n and Value denotes the number of time steps and the pricing result of each tree model.8GHz computer. The Inner Barrier and the Outer Barrier denote the results computed by moving the upper barrier (120) to the inner barrier and the outer barrier. 1 (1994). Time denotes the computational time in seconds. Both Ritchken’s trinomial tree and the TB tree converge monotonically to the true value 5. It produces accurate pricing results since it has a layer to coincide with each barrier. . and Lau. Lyuu’s algorithm [7]. But the TB tree can achieve each level of accuracy with fewer computational time than the Ritchken’s trinomial tree. Table 1. S. All programs are run on a Pentium-4 2.001 100 5. and the Ritchken’s trinomial tree [10] in Table 1. It is mainly composed of the CRR tree so the computation can be speeded up by combinatorial techniques.Eﬃcient Algorithms for Barrier Options 9 5 Experimental Results We ﬁrst compare the performance among the TB tree.9968.9972 0. the risk-free rate is 10% per annum.9980 0. the TB tree provides more accurate results than the AMM. 6–14. Boyle P. References 1. Level denotes the AMM level. the volatility of the stock price is 25%.1998 2000 5.1002 500 5. Note that Lyuu’s algorithm oscillates signiﬁcantly. Obviously. The number of steps of AMM is determined by the AMM level. Numerical results show that the TB tree are superior to other existing approaches. Thus we conclude that the TB tree is superior to both Lyuu’s and the Ritchken’s approaches.0829 8000 5.9986 4000 6. Each pricing result of the TB tree is properly selected so the number of steps of the TB tree is approximately equal to that of the AMM.9980 16000 6. pp. the exercise price is 100.9997 1000 6. “Bumping Against the Barrier with the Binomial Method.9969 The initial stock price is 95.016 400 5..

S. the risk-free rate is 10%. and the two barriers are 99. J. P.” Bell Journal of Economics and Management. pp. Ross. αγ + Var = β 2 − 4σ 2 ∆t + σ 2 ∆t ≤ β 2 − 4σ 2 ∆t + 2σ 2 ∆t = β 2 − 2σ 2 ∆t ≤ 0. and Rubinstein. 5. As det < 0. Merton. Ergener. I. 68–79. and Bardhan. pp. 4. 4 (2001).” Risk. 313– 351. detm = (αγ + Var)(α − γ). “Pricing and Hedging Double-Barrier Options: A Probabilistic Approach. and Pd = detd /det. (1995). M.” Journal of Financial Economics..” Journal of Derivatives. E. 365–378. “Double Barrier Options: Valuation by Path Counting.” Journal of Financial Economics. pp. and αβ + Var ≥ 0 under the premise √ √ β ∈ [−σ ∆t. 3 (1995). To ensure that the branching probabilities are valid. it suﬃces to show that βγ + Var ≥ 0. as desired. E. Then Cramer’s rule applied to Eq. M. Derman.. 1 (1998).. 6. pp.000001 0. 229–264. (2)–(4) gives Pu = detu /det. “The Adaptive Mesh Model: A New Approach to Eﬃcient Option Pricing. detd ≤ 0 instead. pp. Note that det < 0 because α > β > γ. 6 (1996). R. B. 8. S. 11. Kani.. pp. 53 (1999). Finally. Geman H. σ ∆t). 19–28. A Validity of Risk-Neutral Probabilities Deﬁne det = (β − α)(γ − α)(γ − β). 4 (1973). “Enhanced Numerical Methods for Options with Barriers.” Journal of Computational Finance. √ √ √ βγ + Var = β 2 − 2βσ ∆t + σ 2 ∆t ≥ β 2 − 2βσ ∆t + σ 2 ∆t = (β − σ ∆t)2 ≥ 0.000003. AMM TB Level n Inner Barrier Outer Barrier n Value 2 671 0. Luo. √ √ √ αβ + Var = β 2 + 2βσ ∆t + σ 2 ∆t ≥ β 2 + 2βσ ∆t + σ 2 ∆t = (β + σ ∆t)2 ≥ 0.” Journal of Derivatives.5 and 120. and detd = (αβ + Var)(β − α). pp. Lyuu Y. Pm .000003 The initial stock price and the exercise price is 100..000001 0. Pm = detm /det. Figlewski. Reiner. 7. Cox J. “Theory of Rational Option Pricing. Ritchken. “On Pricing Barrier Options.. “Very Fast Algorithms for Barrier Option Pricing and the Ballot Problem. Pd ≥ 0. 63–79.000015 655 0. 3. “Breaking Down the Barriers. 125–138.” Working Paper. . 10. as α > β > γ..” Mathematical Finance. Goldman Sachs. and Yor. αγ + Var ≤ 0.” Journal of Computational Finance. and Rubinstein. Sidenius. D. 7 (1979). the time to maturity is 1 year. it is suﬃcient to show detu .D. 28–35. M. 141–183.10 Dai and Lyuu Table 2. “Option Pricing: A Simpliﬁed Approach. 2. the volatility of the stock price is 30%. and Gao. pp. detu = (βγ + Var)(γ − β).000005 2625 0. 4 (1991). 9. 5 (1998). respectively. Indeed. pp. it suﬃces to show that Pu . I.000003 1 2686 0. The pricing results of the TB tree converge to 0. detm . Convergence Rate Comparison between AMM and the TB tree. L. “Various Types of Double Barrier Options.