Articles

How do you use put-call parity? A worked example

Parity follows from payoffs alone, so it holds whatever the volatility: the first identity to check on quotes, and the first test to run on a pricing library.

Put-call parity says a European call minus a European put on the same strike and expiry equals the spot price minus the present value of the strike: C − P = S − K e−rT. With spot and strike at 100, a 4 per cent rate and one year, the present value of the strike is 96.0789, so a call worth 11.4541 implies a put worth 7.5330. A put quoted at 8.10 is rich by 0.5670, and the trade that captures it locks in 0.5901 per option at expiry.

Worked in full in Quantitative Finance by Julian R. Sterling, with every figure reproduced in a free workbook.See the book on Amazon →

Parity is not a model. It holds for any volatility, any distribution of the stock and any pricing method, because it follows from the payoffs alone: a long call and a short put on the same strike pay exactly what a forward purchase of the stock at that strike pays. That makes it the first identity to check on a set of quotes, and the first test to run on a pricing library you did not write.

The assumptions

The Kestrel 100 option from the book, illustrative. European exercise, no dividends, continuous compounding.
InputValue
Spot, S100
Strike, K100
Risk-free rate, r4%
Time to expiry, T1 year
Volatility (for the Black-Scholes check only)24%
Call price11.4541

The calculation, step by step

C − P = S − K e−rT

P = C − S + K e−rT

In Excel, with the call in B1, spot in B2, strike in B3, rate in B4 and years in B5: =B1-B2+B3*EXP(-B4*B5).

Step 1, discount the strike. e−0.04 = 0.960789, so the present value of 100 paid in a year is 96.0789.

Step 2, apply the identity. P = 11.4541 − 100 + 96.0789 = 7.5330. C − P is 3.9211, and so is S − PV(K): the call is worth more than the put at the money because the forward price, 100 × e0.04 = 104.0811, is above the strike.

Step 3, check against the model. Black-Scholes with d1 = 0.2867 and d2 = 0.0467 gives a put of 7.5330 directly. The two agree to every digit shown, as they must. If a library's put and call ever fail this test, the library is wrong, whatever volatility it was given. The call itself is worked in how to calculate a Black-Scholes price by hand.

The result across strikes

Black-Scholes prices at 24% volatility; parity holds on every row
StrikeCallPutC − PS − PV(K)
9017.24433.715313.529013.5290
10011.45417.53303.92113.9211
1107.238212.9251-5.6868-5.6868

The last column does not contain the volatility. Change 24 per cent to anything and the call and put both move, by the same amount, and C − P stays where it is. That is why parity is used to strip out the volatility and read the market's forward, or its implied rate or dividend, from a pair of quotes.

What if the put is quoted at 8.10?

Then it is 0.5670 too expensive against the call. Sell what is rich and buy what is cheap: sell the put, buy the call, and sell the stock short. The cash today is 8.10 − 11.4541 + 100 = 96.6459. Invest it at 4 per cent and it grows to 100.5901 by expiry.

The position at expiry, per option, for three final stock prices
Stock at expiryLong callShort putBuy back stockCashTotal
800-20-80100.59010.5901
10000-100100.59010.5901
120200-120100.59010.5901

Whatever the stock does, the call and the put combine into a purchase of the stock at 100, which closes the short, and 0.5901 is left. Discounted at 4 per cent that is 0.5670, the mispricing exactly. On 10,000 options it is 5,901 at expiry. In practice the edge must clear bid-ask spreads on three instruments, the cost of borrowing the stock and the difference between the lending and borrowing rate, which is why quoted parity gaps are usually small and, when they persist, usually mean a borrow cost or a dividend nobody has put in the formula.

The common mistakes

Parity checks prices against each other, not against the world. A call and put that both carry the wrong volatility satisfy parity perfectly. The tests that catch that kind of error, monotonicity, the boundary cases and the zero-volatility limit, sit beside parity in the library acceptance sheet.

Takeaway

The closed form, the put by parity and the acceptance tests are live in the free workbooks for this book.

Questions readers ask

Does put-call parity depend on volatility?

No. It follows from the payoffs: a long call and a short put on the same strike and expiry pay exactly what a forward purchase at the strike pays. With spot 100, strike 100, 4 per cent and one year, C minus P is 3.9211 at any volatility. Changing volatility moves both prices by the same amount.

How does put-call parity work with dividends?

Replace the spot with its value net of dividends. With a continuous yield q, C minus P equals S e^-qT minus K e^-rT. On the Kestrel option with a 2 per cent yield the call is 10.2723 and the put 8.3314; using the no-dividend formula would price the put at 6.3513, 1.9801 too low.

Does put-call parity hold for American options?

Not as an equality, because early exercise has value. For American options on a non-dividend stock it becomes the bounds S minus K at most C minus P at most S minus K e^-rT. On the example that is between 0 and 3.9211; the American put is worth at least the European 7.5330.

Read the whole case

This article is one calculation from Quantitative Finance. The book takes the same case from first principles to the decision, chapter by chapter, and every figure it prints is a live formula in the free companion workbooks.

Get the book on Amazon →Free companion files

Also on Amazon UK · Amazon Germany · Amazon France · Amazon Canada

Also on this site

Reading guide: corporate finance, valuation and markets → · All 1340 articles →

If this book helped, or didn’t, a few lines on Amazon are worth more than they look: they are what the next reader goes on. Write a review. The workbook stays free either way.