Binomial and trinomial trees

Discrete-time pricing. The underlying moves up or down each step, the payoff is known at expiry, and the option value is rolled back one step at a time by discounting its expected value. American options can be exercised at any node, so the roll-back takes the larger of holding and exercising.

Contract

$

Spot price (S)

$

Strike (K)
Volatility (σ)
Annualised, 0.20 = 20%
Time to maturity (T)
Years
Risk-free rate (r)
Annualised, 0.05 = 5%
Dividend yield (q)
Annualised, continuous
Exercise style
Try this
0 of 3 done
Tree
Parameterisation
The classic tree: u = e^(σ√dt), d = 1/u, so the tree recombines around the spot. Simple, but the price oscillates as steps increase.
Steps
European call value

$10.43

Binomial (Cox-Ross-Rubinstein), 100 steps
Black-Scholes
$10.4506
Tree error
-0.0200
0.191% of the closed form

Tree parameters

Steps 100
Time step (dt) 0.010000
Up factor (u) 1.020201
Down factor (d) 0.980199
Up probability (p) 0.507502
Compute time (price and Greeks) 1.9 ms
Greeks

Raw values are partial derivatives. The practitioner column rescales them to the units traders quote: per 1 volatility point, per 1% of rate, or per calendar day. Delta, Gamma and Theta are read from the first two levels of the tree; the rest are bump-and-revalue.

Greek Definition Raw Practitioner Meaning
Delta Δ ∂V/∂S 0.63651 0.63651 per $1 of spot

How much the option price moves for a $1 move in the underlying. Also the number of shares needed to hedge one option.

Gamma Γ ∂²V/∂S² 0.018922 0.018922 per $1 of spot

How fast Delta changes as the underlying moves. High Gamma means the hedge must be rebalanced often.

Vega ν ∂V/∂σ 37.43 0.3743 per 1 vol point

Sensitivity to implied volatility. Long options gain value when volatility rises.

Theta Θ ∂V/∂t -6.4453 -0.017658 per calendar day

Time decay: how much value the option loses as one day passes with everything else unchanged.

Rho ρ ∂V/∂r 53.221 0.53221 per 1% of rate

Sensitivity to the risk-free rate. Calls gain and puts lose when rates rise.

Epsilon ε ∂V/∂q -63.651 -0.63651 per 1% of yield

Sensitivity to the dividend yield. Higher expected dividends lower the forward price, hurting calls and helping puts.

Second-order Greeks
Watch the tree

The tree grows from today's price, one step at a time, until the last layer shows the possible prices at expiry and what the option pays at each. Then the value rolls back to today: each node is the discounted average of the two after it, weighted by the risk-neutral probability p.

Showing a 10-step tree, so that every node can be read; the price above uses 100 steps, so the two values differ a little.

Playback speed
Step moves one layer while the tree grows and one node while the value rolls back. Hover or focus a node for its numbers; the arrow keys move between nodes.

u = 1.0653 · d = 0.9387 · p = 0.5238 · Δt = 0.1000 · e^(−rΔt) = 0.995012

Pays off at expiry (in the money) Pays nothing at expiry (out of the money) Node being computedP: the risk-neutral probability of ending at that price, from the binomial distribution

Tree explorer

The same contract and parameterisation on a small tree, so every node can be read. Hover a node for its exact values.

Steps: 4

4

Root value with 4 steps: $9.9705

p = 0.462p = 0.538Step 0, node 0: S = 100.0000, V = 9.9705, hold = 9.9705S 100.00V 9.971Step 1, node 0: S = 90.4837, V = 3.3173, hold = 3.3173S 90.48V 3.317Step 1, node 1: S = 110.5171, V = 15.9215, hold = 15.9215S 110.52V 15.922Step 2, node 0: S = 81.8731, V = 0.0000, hold = 0.0000S 81.87V 0.000Step 2, node 1: S = 100.0000, V = 6.2457, hold = 6.2457S 100.00V 6.246Step 2, node 2: S = 122.1403, V = 24.6093, hold = 24.6093S 122.14V 24.609Step 3, node 0: S = 74.0818, V = 0.0000, hold = 0.0000S 74.08V 0.000Step 3, node 1: S = 90.4837, V = 0.0000, hold = 0.0000S 90.48V 0.000Step 3, node 2: S = 110.5171, V = 11.7593, hold = 11.7593S 110.52V 11.759Step 3, node 3: S = 134.9859, V = 36.2281, hold = 36.2281S 134.99V 36.228Step 4, node 0: S = 67.0320, V = 0.0000, hold = 0.0000S 67.03V 0.000Step 4, node 1: S = 81.8731, V = 0.0000, hold = 0.0000S 81.87V 0.000Step 4, node 2: S = 100.0000, V = 0.0000, hold = 0.0000S 100.00V 0.000Step 4, node 3: S = 122.1403, V = 22.1403, hold = 22.1403S 122.14V 22.140Step 4, node 4: S = 149.1825, V = 49.1825, hold = 49.1825S 149.18V 49.182t = 0.000t = 0.250t = 0.500t = 0.750t = 1.000
Hold: value is the discounted expectation of the next step Early exercise: payoff beats holding
Convergence

Price against step count for every parameterisation. The dashed line is the closed form. Cox-Ross-Rubinstein oscillates around it as the strike moves between nodes; Leisen-Reimer places a node on the strike and converges smoothly.

An unhandled error has occurred. Reload 🗙

Reconnecting…

Your connection to Derivatives Lab dropped, probably a Wi-Fi blip. Hold on while it reconnects. Your inputs are kept.

The connection could not be restored. The page will reload in a few seconds and your inputs will reset.