Options and Derivatives · Lesson 4
Black–Scholes, from the tree
Cut the binomial tree's year into ever smaller steps and its price settles on one formula. What each part of it means, a simulation that checks it, and a world where it gets the price wrong.
Know the basics? Read the lesson notesWhere the tree stopped
The binomial tree lesson priced a call (the right, but not the duty, to buy a share at a fixed price, the strike) on a made-up share: today €100, strike €105, last day a year from now, interest 5% a year. Every number in this lesson is made up.
The tree let the share go up or down at each step and priced the call by working back from the end, using a pricing weight in place of the real chance of up. Cut into more and more steps, the price settled at €6.94.
The steps' size came from the share's volatility, σ: the standard deviation of its yearly log returns (the log return is ln(end price ÷ start price); ln is explained on the next screen), that is, their typical distance from their average. The tree's yearly step, up to €119 or down to €84, makes σ = 17.42% a year.
One piece of arithmetic first. If the call is used, its buyer pays €105 in a year. What is €105 in a year worth today, at 5%, in euros?
Hint: what amount grows by 5% to €105?
That is the strike's present value, written PV(K): the amount today that grows to the strike K by the last day. Here it equals today's price, €100, which keeps this lesson's arithmetic short. The formula works for any numbers.
Many small steps make a curve
The tree's pricing weight was q, the risk-neutral probability: the chance of up that makes the share grow on average at the interest rate. It is not a forecast. Call the made-up world built on it, used for pricing, the q-world: each step goes up with chance q. Each path ends at one year-end price, and q gives each end its chance. With one step there are two ends: €119 with chance 0.6 and €84 with chance 0.4. With n steps there are n + 1 ends. As n grows, what do the chances of the year-end prices look like?
The q-chances of the one-year call's year-end prices, by number of steps (made-up inputs)
Each bar is one end of the tree: its chance spread over the prices nearest it. Dashed: the limit.
It becomes a smooth hump with a long tail to the right: the answer is B.
Why: each step multiplies the price by a factor, and the log of a product is a sum (ln, the natural logarithm on a calculator's LN key, turns multiplying into adding). So the log of the year-end price is today's log plus a sum of many small up-or-down steps, and such a sum lands on a bell curve (the normal distribution of the Bell curve lesson). A price whose log lands on a bell curve is called lognormal: never below 0, with a long tail of high prices.
The price is an average over the curve
Working back through a tree always gives the same number as a shortcut: average the call's payoff (what it pays on its last day) with the q-chances, then divide by 1.05. In the limit, the chances are the curve.
The q-chances of the year-end price, in the limit (made-up inputs)
Shaded: year-end prices above the €105 strike, where the call pays.
The call pays only above €105, and there its payoff has two parts: you receive a share and you pay €105. So its price is the share part, valued today, minus the strike part, valued today.
The strike part first. The shaded area, the q-chance that the share ends above €105, is 0.4653. You pay €105 with that chance, so today it is worth 0.4653 × 105 ÷ 1.05. How many euros is that?
Hint: 105 ÷ 1.05 = 100, so it is 0.4653 × 100.
The share part adds up, over every year-end price above €105, that price times its q-chance, then divides by 1.05: €53.47. The call is worth 53.47 − 46.53 = €6.94, the tree's limit.
The next two screens show where 0.4653 comes from, and why 53.47 is 100 × 0.5347.
N(d2): the chance of ending above the strike
Take each price's ln (the log scale): the curve becomes a bell. Its width, one standard deviation, is σ√T for T years: here 0.1742 × √1 = 0.1742. Its middle, the median (the price with half the chance above it and half below), is a little under €105, at €103.42: the long right tail pulls the average, €105, above the middle.
Write N(x) for the share of a bell curve's area to the left of x, where x counts standard deviations from the middle. A spreadsheet gives it as NORM.S.DIST(x, TRUE); this lesson hands you the values. On the log scale, ln(103.42 ÷ 105) ÷ 0.1742 = −0.0871: the middle sits 0.0871 standard deviations below the strike. So the chance of ending below the strike is the area left of +0.0871, N(0.0871) = 0.5347. Drag x to see it.
N(x): the share of the bell's area left of x
Across: standard deviations from the middle, on the log scale. Dashed marks: the strike, which sits 0.0871 above the middle, and d2 = −0.0871, its mirror image.
What, then, is the q-chance that the share ends above the strike, to four decimals?
Hint: above and below add up to 1.
1 − 0.5347 = 0.4653 = N(−0.0871): the bell is symmetric, so the area right of +0.0871 equals the area left of −0.0871.
That number, −0.0871, is d2: where the middle sits relative to the strike, in standard deviations (negative here: the middle is below the strike). N(d2) is the q-chance that the call ends above its strike, the shaded 0.4653 of the last screen.
N(d1): the share part
Where d2 comes from in general: the middle is the average, S(1 + r)T, times e−½σ²T (ex undoes ln). Big up-years pull the average up more than big down-years pull it down, so the middle sits below the average; the size of the gap, ½σ²T on the log scale, is a standard result this lesson states without proof. So ln(middle ÷ K) = ln(S ÷ PV(K)) − ½σ²T, and d2 is that divided by σ√T. Here: (0 − ½ × 0.1742²) ÷ 0.1742 = −0.0871.
d1 is d2 plus one standard deviation: d1 = d2 + σ√T. What is d1 here, to four decimals?
Hint: −0.0871 + 0.1742.
N(d1) = N(0.0871) = 0.5347, and 100 × 0.5347 = €53.47: the share part. That the share part comes out as S·N(d1) is also stated here without proof (the closed box sketches it).
In plain words, N(d1) is the chance of ending above the strike, counted by what you receive there: a €150 ending counts for more than a €106 one, because you receive the share. That makes it larger than N(d2).
For the precise: a sketch of both results
In the q-world, ln(year-end price) = m + σ√T·Z, with Z a standard bell draw and m the log of the middle. Multiplying the bell's height φ(z) by eσ√T·z gives e½σ²T·φ(z − σ√T) (complete the square): weighting outcomes by the price slides the bell one standard deviation to the right and scales it by e½σ²T. Over all outcomes this gives average = em + ½σ²T, which must equal S(1 + r)T: so the middle em is the average times e−½σ²T. Over outcomes above K only (Z above −d2), the slid bell keeps the area above −d2 − σ√T = −d1, which is N(d1); dividing by (1 + r)T leaves S·N(d1).
The Black–Scholes formula
A European call can be used only on its last day. Copy one with shares and a loan, adjusted without pause, in a world where the log of the share's price follows a random walk (a running total of random up-or-down steps) with fixed volatility and no jumps: its cost is the Black–Scholes formula. It is the binomial tree's price as the steps get small. A put, the right to sell at the strike, follows by put–call parity, proved in the lesson "What no-arbitrage forbids: option bounds and put–call parity": a European call minus a put with the same strike and last day is worth today's price minus PV(K).
- S
- the share's price today
- K
- the strike
- T
- the years left until the last day
- r
- the interest rate a year, for borrowing and lending
- σ
- the volatility: the standard deviation of the share's yearly log return, ln(end price ÷ start price)
- N(x)
- the share of the bell curve's area left of x standard deviations from its middle
- N(d2)
- the q-chance that the call ends above its strike
- N(d1)
- the call's delta (the binomial tree lesson's word): the shares held today in the copy, the shares and loan that reproduce the call's payoff
- C, P
- the European call's and put's prices today, before costs
S = 100, PV(K) = 105 ÷ 1.05 = 100, σ = 0.1742, T = 1. ln(100 ÷ 100) = 0, so d1 = (0 + ½ × 0.1742²) ÷ 0.1742 = 0.1742 ÷ 2 = 0.0871, and d2 = 0.0871 − 0.1742 = −0.0871.
N(0.0871) = 0.5347 and N(−0.0871) = 0.4653, so C = 100 × 0.5347 − 100 × 0.4653 = 53.47 − 46.53 = €6.94. The put: P = 6.94 − 100 + 100 = €6.94, the same as the call only because PV(K) equals today's price.
- the volatility is fixed and known for the option's whole life, and the log price moves as a random walk with no jumps;
- the copy is adjusted continuously (hedging);
- trading is free, at one interest rate for borrowing and lending.
Volatility changes or prices jump: the year-end curve then has fatter tails than the lognormal, and the formula's price can be far off, most of all in proportion for strikes far from today's price (two screens on). Adjusting the copy only at intervals, or paying costs each time, leaves a gap between the copy and the call; a later lesson measures it.
Work out d1 and d2 yourself (they are the two numbers in the table), then the call's price, in euros (to the cent)?
Hint: d1 = (0.0953 + ½ × 0.2²) ÷ 0.2 and d2 = d1 − 0.2; then S × N(d1) − PV(K) × N(d2), with S = 110 and PV(K) = 100.
What each input does
The formula has five inputs: S, K, T, r and σ. Start with σ. If the volatility doubled, from 17.42% to 34.83%, with everything else the same, what would the call's price do?
The formula's call price as the inputs move (made-up inputs)
The curve: the call's price at each share price, with the other inputs as set. The dot: today's share price.
Move the others, one at a time. A higher share price or a lower strike raises the call's price. A longer life raises it twice over: the curve widens (σ√T grows) and PV(K) shrinks. Higher interest shrinks PV(K) and raises it too.
One thing is not an input: how fast the share is expected to grow. As in the tree, the copy's cost doesn't depend on it, so the formula prices with the q-world, where the share grows at the interest rate.
A check by simulation
A check that doesn't use the formula: a Monte Carlo simulation, many random paths and then an average. Send 100,000 paths through a 252-step tree (one step per trading day), each step up with chance q; on each path, divide the call's payoff by 1.05 (discounting); then average.
The average comes with an error bar: two standard errors either side of it, a standard error being how far an average of that many random paths typically lands from the value endless paths would give. A bar from fresh paths misses the true value about 1 time in 20.
A second set of paths uses a made-up real chance of up, with which the share grows 12% a year on average. Which world's average should land on the formula's €6.94?
The average discounted payoff as paths are added, 100,000 simulated paths
Across: paths so far, each count including the earlier paths. Bars: two standard errors either side; dark ones miss the formula. Dashed: the formula's €6.94.
In this simulation the q-world's paths averaged €6.88, error bar €6.81 to €6.96: the formula's €6.94 is inside. The real-chance paths averaged €10.91 (€10.82 to €11.00), which is not a price: the copy costs the same in both worlds.
Four times the paths, half the bar. The bars at 2,000, 5,000, 20,000 and 50,000 paths missed €6.94 (dark marks), more often than 1 in 20: in this run the first few thousand paths happened to land low, and because each count reuses all the paths before it, one unlucky early stretch pulls several bars low at once. The check shows that the formula and the tree agree inside their own model. It can't show that the model fits any real share.
Same volatility, fatter tails
The formula assumes the log of the year-end price lands on a bell curve. A curve with fat tails puts more chance on very large moves than a bell with the same standard deviation does (the Fat tails lesson). Take a made-up q-world in which 85 years in 100 are calm, with volatility 13.03%, and 15 are wild, with 32.56%. The two are mixed so the average squared spread equals the bell's (17.42%)², and each kind of year grows 5% on average. The mix is taller in the middle, with fatter tails.
Price two calls by averaging over 100,000 simulated years of this world: strike €105, and a far one at €150, which the formula prices at €0.15. What will the €150 call's average say?
Two q-worlds with the same volatility (made-up, 100,000 simulated years)
Grey: the formula's lognormal curve. Orange: calm and wild years mixed. Shaded: above the strike; for far strikes that part is drawn taller, as labelled.
In this simulation the €105 call averaged €6.31 against the formula's €6.94, and the €150 call €0.40 against €0.15, each with an error bar of a few cents. With the same volatility, the formula was too high for the strike near today's price and too low for the far one.
One caution: with two kinds of year, shares and a loan can't copy the call on every path, so there is no single price that rules out a sure profit, and this average is a price under one choice of q-chances. The point holds either way: the formula's price depends on the curve's shape, not only its spread. The lesson on implied volatility and the smile picks this up.
A put from a call
What is the put's price, in euros (to the cent)?
Hint: put–call parity, P = C − S + PV(K), with PV(K) = 88.20 ÷ 1.05.
Two calls, one volatility
Judging by this lesson's simulation, which sale is priced below the fat-tailed world's average?
Lesson done
The Black–Scholes formula is the binomial tree's price as its steps get small: the q-average of a European call's payoff, brought back to today at the interest rate, when the log of the year-end price lands on a bell curve. N(d2) is the q-chance the call ends above its strike and N(d1) the shares in the copy; the put follows from put–call parity. The price is exact inside the model (fixed volatility, no jumps, the copy adjusted continuously, no costs). In this lesson's fat-tailed simulation, with the same volatility, it was too high for a strike near today's price and too low for one far above it.
Key ideas
- European option
- an option that can be used only on its last day
- Volatility (σ)
- the standard deviation of a share's yearly log return, ln(end price ÷ start price): how widely its yearly returns typically spread
- Lognormal
- a price whose log lands on a bell curve: never below 0, with a long tail of high prices
- N(x)
- the share of a bell curve's area left of x standard deviations from its middle
- d2, N(d2)
- in the Black–Scholes model, how many standard deviations the middle (median) of the log year-end price sits above the strike; N(d2) is the q-chance that a call ends above its strike
- d1, N(d1)
- in the Black–Scholes model, d1 = d2 + σ√T; N(d1) is a call's delta, the shares in the copy (the shares and loan that reproduce its payoff) today
- Black–Scholes formula
- a European option's price when the log price follows a random walk with fixed volatility and no jumps, the copy is adjusted without pause, and trading is free; the binomial tree's limit
- Put–call parity
- a European call minus a European put with the same strike and last day is worth today's price minus the strike's present value
- Error bar
- a simulated average plus or minus two standard errors; a bar from fresh paths misses the value endless runs would give about 1 time in 20
C = S·N(d1) − PV(K)·N(d2) · d1 = [ln(S ÷ PV(K)) + ½σ²T] ÷ (σ√T) · d2 = d1 − σ√T
P = C − S + PV(K) · PV(K) = K ÷ (1 + r)T