Max Pain in Options Explained: Formula & Dealer Mechanics | FlashAlpha

Max Pain in Options Explained: Formula & Dealer Mechanics

Max pain is the strike where option holders collectively lose the most at expiry. Theory, formula, dealer mechanics, and live max-pain data for any US ticker via free API - with examples for SPY, QQQ, and single-name names.

T
Tomasz Dobrowolski Quant Engineer
Apr 9, 2026
Updated Apr 21, 2026
38 min read
MaxPain OptionsAnalytics DealerPositioning OptionsTrading
LIVE NOW
Pin score goes beyond max pain
The 0DTE Live dashboard shows max pain alongside a live 0-100 pin score that weights OI concentration, magnet proximity, time and gamma — for any listed symbol.
Open 0DTE Live →

What Is Max Pain?

Max pain is the strike price at which the total intrinsic value paid out across all open call and put contracts at expiration is at its minimum, meaning the largest dollar amount of options expires worthless. You sold a credit spread on SPY with two days to expiry. The trade looked perfect - positive theta, short strikes well outside the expected move. Then expiration Friday hit and SPY drifted three dollars in the wrong direction, slowly, against no news. Your spread went from 60% profit to a scratch. What happened?

Odds are, you got pinned. SPY didn't move toward your strikes because of fundamentals or flow - it moved toward the strike where options dealers collectively lose the least money. That strike is called max pain.

Max Pain Strike

The settlement price where total option holder payouts across all calls and puts are minimised. At this price, the most options expire worthless and dealers keep the most premium. It acts as a gravitational centre for the underlying as expiration approaches.

If SPY is trading at $548 and the max pain strike is $545, the theory predicts gravitational pull toward $545. Not because of some conspiracy - but because of the mechanical hedging flows created by dealer gamma exposure. Understanding max pain means understanding the force that moves your trades on expiration week.

What is the theory behind max pain?

Max pain rests on one observation: options are a zero-sum game between buyers and sellers. When options expire worthless, sellers (dealers) keep the entire premium. When options expire in-the-money, sellers pay out intrinsic value. The max pain strike is where sellers pay out the least.

Why It Matters

Options dealers collectively hold the short side of trillions of dollars in notional options exposure. Their delta-hedging activity creates real buying and selling pressure in the underlying stock. As expiration approaches, this hedging activity tends to push price toward the strike where dealers have the least payout obligation - which is max pain.

How Max Pain Is Calculated

For every possible settlement price, you compute the total intrinsic value that would be paid out across all open option contracts:

Max Pain Calculation $$ \text{Pain}(K) = \sum_{i} \max(K - K_i^{\text{put}}, 0) \times \text{OI}_i^{\text{put}} + \sum_{j} \max(K_j^{\text{call}} - K, 0) \times \text{OI}_j^{\text{call}} $$

The max pain strike is the value of K that minimises Pain(K). In practice, you iterate over every strike in the chain, compute the total payout at each, and pick the minimum.

The key inputs are:

  • Open interest by strike - not volume, not Greeks. OI represents committed positions that must settle.
  • Call and put OI separately - because calls hurt sellers when price rises, puts hurt sellers when price drops.
  • All active expirations (or a single one) - max pain can be computed per expiry or across the full chain.

A Worked Example

Consider SPY with three strikes. Assume 100-share contracts:

Strike Call OI Put OI
$540 12,000 28,000
$545 35,000 42,000
$550 18,000 8,000

If the stock settles at $545:

  • $540 calls are $5 ITM: payout = 12,000 × $5 × 100 = $6M
  • $550 puts are $5 ITM: payout = 8,000 × $5 × 100 = $4M
  • $545 calls and puts expire ATM (worthless): payout = $0
  • Total pain at $545: $10M

Repeat for $540 and $550. If $545 produces the lowest total, that is the max pain strike. In real chains with hundreds of strikes, the same logic scales - but you need a computer.

Why Does Price Gravitate Toward Max Pain?

Price does not always settle at max pain. But empirical data shows a measurable tendency, especially for high-OI names in the last 2-3 days before expiration. The mechanism is delta hedging.

The Dealer Hedging Mechanism

When a market maker sells you a call, they immediately delta-hedge by buying shares. As expiration approaches:

  1. Gamma increases - near-expiry options have extreme gamma, meaning delta changes rapidly with small price moves.
  2. Dealers must hedge more aggressively - a $1 move that barely registered a week ago now requires thousands of shares to rebalance.
  3. The hedging creates mean-reversion - in positive gamma, dealers buy dips and sell rallies, dampening moves and pulling price toward the strike cluster with the most OI.

Max pain is not a target dealers actively aim for. It is an emergent outcome of their mechanical hedging. Dealers do not collude to pin the price - but their collective rebalancing activity creates a gravitational field that is strongest near max pain.

When Max Pain Works Best

Condition Max Pain Signal Strength
High OI concentration at a few strikes Strong - more contracts = more hedging flow
Near expiration (1-3 DTE) Strong - gamma is highest, hedging is most aggressive
Positive gamma regime Strong - dealers buy dips, sell rallies (mean-reverting)
Low external catalysts Strong - hedging flows dominate in quiet markets
Negative gamma regime Weak - dealers amplify moves, price can blow through max pain
Earnings / FOMC / macro events Weak - directional flow overwhelms hedging
Low OI (small caps) Weak - insufficient hedging volume to move the stock

A Real-World Example: SPY OpEx Week

On a typical monthly OpEx week, SPY opens Monday at $578 - five dollars above the max pain strike of $573. Over the next four sessions, with no major catalysts on the calendar, here is what tends to happen:

  • Monday-Tuesday: SPY trades freely. Max pain has little pull because gamma is still low with 4-5 DTE. The stock might drift higher or lower based on normal flow.
  • Wednesday: Gamma starts picking up. Dealers who sold the 575 and 580 calls are now hedging more aggressively. Each rally toward 580 gets sold; each dip toward 575 gets bought. The daily range narrows.
  • Thursday: With 1 DTE, gamma is extreme. SPY has crept down to $575 - closer to max pain. Every half-dollar move triggers thousands of shares of dealer hedging. The stock oscillates in a $1.50 range, chopping out directional traders on both sides.
  • Friday (OpEx): SPY opens at $574.50 and grinds toward $573 into the afternoon. It closes at $573.25 - within 25 cents of max pain. Your long calls that were $5 ITM on Monday expire barely ITM. The iron condor seller who centred at $573 keeps most of the premium.

This is not a guaranteed outcome. It is a tendency - strongest in positive gamma, with concentrated OI, and no competing catalysts. But when it works, it explains the maddening expiry-week drift that every directional trader has experienced.

Max Pain vs GEX Levels: How They Relate

Max pain and gamma exposure (GEX) are different measurements of the same underlying reality: dealer options positioning. They complement each other.

Max Pain
  • Based on open interest only
  • Measures total payout at each settlement price
  • Most relevant at expiration
  • Single number - the minimum-pain strike
  • Easy to compute, easy to interpret
GEX (Gamma Exposure)
  • Based on OI, Greeks, and spot price
  • Measures hedging flow intensity at each strike
  • Most relevant intraday and multi-day
  • Multiple levels - gamma flip, call wall, put wall
  • More complex, more actionable in real-time

Dealer Alignment: When Max Pain and GEX Converge

The most powerful signal occurs when max pain aligns with GEX levels. The FlashAlpha max pain endpoint computes this automatically as a dealer alignment overlay:

  • Converging - max pain is near the gamma flip and between call/put walls. This is the strongest pin signal - hedging flows and payout minimisation point in the same direction.
  • Moderate - max pain is between the walls but far from the gamma flip. Hedging flows partially support the pin.
  • Diverging - max pain is outside the call/put walls. GEX levels and max pain disagree - expect GEX to dominate intraday while max pain exerts force only near expiration.
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/maxpain/SPY"

The response includes both the max pain analysis and the GEX overlay in a single call:

{
  "max_pain_strike": 545,
  "distance": { "percent": 0.61, "direction": "above" },
  "dealer_alignment": {
    "alignment": "converging",
    "gamma_flip": 546,
    "call_wall": 555,
    "put_wall": 538
  },
  "pin_probability": 68,
  "regime": "positive_gamma"
}

Reading the Pain Curve

Max pain is a single number, but the pain curve around it tells you much more. A sharp V-shaped curve means strong gravitational pull - even small deviations from max pain cost option holders significantly. A flat curve means the pin is weak - price can settle across a wide range without much difference in total payout.

What to Look For

  • Steep pain curve - concentrated OI at a few strikes. Strong pin expected. Good for iron condors centred at max pain.
  • Flat pain curve - dispersed OI across many strikes. Weak pin. Max pain is less predictive.
  • Asymmetric curve - one side steeper than the other. If the put side is steeper, there is more downside pinning pressure. If the call side is steeper, more upside resistance.

The pain_curve array in the API response gives you the call pain, put pain, and total pain at every strike - you can chart it directly.

Put/Call OI Ratio and Skew

The put_call_oi_ratio tells you whether the chain is put-heavy or call-heavy:

  • Ratio > 1.0 - more put OI than call OI. Typically means hedgers dominate (institutional put buying for downside protection). Max pain is often above the current price because puts expire worthless if price stays up.
  • Ratio < 1.0 - more call OI. Speculative call buying dominates. Max pain may be below the current price.
  • Ratio near 1.0 - balanced chain. Max pain is likely near the ATM strike.

Multi-Expiry Max Pain Calendar

When you call /v1/maxpain/SPY without an expiration filter, you get max pain computed across the full chain plus a per-expiry breakdown:

"max_pain_by_expiration": [
  { "expiration": "2026-04-11", "max_pain_strike": 547, "dte": 2, "total_oi": 520000 },
  { "expiration": "2026-04-17", "max_pain_strike": 545, "dte": 8, "total_oi": 1840000 },
  { "expiration": "2026-05-16", "max_pain_strike": 540, "dte": 37, "total_oi": 980000 }
]

This calendar view helps you:

  • Identify the dominant expiry - the expiry with the most OI has the strongest gravitational pull.
  • See how max pain shifts with tenor - if near-term max pain is $547 but monthly is $540, there may be a step-down after the weekly expiry rolls off.
  • Plan roll timing - if you are short options near max pain, the calendar tells you which expiry holds the most pinning power.

Pin Probability Score

Not every max pain signal is equally strong. The pin_probability score (0-100) combines four factors:

Factor Weight What It Measures
OI concentration 30% How much OI is concentrated at the top 3 strikes vs. spread evenly
Magnet proximity 25% How close the current price is to the max pain strike
Time remaining 25% Closer to expiry = higher pin force (gamma increases)
Gamma magnitude 20% Absolute net GEX - more gamma = more aggressive hedging

A score above 70 indicates strong pin conditions. Below 30, max pain is more of a reference point than an active force.

Trading Strategies Using Max Pain

Max pain is not a standalone trading signal - it is a contextual layer that improves other strategies. Here are the most common applications.

1. Iron Condors and Credit Spreads Centred at Max Pain

If pin probability is high and the gamma regime is positive, selling an iron condor centred at max pain with wings at the call and put walls can capture theta decay while the pin holds price in range.

Setup

Sell the iron condor when: pin_probability > 60, regime = positive_gamma, alignment = converging, DTE ≤ 5. Place short strikes at max pain ± 1 strike width, long wings at the call wall and put wall.

2. Expiration-Day Mean Reversion

On expiration day (0DTE), if SPY trades away from max pain into the call wall or put wall, look for mean-reversion back toward max pain. The 0DTE endpoint gives you real-time gamma acceleration and expected move to confirm the setup.

3. Calendar Spread Positioning

When near-term max pain and next-month max pain diverge, calendar spreads can profit from the convergence. For example, if this week's max pain is $547 but the monthly is $540, selling a near-term put spread at $547 while buying the monthly put at $540 captures the term-structure difference.

4. Stop Placement and Target Setting

Even if you are not trading max pain directly, knowing where it is helps with trade management:

  • Set profit targets near max pain when entering directional trades - price often stalls there.
  • Widen stops when trading through max pain - the pin force creates chop that can shake out tight stops.
  • Avoid entering new directional positions within 1-2 strikes of max pain - the pin is strongest there.

When max pain fails: Earnings, FOMC decisions, CPI prints, and other macro catalysts can overwhelm hedging flows entirely. Do not rely on max pain during event-driven sessions. Check the exposure summary for regime and dealer hedging estimates - if net GEX is negative, dealers are amplifying moves, not dampening them.

Accessing Max Pain Data via the API

The /v1/maxpain/{symbol} endpoint returns everything you need in one call: max pain strike, distance from spot, pain curve, OI by strike, dealer alignment, expected move context, pin probability, and multi-expiry calendar.

Python Example

import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://lab.flashalpha.com"

# Full-chain max pain with multi-expiry breakdown
resp = requests.get(
    f"{BASE}/v1/maxpain/SPY",
    headers={"X-Api-Key": API_KEY}
)
data = resp.json()

print(f"Max Pain: ${data['max_pain_strike']}")
print(f"Spot: ${data['underlying_price']:.2f}")
print(f"Distance: {data['distance']['percent']:.1f}% {data['distance']['direction']}")
print(f"Pin Probability: {data['pin_probability']}/100")
print(f"Dealer Alignment: {data['dealer_alignment']['alignment']}")
print(f"Regime: {data['regime']}")

# Single-expiry max pain
resp = requests.get(
    f"{BASE}/v1/maxpain/SPY?expiration=2026-04-17",
    headers={"X-Api-Key": API_KEY}
)
expiry_data = resp.json()
print(f"\nApril 17 Max Pain: ${expiry_data['max_pain_strike']}")
print(f"P/C OI Ratio: {expiry_data['put_call_oi_ratio']:.3f}")

cURL

# Full chain
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/maxpain/SPY"

# Single expiry
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/maxpain/SPY?expiration=2026-04-17"

What You Get on the Basic Plan

The full max pain endpoint is included on the Basic plan and above. It tells you not just where max pain sits, but whether it's actually tradeable:

Basic Plan and up - /v1/maxpain
  • Max pain strike + distance from spot
  • Full pain curve (steep V or flat - determines pin strength)
  • Pin probability score (0-100)
  • Dealer alignment overlay (converging/diverging with gamma flip, walls)
  • Multi-expiry calendar (max pain per expiration)
  • Expected move context (is max pain within range?)
  • OI breakdown by strike with volume

The difference is knowing that max pain is $545 vs knowing that max pain is $545, the pin probability is 72/100, dealer alignment is converging, and price is within the expected move - which means this is a high-conviction pin setup worth trading. Basic plan: $79/mo (or $63/mo billed annually), 100 requests/day.

Combining Max Pain with Other FlashAlpha Endpoints

Max pain is most powerful when layered with other exposure data:

Endpoint What It Adds to Max Pain
/v1/exposure/gex Per-strike gamma shows where hedging pressure is concentrated
/v1/exposure/levels Gamma flip, call/put walls - confirms or contradicts the max pain pin
/v1/exposure/zero-dte 0DTE pin risk, expected move - critical on expiration day
/v1/exposure/summary Regime (positive/negative gamma), net exposures, dealer hedging estimates
/v1/exposure/narrative Plain-English interpretation of the full exposure landscape

See SPY's live max pain and GEX levels

Max pain strike, pin probability, dealer alignment, gamma flip, walls

View SPY Dashboard

Limitations and Common Misconceptions

Max Pain Is Not a Price Target

Max pain does not predict where the stock will close. It identifies the equilibrium where dealer hedging flows create the most gravitational pull. The actual close depends on order flow, news, and macro forces that can overwhelm hedging mechanics.

OI Can Shift

Open interest changes daily. New positions can shift max pain by several strikes within a week. Always use current data - max pain from Monday may be irrelevant by Thursday.

Not All Expirations Are Equal

Monthly options (third Friday) have far more OI than weeklies, which means stronger pinning force. The weekly max pain is often less reliable because the OI is thinner and more concentrated in speculative flow.

It Works Better for Liquid Names

SPY, QQQ, AAPL, TSLA - these have enough OI and dealer hedging activity to generate measurable pin effects. Small-cap names with 500 contracts of OI will not show meaningful max pain behaviour.

Related Reading

Max Pain API Docs Get API Access Try in Playground

Frequently Asked Questions

Max pain is the strike price at which option holders collectively lose the most money at expiration. It is calculated by summing the intrinsic value of all open calls and puts at each possible settlement price and finding the strike with the minimum total payout. Dealers and market makers benefit the most when the stock settles at max pain because the most options expire worthless.
Max pain shows a measurable tendency to attract price, especially for liquid names like SPY and QQQ in the final 2-3 days before expiration. The mechanism is delta hedging: as gamma increases near expiry, dealers buy dips and sell rallies, creating mean-reversion toward high-OI strikes. However, it can fail during earnings, FOMC, or other macro events that overwhelm hedging flows.
Max pain is based on open interest and measures the settlement price that minimises total option payouts. GEX (gamma exposure) is based on OI, Greeks, and spot price, and measures the dollar hedging flow dealers must execute per 1% move. Max pain is most relevant at expiration; GEX is relevant intraday. When they converge - max pain near gamma flip - the pin signal is strongest.
The FlashAlpha API provides max pain data through GET /v1/maxpain/{symbol}. The endpoint returns the max pain strike, distance from spot, full pain curve, OI breakdown, dealer alignment overlay (gamma flip and call/put walls), expected move context, pin probability score (0-100), and multi-expiry calendar. It requires the Growth plan or higher ($299/mo, 2,500 requests/day).
A pin probability score above 70 indicates strong conditions for expiration pinning. The score combines OI concentration (30%), proximity of spot to max pain (25%), time remaining until expiry (25%), and gamma magnitude (20%). Scores below 30 suggest max pain is unlikely to exert meaningful gravitational force on price.
Max pain can shift daily as open interest changes. New positions, rolls, and closings alter the OI distribution across strikes. Always use current data from the API rather than a cached value. The FlashAlpha max pain endpoint computes it live from the current options chain with a 15-second cache.

Live Market Pulse

Get tick-by-tick visibility into market shifts with full-chain analytics streaming in real time.

Intelligent Screening

Screen millions of option pairs per second using your custom EV rules, filters, and setups.

Execution-Ready

Instantly send structured orders to Interactive Brokers right from your scan results.

Join the Community

Discord

Engage in real time conversations with us!

Twitter / X

Follow us for real-time updates and insights!

GitHub

Explore our open-source SDK, examples, and analytics resources!