The Binomial Replication subject of Option Tutor
lets you experiment with the idea of replicating the option using
a stock and a bond in the binomial model. When you bring up the
Binomial Replication subject, you see the following window toward
the bottom of the screen:
Let us look carefully at the bottom half of this
picture, where you enter parameters. You can see that the stock
price is 50 and the risk free interest rate is 0.1 or 10%. The
next field is labeled "uptick," shown as 1.5. This
means that the stock can move up to 50*1.5 = 75. The "downtick,"
set at 0.5, means that if the stock price falls, it will fall
to 50*0.5 = 25. You can see that these are the same parameters
as above. The exercise or strike price of the option is set at
50 . The face value of the zero-coupon bond is 100 while the
maturity of the option one year; the program sets the maturity
date of the bond equal to that of the option. This means that
the bond value today is 100e-.1 = 90.484.
The default setting start you out with a put option.
Let us replicate the put. If the stock moves to 75, the put
will be worth zero since the strike price is 50 and 50-75 <
0. You can see the number 0.00 If the stock price falls to 25,
the put will be worth 50-25 = 25. To replicate the put, we therefore
need to solve:
75n + 100m = 0
25n + 100m = 25.
This yields n = -0.5, m = .375, so the option price
is
(-0.5)*50 + (0.375)*90.844 = 8.93.
Option Tutor lets you try this out with puts and
calls for different parameters. The window toward the top of
the screen is:
You see displayed a one-period binomial "tree"
(or, more precisely, lattice). Each of the squares is called
"node" on the lattice and represents a stock price.
In the simplest binomial model, there is an initial stock price
which can move up or move down. The program also shows you the
option value at each node; for example, the initial option price
is 8.93 (which is exactly what we just calculated), and the option
will either be worth zero in case of an uptick or 25 in case of
a downtick.
At the terminal nodes, two numbers are displayed.
The top number shows you the option value at that node. The
bottom number shows you the value of your stock and bond portfolio.
To replicate the option, you need to buy and sell stocks and
bonds so that at each node, the top and bottom numbers match.
Let us verify that the numbers we calculated replicate
the put. Look again at the lower window:
You buy/sell stocks and bonds as follows. Look at
the left part of this window:
First, select either Stock or Bond. You can buy/sell
either by clicking on of the buttons marked <<< or >>
or by entering a quantity just above where it says OK and clicking
OK. The buttons are preset quantities; <<< means sell
1, <<< means sell 0.1, < means sell 0.01, and similarly
>>> means buy one, etc. The prices at which you are
buying/selling are shown, and your current position is shown
under "End." ("Start" is explained below).
For our example, we need to sell 0.5 stocks and buy
0.375 bonds. The easiest way to do this is to make sure Stock
is selected, type in -0.5 and click OK. Then, select Bond, type
in 0.375 and click OK. (If you make a mistake, simply click Restart
and start over). You should now see:
You can see that at each terminal node, the top and
bottom numbers match, so that our stock/bond portfolio replicates
the option.
Tutor Notes:
Tutor Break: Dynamic Replication
Consider the two-period binomial model taken from
Option Tutor:
What happens here is that the stock price can initially
move up or down and then move up or down again. This means that
there are four terminal nodes instead of 2. (The three period
model would have 8 terminal nodes). But in the way we have formulated
the model, we only have three possible stock prices at the end.
Why? Because the initial stock price is 50. If u is the uptick
and d the downtick, then in one period, the possible values are
Su and Sd. From Su, the stock price can move to Suu or Sud while
from Sd, it can move to Sdu and Sdd. At the end, therefore, the
possible prices are Suu,Sud,Sdu,Sdd. But Sud=Sdu so we only have
three possible terminal stock values. This happens because we
have chosen to make the stock price process multiplicative in
that we multiply the current stock price with the uptick and downtick
parameters.
The display shows us that the value of the call option
is 18.74. How do we replicate the call? (Unfortunately, the Hint
button has been disabled!). We do it by repeating the one-period
argument at every node, starting at the end. Let us start with
the problem after the stock has moved up to 75 (= 50*1.5), corresponding
to the following part of the display:
Option Tutor tells you that the call is worth 34.22
at this node, and in the future, will be worth 62.50 if the stock
moves up again (to 112.50 = 75*1.5) and zero if the stock price
moves to 37.50 (= 75*0.5).
We already know how to figure out that the option
is worth 34.22; this is the one-period model all over again, so
we need to solve:
112.50n + 100m = 62.50
37.50n + 100m = 0
(Note that the value of the bond at the terminal
node is 100).
The solution is n = 0.83333, m = -.3125.
If the stock initially moved down to 25, so that we were at:
then there is nothing to do; the possible future
stock prices are 37.50 and 12.5, and the call is worthless in
either case. Therefore, we need to hold zero stocks and zero
bonds to replicate the call.
Now, let us move back to the beginning:
We have calculated the following: if the stock moves
up to 75, the call will be worth 34.22; if it moves down to 25,
the call will be worth 0. So let us solve:
75n + 90.484m = 34.22
25n + 90.484m = 0
(The value of bond after 1 period is 90.484).
The solution is n = 0.6844, m = -0.1891
The option price is 50*0.6844 - 81.873*0.1891 = 18.74,
as shown.
1.8 Backwards and Forwards, Starts and Ends
There is a subtle backwards and forwards argument
here that can be a little confusing. First, note that in order
to replicate the call, we had to adopt the following trading strategy:
Initially, hold 0.6844 stocks, -0.1891 bonds.
If the stock moves up, change to 0.83333 stocks and -0.3125 bonds.
If instead the stock moved down, change to zero stocks
and zero bonds.
This description goes forward in time. However,
to determine the values, we had to start at the end of the lattice
and work backwards. The principle is: to calculate the
values, you must work backwards. However, when you actually do
the buying or selling, you have to move forward in time.
This brings up another subtlety, which explains why
there is column marked "Start" and another marked "End,"
as in:
This is depicting what happens after the first uptick
when the stock price moved from 50 to 75. At the beginning, we
held 0.6844 stocks, so after the uptick occurred, we still had
the 0.6844 stocks. This is why under "Start" it shows
that you have 0.6844 stocks. Now, we want to hold 0.8333 stocks,
so we need to buy only 0.8333 - 0.6844 = 0. 1489 more stocks.
This lets us start with 0.6844 and end with 0.8333. Therefore,
when you replicate an option over multiple periods, you need to
pay attention to the net trade you have to make at every
node so that the ending position at the node ends up being what
you want to hold at that node.
Tutor Notes:
You can switch this off. This allows you, for example, to have a one year maturity and three periods, so each period is one third of a year.
(C) Copyright 1997, OS Financial Trading System