The One-Step Binomial Model
Everything you know about pricing so far —
the
no-arbitrage bounds on an option's price and the
risk-neutral
pricing machinery itself — was built in continuous time, with stochastic calculus doing the
heavy lifting. That machinery is powerful, but it is also a black box: type in
S_0, K, r, \sigma, T and a closed-form number falls out, with the reasoning
buried inside a PDE or a change of measure. A trading desk that only ever plugs numbers into
Black–Scholes has no lever for the cases the formula can't reach — American exercise, a payoff that
depends on the whole path, a basket of ten correlated names. This module builds those levers. We start
with the simplest possible market: one asset, one time step, two possible outcomes — and
rebuild risk-neutral pricing from the ground up, by hand, so that every later generalisation (many steps,
early exercise, simulation, grids) is just "do this again, more times."
Building a market with exactly two futures
Fix one period — a day, a month, whatever the model's clock ticks in. A stock worth
S_0 today will be worth exactly one of two things at the end of the period:
S_0 u ("up") or S_0 d ("down"), with
d < R < u where R = 1+r is one dollar's growth
in the risk-free bank account over the period (the inequality rules out arbitrage: if
u \le R the stock never beats cash, and if R \le d it
always beats cash — either way one asset dominates the other for free). A derivative on this stock — a
call, a put, anything — pays C_u in the up state and C_d
in the down state, both known once we fix the payoff rule. The question: what is the derivative worth
today?
Follow the logic of
replication:
build a portfolio of \Delta shares of stock and B
dollars in the bank that reproduces the payoff in both states at once.
\begin{aligned}
\Delta\,S_0 u + R\,B &= C_u \\
\Delta\,S_0 d + R\,B &= C_d
\end{aligned}
Two equations, two unknowns. Subtract them and the bank position cancels, leaving
\Delta directly:
\Delta = \frac{C_u - C_d}{S_0 u - S_0 d}, \qquad B = \frac{C_u - \Delta\,S_0 u}{R}.
By no-arbitrage,
a portfolio that matches a payoff exactly in every future state must cost the same as that payoff today —
two ways to own the identical thing can't have different prices. So the option's value is simply the
replicating portfolio's cost today:
V_0 = \Delta\,S_0 + B.
Notice what never appeared anywhere in this derivation: the probability of the up-move. Hedging pins the
price with nothing but algebra.
The same price, read off as an expectation
Substitute the formulas for \Delta and B into
V_0 = \Delta S_0 + B and simplify — it's routine algebra, done once in the
risk-neutral
pricing page — and the price rearranges into a discounted expectation:
V_0 = \frac{q\,C_u + (1-q)\,C_d}{R}, \qquad q = \frac{R - d}{u - d}.
Check that q \in (0,1) whenever d < R < u — it
behaves exactly like a probability, even though nobody asserted it was one. Call
q the risk-neutral probability: the (fictional) chance of the
up-move that would make the stock's expected return equal the risk-free rate,
S_0 = (q\,S_0 u + (1-q)\,S_0 d)/R. Solve that one equation and you get exactly
the q above.
- Hedge ratio: \Delta = \dfrac{C_u - C_d}{S_0 u - S_0 d} — shares of stock
per option, chosen so up- and down-state payoffs match exactly.
- Risk-neutral probability: q = \dfrac{R - d}{u - d} — a number pinned
down by u, d, R
alone, with no reference to anyone's beliefs.
- Price: V_0 = \dfrac{q\,C_u + (1-q)\,C_d}{R} — the discounted
q-expectation of the payoff, identical to
\Delta S_0 + B.
Worked example
A stock trades at S_0 = 50. Over one period it will move up by a factor
u = 1.2 to 60, or down by
d = 0.8 to 40. One dollar in the bank grows to
R = 1.10. Price a European call struck at K = 55.
The payoffs are C_u = \max(60-55,0) = 5 and
C_d = \max(40-55,0) = 0. Replicating:
\Delta = \frac{5-0}{60-40} = 0.25, \qquad B = \frac{5 - 0.25\cdot 60}{1.10} = -9.09,
V_0 = 0.25\cdot 50 - 9.09 = 3.41.
Check it the second way. The risk-neutral probability is
q = (1.10 - 0.8)/(1.2-0.8) = 0.75, so
V_0 = \frac{0.75\cdot 5 + 0.25\cdot 0}{1.10} = \frac{3.75}{1.10} = 3.41.
Same number, from two different-looking calculations — because they are the same calculation. Step
through the figure to watch the replication and the risk-neutral roads meet at the price.
Because hedging doesn't erase the up/down uncertainty — it just moves who bears it. The replicating
portfolio still ends up worth C_u in the up state and
C_d in the down state; someone (the writer, or the hedger's counterparty) is
still exposed to which one happens. What no-arbitrage guarantees is only that today's price
doesn't depend on whose estimate of the up-probability you use. Two traders who violently
disagree about the real chance of the stock rising — one says 10%, the other says 90% — will still
agree, to the penny, on V_0 = 3.41, because both can build the identical
hedge and neither wants to sell it for less (or pay more) than it costs to build. The disagreement about
p shows up in what each trader thinks their own expected profit is
after hedging — never in the price they're willing to trade at.
-
Don't estimate u, d or
q from historical up/down frequencies. The real-world probability
p of the up-move never enters the formula, and neither does anyone's
forecast of it — q comes purely from u,
d and R. Plugging in a "probability" you got from
counting past up-days is a category error, not just an approximation.
-
Keep R consistent with the period length.
R is one dollar's growth over the period the tree steps by — if the
tree steps monthly, don't plug in an annual rate. Later pages will write
R = e^{r\Delta t} for continuous compounding over a step of length
\Delta t; for now, just make sure the units of
u, d and R all refer
to the same single step.
-
The no-arbitrage inequality d < R < u is not optional.
If it fails, one of the two assets (stock or bond) beats the other in every state, an
arbitrage exists, and the "risk-neutral probability" formula spits out a number outside
[0,1] — a reliable sign the inputs were inconsistent, not a sign to
keep going anyway.