Options and Derivatives · Lesson 2
What no-arbitrage forbids: option bounds and put–call parity
Nobody can say today what an option will pay. No-arbitrage means no way to lock in a profit with no risk and no money of your own. Some prices would break it: a call dearer than the share, or a call and a put that disagree. Which prices no-arbitrage rules out, and what a broken quote (a price on offer) is worth after costs.
Know the basics? Read the lesson notesFrom payoffs to prices
The Introduction's lesson Forwards, futures and options drew what options pay on their last day, their expiry. A call (the right, not the duty, to buy at a fixed price, the strike K) pays max(ST − K, 0); a put (the right to sell at K) pays max(K − ST, 0). ST is the price at expiry; max(a, b) is the larger of a and b. What do those payoffs rule out about prices today?
The made-up world is the one from this course's first lesson (Forwards and futures: the price of waiting). The underlying (the share the options are on) costs S = €100 today and pays nothing before expiry. Money can be borrowed or lent at r = 5% a year (interest added once a year). The options expire in T = 1 year and can be used only then (European options).
What an option would pay if its expiry were today is its intrinsic value: max(S − K, 0) for a call, max(K − S, 0) for a put. Drag today's price, strike €100.
Intrinsic value at today's price, strike €100 (made-up prices)
Across: the share's price today. Up: what each option would pay if used today. Orange: the call. Grey: the put.
In, at or out of the money
Where an option stands today is its moneyness. With intrinsic value above zero it is in the money; with the strike equal to today's price it is at the money; otherwise it is out of the money. The share is at €100. A put with a strike of €110 is:
Paying for time
A dealer (a made-up firm that quotes prices at which it will buy or sell) quotes the call with a strike of €100 at €10.45, with the share at €100. Its intrinsic value is €0. Why would anyone pay €10.45 for it?
The part of an option's price above its intrinsic value is its time value: here 10.45 − 0 = €10.45. At expiry it is gone: price and payoff are the same. How big it should be today is pricing, the binomial tree lesson's subject; this lesson asks only which prices are impossible.
Never dearer than the share
Now the dealer quotes a call with a strike of €100 at €104: more than the share itself. You own nothing. Which plan locks in a profit, whatever the share does?
A right to buy one share can't be worth more than the share: C ≤ S. The put has a limit too. The most it can ever pay is K, if the share falls to €0, and K paid in a year is worth less today. Its present value (what a later amount is worth today) is K ÷ (1 + r)T, with interest added once a year for T years: 100 ÷ 1.05 = €95.24, because €95.24 lent at 5% grows to €100 in a year. So P ≤ K ÷ (1 + r)T (proved a few screens on).
The least a call can cost
Two portfolios (sets of holdings). A: one call with a strike of €100, plus €95.24 lent at 5%, which comes back as exactly €100 in a year. B: one share. Press each price in a year to see what each is worth then.
What each portfolio is worth in a year (made-up prices)
| Price in a year | A: call's payoff + €100 | B: the share |
|---|---|---|
| €70 | ? | ? |
| €100 | ? | ? |
| €130 | ? | ? |
A is worth the larger of the share's price and €100: never less than B. So A can't cost less than B today, or you would buy A and sell B short (borrow a share, sell it now, give one back later), keep the difference, and in a year A covers the share you owe.
So C + 95.24 ≥ 100, which gives C ≥ €4.76: the share's price minus the strike's present value. It also can't cost less than €0 (a right you never have to use can't have a negative price).
The bounds on an option's price
The limits on the last two screens are the no-arbitrage bounds on European options. Outside them, the option, the share and a loan or deposit lock in a profit with no money of your own and no risk (an arbitrage). They rule prices out; they don't set one.
- C, P
- the European call's and put's prices today, same strike and expiry
- S
- the underlying's price today
- K
- the strike
- r
- the interest rate per year, as a decimal (5% is 0.05), the same for borrowing and lending
- T
- the years until expiry
- K ÷ (1 + r)T
- the strike's present value: what lent today grows to K at expiry
Why the put's limits hold. A put plus the share pays the larger of ST and K, at least K, so together they cost at least K's present value: P ≥ K ÷ (1 + r)T − S. And if you sell the put and lend K ÷ (1 + r)T, the loan always covers what the put can ask, so P ≤ K ÷ (1 + r)T.
S = €100, r = 0.05, T = 1. Strike €100: 100 ÷ 1.05 = 95.24, so the call costs between 100 − 95.24 = €4.76 and €100, the put between €0 (95.24 − 100 is below 0) and €95.24. Strike €110: the put costs at least 110 ÷ 1.05 − 100 = 104.76 − 100 = €4.76, below its €10 of intrinsic value: a European put's time value can be negative, because its €110 arrives only in a year.
- the options can be used only at expiry;
- the underlying pays nothing before expiry;
- one rate serves for borrowing and lending, trades are free and short selling is possible.
A dividend (cash the company pays each shareholder) is paid before expiry: take its present value off S. Options usable early (American) are worth at least their intrinsic value. Costs widen the limits.
What is the least the put can cost without an arbitrage, in euros?
Hint: the strike's present value is 60 ÷ 1.04. Subtract today's price.
Two portfolios, one payoff
Portfolio A again: a call with a strike of €100, plus €95.24 lent, which comes back as €100. Portfolio C: a put with a strike of €100, plus one share. Drag the price in a year and compare.
What each portfolio is worth in a year (made-up prices)
Orange: the option's payoff. Grey: the €100 lent (A) or the share (C).
Above €100 the call pays and the put pays nothing; below, the put pays and the call nothing. Both are worth the larger of the price and €100, at every price. In general, call + K: max(ST − K, 0) + K = max(ST, K); put + share: max(K − ST, 0) + ST = max(K, ST). For any strike K both pay the larger of ST and K; holding one and owing the other cancels exactly, so nothing is owed in a year.
Two portfolios that pay the same in a year, with nothing paid in between, must cost the same today: otherwise you buy the cheaper, sell the dearer, and keep the difference. So C + K ÷ (1 + r)T = P + S. This is put–call parity.
Rearranged: C − P = S − K ÷ (1 + r)T = 100 − 95.24 = €4.76. The dealer's call at €10.45 pairs with a put at 10.45 − 4.76 = €5.69. At expiry nothing is left to discount, and parity becomes the payoff form from the Introduction's lesson Forwards, futures and options: call payoff − put payoff = ST − K.
A strike at the forward price
A call and a put on the same share (€100, 5%, one year), both with a strike of €105. Which costs more today?
€105 is the forward price from the lesson Forwards and futures: the price of waiting (the fair price agreed today for delivery in a year), 100 × 1.05. A bought call plus a sold put pays ST − K, like a forward (a promise to buy later) agreed at K; at the fair forward price that is worth nothing today.
Put–call parity
For a European call and put on the same underlying, with the same strike and expiry, a call plus the strike's present value pays what a put plus the underlying pays, so the two cost the same: put–call parity. Neither price can move alone without leaving an arbitrage.
- C, P
- the European call's and put's prices today, same strike and expiry
- S
- the underlying's price today
- K
- the strike
- r
- the interest rate per year, as a decimal, the same for borrowing and lending
- T
- the years until expiry
Strike €100: C − P = 100 − 95.24 = €4.76, so a call at €10.45 pairs with a put at €5.69. Strike €105: 100 − 105 ÷ 1.05 = 100 − 100 = 0, so the call and the put cost the same.
- both options can be used only at expiry;
- the underlying pays nothing before expiry;
- one rate for borrowing and lending, free trades, short selling possible.
A dividend is paid before expiry: use S minus its present value. Options usable early: a pair of limits, not an equality. Trades cost money: a band, on the costs screen.
What put price, same strike and expiry, fits parity, in euros?
Hint: C − P = 40 − 44 ÷ 1.04. Work that out, then solve for P.
Build a put from the others
Rearrange parity: P = C − S + K ÷ (1 + r)T. A position copied from other contracts like this is a synthetic position. Pick pieces until your line (orange) matches the put's payoff (dashed).
Your position's value in a year, against a put with a strike of €100 (made-up prices)
Across: the price in a year. Up: the position's value then. Dashed: the put's payoff.
Buy the call, sell the share short, lend €95.24: in a year, max(ST − 100, 0) − ST + 100 = max(100 − ST, 0), the put's payoff. It costs 10.45 − 100 + 95.24 = €5.69 today, the put parity paired with the dealer's call. A bought call plus a sold put is likewise a synthetic forward at K.
When quotes break parity
The dealer now quotes the call at €10.45 and the put at €3.45. Call minus put is €7.00, where parity says €4.76. Parity can't say which quote is wrong, only that the pair is. Sell the dear side, buy the cheap side, and cover the rest: sell the call, buy the put, buy the share, borrow what that needs. Trades are free for now. Fill in the last line.
| When | What you do | Cash |
|---|---|---|
| Today | Sell the call | +€10.45 |
| Today | Buy the put | −€3.45 |
| Today | Buy the share | −€100.00 |
| Today | Borrow the rest at 5% | +€93.00 |
| In a year | Hand over the share for €100: above €100 the call's buyer takes it; below, you use your put; at exactly €100, it is worth €100 | +€100.00 |
| In a year | Repay the loan, 93 × 1.05 | −€97.65 |
| In a year | Net | ? |
What is the net in a year, in euros?
Hint: add the two cash lines in a year, +100 and −97.65.
In today's money, 2.35 ÷ 1.05 = €2.24: the gap 7.00 − 4.76. It is cash-and-carry from the lesson Forwards and futures: the price of waiting (buy the share with borrowed money, sell it later at a fixed price), with a sold call and a bought put in place of the forward. If call minus put were too low, the reverse works: buy the call, sell the put, sell the share short, lend the money.
Costs, and a quote that is nearly off
Real trades cost money (the gap between buying and selling prices, and fees). Say each option bought or sold costs €0.15 and the share €0.10: €0.40 for the three trades, paid today and added to the loan. A second pair of quotes: the call at €10.45, the put at €5.45. Call minus put is €5.00, €0.24 above parity. In a year that is 0.24 × 1.05 = €0.25.
Below are 10,000 made-up prices of the share in a year. Each run is a path: it starts at €100 and moves €1 up or down a day for 250 days, set by a fair coin (heads and tails equally likely) plus a small steady rise. A coin-driven path like this is a random walk: past moves say nothing about which way the next goes. After costs, on how many of the 10,000 does the full trade from the last screen (sell the call, buy the put, buy the share, borrow) make money on this second pair?
10,000 simulated prices of the share in a year
Each bar counts paths ending at that price. Orange: paths where the chosen trade ends with a gain. Dashed: the strike, €100.
On the second pair the full trade ends at +€0.25 before costs but −€0.17 after them (the €0.40 grows to €0.42 by the time the loan is repaid): a loss on 10,000 of 10,000 paths in this simulation. The answer is C. On the first pair it ends at 2.35 − 0.42 = €1.93 after costs, again on every path: the share is always handed over for €100, so where it ends never matters.
Switch to the put alone: bought with borrowed money because it looks cheap, the €3.45 put lost on 7,164 of 10,000 paths, after costs: a bet. So with costs c for the whole trade, a pair is an arbitrage only outside a band: S − K ÷ (1 + r)T − c ≤ C − P ≤ S − K ÷ (1 + r)T + c, here €4.36 to €5.16. The €5.00 sits inside, and no trade pulls it back. The simulation can't show real quotes or costs.
The reverse trade
The reverse trade buys the call, sells the put, sells the share short and lends what comes in. How many euros does it lock in, in a year?
Hint: today you receive 50 + 3.20 − 3.00 = €50.20 and lend it at 4%. In a year you get a share for €50 (with your call above €50; below it, the put's buyer sells you one) and give it back to its lender.
Off, but inside the costs
Can anyone lock in a profit?
"All time value, so it's fair"
What's right?
Lesson done
No-arbitrage doesn't price an option, but it rules prices out. For European options on an underlying that pays nothing before expiry, with one interest rate, free trades and short selling, each option's price sits between two bounds, and a call minus a put with the same strike and expiry equals S − K ÷ (1 + r)T, because a call plus the strike's present value pays what a put plus the share pays. A pair that breaks parity by more than the trades cost is a profit locked in; a break inside the costs is not.
Key ideas
- European option
- an option that can be used only at expiry
- Intrinsic value
- what an option would pay if its expiry were today
- Time value
- an option's price minus its intrinsic value; gone at expiry
- Moneyness
- in the money (intrinsic value above zero), at the money (price equal to the strike) or out of the money
- Present value
- what a later amount is worth today
- No-arbitrage bounds
- the lowest and highest prices a European option can have without leaving a locked-in profit (underlying paying nothing before expiry, one rate, free trades)
- Put–call parity
- for European options with the same strike and expiry on an underlying paying nothing before expiry, a call plus the strike's present value costs what a put plus the underlying costs
- Synthetic position
- a position copied from other contracts, such as a put from a bought call, the share sold short and a deposit
max(S − K ÷ (1 + r)T, 0) ≤ C ≤ S · max(K ÷ (1 + r)T − S, 0) ≤ P ≤ K ÷ (1 + r)T
C − P = S − K ÷ (1 + r)T (European, no income before expiry, one rate, free trades)
with costs c for the whole trade: S − K ÷ (1 + r)T − c ≤ C − P ≤ S − K ÷ (1 + r)T + c