Lesson

Put-call parity: conversion, reversal and why the forward matters

A call minus a put with the same strike behaves like the underlying minus the strike. If the link breaks, it can be locked in with three trades on one exchange. We check parity on live prices and see why a 0.34% “deviation” is usually basis, not free money.

Published9 min read
A balanced brass scale: an indigo key and a coin on one pan, a gold key and a stack of coins on the other
Illustration: P2P.Army, AI-generated (Leonardo, GPT Image 2).

Cross-exchange setups (lesson 5) keep the legs on different exchanges. Put-call parity lets you look for dislocations inside one exchange: a call, a put and the underlying with the same strike and expiry are linked by a formula, and if it breaks, the gap can be locked in.

The formula

For European options with the same strike and expiry: call − put = (forward − strike) × discount. The meaning is simple: a bought call plus a sold put together behave like buying the underlying at the strike price on the expiry date — a synthetic future. If the call and put are priced differently from the real future, one of the combinations is cheaper.

For Deribit coin options, where the premium and payoff are in BTC, the same logic gives: call − put (in BTC) ≈ 1 − strike ÷ forward.

Conversion and reversal

  • Conversion (the call is rich): sell the call, buy the put, buy the underlying. By expiry the position locks in the gap.
  • Reversal (the call is cheap): buy the call, sell the put, sell the underlying.
  • All three legs are on one exchange — margin is calculated together, with no liquidation risk on another venue.
Fig. 1. The parity block from the /futures/options page, October 31, 2026. The formula in the block is simplified to “spot − strike” for short maturities; below we see why longer maturities need the forward.Screenshot: p2p.army, 10/31/2026Open source

Checking it on live prices

Parity for the 80,000 strike, expiry 25.12.2026, October 31, 2026, 06:52 UTC
ExchangeCall − put (mid prices)Using the forwardUsing spot
Deribit, in BTC−0.0265 BTC1 − 80,000 ÷ 77,938.75 = −0.02641 − 80,000 ÷ 77,285.35 = −0.0351
Bybit, in USDT−$1,922.578,053.86 − 80,000 = −$1,946.177,285.35 − 80,000 = −$2,714.6
Public APIs. The Deribit forward is the mid price of the BTC-25DEC26 future (77,937.5 / 77,940.0), the Bybit forward is the underlyingPrice from the option ticker, spot is the Deribit index.
  • With the forward parity holds almost exactly: on Deribit the difference is 0.00005 BTC (about $4), on Bybit $24. That is less than the bid/ask spread — there is nothing to earn.
  • With spot the “deviation” is huge: about $667 on Deribit and $792 on Bybit, or 1.02% of the BTC price. That is not a market error but the basis: the 55-day forward is pricier than spot.

What the scanner shows

Fig. 2. Parity mode, data as of October 6, 2026. A deviation of about +0.34% on all strikes at once signals carry, not a mispricing of one option. Screenshot of the paid version with that day’s real data.Screenshot: p2p.army, 10/6/2026Open source
Fig. 3. The BTC 86,000 parity setup on Binance, expiry 30.10.2026, October 6, 2026. Screenshot of the paid version with that day’s real data.Screenshot: p2p.army, 10/6/2026Open source

The scanner calculates parity from the index (spot) — its risk note says so plainly: for longer maturities carry appears as deviation and is not free profit. In the screenshot the deviation is $291.68 (+0.34%) over 23.4 days — about 5.3% a year. The annualized basis of the BTC quarterly future on Binance that day was 5.13%. The conversion here is the same cash-and-carry trade (futures course), just built from options: the +0.22% over 23 days after fees roughly equals what the basis pays.

When parity is a real opportunity

  • One strike shows a deviation while its neighbors do not — the issue is that specific option, not carry.
  • The deviation is noticeably larger than the futures basis for the same date.
  • All three legs are executable at bid and ask, not just mid prices, and the fees for three legs are covered. Deribit offers a combo discount: the fees of the legs in one direction are reduced to zero.
  • A study of parity on Binance ETH options (Finance Research Letters, 2024) found that significant violations remain even after spreads and fees — but they have to be caught quickly and execution has to be checked.

Frequently asked questions

What is put-call parity?

The link between the prices of a European call and put with the same strike and expiry and the underlying: call − put = (forward − strike) × discount. A bought call plus a sold put together behave like a future at the strike price.

How is conversion different from reversal?

Conversion: sell the call, buy the put and buy the underlying when the call is rich. Reversal: buy the call, sell the put and sell the underlying when the call is cheap.

Why compare parity with the forward rather than spot?

Options settle on the expiry date, and the forward for that date is pricier than spot by the basis. Plug in spot and the basis looks like a “deviation”, even though it is ordinary carry.

Is the scanner’s parity deviation a profit?

Not necessarily. The scanner calculates from spot, so for longer maturities the deviation includes the basis. A real opportunity is when an individual strike shows a deviation noticeably larger than the futures basis.

Sources

  1. 1.
    Put/Call Parity
    Options Industry Councilofficial
  2. 2.
  3. 3.
  4. 4.
  5. 5.
    Fees
    Deribit10/22/2026
  6. 6.
  7. 7.
Tags:#options arbitrage#put-call parity
Share:Telegram𝕏

About the author

Antonio Merkle — crypto expert, arbitrage trader and P2P.Army author

Crypto expert, arbitrage trader and investor

Crypto expert and hands-on crypto arbitrage trader, investor and software developer with over 20 years of experience. On the P2P.Army blog he covers exchange news, P2P and cross-exchange arbitrage.

  • Crypto arbitrage
  • P2P arbitrage
  • Cross-exchange arbitrage
  • Crypto exchanges
  • Investing
  • Software development
All articles by the author →