# Binomial options pricing model

In finance, the binomial options pricing model (BOPM) provides a generalizable numerical method for the valuation of options. Essentially, the model uses a "discrete-time" (lattice based) model of the varying price over time of the underlying financial instrument, addressing cases where the closed-form Black–Scholes formula is wanting, which in general does not exist for the BOPM.
The binomial model was first proposed by William Sharpe in the 1978 edition of Investments (ISBN 013504605X), and formalized by Cox, Ross and Rubinstein in 1979 and by Rendleman and Bartter in that same year.
For binomial trees as applied to fixed income and interest rate derivatives see Lattice model (finance) § Interest rate derivatives.

## Use of the model

The Binomial options pricing model approach has been widely used since it is able to handle a variety of conditions for which other models cannot easily be applied. This is largely because the BOPM is based on the description of an underlying instrument over a period of time rather than a single point. As a consequence, it is used to value American options that are exercisable at any time in a given interval as well as Bermudan options that are exercisable at specific instances of time. Being relatively simple, the model is readily implementable in computer software (including a spreadsheet).
Although higher in computational complexity and computationally slower than the Black–Scholes formula, it is more accurate, particularly for longer-dated options on securities with dividend payments. For these reasons, various versions of the binomial model are widely used by practitioners in the options markets.
For options with several sources of uncertainty (e.g., real options) and for options with complicated features (e.g., Asian options), binomial methods are less practical due to several difficulties, and Monte Carlo option models are commonly used instead. When simulating a small number of time steps Monte Carlo simulation will be more computationally time-consuming than BOPM (cf. Monte Carlo methods in finance). However, the worst-case runtime of BOPM will be O(2$^n$), where n is the number of time steps in the simulation. Monte Carlo simulations will generally have a polynomial time complexity, and will be faster for large numbers of simulation steps. Monte Carlo simulations are also less susceptible to sampling errors, since binomial techniques use discrete time units. This becomes more true the smaller the discrete units become.

## Method

* function americanPut(T, S, K, r, sigma, q, n)
* ' T... expiration time
* ' S... stock price
* ' K... strike price
* ' r... interest rate
* ' sigma... volatility of the stock price
* ' q... dividend yield
* ' n... height of the binomial tree
* deltaT := T / n;
* up := exp(sigma * sqrt(deltaT));
* p0 := (up * exp(-q * deltaT) - exp(-r * deltaT)) / (up^2 - 1);
* p1 := exp(-r * deltaT) - p0;
* ' initial values at time T
* for i := 0 to n {
* p[i] := K - S * up^(2*i - n+1);
* if p[i] < 0 then p[i] := 0;
* ' move to earlier times
* for j := n-1 down to 0 {
* for i := 0 to j {
* ' binomial value
* p[i] := p0 * p[i+1] + p1 * p[i];
* ' exercise value
* exercise := K - S * up^(2*i - j+1);
* if p[i] < exercise then p[i] := exercise;
* return americanPut := p[0];
The binomial pricing model traces the evolution of the option's key underlying variables in discrete-time. This is done by means of a binomial lattice (Tree), for a number of time steps between the valuation and expiration dates. Each node in the lattice represents a possible price of the underlying at a given point in time.
Valuation is performed iteratively, starting at each of the final nodes (those that may be reached at the time of expiration), and then working backwards through the tree towards the first node (valuation date). The value computed at each stage is the value of the option at that point in time.
Option valuation using this method is, as described, a three-step process:
* Price tree generation,
* Calculation of option value at each final node,
* Sequential calculation of the option value at each preceding node.

### Step 1: Create the binomial price tree

The tree of prices is produced by working forward from valuation date to expiration.
At each step, it is assumed that the underlying instrument will move up or down by a specific factor ($u$ or $d$) per step of the tree (where, by definition, $u\geq 1$ and $0<d\leq 1$). So, if $S$ is the current price, then in the next period the price will either be $S_{up}=S\cdot u$ or $S_{down}=S\cdot d$.
The up and down factors are calculated using the underlying (fixed) volatility, $\sigma$, and the time duration of a step, $t$, measured in years (using the day count convention of the underlying instrument). From the condition that the variance of the log of the price is $\sigma ^{2}t$, we have:
    $u=e^{\sigma {\sqrt {\Delta }}t}$
    $d=e^{-\sigma {\sqrt {\Delta }}t}={\frac {1}{u}}.$
Above is the original Cox, Ross, & Rubinstein (CRR) method; there are various other techniques for generating the lattice, such as "the equal probabilities" tree, see.
The CRR method ensures that the tree is recombinant, i.e. if the underlying asset moves up and then down (u,d), the price will be the same as if it had moved down and then up (d,u)—here the two paths merge or recombine. This property reduces the number of tree nodes, and thus accelerates the computation of the option price.
This property also allows the value of the underlying asset at each node to be calculated directly via formula, and does not require that the tree be built first. The node-value will be:
    $S_{n}=S_{0}\times u^{N_{u}-N_{d}},$
Where $N_{u}$ is the number of up ticks and $N_{d}$ is the number of down ticks.

### Step 2: Find option value at each final node

At each final node of the tree—i.e. at expiration of the option—the option value is simply its intrinsic, or exercise, value:
    Max [ (S$_n$ − K), 0 ], for a call option
    Max [ (K − S$_n$), 0 ], for a put option,
Where K is the strike price and $S_{n}$ is the spot price of the underlying asset at the nth period.

### Step 3: Find option value at earlier nodes

Once the above step is complete, the option value is then found for each node, starting at the penultimate time step, and working back to the first node of the tree (the valuation date) where the calculated result is the value of the option.
In overview: the "binomial value" is found at each node, using the risk neutrality assumption; see Risk neutral valuation. If exercise is permitted at the node, then the model takes the greater of binomial and exercise value at the node.
The steps are as follows:
* Under the risk neutrality assumption, today's fair price of a derivative is equal to the expected value of its future payoff discounted by the risk free rate. Therefore, expected value is calculated using the option values from the later two nodes (Option up and Option down) weighted by their respective (fixed) probabilities—"probability" p of an up move in the underlying, and "probability" (1−p) of a down move. The expected value is then discounted at r, the risk free rate corresponding to the life of the option.
    The following formula to compute the expectation value is applied at each node:
    ${\text{ Binomial Value }}=[p\times {\text{ Option up }}+(1-p)\times {\text{ Option down] }}\times \exp(-r\times \Delta t)$, or
    $C_{t-\Delta t,i}=e^{-r\Delta t}(pC_{t,i}+(1-p)C_{t,i+1})\,$
    where
    $C_{t,i}\,$ is the option's value for the $i^{th}\,$ node at time t,
    $p={\frac {e^{(r-q)\Delta t}-d}{u-d}}$ is chosen such that the related binomial distribution simulates the geometric Brownian motion of the underlying stock with parameters r and σ,
    q is the dividend yield of the underlying corresponding to the life of the option. It follows that in a risk-neutral world futures price should have an expected growth rate of zero and therefore we can consider $q=r$ for futures.
    Note that for p to be in the interval $(0,1)$ the following condition on $\Delta t$ has to be satisfied $\Delta t<{\frac {\sigma ^{2}}{(r-q)^{2}}}$.
    (Note that the alternative valuation approach, arbitrage-free pricing, yields identical results; see “delta-hedging”.)
* This result is the "Binomial Value". It represents the fair price of the derivative at a particular point in time (i.e. at each node), given the evolution in the price of the underlying to that point. It is the value of the option if it were to be held—as opposed to exercised at that point.
* Depending on the style of the option, evaluate the possibility of early exercise at each node: if (1) the option can be exercised, and (2) the exercise value exceeds the Binomial Value, then (3) the value at the node is the exercise value.
** For a European option, there is no option of early exercise, and the binomial value applies at all nodes.
** For an American option, since the option may either be held or exercised prior to expiry, the value at each node is: Max (Binomial Value, Exercise Value).
** For a Bermudan option, the value at nodes where early exercise is allowed is: Max (Binomial Value, Exercise Value); at nodes where early exercise is not allowed, only the binomial value applies.
In calculating the value at the next time step calculated—i.e. one step closer to valuation—the model must use the value selected here, for "Option up"/"Option down" as appropriate, in the formula at the node. The aside algorithm demonstrates the approach computing the price of an American put option, although is easily generalized for calls and for European and Bermudan options:

## Relationship with Black–Scholes

Similar assumptions underpin both the binomial model and the Black–Scholes model, and the binomial model thus provides a discrete time approximation to the continuous process underlying the Black–Scholes model. The binomial model assumes that movements in the price follow a binomial distribution; for many trials, this binomial distribution approaches the log-normal distribution assumed by Black–Scholes. In this case then, for European options without dividends, the binomial model value converges on the Black–Scholes formula value as the number of time steps increases.
In addition, when analyzed as a numerical procedure, the CRR binomial method can be viewed as a special case of the explicit finite difference method for the Black–Scholes PDE; see finite difference methods for option pricing.