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.
The binomial model was first proposed by William Sharpe in the 1978 edition of Investments (ISBN 013504605X),[1] and formalized by Cox, Ross and Rubinstein in 1979[2] and by Rendleman and Bartter in that same year.[3]
For binomial trees as applied to fixed income and interest rate derivatives see Lattice model (finance) § Interest rate derivatives.
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 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.[citation needed]
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(2n), 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.
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:
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 ( or ) per step of the tree (where, by definition, and ). So, if is the current price, then in the next period the price will either be or .
The up and down factors are calculated using the underlying volatility, , and the time duration of a step, , 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 , we have:
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.[4][5]
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:
Where is the number of up ticks and is the number of down ticks.
At each final node of the tree—i.e. at expiration of the option—the option value is simply its intrinsic, or exercise, value:
Where K is the strike price and is the spot price of the underlying asset at the nth period.
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:
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:
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.[4][5]
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.[6]