Binomial Option Pricing Tutorial and Spreadsheets

This tutorial introduces binomial option pricing, and offers an Excel spreadsheet to help you better understand the principles. Additionally, a spreadsheet that prices Vanilla and Exotic options with a binomial tree is provided.

Scroll down to the bottom of this article to download the spreadsheets, but read the tutorial if you want to lean the principles behind binomial option pricing.

Binomial option pricing is based on a no-arbitrage assumption, and is a mathematically simple but surprisingly powerful method to price options. Rather than relying on the solution to stochastic differential equations (which is often complex to implement), binomial option pricing is relatively simple to implement in Excel and is easily understood.

No-arbitrage means that markets are efficient, and investments earn the risk-free rate of return.

Binomial trees are often used to price American put options, for which (unlike European put options) there is no close-form analytical solution.

Price Tree for Underlying Asset

Consider a stock (with an initial price of S0) undergoing a random walk. Over a time step Δt, the stock has a probability p of rising by a factor u, and a probability 1-p of falling in price by a factor d. This is illustrated by the following diagram.

One Step Binomial Model

Cox, Ross and Rubenstein Model

Cox, Ross and Rubenstein (CRR) suggested a method for calculating p, u and d. Other methods exist (such as the Jarrow-Rudd or Tian models), but the CRR approach is the most popular.

Over a small period of time, the binomial model acts similarly to an asset that exists in a risk neutral world. This results in the following equation, which implies that the effective return of the binomial model (on the right-hand side) is equal to the risk-free rate

Additionally, the variance of a risk-neutral asset and an asset in a risk neutral world match. This gives the following equation.

The CRR model suggests the following relationship between the upside and downside factors.

Rearranging these equations gives the following equations for p, u and d.

The values of p, u and d given by the CRR model means that the underlying initial asset price is symmetric for a multi-step binomial model.

Two-Step Binomial Model

This is a two-step binomial lattice.

Two-Step Binomial Model

At each stage, the stock price moves up by a factor u or down by a factor d. Note that at the second step, there are two possible prices, u d S0 and d u S0. If these are equal, the lattice is said to be recombining. If they are not equal, the lattice is said to be non-recombining.

The CRR model ensures a recombining lattice; the assumption that u = 1/d means that u d S0 = d u S0 = S0, and that the lattice is symmetrical.

Multi-Step Binomial Model

The multi-step binomial model is a simple extension of the principles given in the two-step binomial model. We simply step forward in time, increasing or decreasing the stock price by a factor u or d each time.

Multi-Step Binomial Model

Each point in the lattice is called a node, and defines an asset price at each point in time. In reality, many more stages are usually calculated than the three illustrated above, often thousands.

Payoffs for Option Pricing

We will consider the following payoff functions.

Put: VN = max(X – SN, 0)

Call: VN = max(SN – X, 0)

VN is the option price at the expiry node N, X is the strike or exercise price, SN is the stock price at the expiry node N.

We now need to discount the payoffs back to today. This involves stepping back through the lattice, calculating the option price at every point.

This is done with an equation that varies with the type of option under consideration. For example, European and American options are priced with the equations below.

European Put: Vn = e-rΔt(p Vu + ( 1 – p ) Vd )

European Call: Vn = e-rΔt(p Vu + ( 1 – p ) Vd

American Put: Vn = max(X – Sn, e-rΔt ( p Vu + ( 1 – p ) Vd ))

American Call: Vn = max(Sn – X, e –rΔt ( p Vu + ( 1 – p ) Vd ))

N is any node before expiry.

Binomial Option Pricing in Excel

This Excel spreadsheet implements a binomial pricing lattice to calculate the price of an option. Simply enter some parameters as indicated below.

Excel will then generate the binomial lattice for you. The spreadsheet is annotated to improve your understanding.

Note that the stock price is calculated forward in time. However, the option price is calculated backwards from the expiry time to today (this is known as backwards induction).

The spreadsheet also compares the Put and Call price given by the binomial option pricing lattice with that given by the analytic solution of the Black-Scholes equation; for many time steps in the lattice, the two prices converge.

If you have any questions or comments about this binomial option pricing tutorial or the spreadsheet, then please let me know.

Pricing Vanilla and Exotic Options with Binomial Tree in Excel

This Excel spreadsheet prices several types of options (European, American, Shout, Chooser, Compound) with a binomial tree. The spreadsheet also calculate the Greeks (Delta, Gamma and Theta). The number of time steps is easily varied – convergence is rapid.

23 thoughts on “Binomial Option Pricing Tutorial and Spreadsheets”

Hi I was wondering whether you have any spreadsheets that calculate the price of an option using the binomial option pricing model (CRR) (including dividend yield)..and then a comparison against the black scholes price (for the same variables) could be shown on a graph (showing the convergence)

I’ve hacked together this worksheet. It compares prices of European options given by analytical equations and a binomial tree. You can change the number of binomial steps to compare the convergence against the analytical solution

the delta of an option is approximately the probability of being in the money at expiry. using simple statistics will get you close. If your in a pinch for implied volatility you can use historical as a proxy.

All of these “proxies” and assumptions will get you further from the model delta but will give you an idea.

As an example. If the stock is trading at 230 and the strike is 230 it makes sense to think that the stock can be higher or lower and therefore the delta is around 50. On the other hand, the 100 strike call will almost 100% be in the money by expiry (using you time to expiry example) so it makes sense that its delta is 1 (or 100 depending on the way you look at delta)

Hi Samir, am writing a paper over the Binomial method for my school. I would like to have your permission to copy the two step Binomial graphic onto my paper. It will be referenced following the APA citation guide.

Hi, the model works perfect when excercise price is close to stock price and/or Time to maturity is close to number of steps. I’m novice in Binomial models and have experimented by changing Exercise price and/or number of steps substantially. If I have a far out of money Strike price. The value from the Binomial model approaches Zero while B&S value is more “resistant”. If I decreases the number of steps to 1 the value from the Binomial models increases dramatically while B&S value stays the same. Is there somehting that you can say about limitations regarding the Binomial model ? When to use and not to use. ?

There are multiple ways to go about this. The best way is to use a discrete dividend model and enter the actual date the dividend is paid. I have not seen an appropriate model in investexcel.com yet.

in place of this, simply determine the total dollar value of all quarterly dividends paid between Time=0 and expiration. take this number, divide by current stock price to get dividend yield. Use this yield in the models provided by Samir. The major inaccuracy will come from a mispricing of american premium as a large dividend paid tomorrow vs the same dividend paid one day before expiry will have different effects on the american premium.

Hi, Can you place point me to information regarding how to calculate the greeks of these options using the binomial model? I know how to do it for Black-Scholes but not for American
options. Thanks for any help you can give me, and great work on your spreadsheet.

First of all, I want to say thank you for posting this, particularly the Excel spreadsheet that shows the binomial price tree with guides / illustrations. Extremely helpful.

Second, I have been playing around with that file, and I believe I discovered one small bust in the spreadsheet. While trying to figure out how the put option pricing equation works in cell E9, I noticed that the formula references B12 (nSteps), but I am pretty sure it is supposed to reference B11 (TimeToMaturity) instead.

It seems to me that the logic of that formula is that the price of the put option is driven by the price of say buying the call and selling the underlying stock (creating a synthetic put, setting dividends aside for this purpose), and then adjusting this value by discounting the future strike of the put by r for t periods, which I vaguely seem to recall is adjusting for the imputed rate of return on excess cash from the stock sale. In any case, nSteps in principle shouldn’t come into play here.

D, I saw the same thing about put pricing as well. I think it was trying to use put-call parity[1], but as you note it’s using the wrong variable. Formula should be: =E8+StrikePrice*EXP(-RiskFreeRate*TimeToMaturity)-SpotPrice