Put-Call Parity Explained: Formula, Arbitrage, and Synthetic Positions

May 9, 2026 · guides · 10 min read

Put-Call Parity Explained: Formula, Arbitrage, and Synthetic Positions

Put-call parity is one of the foundational principles in options pricing. It defines a precise mathematical relationship between a European call option, a European put option, the underlying stock price, and the present value of the strike price. Once you understand it, you can spot mispricings, build synthetic positions, and quickly sanity-check whether an options model is working correctly.

This guide covers the put-call parity formula in full, walks through the derivation logic, shows what happens when parity breaks down, and explains how traders use it to construct synthetic positions.


What Is Put-Call Parity?

Put-call parity is a no-arbitrage relationship that must hold for European options on the same underlying asset, with the same strike price and the same expiration date.

It states that the price of a European call minus the price of a European put equals the current stock price minus the present value of the strike price.

If this relationship does not hold, two portfolios with identical payoffs at expiration would be trading at different prices today, which creates a risk-free profit opportunity. In efficient markets, arbitrageurs close that gap almost immediately.

Put-call parity was formally articulated by economist Hans Stoll in 1969, but the underlying logic follows directly from the law of one price: identical future cash flows must have identical present values.


The Put-Call Parity Formula

The formula is:

C - P = S - PV(K)

Where each term means:

Written out more explicitly:

C - P = S - K * e^(-rT)

Or rearranged to isolate each component:

C = P + S - PV(K)

P = C - S + PV(K)

All four versions say the same thing. You can solve for any one variable if you know the other three.


Breaking Down Each Component

The Call Price (C)

A call option gives the holder the right, but not the obligation, to purchase the underlying stock at strike price K on or before expiration. For a European call, exercise happens only at expiration. The call has value when the stock price at expiration exceeds K.

The Put Price (P)

A put option gives the holder the right to sell the underlying stock at strike price K at expiration. The put has value when the stock price at expiration falls below K.

The Spot Price (S)

This is simply the current market price of the underlying stock. It is observable in real time.

The Present Value of the Strike, PV(K)

This is the strike price discounted back from expiration to today. If you need K dollars at expiration, and you can earn the risk-free rate r continuously, then you only need to invest K * e^(-rT) today. This is the cost of locking in the strike price payment now rather than at expiration.

For example, if K = 100, r = 5%, and T = 1 year, then PV(K) = 100 * e^(-0.05) = approximately 95.12.


The Derivation: Two Portfolios with Identical Payoffs

The cleanest way to understand why the formula must hold is to construct two portfolios that have identical payoffs at expiration, then reason about what they must cost today.

Portfolio A: Long Call plus Cash

At expiration, two outcomes exist:

  1. If the stock price S(T) is above K: the call is exercised, you pay K (which you have from the bond), and you receive one share worth S(T). Total value: S(T).
  2. If S(T) is below K: the call expires worthless, but you still have K in cash. Total value: K.

So Portfolio A pays max(S(T), K) at expiration.

Portfolio B: Long Put plus Long Stock

At expiration:

  1. If S(T) is above K: the put expires worthless, but you hold one share worth S(T). Total value: S(T).
  2. If S(T) is below K: exercise the put, sell the share for K. Total value: K.

So Portfolio B also pays max(S(T), K) at expiration.

Both portfolios have identical payoffs under every possible outcome. By the law of one price, they must have identical costs today:

C + PV(K) = P + S

Rearranging: C - P = S - PV(K)

This is the put-call parity formula, derived purely from the requirement that no free lunch exists.


Numerical Example

Suppose:

First, compute PV(K):

PV(K) = 100 * e^(-0.04 * 0.5) = 100 * e^(-0.02) = 100 * 0.9802 = 98.02

Now apply the formula to find the fair put price:

P = C - S + PV(K) = 6.50 - 100 + 98.02 = 4.52

If the market is quoting the put at exactly 4.52, parity holds. If the put is quoted at a different price, an arbitrage opportunity exists.


What Happens When Parity Is Violated: Arbitrage

Suppose in the example above the put is mispriced at 3.00 instead of 4.52. The put is too cheap. This creates a straightforward arbitrage.

Arbitrage Setup When the Put Is Underpriced

The goal is to buy the cheap side and sell the expensive side while locking in a risk-free profit.

Step 1: Buy the put at 3.00. Step 2: Buy the stock at 100.00. Step 3: Sell (write) the call at 6.50. Step 4: Borrow 98.02 at the risk-free rate (so you owe exactly 100 at expiration).

Net cash flow at initiation:

At expiration, regardless of where the stock trades, the portfolio nets out to zero: if the stock is above K, the call gets exercised and you deliver the stock and receive K to repay the loan; if the stock is below K, you exercise the put and receive K to repay the loan. Either way the net position settles flat.

The 1.52 collected upfront is pure arbitrage profit, with no risk and no net investment.

In practice, this gap would be closed within milliseconds by automated trading desks. The mere possibility of this trade is what enforces parity continuously in liquid markets.


Synthetic Positions Built from Put-Call Parity

The formula C - P = S - PV(K) can be rearranged to construct synthetic versions of any one instrument from the others. These synthetic positions are widely used to replicate exposures, reduce transaction costs, or express a view when one leg is illiquid.

Synthetic Long Stock

Rearranging: S = C - P + PV(K)

Buy the call, sell the put at the same strike and expiration, and invest PV(K) in a risk-free bond.

The payoff at expiration mirrors holding the stock outright. If the stock rises, the call gains. If the stock falls, the short put loses value at the same rate as a stock position. The bond delivers K at expiration to fund the potential put assignment.

Traders use synthetic long stock when direct stock purchases are restricted or when margin treatment differs. The position is economically identical to owning shares.

Synthetic Short Stock

Rearranging: -S = P - C - PV(K)

Buy the put, sell the call at the same strike and expiration, and borrow PV(K) at the risk-free rate.

This position profits as the stock falls, mirroring a short stock position. It is useful when shares are hard to borrow or when short-sale restrictions apply.

Synthetic Long Call

Rearranging: C = P + S - PV(K)

Buy the put, buy the stock, and borrow PV(K).

The result behaves exactly like a long call. Gains accelerate if the stock rises above K and losses are capped at the net premium paid. A portfolio manager who wants call-like convexity without buying the option directly can replicate it this way.

Synthetic Long Put

Rearranging: P = C - S + PV(K)

Buy the call, short the stock, and invest PV(K).

This mirrors a protective put without actually purchasing the put. It is useful when put liquidity is thin or bid-ask spreads are wide.

Synthetic Risk-Free Bond

Rearranging: PV(K) = S + P - C

Buy the stock, buy the put, and sell the call (a covered call with a protective put, also known as a conversion).

The portfolio locks in exactly K at expiration regardless of where the stock trades. The present value of that certain K-dollar payoff is a risk-free bond. Traders sometimes use this to capture a yield that differs from prevailing money market rates.

The reverse, known as a reversal, is: short the stock, sell the put, and buy the call. It delivers the same K payoff and arbitrages away any yield differential.


American Options: Why Parity Becomes an Inequality

Put-call parity in the strict equality form applies only to European options, which can be exercised only at expiration. American options can be exercised at any time before expiration, which changes the analysis.

For American options, the relationship becomes an inequality rather than an equality:

S - K is less than or equal to C - P is less than or equal to S - PV(K)

The upper bound S - PV(K) still holds because early exercise of the put cannot create more value than the discounted strike. The lower bound S - K reflects the scenario where the call is exercised immediately and the put has its intrinsic value.

The reason equality breaks down is early exercise premium. For a deep in-the-money American put, early exercise may be worthwhile to capture the time value of K immediately. That early exercise value is not captured in the European formula.

For most practical purposes with non-dividend-paying stocks, the early exercise premium on American calls is zero (it is never optimal to early-exercise an American call on a non-dividend-paying stock). So for calls on non-dividend stocks, the American and European values are identical and the parity relationship holds as an equality.


Dividend Adjustments

When the underlying stock pays dividends before expiration, the formula requires adjustment. Dividends reduce the stock price on the ex-dividend date, which affects both calls and puts asymmetrically.

The adjusted formula is:

C - P = S - PV(K) - PV(D)

Where PV(D) is the present value of all dividends expected to be paid before expiration.

Intuitively, the stock price will drop by approximately the dividend amount on the ex-dividend date. A holder of the stock receives those dividends; a holder of the synthetic long stock (long call, short put) does not. The dividend present value adjusts for this difference.

For example, if a stock paying a 2.00 dividend in 3 months is analyzed under the same parameters as the earlier example (S = 100, K = 100, r = 4%, T = 0.5 years), the fair put price would be:

PV(D) = 2.00 * e^(-0.04 * 0.25) = 2.00 * 0.9900 = 1.98

C - P = 100 - 98.02 - 1.98 = 0.00

With this dividend, a 6-month at-the-money call and put on the same dividend-paying stock should be priced nearly identically. The dividend erosion offsets the interest income on the bond.


Using Put-Call Parity to Verify Options Pricing Models

Put-call parity is model-independent. It does not require Black-Scholes, binomial trees, or any other pricing model. It follows purely from no-arbitrage logic.

This makes it a powerful sanity check on any options pricing output. If a model produces call and put prices that violate parity, the model has an internal error. No further analysis is needed to identify the problem as fundamental.

Practitioners routinely run parity checks across an entire options chain as part of model validation. Any pair (call, put) at the same strike and expiration that breaks parity by more than transaction costs flags a potential data error, model miscalibration, or genuine arbitrage opportunity.

In the context of tools like Equity Rank, parity-consistency checks are part of how the options pricing layer validates its output before surfacing strategy analysis to users. When the IV and Greeks are computed, the resulting call and put prices are checked against parity to confirm internal consistency.


Key Takeaways

Put-call parity is not optional math. It is a hard constraint that holds continuously in liquid options markets.

The core formula C - P = S - PV(K) is derived from the requirement that two portfolios with identical payoffs must cost the same today. Violating it creates immediate risk-free profit, which arbitrageurs eliminate.

Beyond arbitrage, the formula unlocks synthetic positions: any one of the four instruments (call, put, stock, bond) can be replicated from the other three. Synthetic long stock, synthetic put, synthetic call, and conversion trades all flow directly from rearranging the same identity.

For American options, the equality becomes an inequality because early exercise rights have value. For dividend-paying stocks, the formula is adjusted by subtracting the present value of expected dividends.

Understanding put-call parity gives you a clean, assumption-free lens for evaluating whether options are priced consistently, for building positions that replicate a desired payoff at lower cost, and for quickly identifying when something in an options chain is off.


Equity Rank surfaces options strategies based on IV rank, earnings timing, and model-derived fair value estimates. All figures shown on the platform are model outputs for research purposes, not investment recommendations.