Put–Call Parity
The most elegant equation in finance needs no model at all. Before anyone
mentions volatility, lognormal distributions, or a single Greek letter, the prices of a
European call and put
on the same non-dividend-paying stock, with the same strike K and
the same maturity T, are already locked together:
C - P = S_0 - K e^{-rT},
where S_0 is today's spot price and r
the continuously-compounded risk-free rate. Nothing about how the stock moves enters
the equation — no probabilities, no distribution, no drift, no volatility. It holds whether
the stock follows geometric Brownian motion, jumps around wildly, or does something no model
has ever described, because it rests on
no-arbitrage
alone. That makes it sturdier than any pricing formula: models can be wrong, but parity can
only be violated — and a violation is money lying on the floor. Quote a call and a
put that disagree with this equation and a trading desk will assemble a riskless
money-machine from your quotes within seconds.
Know any three of C, P, S_0, K e^{-rT} and the fourth is forced.
In this lesson we prove parity twice (once with a payoff table, once by spotting a forward
hiding inside the options), cash in on a violation with an explicit arbitrage, and learn to
read the equation the way desks do — as a kit for building any instrument out of the others.
The payoff table is the proof
Build two portfolios today and hold both, untouched, to maturity.
-
Portfolio A (the "fiduciary call"): one European call, plus
K e^{-rT} of cash lent at the risk-free rate. The cash grows to
exactly K by time T.
-
Portfolio B (the "protective put"): one European put, plus one share of
the stock.
Now ask what each is worth at maturity. There are only two kinds of future: the stock
finishes above the strike, or it doesn't. Tabulate both:
| at T |
S_T > K |
S_T \le K |
| A: call |
S_T - K |
0 |
| A: cash |
K |
K |
| A total |
S_T |
K |
| B: put |
0 |
K - S_T |
| B: share |
S_T |
S_T |
| B total |
S_T |
K |
Read the two "total" rows: in both futures, both portfolios are worth exactly
\max(S_T, K). Identical payoffs in every state of the world. The
law of one price then does the rest — two things guaranteed to be worth the same tomorrow
must cost the same today:
C + K e^{-rT} = P + S_0 \quad\Longleftrightarrow\quad C - P = S_0 - K e^{-rT}.
That is the whole proof. Notice what we never used: any opinion about where
S_T will land, or how likely each scenario is. The table has two
columns, and equality holds column by column — a far stronger statement than
"equal on average". This state-by-state matching is called replication, and
it is the master idea of derivatives pricing: the entire Black–Scholes theory is this same
move performed continuously in time.
Second proof: a call minus a put is a forward
The same result falls out of a slicker observation, worth internalising on its own.
Step 1 — assemble portfolio A': long one call,
short one put, same K and T. Its
payoff at maturity is the difference of the two hockey sticks:
V_T^{A'} = (S_T - K)^+ - (K - S_T)^+.
Step 2 — collapse that payoff by cases. Split on the strike. If
S_T \ge K the call is in the money and the put is worthless:
V_T^{A'} = (S_T - K) - 0 = S_T - K.
If instead S_T < K the call is worthless and we are short
a put that pays K - S_T, so we owe it:
V_T^{A'} = 0 - (K - S_T) = S_T - K.
Step 3 — read off the punchline. Both cases give the same line,
with no positive part left:
V_T^{A'} = S_T - K \qquad \text{in every state.}
The optionality has cancelled. Long-call-minus-short-put is just a forward:
a call and a put at the same strike fuse into the straight obligation
S_T - K. Whatever kink the call contributes above the strike, the
short put contributes the matching kink below it.
Step 4 — build portfolio B' with the same
payoff. Hold one share and borrow the present value of K
— i.e. short K zero-coupon bonds, each worth
e^{-rT} today and 1 at maturity. At
T the share is worth S_T and you repay
K:
V_T^{B'} = S_T - K.
Step 5 — price each portfolio today. Portfolio
A' costs the call premium minus the put premium (you receive the
put premium for the short); portfolio B' costs the share minus the
value of the borrowed bonds:
P_{A'} = C - P, \qquad P_{B'} = S_0 - K e^{-rT}.
Step 6 — apply the law of one price. Identical payoffs
S_T - K in every state force identical prices today:
C - P = S_0 - K e^{-rT}.
Same theorem, new insight: the left side is a forward contract built out of options, the
right side is a forward contract built out of stock and cash. Parity says the two factories
must charge the same price for the same product.
For European options on a non-dividend-paying stock with common strike
K, maturity T, and continuously
compounded risk-free rate r,
C - P = S_0 - K e^{-rT}.
-
It is model-free: it holds whatever process the stock follows, because it is a
pure no-arbitrage relation between portfolios with the identical payoff
S_T - K.
-
It pins down only the difference C - P; the
individual prices C and P still
require a model (or a market).
Worked example: cashing in on a violation
Suppose S_0 = 100, K = 100,
r = 5\%, T = 1 year, and the call is
quoted at C = 8.00. First compute the discounted strike:
K e^{-rT} = 100\, e^{-0.05} \approx 95.12.
Parity then dictates the fair put price:
P = C - S_0 + K e^{-rT} = 8.00 - 100 + 95.12 = 3.12.
But suppose a market maker is quoting the put at P = 2.50 — 62
cents too cheap. Parity is violated, so we buy what is cheap and sell what is expensive.
The trade: buy the put (-2.50), buy the share
(-100), write the call (+8.00). Net
outlay: 94.50, which we borrow at
5\%. At maturity we owe
94.50\, e^{0.05} \approx 99.35.
Now check both futures — this is the crucial habit; an arbitrage must survive
every scenario, not just the likely one:
-
If S_T \ge 100: the call we wrote is exercised
against us — we deliver our share and receive K = 100. Our put
expires worthless. We hold 100, repay
99.35: profit 0.65.
-
If S_T < 100: the call dies; we exercise our
put and sell the share for K = 100. Again we hold
100, repay 99.35: profit
0.65.
Riskless profit of 0.65 per share at T
— precisely today's mispricing grown at the risk-free rate,
0.62\, e^{0.05} \approx 0.65 — scaled by however many contracts
we can trade before the quote moves. Notice the structure: put + stock − call is a
synthetic bond paying exactly K in every state, and we
bought that bond for less than its present value. Every parity arbitrage is a version of
this trade (desks call it a conversion; the mirror-image trade when the
options side is too cheap is a reversal).
Worked example: reading off the implied price
In practice parity is used less to arbitrage than to quote. Options on the same
strike trade as a pair: price one and parity prices the other. Say
C = 11.20, S_0 = 105,
K = 100, r = 4\%,
T = 0.5 years. Then
K e^{-rT} = 100\, e^{-0.02} \approx 98.02,
P = C - S_0 + K e^{-rT} = 11.20 - 105 + 98.02 = 4.22.
No model was consulted — the put price is implied by the call, the stock, and the
discount factor. This works in every direction. Given liquid calls and puts you can run
parity backwards and extract the implied discount factor
e^{-rT} = (P - C + S_0)/K, i.e. the interest rate the options
market is actually using — which is exactly how practitioners detect hard-to-borrow stocks
and hidden dividend expectations: when the options-implied rate disagrees with the treasury
rate, the gap is telling you something about the stock, not about arbitrage.
It is also why, deep in the money, an option's price is almost all parity and almost no
model: for S_0 \gg K the put is nearly worthless, so
C \approx S_0 - Ke^{-rT} regardless of volatility. Optionality —
the part that needs Black–Scholes — lives near the strike; parity owns everything else.
The Lego of derivatives: synthetic instruments
Rearranging parity lets you synthesise any one of the four instruments from the
other three — the equation is a kit of interchangeable parts. Each rearrangement is a recipe
a desk actually trades when the real instrument is illiquid, restricted, or mispriced:
-
Synthetic forward: C - P = S_0 - Ke^{-rT} —
long call, short put is a forward at strike K. Market
makers quote this pair as a single instrument, the combo, and use it to
trade the stock's forward without touching the stock.
-
Synthetic call: C = P + S_0 - Ke^{-rT} — long
put, long stock, borrow Ke^{-rT}. It pays exactly what a real
call pays in every state, so it must cost what a real call costs.
-
Synthetic put: P = C - S_0 + Ke^{-rT} — long
call, short stock, lend Ke^{-rT}. Historically important: when
regulators have banned buying puts (or short-selling), this combination manufactures the
banned payoff out of permitted parts.
-
Synthetic stock: S_0 = C - P + Ke^{-rT} — long
call, short put, lend Ke^{-rT}: full stock exposure with no
shares.
-
Synthetic bond: Ke^{-rT} = P + S_0 - C — long
stock, long put, short call: a guaranteed K at
T, which is precisely the portfolio our arbitrage bought on the
cheap above.
One equation, five instruments, every rearrangement tradeable. This is why parity is checked
continuously by every options desk on earth: it isn't one relation among many, it is the
conversion table between the building blocks of the entire market.
If the stock pays a continuous dividend yield q, holding the
share earns dividends the option holder forgoes, so the share leg must be discounted by the
dividends paid before maturity. Replacing S_0 by
S_0 e^{-qT} in the stock-plus-borrowing portfolio (you only need
e^{-qT} of a share now to have one share's worth of growth by
T) gives the dividend-adjusted parity
C - P = S_0 e^{-qT} - K e^{-rT}.
Setting q = 0 recovers the plain version. The same swap
reappears throughout option pricing whenever the underlying throws off a yield — dividends
on a stock, a foreign interest rate on a currency, or a convenience yield on a commodity.
-
Parity as stated is European-only. An American option can be exercised
early, so the two portfolios can be dismantled before T and
the payoff table no longer binds. The equality loosens into the inequalities
S_0 - K \;\le\; C - P \;\le\; S_0 - K e^{-rT}
for American options on a non-dividend stock — a band, not a pin. (For calls the damage
is small: an American call on a non-dividend stock is never optimally exercised early,
but the American put genuinely is, and that is what opens the band.)
-
Dividends shift the equation. Discrete dividends with present value
D paid before expiry reduce what the shareholder effectively
holds: replace S_0 by S_0 - D, so
C - P = S_0 - D - Ke^{-rT}. Forget the dividend and you will
"discover" arbitrages that are really just the ex-dividend drop you failed to price.
-
Parity says nothing about C or
P individually. Only the difference is
pinned. Both options can be absurdly overpriced together and parity holds perfectly —
it is a consistency check between the pair, not a valuation of either. Valuing each one
alone is exactly the problem Black–Scholes was invented to solve.
Put–call parity was working capital long before it was a theorem. In the 1860s–70s the New
York financier Russell Sage — by reputation the meanest man on Wall
Street — used it to dodge usury laws: lending above the legal interest cap was illegal,
but he could buy stock from a borrower, buy a put from them, and sell them a call, and the
combination (look at the synthetic bond above!) is a loan, with the interest rate
smuggled inside the option premiums where no court could see it. A synthetic loan built
from parity, decades before anyone wrote the equation down.
The first careful written accounts came from practitioners too: Leonard Higgins'
The Put-and-Call (1902) and Samuel Nelson's The A B C of Options and
Arbitrage (1904) describe London and New York dealers converting puts into calls and
quoting the pair as one instrument. Academia caught up in 1969, when Hans Stoll published
the formal proof and gave the relation its name. It remains a lovely reversal of the usual
story: for once the traders had the theorem first, and the professors provided the
notation.
See the payoffs coincide
Below, the kinked combination (S_T - K)^+ - (K - S_T)^+ (long
call, short put) is overlaid on the straight line S_T - K (the
forward). They lie exactly on top of each other for every price
S_T — not on average, not approximately, but point for point.
That coincidence is the whole proof, drawn: two payoff profiles that agree in every state
must cost the same today.
Slide K and watch the matched pair move as one. The call's kink
above the strike and the short put's kink below it always splice into the same straight
line, wherever the strike sits — which is why parity holds at every strike
simultaneously, giving a whole curve of consistency conditions across an option chain, not
just one.
See it explained