Skip to content

FRM Exam Part I · Options Markets

Put-Call Parity Formula and Arbitrage for FRM Part I

Updated 11 October 2026 · Fact-checked

Put-call parity links European call and put prices with the same strike and expiry: c + K·e^(−rT) = p + S0. A call plus cash equal to the discounted strike matches a put plus the stock. If prices break this, you can lock in arbitrage profit. Solve by finding the missing term.

Understand Put-Call Parity

Put-call parity comes from one idea: two portfolios with the same payoff at expiry must cost the same today. If they did not, you could buy the cheap one, sell the dear one and keep the difference with no risk.

Take Portfolio A: one European call plus cash of K·e^(−rT), which grows to K at expiry. Take Portfolio B: one European put plus one share. At expiry, if the stock ends above K, A is worth ST (call pays ST − K, cash gives K) and B is worth ST (put is worthless). If the stock ends below K, A is worth K (call is worthless) and B is worth K (put pays K − ST, plus the share). Both are worth max(ST, K). So today: c + K·e^(−rT) = p + S0.

The result holds only for European options on the same underlying, with the same strike and the same expiry. It does not depend on any option pricing model or on volatility. If you know three of the four prices, you can find the fourth.

If the underlying pays income, the stock is worth less today by the present value of the income. With known dividends, replace S0 with S0 − D, where D is the present value of dividends during the option's life. With a continuous dividend yield q, replace S0 with S0·e^(−qT).

American options can be exercised early, so parity becomes an inequality, not an equality. For a non-dividend-paying stock: S0 − K ≤ C − P ≤ S0 − K·e^(−rT). Use the equality only for European options.

Key formulas to remember

Put-call parity (no dividends, European)
c + K·e^(−rT) = p + S0
Same strike, same expiry, same underlying. r is the continuously compounded risk-free rate.
Parity with discrete dividends
c + D + K·e^(−rT) = p + S0
D is the present value of dividends paid during the option's life.
Parity with continuous dividend yield
c + K·e^(−rT) = p + S0·e^(−qT)
q is the continuous dividend yield.
American options, no dividends
S0 − K ≤ C − P ≤ S0 − K·e^(−rT)
An inequality only. C and P are American prices.
American options, with dividends
S0 − D − K ≤ C − P ≤ S0 − K·e^(−rT)
D is the present value of dividends. This form is stated for discrete dividends.
Discrete compounding version
c + K ÷ (1 + r)^T = p + S0
Use when the question gives an annual effective rate.

How to solve Put-Call Parity questions

Use this method for any put-call parity question, whether it asks for a missing price or for an arbitrage strategy.

  1. 1Check the option type. Parity as an equality applies to European options only. If American, expect a bound.
  2. 2Confirm both options share the same underlying, strike and expiry.
  3. 3Identify the income on the underlying. Compute D (present value of dividends) or use q.
  4. 4Compute the present value of the strike with the rate convention given: K·e^(−rT) or K ÷ (1 + r)^T.
  5. 5Write the equation: c + PV(K) + PV(dividends) = p + S0, then solve for the unknown.
  6. 6For arbitrage, compare the two sides. The side that is more expensive is sold; the cheaper side is bought.
  7. 7Build the trade and check that the expiry payoff is zero. Profit today equals the price gap, so it is risk-free.

Quickest way: Rearrange to the missing term

When to use it: Use when the question gives three of the four values (c, p, S0, PV of K) and asks for the fourth, or asks whether a mispricing exists.

  1. Compute PV(K) first. It is the step most often done wrongly.
  2. Compute left side L = c + PV(K) (+ D if dividends).
  3. Compute right side R = p + S0.
  4. If asked for a missing price, set L = R and solve.
  5. If asked about arbitrage, the larger side is overpriced: sell it, buy the other. Profit = |L − R|.

Common mistakes in Put-Call Parity

  • Using S0 instead of the discounted strike, or forgetting to discount K

    Students remember 'call minus put equals stock minus strike' from the payoff diagram.

    Fix: Parity is stated today. The strike is paid at T, so discount it: K·e^(−rT).

  • Applying the equality to American options

    The formula looks general.

    Fix: Check the option style. For American options only the bound S0 − K ≤ C − P ≤ S0 − K·e^(−rT) holds.

  • Ignoring dividends or using undiscounted dividends

    Students miss the dividend line in the question stem or add the dividend at face value.

    Fix: Discount each dividend to today at the risk-free rate, sum to D, and subtract from S0 (or add to the call side).

  • Buying the wrong side in an arbitrage

    Confusing which portfolio is overpriced.

    Fix: Compare c + PV(K) with p + S0. Sell the larger, buy the smaller. Check that expiry payoffs net to zero.

  • Mixing rate conventions

    Continuous and annual rates look alike.

    Fix: Use e^(−rT) only when r is continuously compounded. Use (1 + r)^T for annual effective rates.

  • Mismatched strike or expiry

    Questions sometimes quote options with different terms as distractors.

    Fix: Parity needs identical strike and expiry. If they differ, the relationship does not apply directly.

Worked examples

Example 1

A non-dividend-paying stock trades at $50. A 6-month European call with strike $48 costs $5.20. The risk-free rate is 4% continuously compounded. What is the price of the 6-month European put with strike $48?

Show the solution
  1. Formula: p = c + K·e^(−rT) − S0.
  2. PV(K) = 48 × e^(−0.04 × 0.5) = 48 × e^(−0.02).
  3. e^(−0.02) ≈ 0.980199, so PV(K) ≈ 47.0496.
  4. p = 5.20 + 47.0496 − 50 = 2.2496.

Answer: The put price is about $2.25.

Example 2

A European call and put on a stock both have strike $100 and 1 year to expiry. The stock is $102, the call is $9, the put is $5, and the risk-free rate is 3% continuously compounded. No dividends. Is there an arbitrage, and what is the profit today if you exploit it?

Show the solution
  1. PV(K) = 100 × e^(−0.03) ≈ 100 × 0.970446 = 97.0446.
  2. Left side: c + PV(K) = 9 + 97.0446 = 106.0446.
  3. Right side: p + S0 = 5 + 102 = 107.
  4. The right side is larger, so the put plus stock is overpriced relative to the call plus bond.
  5. Trade: sell the put, short the stock, buy the call, and lend 97.0446 at the risk-free rate.
  6. Cash today: +5 + 102 − 9 − 97.0446 = +0.9554. Payoff at expiry is zero in all outcomes.

Answer: Yes. The arbitrage profit today is about $0.96 per share.

Exam tips

  • Always check whether the question says European or American before choosing equality or inequality.
  • Compute PV(K) once and carefully. Most errors are in the discounting step.
  • If a dividend is mentioned, find out whether it is a discrete amount (use PV) or a yield (use e^(−qT)).
  • For arbitrage questions, you only need the direction of the mispricing and the size of the gap. Check the signs of the cash flows.
  • Answer options are usually close in value, so keep at least four decimals in exponentials before rounding.

Practice questions from Options Markets

Put-Call Parity in other exams

The same ground in other exams, if you are preparing for more than one or want another angle on it.

Put-Call Parity: frequently asked questions

What is the put-call parity formula for FRM Part I?

For European options on a non-dividend-paying stock, c + K·e^(−rT) = p + S0. With discrete dividends, add D, the present value of dividends, to the call side. With a continuous yield, use S0·e^(−qT).

Does put-call parity hold for American options?

Not as an equality. Early exercise adds value, so you only get bounds. For a non-dividend stock, S0 − K ≤ C − P ≤ S0 − K·e^(−rT).

How do I use put-call parity to find an arbitrage?

Compute c + PV(K) and p + S0. Sell the higher-valued portfolio and buy the lower one. The payoffs cancel at expiry, so the price gap is a risk-free profit today.

How do dividends change put-call parity?

Dividends lower the stock's value over the option's life. Replace S0 with S0 − D for known dividends, or S0·e^(−qT) for a continuous yield. The call becomes relatively cheaper and the put more expensive.