Skip to main content

Put-Call Parity

Put-call parity is a fundamental relationship between call and put prices. It states that a call and put with the same strike and expiry must be priced consistently. If they are not, there is free money on the table.

Interactive Parity Calculator

Adjust the inputs and watch how the parity relationship holds across different market conditions. Click on "PUT-CALL PARITY" to see the formula with your current values.

Spot Price$100.0k
$70k$130k
Days to Expiry30d
1d180d
Implied Volatility50%
10%150%
Interest Rate5%
0%20%
PUT-CALL PARITY
click to see formula
Call - Put
$5909
C
-
$5499
P
= $410
=
Spot - PV(Strike)
$100.0k
S
-
$99.6k
PV(K)
= $410
Call Price (C)
$5909
Put Price (P)
$5499
Spot (S)
$100.0k
PV(Strike)
$99.6k
EQUIVALENT PORTFOLIOS
Portfolio A
Long Call
+
Cash = PV(K)
$105499
=
Portfolio B
Long Put
+
Long Stock
$105499
Both portfolios have identical payoffs at expiry, so they must have the same value today.
Parity holds. No arbitrage opportunity. The call and put are correctly priced relative to each other.

Why It Works

The insight is that two portfolios with identical payoffs at expiry must have the same value today.

Portfolio APortfolio B
Long callLong put
+ Cash worth PV(K)+ Long underlying

At expiry, both portfolios are worth max(S, K):

  • If S > K: Portfolio A exercises the call, Portfolio B holds the stock
  • If S < K: Portfolio A keeps the cash (now worth K), Portfolio B exercises the put

Same payoff = same price today. Any difference is an arbitrage opportunity.

No-Arbitrage Implications

Put-call parity is a no-arbitrage condition. If violated:

If...Then...Arbitrage
C - P > S - PV(K)Calls overpriced vs putsSell call, buy put, buy stock, borrow PV(K)
C - P < S - PV(K)Puts overpriced vs callsBuy call, sell put, sell stock, lend PV(K)

In practice, small deviations exist due to:

  • Bid-ask spreads
  • Transaction costs
  • Borrowing costs
  • Execution risk

But large deviations get arbitraged away quickly.

Practical Uses

1. Sanity Check Pricing

If you see a call and put with the same strike, you can verify they are priced consistently:

CPSPV(K)C - P \approx S - PV(K)

If they are not, something is off: maybe stale quotes or a data error.

2. Synthetic Positions

Put-call parity lets you create synthetic positions:

Want ThisBuild It With
Long callLong put + Long stock - Borrow PV(K)
Long putLong call + Short stock + Lend PV(K)
Long stockLong call + Short put + Lend PV(K)

This is useful when one leg is cheaper or more liquid than the direct position.

3. Understanding Skew

The relationship also implies a connection to the forward price:

CP=ForwardKerTC - P = \text{Forward} - K \cdot e^{-rT}

This connects option prices to the forward, which is key for understanding volatility skew.

Connection to Other Concepts

Put-call parity connects several important ideas:

  • Forward pricing: The relationship implies a forward price
  • No-arbitrage: Violations create risk-free profit opportunities
  • Synthetic replication: Any position can be built from others
  • Delta hedging: A delta-neutral portfolio earns the risk-free rate

Understanding parity helps you see that calls and puts are not independent. They are two views of the same underlying uncertainty.

When Parity Breaks

Put-call parity is exact in theory but approximate in practice. Several forces cause persistent or temporary deviations:

Source of Deviation
Direction
Magnitude
Persistence
Bid-ask spread
Either
0.1-0.5% of strike
Permanent (structural)
Transaction costs and fees
Either
0.05-0.2%
Permanent
Early exercise premium (American options)
Puts underpriced vs European parity
0-2% of strike for deep ITM
Depends on rates and dividends
Pin risk at expiry
Either
Can be large for ATM strikes
Last hours before expiry only
Execution risk
Either
Variable
Transient
High funding rates / basis blowout
Calls cheap vs puts (or vice versa)
1-5% in extreme markets
Days to weeks during stress
💡
Pin Risk and Parity

At expiry, when spot is very close to the strike, parity can appear to break because the delta of the ATM option oscillates between 0 and 1. A call and put both near 50-delta create maximum uncertainty about whether they finish in or out of the money. The exercise decision itself introduces risk that the theoretical parity relationship does not account for. See Pin Risk for more.

Conversion and Reversal Arbitrage

The classic trades that enforce put-call parity are the conversion and the reversal:

Conversion (when calls are overpriced relative to puts):

  1. Sell the call
  2. Buy the put (same strike and expiry)
  3. Buy the underlying

This creates a riskless position that locks in the parity difference. At expiry, you deliver the underlying regardless of where spot ends up. The profit is the amount by which the call was overpriced relative to the put.

Reversal (when puts are overpriced relative to calls):

  1. Buy the call
  2. Sell the put (same strike and expiry)
  3. Sell the underlying

Same logic in reverse. You receive the underlying at expiry regardless of spot.

Synthetic Positions

Put-call parity enables the construction of synthetic positions -- replicating one instrument using others:

Synthetic PositionConstructionWhen to Use
Synthetic long callLong put + Long underlyingWhen puts are cheaper or more liquid than calls at the same strike
Synthetic long putLong call + Short underlyingWhen calls are cheaper or more liquid than puts
Synthetic long underlyingLong call + Short put (same strike)When you want spot exposure using options only (no margin on the underlying)
Synthetic short underlyingShort call + Long put (same strike)Creating short exposure without borrowing the asset

Synthetic positions are useful whenever one leg is cheaper, more liquid, or more capital-efficient than the direct position. In crypto, where spot borrowing is limited and options and perps live on different venues, synthetics can unlock trades that are otherwise impractical.

Crypto-Specific Parity Deviations

Several crypto-specific factors cause put-call parity to deviate more than in traditional markets:

High funding rates: When perp funding is extremely high (bullish markets), the cost of carrying a short position in the underlying is elevated. This makes reversals more expensive and allows puts to trade at a relative premium.

Basis blowouts: When the basis between futures/perps and spot diverges significantly, the forward price embedded in options (which reference settlement, not spot) can differ from the forward implied by the perp market. This creates apparent parity violations that are actually rational pricing of different reference rates.

Cross-venue fragmentation: Options trade primarily on Deribit, while spot and perps are distributed across Binance, Bybit, OKX, and others. Since you cannot atomically execute a conversion across venues, the parity band is wider than in traditional markets where options and the underlying trade on the same exchange.

Settlement mechanics: Crypto options typically settle in the underlying (inverse) or in USD (linear). The settlement method affects how to calculate parity correctly. An inverse-settled BTC option has different carry costs than a linear-settled one.

Test your understanding before moving on.

Q: You see a BTC call at $4,200 and a BTC put at $3,800, both at the $100k strike with 30 DTE. Spot is $100,500 and the risk-free rate is negligible. Is parity holding?
Q: Why can't you simply sell the overpriced leg and buy the underpriced leg to pocket the parity difference?

💡 Tip: Try answering each question yourself before revealing the answer.

Building mathematical intuition

Learn put-call parity from scratchInteractive lesson · no prerequisites

The interactive lesson covers the identity C − P = S − K·e⁻ʳᵀ, why it must hold (two portfolios with identical payoffs), how to use it to convert between calls and puts, how to spot parity violations and the arbitrage trades they imply, and why small violations appear in crypto markets.

Open source implementations

RepoWhy inspect it
QuantLibPCP verification and conversion arbitrage
py_vollibCall-put conversion utilities

Related: