Binomial options pricing model

From Wikipedia, the free encyclopedia

Jump to: navigation, search
BOPM redirects here; for other uses see BOPM (disambiguation).

In finance, the binomial options pricing model (BOPM) provides a generalizable numerical method for the valuation of options. The binomial model was first proposed by Cox, Ross and Rubinstein (1979). Essentially, the model uses a "discrete-time" model of the varying price over time of the underlying financial instrument.

Contents

[edit] Use of the model

The Binomial options pricing model approach is widely used as it is able to handle a variety of conditions for which other models cannot easily be applied. This is largely because the BOPM models the underlying instrument over time - as opposed to at a particular point. For example, the model is used to value American options which can be exercised at any point and Bermudan options which can be exercised at various points. The model is also relatively simple, mathematically, and can therefore be readily implemented in a software (or even spreadsheet) environment.

Although slower than the Black-Scholes model, it is considered more accurate, particularly for longer-dated options, and 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), or for options with complicated features (e.g. Asian options), lattice methods face several difficulties and are not practical. Monte Carlo option models are generally used in these cases. Monte Carlo simulation is, however, time-consuming in terms of computation, and is not used when the Lattice approach (or a formula) will suffice. See Monte Carlo methods in finance.

[edit] Methodology

The binomial pricing model uses a "discrete-time framework" to trace the evolution of the option's key underlying variable via a binomial lattice (tree), for a given number of time steps between valuation date and option expiration.

Each node in the lattice, represents a possible price of the underlying, at a particular point in time. This price evolution forms the basis for the option valuation.

The valuation process is iterative, starting at each final node, and then working backwards through the tree to the first node (valuation date), where the calculated result is the value of the option.

Option valuation using this method is, as described, a three step process:

  1. price tree generation
  2. calculation of option value at each final node
  3. progressive calculation of option value at each earlier node; the value at the first node is the value of the option.

[edit] 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 \ge 1 and 0 < d \le 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 volatility, σ 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 σ2t, we have:

u = e^{\sigma\sqrt t}
d = e^{-\sigma\sqrt t} = \frac{1}{u}.

The above is the original Cox, Ross, & Rubinstein (CRR) method; there are other techniques for generating the lattice, such as "the equal probabilities" tree.

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 that the value of the underlying asset at each node can 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:

Nu : Number of up ticks
Nd : Number of down ticks

[edit] 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 – K), 0 ], for a call option
Max [ (K – S), 0 ], for a put option:
Where: K is the Strike price and S is the spot price of the underlying asset

[edit] 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:

1) 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 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:
Binomial Value = [ p × Option up + (1-p) × Option down] × exp (- r × Δt), or
C_{t-\Delta t,i} = e^{-r \Delta t}(pC_{t,i+1} + (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.
(Note that the alternative valuation approach, arbitrage-free pricing, yields identical results; see "delta-hedging".)

2) 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.

3) 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 following algorithm demonstrates the approach computing the price of an american put option, although is easily generalised for calls and for european and bermudan options:

function americanPut(T, S, K, r, sigma, q, n) {
    '        T... expiration time
    '        S... stock price
    '        K... strike price
    '        n... height of the binomial tree
    deltaT:= T/ n; 
    up:=     exp(sigma* sqrt(deltaT));

    p0:=     (up* exp(-r* deltaT)- exp(-q* deltaT))* up/ (up^ 2- 1);
    p1:=     exp(-r* deltaT)- p0;

    for i:= 0 to n {                         ' initial values at time T
        p(i):= K- S* up^(2* i- n); if p(i)< 0 then p(i)=0;
    }

    for j:= n- 1 to 0 step -1 {              ' move to earlier times
        for i:= 0 to j {
            p(i):= p0* p(i)+ p1* p(i+1);     ' binomial value
            exercise:= K- S* up^ (2* i- j);  ' exercise value
            if p(i)< exercise then p(i)= exercise;
        }    
    }
    return americanPut:= p(0);
}


[edit] Discrete dividends

In practice, the use of continuous dividend yield, q, in the formula above can lead to significant mis-pricing of the option near an ex-dividend date. Instead, it is common to model dividends as discrete payments on the anticipated future ex-dividend dates.

To model discrete dividend payments in the binomial model, apply the following rule:

  • At each time step, i, calculate \sum{PV(D_k)}, for all k < i where PV(Dk) is the present value of the k-th dividend. Subtract this value from the value of the security price S at each node (i, j).

[edit] 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. In fact, for European options without dividends, the binomial model value converges on the Black-Scholes formula value as the number of time steps increases. The binomial model assumes that movements in the price follow a binomial distribution; for many trials, this binomial distribution approaches the normal distribution assumed by Black-Scholes.

[edit] See also

[edit] References

  • Richard J. Rendleman, Jr. and Brit J. Bartter. 1979. "Two-State Option Pricing". Journal of Finance 24: 1093-1110. [2]

[edit] External links

[edit] Discussion

[edit] Variations

American and Bermudan options

Other tree structures

Fixed income derivatives

[edit] Computer Implementations

Spreadsheets

Online

Programming Languages

Personal tools