facebook google scholar BURA figshare
Simon's LinkedIn profile ResearcherID ORCID logo docker hub
twitter ResearchGate SCOPUS
GitHub
wordpress blogspot pinterest anaconda
tumblr You Tube Flickr publons
www.brunel.ac.uk www.brunel.ac.uk/bicom Mathematical Sciences



This web page may contain mathematics; it was generated from a TEX source file using the translator TTH. Translation is not perfect, and may even produce garbage if you are browsing on an X Window platform (e.g. Solaris, Linux). A fix for this problem is here.

Due to font typesetting problems with mathematical symbols, printing this web page is NOT recommended. Where possible a PostScript file is available for hardcopy download.


Binomial Tree Option Pricing

Binomial Tree Option Pricing

Simon Shaw
www.brunel.ac.uk/~icsrsss

Contents

1  Introduction
2  Applet guidelines
3  Mathematical details
4  PostScript (print quality) source

1  Introduction

This web page contains an applet that implements the Binomial Tree Option Pricing technique, and, in Section 3, gives a short outline of the mathematical theory behind the method. For a quick start you can launch the applet by clicking the start button, and remove it by clicking the stop button.

If this is your first time using this applet then you may like to read the usage guidelines below in Section 2.

Section 3 below outlines the theory behind the approximation (for that is what it is-I haven't quality controlled it either so don't bet real money on its predictions). My main source for the binomial pricing model is the excellent Baxter and Rennie, [1]. But, Wilmott, Howison and Dewynne, [6], flesh out a lot of the statistical detail, and Wilmott, [5], and Hull, [3], provide variants on the approach which use consistent approximations to the random walk parameters. Neftci, [4], also touches on the lattice models as a warm up for what is to come in his later chapters. My source for basic statistics is Bulmer, [2], but there may well be other much better books out there. I wouldn't know-it's not my kind of bedtime reading!

2  Applet guidelines

You use the applet in the following way:

  1. Select your claim (derivative) from the menus. At present only a few test cases are included, mainly because the data input (for the payoff function) is more involved for condors, butterflys, etc. I'll get around to improving this one day but, since this is only a hobby of mine, I don't get a lot of time to spend on this stuff.

  2. Enter:

    1. T, the time to expiry (in years).
    2. m, the %age drift per annum as a decimal. For example: enter 0.1 for 10%. (Actually you can put what you like for m-we don't use it for risk-neutral valuation.)

    3. r, the risk-free rate of interest per annum: again, type 0.1 for 10%.

    4. s, the volatility per annum (0.1 for 10%... Yawn...)

    5. E (or if you'd like, X), the exercise, or strike price.

    6. S, the current asset price.

    7. N, the number of layers in the tree. Be careful here: choosing N < 25 will give appalling accuracy, but N > 100 may well give your machine memory problems...

    8. Check the box if your claim is of American-style (i.e. allows early exercise).

    Once this little lot has been entered press ``Go!'' and wait for the asset (or stock) price tree to be drawn. This is plotted on a ``real'' set of axes so it isn't a nice symmetric wedge like you see in the books. It is coloured according to the stock value (but see below...) with asset prices increasing from red to blue. Feedback on the claim value and (some of) the Greeks can be obtained by dragging the mouse over the plot.

To see the tree built with the claim value on the nodes click the ``claim'' button. You'll notice that the colours change (according now to the claim value). If you checked the ``American'' box then the regions where early exercise is recommended are coloured green. This colour change is irreversible: if you now click on ``asset'' to get the asset tree back the colours will have changed from the original plot. This is because the claim values are now being used to colour the nodes.

You'll notice that you cannot interrogate the claim tree for the claim values. This is because the claim tree may ``fold over'' if the claim isn't monotonic in the asset values (a straddle, for example) and so it is impossible to tell which value the mouse is referring to.

3  Mathematical details

This section gives some outline details of how the method is implemented.

By the way, if the formulae below look messy to you then forgive me. Web browsers are not yet that good at displaying math, so I use a program called TtH (scroll to the bottom of the page for the link) to convert LATEX2e source. If you are using Netscape on an X window platform then you may have complete garbage on your screen-follow the TtH link for instructions on how to fix it.

At any node on time layer ti the asset price, S, can branch up to the value Su at time ti+1, or down to the value Sd. The probability of an ``up move'' is p and that of a ``down move'' is 1-p. In order to simulate Geometric Brownian Motion (see www.brunel.ac.uk/~icsrsss/finance/options/sde) these parameters are fixed as:

p
=
u emk-1
u2-1
,
1-p
=
u2-uemk
u2 -1
,
where k: = ti+1 - ti is the time step, and m is the drift (actually we use r in the model because we assume a risk-neutral world). Evidently, these definitions satisfy,
p + (1-p) = 1,
so {p, 1-p} is a valid probability measure.

The parameters u and d are given by the formulae,

d
=
u-1,
u±1
=
z±(z2-1)1/2,
where,
z: = 1
2
(e-mk + e(m+s2)k).
These formulae come from setting the discrete and continuous (conditional) expectation and variance to be equal. Thus, for the expectation (given S(ti)) we start with,
E(S(ti+1)|S(ti)) = p S(ti) u + (1-p) S(ti) d = S(ti) emk,
and for the conditional variance, Var(S(ti+1)|S(ti)):
p S(ti)2 u2 + (1-p) S(ti)2 d2 - e2mk S(ti)2 = e2mk S(ti)2 (es2 k - 1).
Look at the The Stochastic Differential Equation section at www.brunel.ac.uk/~icsrsss/finance/options/sde for the calculations that lead to these right-hand-sides. One now uses d = 1/u and solves these two equations to find p and u.

The asset price tree is built by setting the value of the asset on the (i+1)th layer (that's at time ti, since we start at t0 = 0) to:

S(ti) = Sij       for j = 0,¼,N,
where j corresponds to the (j+1)th node up the layer (i.e. j increases upwards) and,
Sij : = uj di-j S(0).
Once the asset price tree is built we recursively find the claim values X(t), starting with the payoff function at time layer T = tN, via the discounted expectation:
Xij = e-rk( qi Xi+1j+1 + (1-qi)Xi+1j),       for i = N-1, ¼, 0.
The synthetic probability q is given by,
qi : = Sij erk - Si+1j
Si+1j+1 - Si+1j
= erk - d
u - d
.
And that, is about it!

One last thing: you'll notice that the applet generates more than one root node. This requires a straightforward extension of the above and allows the Greeks,

D = X
S
,      G = 2 X
S2
            Q = X
t
,
to be approximated in a fairly simple way at S(0).

4  PostScript (print quality) source

If I have remembered to generate it, you can obtain a PostScript file of this web page at www.brunel.ac.uk/~icsrsss/finance/options/binomial/home.ps.

References

[1]
Martin Baxter and Andrew Rennie. Financial calculus. Cambridge University Press, 1996.

[2]
M. G. Bulmer. Principles of statistics. Dover Publications Inc., New York, 1979.

[3]
John C. Hull. Options, futures and other derivative securities. Prentice-Hall International, Inc., 1993.

[4]
Salih N. Neftci. An introduction to the mathematics of financial derivatives. Academic Press, 1996.

[5]
Paul Wilmott. Derivatives: the theory and practice of financial engineering. John Wiley and Sons Ltd, 1998. University Edition.

[6]
Paul Wilmott, Sam Howison, and Jeff Dewynne. The mathematics of financial derivatives. Cambridge University Press, 1995.



URL: people.brunel.ac.uk/~icsrsss/finance/options/binomial/home.shtml
Maintained by: Simon.Shaw@brunel.ac.uk
Last modified Tuesday, 29-Feb-2000 16:22:16 GMT.


Home | BICOM | Department of Mathematical Sciences | Brunel University


File translated from TEX by TTH, version 2.00.
On 29 Feb 2000, 16:21.