Put–call forward parity
A long forward plus a bond paying F₀(T) replicates the share, so parity becomes F₀(T)(1 + r)^−T + p₀ = c₀ + X(1 + r)^−T. Equivalently p₀ − c₀ = (X − F₀(T))(1 + r)^−T: when X equals the forward price, the put and call cost the same.
Before this: Building synthetic positions with put–call parity, Forward price vs forward value: at initiation, during the life, at expiry
On the exam
- Explain put–call forward parity for European options
Explain put–call forward parity for European options. Expect to solve for the put or call given F₀(T), to recognize the synthetic protective put, and to know that X = F₀(T) makes the call and put equal.
How deeply to learn each part
- Know the idea
- Understand it in general. It frames other topics, but you will not calculate with it.
- Use it
- Understand it well enough to solve a question with it. Recognize when it applies.
- Memorize
- Learn it by heart. The exam will not give it to you.
You know this one. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still do.
You tested strong here. The full lesson is folded away. The takeaways, formulas and checkpoint below are your quick refresher, and the checkpoint is a fair test of whether you still know it.
How does parity look when the share is replaced by a forward?
Swap the share for a forward and a bond. An earlier lesson showed that a long forward plus a risk-free bond paying the forward price F₀(T) replicates the share. Its cost today is the present value of the forward price , F₀(T)(1 + r)^−T, which equals S₀ when the asset pays no income.
Put this into the protective put. The synthetic protective put is a long forward, a bond paying F₀(T), and a long put. The fiduciary call is unchanged: a long call and a bond paying X. Both pay the greater of S_T and X at expiry, so they cost the same. That is put–call forward parity .
Rearranged, the gap between put and call depends only on strike versus forward price.
- Synthetic protective put Memorize long forward + bond paying F₀(T) + long put
- Fiduciary call Memorize unchanged: long call + bond paying X
- Long put + short call Use it short forward + bond paying X − F₀(T)
- Long call + short put Use it long forward + bond paying F₀(T) − X
Try this 0 of 3
- Set X equal to the forward price
- Raise X above the forward price
- Switch to solving for the call
- PV of the forward price
- Put
- Call
- PV of X
Call dearer than put by 39.61, which is |X − F₀(T)| = 40.00 discounted for 0.5 years.
Large blocks are broken: only the part above the smaller PV is drawn to scale. A long forward plus a bond paying F₀(T) copies the underlying, so it takes the share's place in S₀ + p₀ = c₀ + PV(X).
Show working
F₀(T)(1 + r)−T + p₀ = c₀ + X(1 + r)−T, so p₀ − c₀ = (X − F₀(T))(1 + r)−T.
PV(F) = 2,040.00 ÷ 1.020.5 = 2,019.90; PV(X) = 2,000.00 ÷ 1.020.5 = 1,980.30
p₀ = c₀ + (X − F₀(T))(1 + r)−T = 95.00 + (2,000.00 − 2,040.00) ÷ 1.020.5 = 95.00 − 39.61 = 55.39
Check: 2,019.90 + 55.39 = 2,075.30; 95.00 + 1,980.30 = 2,075.30.
Trap: forgetting to discount gives 95.00 − 40.00 = 55.00.
- 1.02y^x0.5=1/x×40+|-=−39.61, (X − F) discounted
- +95=55.39, the put
y^x power · 1/x reciprocal · +|- change sign
- 2000ENTER2040−1.02ENTER0.5y^x÷−39.61, (X − F) discounted
- 95+55.39, the put
ENTER enter (on the HP, puts the number on the stack) · y^x power
The rows of the tree follow from payoffs. A long put plus a short call pays X − S_T at expiry. A short forward at F pays F − S_T, and a bond paying X − F pays the rest. A long call plus a short put pays S_T − X, which is a long forward plus a bond paying F − X. That pair is a synthetic forward .
A forward contract on an index has a forward price of 2,040.00 and 0.5 years to expiry. A European call with an exercise price of 2,000.00 and the same expiry costs 95.00. The risk-free rate is 2.00%. The price of the European put with the same exercise price and expiry is closest to:
95.00 + (2,000.00 − 2,040.00) × (1 + 0.02)^−0.5 = 95.00 + -39.61 = 55.39
Put price, p₀55.39
- 1.02y^x0.5+|-=×(2000−2040)+95=55.39
y^x power · +|- change sign
- 2000ENTER2040−-40.00
- 1.02ENTER0.5CHSy^x×95+55.39
ENTER enter (on the HP, puts the number on the stack) · CHS change sign · y^x power
Exam tip Memorize p − c = (X − F)PV. If X is above F the put is dearer; if X is below F the call is dearer; if they are equal the two cost the same.
What happens when the strike equals the forward price?
The put and the call cost the same. In the example, if X were 2,040 instead of 2,000, then X − F = 0 and p₀ = c₀. A long call and short put at that strike then form a forward with a value of zero at inception, which links to the forward lessons.
Go deeper Why forward parity is handy for indexes and commodities
Indexes and commodities are hard or costly to hold, so the share price S₀ may not be easy to observe or trade. A forward price is directly quoted. Because the forward price already includes income and storage costs through the cost of carry, forward parity works without adding them back separately.
Memorize this
MemorizeForward parity
| Position | Equivalent to |
|---|---|
| Share | long forward + bond paying |
| Synthetic protective put | long forward + bond paying + long put |
| Fiduciary call | long call + bond paying |
| Long put + short call | short forward + bond paying |
| Long call + short put | long forward + bond paying |
Memory hook Same parity, with the share swapped for a forward plus a bond. The put–call gap is just the discounted gap between X and F.
Know it cold , so . If then .
- Synthetic protective put Memorize long forward + bond paying F₀(T) + long put
- Fiduciary call Memorize unchanged: long call + bond paying X
- Long put + short call Use it short forward + bond paying X − F₀(T)
- Long call + short put Use it long forward + bond paying F₀(T) − X
Quick example
Forward price 2,040, r = 2%, T = 0.5, no income. A long forward plus a bond paying 2,040 costs 2,040 × 1.02^−0.5 = 2,019.90, which equals the spot price.
- 1.02y^x0.5+|-=×2040= 2019.90
y^x power · +|- change sign
- 1.02ENTER0.5CHSy^x2040× 2019.90
ENTER enter (on the HP, puts the number on the stack) · CHS change sign · y^x power
Quick example
F = 72, X = 68, r = 6%, T = 1, call 8.50. p = 8.50 + (68 − 72) ÷ 1.06 = 8.50 − 3.77 = 4.73.
- 68−72=÷1.06= −3.77
- +8.5= 4.73
- 68ENTER72−1.06÷ −3.77
- 8.5+ 4.73
ENTER enter (on the HP, puts the number on the stack)
Quick example
F = 84, X = 80, r = 3%, T = 1, put 5.20. p − c = (80 − 84) ÷ 1.03 = −3.88, so the call is 5.20 + 3.88 = 9.08.
- 80−84=÷1.03= −3.88
- +|-+5.2= 9.08
+|- change sign
- 80ENTER84−1.03÷ −3.88
- CHS5.2+ 9.08
ENTER enter (on the HP, puts the number on the stack) · CHS change sign
How it is asked
-
Solve for the put or call
F = 84, X = 80, r = 3%, T = 1, put 5.20. Call?
5.20 − (80 − 84) ÷ 1.03 = 9.08. Traps: 9.20 (no discounting), 1.32 (wrong sign).
-
Identify the synthetic protective put
A long put plus what makes a synthetic protective put?
Long forward + risk-free bond paying the forward price. Trap: call + bond paying X (fiduciary call).
-
Strike equals forward
X = F₀(T). How do the call and put compare?
Equal: p − c = (X − F)PV = 0.
-
Sign of put minus call
X below the forward price. Is p − c positive or negative?
Negative: (X − F) < 0, so the call is worth more.
Exam traps
- Using F₀(T) without discounting it: the bond pays F at expiry, so it costs PV(F).
- Writing c − p = (X − F)PV. It is p − c that equals (X − F)PV; the sign flips for c − p.
- Forgetting that X = F₀(T) makes the put and call equal.
- Mixing up the synthetic protective put (forward + bond F + put) with the fiduciary call (call + bond X).
Checkpoint
5 exam-style questions. About 90 seconds each.
1A one-year forward price on an asset is 61. A European put and a European call both have an exercise price of 60 and expire in one year. The put costs 3.50 and the risk-free rate is 4%. The call price is closest to:
2A synthetic protective put consists of a long put plus:
3When the exercise price of European options equals the forward price for the same expiry, the call is worth:
4A one-year forward price is 105 and the risk-free rate is 5%. A European call with an exercise price of 100 and one year to expiry costs 9.00. The price of the European put with the same terms is closest to:
5A trader holds a long European put and a short European call with the same exercise price and expiry. The exercise price is below the forward price for that expiry. The value of the combined position today is:
Key takeaways
- A long forward plus a bond paying F₀(T) replicates the share.
- F₀(T)(1 + r)^−T + p₀ = c₀ + X(1 + r)^−T.
- p₀ − c₀ = (X − F₀(T))(1 + r)^−T: put minus call is the discounted gap between strike and forward price.
- When the strike equals the forward price, the put and call have the same value.
Quick example
Forward price 2,040, r = 2%, T = 0.5, no income. A long forward plus a bond paying 2,040 costs 2,040 × 1.02^−0.5 = 2,019.90, which equals the spot price.
- 1.02y^x0.5+|-=×2040= 2019.90
y^x power · +|- change sign
- 1.02ENTER0.5CHSy^x2040× 2019.90
ENTER enter (on the HP, puts the number on the stack) · CHS change sign · y^x power
Quick example
F = 72, X = 68, r = 6%, T = 1, call 8.50. p = 8.50 + (68 − 72) ÷ 1.06 = 8.50 − 3.77 = 4.73.
- 68−72=÷1.06= −3.77
- +8.5= 4.73
- 68ENTER72−1.06÷ −3.77
- 8.5+ 4.73
ENTER enter (on the HP, puts the number on the stack)
Quick example
F = 84, X = 80, r = 3%, T = 1, put 5.20. p − c = (80 − 84) ÷ 1.03 = −3.88, so the call is 5.20 + 3.88 = 9.08.
- 80−84=÷1.03= −3.88
- +|-+5.2= 9.08
+|- change sign
- 80ENTER84−1.03÷ −3.88
- CHS5.2+ 9.08
ENTER enter (on the HP, puts the number on the stack) · CHS change sign
All Derivatives formulas, every lesson
Practice exam-style questions on Put–Call Parity and Option Replication
Questions about this lesson?
Where this comes back
- Equity and debt as options on the firm Put–Call Parity and Option Replication
- The One-Period Binomial Model Derivatives
Questions candidates ask
What is put–call forward parity?
Put–call parity with the share replaced by a long forward and a bond paying the forward price: F₀(T)(1 + r)^−T + p₀ = c₀ + X(1 + r)^−T. It is the same no-arbitrage argument, with PV(F) in place of the share price.
What is a synthetic protective put?
A long forward, a risk-free bond paying the forward price F₀(T), and a long put. The forward and bond replicate the share, so the package behaves like a share protected by a put.
Why are calls and puts equal when the strike equals the forward price?
Put minus call equals (X − F₀(T))(1 + r)^−T. When X equals F₀(T) the bracket is zero, so p₀ = c₀. A long call and short put at that strike is a forward with zero value.
Spotted an error? Tell us and we will fix it.