Put-call parity says a European call plus the present value of the strike is worth the same as a European put plus the stock: c+PV(X)=p+S0c + PV(X) = p + S_0. Derivatives is only 5 to 8% of CFA Level I (CFA Institute), but parity is the logic under several other ideas in the topic: synthetic positions, no-arbitrage bounds and conversion trades all come from it. Those are the questions you'll miss if you've only memorized the formula.

The formula and why it holds

For a European option on a non-dividend-paying stock:

c+X(1+r)T=p+S0c + \frac{X}{(1+r)^T} = p + S_0

cc is the European call premium today and pp is the European put premium, with the same strike and expiration. XX is the strike price, rr is the risk-free rate per period, TT is the time to expiration in periods, and S0S_0 is the spot price of the underlying today. The present value term X/(1+r)TX / (1+r)^T is sometimes written PV(X)PV(X), or Xe−rTX e^{-rT} with continuous compounding, and you should use whichever form the question uses.

Parity is a no-arbitrage relationship, so it holds under any pricing model, and it has the cleanest proof in derivatives. Take two portfolios held to expiration. Portfolio A is a long call with strike X plus a zero-coupon bond paying X at expiration. Portfolio B is a long put with strike X plus the stock. At expiration they pay the same thing in every state:

Scroll horizontally to view all columns.

Final stock price Portfolio A Portfolio B
ST<XS_T < X 0+X=X0 + X = X (X−ST)+ST=X(X - S_T) + S_T = X
ST=XS_T = X 0+X=X0 + X = X 0+X=X0 + X = X
ST>XS_T > X (ST−X)+X=ST(S_T - X) + X = S_T 0+ST=ST0 + S_T = S_T

By the law of one price, they must cost the same today:

c+PV(X)=p+S0c + PV(X) = p + S_0

If parity looks violated in a real market, either a transaction cost (bid-ask, financing) is in the way or there's an arbitrage. Pure parity violations on liquid options don't last.

Synthetic positions and arbitrage

Rearrange the identity and you get a synthetic version of each instrument, and you should be able to build each one:

Scroll horizontally to view all columns.

Position From parity Built from
Long call c=S0+p−PV(X)c = S_0 + p - PV(X) Long stock, long put, short bond (borrow at the risk-free rate)
Long put p=c−S0+PV(X)p = c - S_0 + PV(X) Long call, short stock, long bond
Long stock S0=c−p+PV(X)S_0 = c - p + PV(X) Long call, short put, long bond
Short stock −S0=−c+p−PV(X)-S_0 = -c + p - PV(X) Short call, long put, short bond
Risk-free bond PV(X)=S0+p−cPV(X) = S_0 + p - c Long stock, long put, short call

The synthetic call helps when the call market is thin or the spread is wide. The synthetic bond implies an option-derived risk-free rate, which professional traders watch for box-spread arbitrage. Memorize the master identity once and derive the rest by rearranging it. If you try to memorize each synthetic separately, that's where the sign errors come from under exam pressure.

A typical question gives you XX, rr, TT and S0S_0 plus one of cc or pp, and asks for the other. For example, a stock trades at $50, and a 1-year European call with a strike of $48 is priced at $5.50. The risk-free rate is 4%. What's the price of the matching 1-year European put?

p=c−S0+X(1+r)T=5.50−50+481.04=5.50−50+46.15=1.65p = c - S_0 + \frac{X}{(1+r)^T} = 5.50 - 50 + \frac{48}{1.04} = 5.50 - 50 + 46.15 = 1.65

The put should be $1.65. If the market shows a different put price, there's an arbitrage: buy the cheap side, sell the expensive side, and use the bond and the stock to neutralize the rest, locking in a riskless profit.

The two standard trades for this are conversions and reversals. A conversion is long stock, long put, short call and short bond. The stock-plus-put-minus-call package pays X at expiration whatever the stock does, and you finance it by borrowing. You do it when the synthetic long stock costs more than the actual stock, so you buy the stock and sell the synthetic (short call plus long put). A reversal is the mirror image: short stock, short put, long call, long bond, used when the synthetic long stock is cheaper than buying the actual stock. Institutional options desks run these trades on the small parity gaps that show up in volatile sessions, and they're the reason parity holds so tightly in liquid markets.

Dividends, American options and what Level I tests

If the underlying pays dividends during the option's life, parity adjusts:

c+PV(X)=p+S0−PV(Dividends)c + PV(X) = p + S_0 - PV(\text{Dividends})

Or, in continuous form with dividend yield qq:

c+Xe−rT=p+S0e−qTc + Xe^{-rT} = p + S_0 e^{-qT}

A dividend lowers the value of the stock, and the call holder isn't entitled to it during the option's life, so the synthetic long stock has to reflect the dividend leaving the stock. A common trap describes a high-dividend stock and asks for a parity-derived put price. If you use the no-dividend formula you'll get it wrong, because the dividend term has to come off S0S_0.

The Black-Scholes model satisfies parity by construction. If you substitute its call and put formulas, the equation reduces to an identity. The continuous-time form isolates the call-minus-put difference, which equals the present value of the forward minus the strike:

c−p=S0−Xe−rTc - p = S_0 - X e^{-rT}

A question can use this rearrangement directly: "Given c−pc - p and Xe−rTX e^{-rT}, find S0S_0."

Strict parity holds only for European options. American options can be exercised early, which breaks the equal-payoff argument, so on a non-dividend-paying stock parity becomes an inequality:

S0−X≤C−P≤S0−Xe−rTS_0 - X \leq C - P \leq S_0 - X e^{-rT}

CC and PP are the American call and put prices. Exam questions usually say whether an option is American or European, and if it's American, don't apply strict parity. On a non-dividend stock an American call is worth the same as a European call, because exercising a call early is never optimal. An American put can be worth exercising early, which is why you need the inequality.

The question types I've seen, in my own sitting and in the hundreds of CFA Level I derivatives questions I've worked through, are direct calculation (find the missing price), synthetic identification (long stock plus long put plus short bond equals what?), arbitrage detection (given the other prices and a market price for one leg, is there an arbitrage and on which side?), dividend adjustment with the PV(Dividends)PV(\text{Dividends}) term, and no-arbitrage bounds. The lower bound on a European call, c≥max⁡(0,S0−PV(X))c \geq \max(0, S_0 - PV(X)), comes straight from parity.

The mistakes to watch for are using XX where parity needs PV(X)PV(X) (at a 5% rate over 1 year, that matters), a sign error on a memorized synthetic, strict parity on an American option (if the exam doesn't say and the topic is parity, assume European), a skipped dividend term, or mixed compounding. With an annual rr and TT in years, use (1+r)T(1+r)^T, and with a continuous rr, use e−rTe^{-rT}. The exam is usually explicit about which.

Write the master identity, c+PV(X)=p+S0c + PV(X) = p + S_0, at the top of every derivatives practice question and derive what you need from it. The CFA Level I formula sheet has the parity equation in discrete and continuous form, with and without dividends. Then do 30-50 derivatives questions back to back in the free CFA Level I question bank with its Derivatives topic filter. The solutions write out the parity setup each time, so you get used to writing the identity first.