Subsections


Option pricing with binomial approximations

Introduction

We have shown binomial calculations given an up and down movement in chapter 5. However, binomial option pricing can also be viewed as an approximation to a continuous time distribution by judicious choice of the constants $u$ and $d$. To do so one has to ask: Is it possible to find a parametrization (choice of $u$ and $d$) of a binomial process \binopttreeTwoL{$S$}{$uS$}{$dS$}{$uuS$}{$udS$}{$ddS$} which has the same time series properties as a (continous time) process with the same mean and volatility? There is actually any number of ways of constructing this, hence one uses one degree of freedom on imposing that the nodes reconnect, by imposing $u=\frac{1}{d}$.

To value an option using this approach, we specify the number $n$ of periods to split the time to maturity $(T-t)$ into, and then calculate the option using a binomial tree with that number of steps.

Given $S,X,r,\sigma,T$ and the number of periods $n$, calculate

\begin{displaymath}\Delta t = \frac{T-t}{n} \end{displaymath}


\begin{displaymath}u = e^{\sigma\sqrt{\Delta t}} \end{displaymath}


\begin{displaymath}d = e^{-\sigma\sqrt{\Delta t}} \end{displaymath}

We also redefine the ``risk neutral probabilities''

\begin{displaymath}R = e^{r\Delta t} \end{displaymath}


\begin{displaymath}q = \frac{R-d}{u-d} \end{displaymath}

To find the option price, will ``roll backwards:'' At node $t$, calculate the call price as a function of the two possible outcomes at time $t+1$. For example, if there is one step, \binopttreeOneL{$C_0$} {$C_u=\max(0,S_u-X)$} {$C_d=\max(0,S_d-X)$} find the call price at time 0 as

\begin{displaymath}C_0 = e^{-r}(qC_u+(1-q)C_d) \end{displaymath}

With more periods one will ``roll backwards'' as discussed in chapter 5

Pricing of options in the Black Scholes setting

Consider options on underlying securities not paying dividend.

European Options

For European options, binomial trees are not that much used, since the Black Scholes model will give the correct answer, but it is useful to see the construction of the binomial tree without the checks for early exercise, which is the American case.

The computer algorithm for a binomial in the following merits some comments. There is only one vector of call prices, and one may think one needs two, one at time $t$ and another at time $t+1$. (Try to write down the way you would solve it before looking at the algorithm below.) But by using the fact that the branches reconnect, it is possible to get away with the algorithm below, using one less array. You may want to check how this works. It is also a useful way to make sure one understands binomial option pricing.


\begin{program}
% latex2html id marker 3042\caption{Option price for binomial ...
...grindfile{/home/bernt/2003_algor/all_cc_tex_files/bin_eur_call.cc}
\end{program}

American Options

An American option differs from an European option by the exercise possibility. An American option can be exercised at any time up to the maturity date, unlike the European option, which can only be exercised at maturity. In general, there is unfortunately no analytical solution to the American option problem, but in some cases it can be found. For example, for an American call option on non-dividend paying stock, the American price is the same as the European call.

It is in the case of American options, allowing for the possibility of early exercise, that binomial approximations are useful. At each node we calculate the value of the option as a function of the next periods prices, and then check for the value exercising of exercising the option now

Code 9.2 illustrates the calculation of the price of an American call.
\begin{program}
% latex2html id marker 3047\caption{Binomial option price amre...
...lgrindfile{/home/bernt/2003_algor/all_cc_tex_files/bin_am_call.cc}
\end{program}
Actually, for this particular case, the american price will equal the european.


Estimating partials.

It is always necessary to calculate the partial derivatives as well as the option price.

The binomial methods gives us ways to approximate these as well. How to find them in the binomial case are described in Hull (2003). The code below is for the non-dividend case.

Delta

, the derivative of the option price with respect to the underlying.


\begin{program}
% latex2html id marker 3052\caption{Delta}
\lgrindfile{/home/bernt/2003_algor/all_cc_tex_files/bin_am_delta_call.cc}
\end{program}

Other hedge parameters.


\begin{program}
% latex2html id marker 3057\caption{Hedge parameters}
\lgrindfile{/home/bernt/2003_algor/all_cc_tex_files/bin_am_partials_call.cc}
\end{program}

Adjusting for payouts for the underlying

The simplest case of a payout is the similar one to the one we saw in the Black Scholes case, a continous payout of $y$.

Pricing options on stocks paying dividends using a binomial approximation

Checking for early exercise in the binomial model.

If the underlying asset is a stock paying dividends during the maturity of the option, the terms of the option is not adjusted to reflect this cash payment, which means that the option value will reflect the dividend payments.

In the binomial model, the adjustment for dividends depend on whether the dividends are discrete or proportional.

Proportional dividends.

For proportional dividends, we simply multiply with an adjustment factor the stock prices at the ex-dividend date, the nodes in the binomial tree will ``link up'' again, and we can use the same ``rolling back'' procedure.


\begin{program}
% latex2html id marker 3062\caption{Binomial option price of s...
...e{/home/bernt/2003_algor/all_cc_tex_files/bin_am_prop_div_call.cc}
\end{program}

Discrete dividends

The problem is when the dividends are constant dollar amounts.

In that case the nodes of the binomial tree do not ``link up,'' and the number of branches increases dramatically, which means that the time to do the calculation is increased.

The algorithm presented here implements this case, with no linkup, by constructing a binomial tree up to the ex-dividend date, and then, at the terminal nodes of that tree, call itself with one less dividend payment, and time to maturity the time remaining at the ex-dividend date. Doing that calculates the value of the option at the ex-dividend date, which is then compared to the value of exercising just before the ex-dividend date. It is a cute example of using recursion in simplifying calculations, but as with most recursive solutions, it has a cost in computing time. For large binomial trees and several dividends this procedure will take a long time. In that case it will be a good deal faster to avoid the recursive calls. Look in (Hull, 1993, pg 347) for ways to achieve this by making some small assumptions.


\begin{program}
% latex2html id marker 3067\caption{Binomial option price of s...
...ndfile{/home/bernt/2003_algor/all_cc_tex_files/bin_am_div_call.cc}
\end{program}

Option on futures

For American options, because of the feasibility of early exercise, the binomial model is used to approximate the option value.


\begin{program}
% latex2html id marker 3072\caption{Option on futures}
\lgrindfile{/home/bernt/2003_algor/all_cc_tex_files/futures_opt_call_bin.cc}
\end{program}


Foreign Currency options

For American options, the usual method is approximation using binomial trees, checking for early exercise due to the interest rate differential.


\begin{program}
% latex2html id marker 3077\caption{Binomial Currency Option}
...
...{/home/bernt/2003_algor/all_cc_tex_files/currency_opt_bin_call.cc}
\end{program}

References

The original source for binomial option pricing was the paper by Cox et al. (1979). Good textbook discussions are in Cox and Rubinstein (1985), Bossaerts and Ødegaard (2001) and Hull (2003).


\begin{Exercise}
Consider an European call option on non-dividend paying stock,...
...ces of differences in the estimated prices.
\end{enumerate}\par
\end{Exercise}

2003-10-22