Quant from Scratch by QuantWright

Options and Derivatives · Lesson 3

Pricing without a crystal ball: the binomial tree

Price an option by building something that pays exactly what it pays, whichever way the share goes. How likely "up" is never enters.

Know the basics? Read the lesson notes

A share with two futures

A made-up share sells for €100 today. Suppose only two things can happen by next year: it rises to €119 or falls to €84. Every number in this lesson is made up.

A call is the right, but not the duty, to buy one share at a fixed price, the strike, on a set last day. Take a call with a strike of €105 and a last day a year from now. What it pays then is its payoff: the share's price minus €105, or 0 if the share is below €105, since nobody pays €105 for a share worth less.

If the share ends at €119, what does the call pay, in euros?

Hint: the call lets you buy at €105 a share that is worth €119.

119 − 105 = €14: you buy for €105 a share worth €119. If the share ends at €84, the call pays 0: nobody pays €105 for an €84 share.
The payoff is the price minus the strike: 119 − 105 = €14. If the share ends at €84, the call pays 0, because nobody pays €105 for an €84 share.

One year, two outcomes (made-up prices)

Each box: the share's price, and what the call pays a year from now.

The question for the whole lesson: what is this call worth today, before anyone knows which way the share goes?

A first guess

Suppose you think the share has a 75% chance of going up (a made-up figure). Money can be borrowed or lent for a year at an interest rate of 5%: €1 today grows to €1.05 in a year, so €1.05 a year from now is worth €1 today. Dividing a later amount by 1.05 gives what it is worth today, its present value.

On average the call pays 0.75 × 14 + 0.25 × 0 = €10.50 in a year, and €10.50 ÷ 1.05 = €10 today. What would you say the call is worth today?

Keep your guess in mind. The next two screens work out the price another way, without using the 75% at all, and name the answer.

Copy the call's swing

Another way to value the call: build something you can price today that pays exactly what the call pays, in both cases. Start with shares. Between the two cases the call's payoff swings by 14 − 0 = €14; one share swings by 119 − 84 = €35. Drag the number of shares (fractions allowed) until your shares swing by €14 too.

What your shares and the call are worth in a year (made-up prices)

Each row runs from its value if the share falls (left dot) to its value if it rises (right dot).

Shares if down€84.00
Shares if up€119.00
Shares' swing€35.00
Call's swing€14.00

0.4 of a share swings by 0.4 × 35 = €14, like the call: it is worth €33.60 if the share falls and €47.60 if it rises.

That number of shares, the call's swing divided by the share's swing, is the call's delta (written Δ): (14 − 0) ÷ (119 − 84) = 0.4.

Borrow the rest

The 0.4 shares will be worth €33.60 or €47.60; the call pays €0 or €14. In both cases the shares are worth €33.60 more than the call. So borrow money today and repay €33.60 in a year: then the shares minus what you owe pay €0 or €14, exactly what the call pays.

At 5% a year, how much can you borrow today, if you will repay €33.60 in a year?

Hint: what you borrow grows by 5% to €33.60, so divide €33.60 by 1.05.

€33.60 ÷ 1.05 = €32, the present value of €33.60. Check: €32 × 1.05 = €33.60.
What you borrow today grows by 5% to what you repay, so today's amount is €33.60 ÷ 1.05 = €32. Check: €32 × 1.05 = €33.60.

The copy: 0.4 shares, minus €33.60 owed (made-up prices)

The bottom row is the copy. Its dots sit exactly on the call's.

The copy costs 0.4 × €100 = €40 for the shares, of which the loan pays €32: €40 − €32 = €8 of your own money today.

Holdings that pay what the call pays in every case are a replicating portfolio (a portfolio is a set of holdings). Two things that pay the same in every case must cost the same today, or someone collects money for nothing (a few steps on shows why). So the call is worth €8: the first guess's answer was C, less than €10.

The 75% never came in

The copy's cost used the share's price today, its two possible prices, the strike and the interest rate. The 75% chance of up appeared nowhere. Drag the chance of up and compare the two numbers.

The call's average payoff at today's value, against the copy's cost (made-up)

Across: the chance that the share goes up. Grey: the average payoff divided by 1.05. Orange: the copy's cost.

Average payoff ÷ 1.05€10.00
Copy's cost€8.00

The average moves with the chance of up; the copy's cost stays at €8, because the copy pays what the call pays in both cases, whichever is more likely.

Beliefs still matter to the share: what people expect is part of why it sells for €100 today. Given that price, the call's price follows. The two lines cross at one chance of up, 60%. The next screen shows why there.

A shortcut: the risk-neutral chance

Call q the chance of up that would make the share grow on average exactly as fast as money at interest, from €100 to €105: q × 119 + (1 − q) × 84 = 105, so q = (105 − 84) ÷ (119 − 84).

Work out q, as a decimal.

Hint: (105 − 84) ÷ (119 − 84).

(105 − 84) ÷ (119 − 84) = 21 ÷ 35 = 0.6.
(105 − 84) ÷ (119 − 84) = 21 ÷ 35 = 0.6. Check: 0.6 × 119 + 0.4 × 84 = 71.40 + 33.60 = 105.

Average the payoff with q and take its present value: (0.6 × 14 + 0.4 × 0) ÷ 1.05 = 8.40 ÷ 1.05 = €8, the copy's cost again.

q is called the risk-neutral probability. It is not the real chance of up and not a forecast: it is a weight worked out from the share's prices and the interest rate, and would be the chance of up only in a world where nobody asked for extra return for taking risk, hence the name. Why it always matches: with q as the weight, the share's own average grows at the interest rate, and a loan grows at that rate too, so anything built from the share and a loan, the copy included, has a q-average a year from now equal to its cost today × 1.05; dividing by 1.05 gives back that cost. It says nothing about whether the share will rise. (The theory card further on writes q in general form.)

A wrong price is free money

A dealer (a firm that quotes prices to buy and sell; made up here) offers to buy this call from you for €9, a euro above the copy's cost: its quote. An arbitrage is a set of trades that ends with money in every case, with none of your own money put in. Which trades lock one in?

Holding a call is a bet that the share rises: it pays €14 or €0. Nothing about it is sure, and it doesn't use the dealer's €9.
You take €9 and spend €8 of your own on the copy (0.4 shares for €40, €32 of it borrowed): €1 left now. In a year, if up: shares €47.60, repay €33.60, pay the call's €14, leaving 0. If down: €33.60 − €33.60 − 0 = 0. The €1 is yours either way.
That keeps the €9 only if the share falls. If it rises, you owe the call's €14 and end €5 down (before interest). A sure profit needs the copy too: sell for €9, build the copy for €8, keep €1 in both cases.

The sure profit from a quote (made-up prices)

Across: the quoted price. The dashed line is the copy's €8.

Tradesell the call, build the copy
Cash today+€1.00
Owed in a year€0 if up, €0 if down

Below €8 it runs the other way: buy the call and sell the copy, by short selling 0.4 shares (selling shares you have borrowed, to hand back later) and lending €32. Only at €8 is there no sure profit, which is why €8 is called the call's no-arbitrage price.

Two steps: work back from the end

Now give the call two years, the share moving the same way each year (× 1.19 or × 0.84) and interest 5% a year. After two years the share is at 100 × 1.19 × 1.19 = €141.61, 100 × 1.19 × 0.84 = €99.96 (up then down, or down then up), or 100 × 0.84 × 0.84 = €70.56. A drawing of every path like this is a binomial tree, binomial because each step has two branches. With the strike still €105, only the top end pays: 141.61 − 105 = €36.61.

Value the call after an up year. From there it is a one-step problem: a year later the call pays €36.61 or €0, so it is worth (q × 36.61 + (1 − q) × 0) ÷ 1.05, with q = 0.6 as before. How many euros is that?

Hint: 0.6 × 36.61, then divide by 1.05.

0.6 × 36.61 = 21.966, and 21.966 ÷ 1.05 = €20.92.
0.6 × 36.61 = 21.966, and 21.966 ÷ 1.05 = €20.92. (Without dividing by 1.05 you get the value a year later, not at that point.)

The two-year tree, worked back from the end (made-up prices)

Each point: the share's price, and the call's value there.

After a down year, both later prices are below €105, so the call is worth €0 there. One more step back: (0.6 × 20.92 + 0.4 × 0) ÷ 1.05 = 12.552 ÷ 1.05 = €11.95 today.

Stepping back from the end one step at a time like this is called backward induction. Each point has its own delta: (20.92 − 0) ÷ (119 − 84) ≈ 0.60 of a share today, (36.61 − 0) ÷ (141.61 − 99.96) ≈ 0.88 after an up year. So the copy must be adjusted at every step.

Many steps: the price settles

Back to the one-year call. Two outcomes for a whole year is crude, so cut the year into n shorter steps. Each step still goes up or down, but by less, because a shorter step has less time to move: the sizes are set so that the year's spread of prices stays about the same whatever n is (the exact rule is in the lesson's "For the precise" box). With one step it is the first tree, worth €8.

As n goes from 1 to 200, what happens to the call's price?

Keep your guess in mind and drag the number of steps below.

The one-year call's price by number of steps (made-up inputs)

Each dot: the price from a tree with that many steps, worked back from the end. Dashed: the limit.

Each step: up+19.00%
or down−16.00%
Call's price€8.00

It settles, so the answer is B. One step gives €8.00, 12 steps €7.06, 100 steps €6.95. On the way it zigzags between odd and even numbers of steps, by more than 10 cents in the first 20, and the swings shrink, unevenly: from 100 steps on, every price is within 2 cents of €6.94.

That limit has a formula of its own, the Black–Scholes formula, which the Black–Scholes lesson builds from this tree. €8 and €6.94 rest on the same spread of prices over the year; they differ because one step allows only two outcomes.

Theory

Pricing by copying: the one-step binomial model

If shares and borrowing pay exactly what a contract (an option such as the call, or any deal whose payoff depends on the share) pays in every case, the contract's price is their cost today; any other price is an arbitrage. This is no-arbitrage pricing by replication; with two outcomes per step it is the binomial model (Cox, Ross and Rubinstein, 1979). The risk-neutral probability q gives the same price: average the payoffs with q, then divide by 1 + r.

Δ = (Cu − Cd) ÷ (S·u − S·d)
B = (Δ·S·d − Cd) ÷ (1 + r)  ·  C = Δ·S − B
q = ((1 + r) − d) ÷ (u − d)
C = [q·Cu + (1 − q)·Cd] ÷ (1 + r)
S
the share's price at the start of the step
u, d
the up and down factors: the share ends the step at S·u or S·d
r
the interest rate for one step, for borrowing and lending
Cu, Cd
the contract's payoff (in a longer tree, its value) at the end of the step if up / if down
Δ
delta: the shares in the copy
B
what the copy borrows at the start (negative: lends)
C
the contract's no-arbitrage price at the start of the step
q
the risk-neutral probability: a weight from u, d and r, not the real chance of up
Worked example: the call priced on this page

S = 100, u = 1.19, d = 0.84, r = 0.05, strike 105: Cu = 14, Cd = 0.

Δ = 14 ÷ (119 − 84) = 0.4. B = (0.4 × 84 − 0) ÷ 1.05 = 32. C = 0.4 × 100 − 32 = 8.

q = (1.05 − 0.84) ÷ (1.19 − 0.84) = 0.6. C = (0.6 × 14 + 0.4 × 0) ÷ 1.05 = 8.

Holds when
  • over each step the share can end only at S·u or S·d;
  • you can buy or sell any amount of the share, fractions and short sales included, with no costs;
  • you can borrow and lend any amount at the one rate r;
  • d < 1 + r < u (otherwise buying the share with borrowed money, or short selling it and lending, can't lose and may gain, and q is not strictly between 0 and 1);
  • over several steps, the copy is adjusted at every step.
Breaks when

The price can land anywhere else in a step (three or more outcomes, or a jump): then no mix of shares and a loan copies the call in every case. Costs, limits on borrowing or short selling, and moves of a different size from the tree's leave a gap, as the hedging simulation on the next screen shows.

The situationA made-up share at €50 will be at €60 or €45 at the end of one step. Interest for the step is 2%. A call has a strike of €52.

What is the call's no-arbitrage price today, in euros (to the cent)?

Hint: u = 60 ÷ 50 = 1.2 and d = 45 ÷ 50 = 0.9; the call pays 60 − 52 = 8 if up and 0 if down. Find q, then the price.

q = (1.02 − 0.9) ÷ (1.2 − 0.9) = 0.12 ÷ 0.3 = 0.4. C = (0.4 × 8 + 0.6 × 0) ÷ 1.02 = 3.20 ÷ 1.02 ≈ €3.14. The copy agrees: Δ = 8 ÷ 15 ≈ 0.533, B = (0.533 × 45) ÷ 1.02 = 24 ÷ 1.02 ≈ 23.53, and 0.533 × 50 − 23.53 = 26.67 − 23.53 = 3.14.
q = (1.02 − 0.9) ÷ (1.2 − 0.9) = 0.12 ÷ 0.3 = 0.4. C = (0.4 × 8 + 0.6 × 0) ÷ 1.02 = 3.20 ÷ 1.02 ≈ €3.14. (3.20 forgets to divide by 1.02; the copy gives the same €3.14.)

Hedging with the tree, in two worlds

A seller of the call can cancel its risk by holding the copy, adjusted at every step to the tree's delta. Holding something that cancels a risk you carry is hedging. In the tree, the hedged seller should end with no surplus and no shortfall.

A Monte Carlo simulation (many random paths, then counts) tests this on 10,000 made-up paths of 12 months. The seller sells the one-year call for the 12-step tree's price, €7.06, and adjusts monthly. Each month is up with a made-up chance of 55%, not the tree's q. In the tree's own world a month is up 5.15% or down 4.90%, as the tree assumes. In the "bigger moves" world the same ups and downs are about half as big again, up 7.83% or down 7.27%, but the seller still prices and hedges with the tree. Look at both.

The hedged seller's result after a year, 10,000 simulated paths

What is left after paying the call's payoff, before costs. Each bar counts paths; 0 means the copy paid exactly what the call owed.

Paths–
Within a cent of 0–
Lost money–
Average result–
Tree's own world: within a cent of 0–

In this simulation, in the tree's own world the hedged seller ended within a cent of 0 on all 10,000 paths, whichever way each went. With bigger moves, the same hedge lost money on all 10,000 paths, €3.64 on average, before costs.

The seller charged for moves of the tree's size, and bigger moves cost more to hedge, because the shares you hold are set for the tree's size of move, not the real one, so each month's adjustment leaves a small loss, whichever way the move goes. That is why every path lost. These counts belong to two made-up worlds with two outcomes a month; they can't show how often real prices move more than assumed, or what costs or jumps would do.

What the tree assumes

The tree's price is exact, given its assumptions. Turn them over one at a time.

  1. Two outcomes per step.

    A real price can end anywhere. Shorter steps bring the tree closer, but each step still has only two outcomes, and a sudden jump fits none of them.

Practice 1 of 2

A dealer's quote

The situationA made-up share is at €80 and in one year will be at €100 or €68. You can borrow and lend for the year at 3%. A dealer (a firm that quotes prices to buy and sell; made up here) offers to buy a one-year call with a strike of €80 from you for €10.

What sure profit, in euros today, can you lock in per call (to the cent)?

Hint: price the call first. u = 100 ÷ 80 = 1.25, d = 68 ÷ 80 = 0.85, payoffs 20 and 0. Then compare with €10.

q = (1.03 − 0.85) ÷ (1.25 − 0.85) = 0.18 ÷ 0.4 = 0.45. Price = (0.45 × 20 + 0.55 × 0) ÷ 1.03 = 9 ÷ 1.03 ≈ €8.74. Sell the call for €10, build the copy for €8.74: about €1.26 now, and the copy pays what you owe in both cases.
q = (1.03 − 0.85) ÷ (1.25 − 0.85) = 0.45, so the price is (0.45 × 20) ÷ 1.03 ≈ €8.74. Selling for €10 and building the copy for €8.74 leaves about €1.26 now, with nothing owed in either case.
Practice 2 of 2

A confident friend

The situationA friend (made up) is sure the share in this lesson (€100 today, €119 or €84 in a year, interest 5%) will go up: he puts the chance at 90%. He says the call with a strike of €105 is worth 0.9 × 14 ÷ 1.05 = €12, and offers to pay €11 for it.

Which is right?

His €12 uses his own chance of up. But the call's payoffs can be built for €8 (0.4 shares and a €32 loan), so whoever sells him the call at €11 can build that copy and keep €3 whichever way the share goes.
If the share falls, the call pays 0 and he loses the €11. A 90% belief is not a guarantee.
The copy, 0.4 shares and a €32 loan, costs €8 and pays €14 or €0, as the call does. At €11 he hands €3 to the seller, who builds the copy and keeps it in both cases. If he wants the bet on up, the copy gives him the same payoffs for €8.
✓

Lesson done

When a portfolio of shares and a loan pays exactly what an option pays in every case, as it does in a binomial tree, the option's price is that portfolio's cost today; any other price lets someone make a sure profit. The real chance of up never enters: the risk-neutral probability q is a pricing weight, not a forecast. With many short steps, moves shrinking as the steps do, the tree's price settles toward the Black–Scholes value, and it is only as good as the tree's assumptions about the moves.

Key ideas

Binomial tree
a model of a price that, at each step, goes up by a factor u or down by a factor d, and nothing else
Replicating portfolio
shares and borrowing (or lending) that pay exactly what an option pays in every outcome of the model
Delta (Δ)
the shares in the replicating portfolio: the option's swing between up and down divided by the share's
Arbitrage
trades that end with money in every case, with none of your own money put in
No-arbitrage price
the only price that allows no arbitrage: in a binomial tree, the replicating portfolio's cost
Short selling
selling shares you have borrowed, to hand back later
Risk-neutral probability (q)
in a binomial tree, the weight on "up" that makes the share grow on average at the interest rate; used for pricing, it is not the real chance of up
Backward induction
valuing a tree from its last step back to today, one one-step problem at a time

Δ = (Cu − Cd) ÷ (S·u − S·d)  ·  B = (Δ·S·d − Cd) ÷ (1 + r)  ·  C = Δ·S − B

q = ((1 + r) − d) ÷ (u − d)  ·  C = [q·Cu + (1 − q)·Cd] ÷ (1 + r)

Lesson notes

In a binomial tree, where a share can only go up by a factor u or down by a factor d over each step, an option's payoff can be copied exactly by holding some shares and borrowing (or lending) the rest. The option's price is what that copy costs today; any other price is an arbitrage, a sure profit with none of your own money. The real chance of up never enters. The risk-neutral probability q = ((1 + r) − d) ÷ (u − d), where r is the interest rate for one step, gives the same price as a discounted average; it is a weight, not a forecast. With many short steps the price settles toward the Black–Scholes value. It holds only under the tree's assumptions: two outcomes per step, no costs, one interest rate, adjusting at every step, and moves of the assumed size. All numbers are made up.

The set-up

A made-up share is at €100 today and in a year will be at either €119 or €84. A call is the right, but not the duty, to buy the share at a fixed price, the strike, on a set last day. A call with a strike of €105, ending in a year, has a payoff (what it pays then) of 119 − 105 = €14 if the share rises, and 0 if it falls, since nobody pays €105 for an €84 share. Money can be borrowed or lent at 5% a year, so €1.05 in a year has a present value of €1 today.

The first guess

With a made-up 75% chance of up, the call pays 0.75 × 14 = €10.50 on average, and €10.50 ÷ 1.05 = €10 today. That is not its price.

The copy

The call swings by €14 between the two cases; one share swings by 119 − 84 = €35. So 0.4 of a share swings by €14 too: worth €33.60 if the share falls and €47.60 if it rises. That number is the call's delta (Δ). In both cases the shares are worth €33.60 more than the call, so borrow today the present value of €33.60, which is 33.60 ÷ 1.05 = €32. The shares minus what is owed then pay €0 or €14, exactly as the call does: a replicating portfolio. It costs 0.4 × €100 − €32 = €8 today. Two things that pay the same in every case must cost the same, so in this tree the call's price is €8, less than the €10 guess.

The chance of up never came in

The copy's cost used the share's price, its two possible prices, the strike and the interest rate. Whatever the chance of up, the copy pays what the call pays in both cases, so the price stays €8; only the discounted average payoff moves with the chance. Beliefs still matter to the share: they are part of why it sells for €100. Given that price, the call's price follows.

The risk-neutral probability q is the chance of up that would make the share grow on average at the interest rate: q × 119 + (1 − q) × 84 = 105, so q = (1.05 − 0.84) ÷ (1.19 − 0.84) = 0.6. Averaging the payoff with it and dividing by 1.05 gives (0.6 × 14) ÷ 1.05 = €8, the copy's cost. Why it always matches: with q as the weight, the share's own average grows at the interest rate, and a loan grows at that rate too, so anything built from the share and a loan, the copy included, has a q-average a year from now equal to its cost today × 1.05; dividing by 1.05 gives back that cost. It is not the real chance of up and not a forecast; it would be the chance of up only in a world where nobody asked for extra return for risk.

Arbitrage

An arbitrage is a set of trades that ends with money in every case, with none of your own money put in. If a dealer (a firm that quotes prices to buy and sell) will buy the call for €9, its quote, sell it to them and build the copy for €8: €1 is left today, and in a year the copy pays exactly what the call owes, whichever way the share goes. Below €8, buy the call and sell the copy instead: short sell 0.4 shares (sell shares you have borrowed, to hand back later) and lend €32. Only €8 allows no sure profit: the call's no-arbitrage price.

Two steps and backward induction

Give the call two years, with the share moving up × 1.19 or down × 0.84 each year. It ends at €141.61, €99.96 or €70.56, and with a strike of €105 only the top pays, €36.61. A drawing of every path is a binomial tree. Working back one step at a time with q = 0.6 (backward induction): after an up year the call is worth (0.6 × 36.61) ÷ 1.05 = €20.92; after a down year €0; today (0.6 × 20.92) ÷ 1.05 = €11.95. The delta changes from point to point, about 0.60 today and 0.88 after an up year, so the copy must be adjusted at every step.

Many steps

Cutting the one-year call's year into n shorter steps, with moves that shrink so the year's spread of prices stays about the same and interest over all the steps adding up to 5%, the price goes from €8.00 with one step to €7.06 with 12 and €6.95 with 100. It zigzags between odd and even n, by more than 10 cents in the first 20 steps, and settles, unevenly: from 100 steps on, every price is within 2 cents of €6.94, the limit given by the Black–Scholes formula, the subject of later lessons.

Hedging with the tree, in a simulation

Hedging is holding something that cancels a risk you carry. A seller sold the one-year call for the 12-step tree's price, €7.06, held the tree's delta in shares and adjusted it every month, on 10,000 simulated paths of 12 months (a Monte Carlo simulation: many random paths, then counts). Each month was up with a made-up chance of 55%. In the tree's own world (each month up 5.15% or down 4.90%), the seller ended within a cent of 0 on all 10,000 paths. With moves about half as big again (up 7.83% or down 7.27%), priced and hedged with the same tree, the hedge lost money on all 10,000 paths, €3.64 on average, before costs: the shares held were set for the tree's size of move, not the real one, so each month's adjustment left a small loss, whichever way the move went. These counts belong to two made-up worlds with two outcomes a month; they can't show how often real prices move more than assumed, or what costs and jumps would do.

What the tree assumes

Two outcomes per step; no costs, and borrowing and lending in any amount at one rate, short selling included; adjusting the copy at every step, in the limit without pause; and moves of the assumed size, which come from an assumed volatility (how widely returns typically spread: roughly, the typical size of a move). The tree is a model: its price follows exactly from its assumptions, and no further.

Formula: pricing by copying, the one-step binomial model

If shares and borrowing pay exactly what a contract (an option such as the call, or any deal whose payoff depends on the share) pays in both outcomes of a step, the contract's price is their cost at the start of the step; the risk-neutral probability gives the same price as a discounted average. Both hold only inside the model (Holds when, below).

Δ = (Cu − Cd) ÷ (S·u − S·d)
B = (Δ·S·d − Cd) ÷ (1 + r)  ·  C = Δ·S − B
q = ((1 + r) − d) ÷ (u − d)
C = [q·Cu + (1 − q)·Cd] ÷ (1 + r)
S
the share's price at the start of the step
u, d
the up and down factors: the share ends the step at S·u or S·d
r
the interest rate for one step, for borrowing and lending
Cu, Cd
the contract's payoff (in a longer tree, its value) at the end of the step if up / if down
Δ
delta: the shares in the copy
B
what the copy borrows at the start (negative: lends)
C
the contract's no-arbitrage price at the start of the step
q
the risk-neutral probability: a weight from u, d and r, not the real chance of up
Worked example

S = 100, u = 1.19, d = 0.84, r = 0.05, strike 105: Cu = 14, Cd = 0. Δ = 14 ÷ 35 = 0.4; B = (0.4 × 84) ÷ 1.05 = 32; C = 40 − 32 = 8. q = 0.21 ÷ 0.35 = 0.6; C = (0.6 × 14) ÷ 1.05 = 8.

Holds whenBreaks when

The price can land anywhere else in a step (three or more outcomes, or a jump), so no mix of shares and a loan copies the call in every case. Costs, limits on borrowing or short selling, and moves of a different size from the tree's leave a gap: in the simulation, moves half as big again made the hedge lose on every path.

One more worked example

New made-up numbers

A share at €40 will be at €50 or €35 after one step; interest for the step is 4%; a call has a strike of €42. So u = 50 ÷ 40 = 1.25, d = 35 ÷ 40 = 0.875, and the call pays Cu = 50 − 42 = 8 or Cd = 0.

The copy: Δ = 8 ÷ (50 − 35) = 8 ÷ 15 ≈ 0.5333 of a share. B = (0.5333 × 35) ÷ 1.04 = 18.67 ÷ 1.04 ≈ €17.95. C = 0.5333 × 40 − 17.95 = 21.33 − 17.95 = €3.38.

The shortcut: q = (1.04 − 0.875) ÷ (1.25 − 0.875) = 0.165 ÷ 0.375 = 0.44; C = (0.44 × 8 + 0.56 × 0) ÷ 1.04 = 3.52 ÷ 1.04 ≈ €3.38. Both give the same price.

Common mistakes

Check yourself

  1. A share at €20 will be at €25 or €18 after one step; interest for the step is 5%. What is the price of a call with a strike of €20?
    Answer

    u = 1.25, d = 0.9, payoffs 5 and 0. q = (1.05 − 0.9) ÷ (1.25 − 0.9) = 0.15 ÷ 0.35 ≈ 0.4286. Price = (0.4286 × 5) ÷ 1.05 ≈ €2.04. The copy agrees: Δ = 5 ÷ 7 ≈ 0.714, B = (0.714 × 18) ÷ 1.05 ≈ 12.24, and 0.714 × 20 − 12.24 ≈ 2.04.

  2. Why doesn't the real chance of up change the call's price in a binomial tree?
    Answer

    Because shares and a loan can be bought that pay exactly what the call pays in both cases, and their cost uses only the share's price, its two possible prices, the strike and the interest rate. Any other price for the call would be an arbitrage. The chance of up affects the share's own price, which is taken as given.

  3. In the lesson's tree, a dealer (a firm that quotes prices to buy and sell) sells the call for €7. What trades lock in a profit, and how much today?
    Answer

    Buy the call for €7 and sell the copy: short sell 0.4 shares for €40 and lend €32 of it. That leaves €40 − €7 − €32 = €1 today. In a year the call's payoff plus the €33.60 repaid to you exactly buys back the 0.4 shares, up or down.

  4. In the two-year tree, the call is worth €20.92 after an up year and €0 after a down year. What is it worth today?
    Answer

    (0.6 × 20.92 + 0.4 × 0) ÷ 1.05 = 12.552 ÷ 1.05 ≈ €11.95.

  5. In the simulation, the hedge ended within a cent of 0 on every path in one world and lost on every path in the other. What was different?
    Answer

    Only the size of the moves: in the tree's own world each month moved as the tree assumed; in the other the moves were about half as big again, while the seller still priced and hedged with the tree. The chance of up (55%) was the same in both, and was not the tree's q.

Try it yourself

Run the simulation. Every number in this lesson comes from one Python script with a fixed random seed (below). Change the size of the moves in the second world, the chance of up or the number of months, and see which counts move.

Work it out by hand. Draw the tree: the share's prices at each point, the payoffs at the end. Work back one step at a time: at each point, value = (q × value if up + (1 − q) × value if down) ÷ (1 + r), and delta = (value if up − value if down) ÷ (share if up − share if down).

The code behind every number (Python, seed 2026111141)
Loading…
For the precise: the steps rule, the limit and the simulation

With n steps in the year, each step goes up by un = em/n + s/√n or down by dn = em/n − s/√n, with s = ½ ln(1.19 ÷ 0.84) ≈ 0.1742 and m = ½ ln(1.19 × 0.84) ≈ −0.0002, so that one step gives exactly 1.19 and 0.84 and the moves shrink with the square root of the step's length (the square-root rule of a random walk). Money grows by 1.051/n a step. The limit is the Black–Scholes price with volatility s, a continuous rate of ln 1.05 and one year: €6.9389. After 50 steps the largest distance from it is €0.0386; after 100, €0.0172.

The simulation: seed 2026111141; one block of draws, rng.random((10000, 12)) < 0.55, used in both worlds. The bigger moves are em/12 ± 1.5s/√12. Each month the seller's new delta comes from the 12-step tree's remaining steps, started at that month's price. In the tree's own world the largest distance from 0 was below €0.000001 (rounding in the computer's arithmetic). With bigger moves the results ran from −€8.00 to −€0.79, with 9,633 of 10,000 below −€1. Priced at the bigger moves, the 12-step tree gives €10.54: €3.48 more than the seller charged, about €3.65 a year later at 5%, close to the €3.64 average loss. A seller who did not hedge at all, in the tree's own world, ended between −€70.36 and +€7.41.

Why the two prices always agree: put Δ and B into Δ·S − B and collect Cu and Cd; the weights come out as q ÷ (1 + r) and (1 − q) ÷ (1 + r).

Honest notes

Where this comes from