Pin Risk Explained — The 0-100 Score That Tells You If Price Will Pin | FlashAlpha

Pin Risk Explained — The 0-100 Score That Tells You If Price Will Pin

Pin risk is the tendency for the underlying to close at a high-OI strike on expiration. The FlashAlpha 0DTE pin score reduces it to a single 0-100 number blending OI concentration, magnet proximity, time remaining, and gamma magnitude. This article explains each component, what the score means at different thresholds, and how to read it in a live setup.

T
Tomasz Dobrowolski Quant Engineer
Apr 24, 2026
11 min read
PinRisk 0DTE GammaExposure MaxPain OptionsAnalytics
LIVE
See today's pin score
For SPY, SPXW, QQQ, NVDA, TSLA and 6,000+ others — with the magnet strike, OI concentration and time-to-close rolled up into one number.
Open 0DTE Live →

What pin risk actually is

Pin risk is a microstructure phenomenon, not a pattern. When a specific strike has very large open interest, the dealers on the other side of those contracts own a proportionally large amount of gamma centred on that strike. As price approaches it, their hedging flows intensify: tiny moves force them to buy or sell stock to stay delta-neutral. If spot is below the magnet strike and drifts up, dealers sell into the rally; if it ticks above, the next small move down triggers buys. Net effect: price gets stuck near the strike.

The formal definition is cleaner than most narratives make it. Pin risk is mean-reversion toward a high-gamma strike driven by dealer hedging flow. It is the strongest on expiration day because gamma for at-the-money options scales as

ATM Gamma at Expiration $$ \Gamma_{\text{ATM}} \propto \frac{1}{\sqrt{T}} $$

With \(T\) measured in hours rather than weeks, gamma is 3-10× larger and hedging flows are proportionally larger. This is why pin risk is a 0DTE phenomenon. It exists on weekly OPEX, but it is far more mechanical on same-day expirations.

Pin risk vs max pain — what's different

Max pain is the strike at which the total value of all options expiring worthless is maximised. It assumes dealers benefit when retail loses the most, and draws a line at the theoretically-optimal close. It is useful context but it has three limitations:

  1. It is static. The max-pain strike computed at 9:30 AM is the same number at 3:30 PM unless OI changes dramatically intraday. Pin behaviour is not — it intensifies toward close.
  2. It does not incorporate gamma. A strike can have enormous OI but middling gamma contribution (deep out-of-the-money, for example) and max pain will still point to it.
  3. It says nothing about distance. Max pain at $592 means little if spot is at $618 with two hours left.

The pin score fixes all three. It is re-weighted by gamma magnitude, scaled by time remaining, and penalised when the magnet is far from spot. Read both — they do not duplicate each other. Max pain tells you the attractor; the pin score tells you whether the attraction actually has physics behind it today.

The four components of the 0-100 score

FlashAlpha's pin score is a weighted composite of four factors that each capture a distinct structural condition. A strong pin requires all four to align — that is the whole design principle.

ComponentWeightWhat it measuresSource field
OI concentration30%Share of total chain OI sitting in the top 3 strikesoi_concentration_top3_pct
Magnet proximity25%How close spot is to the highest-gamma strike (penalises distance)distance_to_magnet_pct
Time remaining25%Hours left until 4:00 PM ET (pin intensifies as this shrinks)time_to_close_hours
Gamma magnitude20%Absolute gamma at the magnet strike (scales the hedging force)magnet_gex

Each component is normalised to 0-100 independently, then combined with the weights above. The result is a single number that rises from morning into close, rises as spot drifts toward the magnet, and falls if any one of the four conditions fails.

Why OI concentration is the biggest weight

The top-3 OI concentration is the strongest structural signal because it captures whether the chain has a dominant strike versus a diffused one. Two chains with identical total OI behave completely differently if one has 45% sitting in three strikes and the other has 15%.

Top-3 OI Concentration $$ C_3 = \frac{OI_{(1)} + OI_{(2)} + OI_{(3)}}{\sum_i OI_i} \quad \text{where}\ OI_{(k)}\ \text{is the}\ k\text{-th largest strike OI} $$

High \(C_3\) (>40%) means three strikes dominate hedging — one of them almost certainly pins. Low \(C_3\) (<20%) means hedging is spread across many strikes, each contributing modestly — no single magnet forms.

Why proximity matters

A magnet strike at $590 with spot at $591 produces completely different hedging flow than the same magnet with spot at $603. In the first case, dealers are actively hedging around the magnet all day; in the second, they are far from it and would need price to travel $12 before the pin physics engages. The score penalises distance so a theoretically-strong magnet far from spot does not overstate real pin risk.

Reading the score in practice

Thresholds vary by underlying but these ranges work for the major index ETFs:

ScoreReadSetup
0-30No pin — directional regime dominatesTrade the gamma regime; skip condors and credit spreads targeting the magnet
30-55Weak pin — partial attractionDrift toward magnet possible but unreliable; combine with regime read
55-70Meaningful pin — use as secondary signalShort vol around magnet viable; size down if regime is negative
70-85Strong pin — primary signalClassic pin day — credit spreads, iron flies, short strangles around magnet
85-100Dominant pin — high-convictionPosition sizing driven by magnet width; expect ATM straddle to decay fast

The score is not monotonic through the day. A score of 42 at 10:00 AM can become 78 by 2:30 PM as time remaining shrinks — or it can drift to 30 if price moves away from the magnet. Read it live, not once.

See the score live on your ticker

The 0DTE Live dashboard renders the pin score, magnet strike, OI concentration and distance in one card.

Open the dashboard →

Common misreads

Three failure modes to avoid when using the score:

1. Treating a high score as price prediction

A 78 pin score does not mean "price will be at the magnet strike by close". It means "the structural hedging flow is biased toward drawing price there, conditional on the regime not breaking". If spot gaps through a key level two hours in, regime flips from positive to negative gamma, and the magnet moves — the score in that moment was accurate, but the regime break dominated. Pin is a structural tailwind, not a forecast.

2. Ignoring the magnet's distance

The distance-to-magnet component is built into the score but traders often get impatient when spot drifts within 0.5% of the magnet. The right response when the score rises from 55 to 75 as spot approaches is to tighten wings, not to add more width. Pin risk is most dangerous for short premium when spot is within the body of the iron condor — the magnet yanks price into the profit zone, but it also yanks it straight through a short strike if you mis-size.

3. Using it without the regime read

Pin score and gamma regime tell different stories. A 75 pin score in a positive-gamma regime is a "sit tight" signal. The same 75 pin score in a negative-gamma regime is a warning — dealer hedging is amplifying whatever move is in play, and the magnet attraction can collapse in a single tick if gamma flips. Always read the two together. See the companion article on reading 0DTE regime live.

Pulling the score from the API

The pin score and all four components come back in one call to /v1/exposure/zero-dte/{symbol}:

import requests

r = requests.get(
    "https://lab.flashalpha.com/v1/exposure/zero-dte/SPY",
    headers={"X-Api-Key": "YOUR_API_KEY"}
)
d = r.json()

pin = d["pin_risk"]
print(f"Pin score:        {pin['pin_score']}/100")
print(f"Magnet strike:    ${pin['magnet_strike']}")
print(f"Distance to pin:  {pin['distance_to_magnet_pct']:.2f}%")
print(f"Top-3 OI conc:    {pin['oi_concentration_top3_pct']:.1f}%")
print(f"Max pain:         ${pin['max_pain']}")
print(f"Description:      {pin['description']}")

Use pin_score > 70 as a hard threshold for pin-dominant days. Combine with regime.label == "positive_gamma" for clean setups. See the full zero-dte endpoint docs or read the pin risk concept page for the theory.

The endpoint is on the Growth tier ($239/mo billed annually), covering every listed symbol. Historical replay of the same schema for any minute since 2018 is on the Alpha tier via historical.flashalpha.com/v1/exposure/zero-dte/{symbol}?at=....

The short answer

Pin risk is the structural attraction of price toward a high-OI strike from dealer gamma hedging. The 0-100 pin score blends OI concentration, magnet proximity, time remaining and gamma magnitude. Above 70, pin is the primary intraday force; below 40, directional risk dominates. Read it live alongside the regime — one describes the attractor, the other describes whether the attraction holds.

MOST POPULAR
Track pin risk live on every symbol
Growth tier: pin score, regime, expected move, dealer hedging live for 6,000+ tickers, plus full-chain GEX/DEX/VEX/CHEX, IV rank, vol surface and the live screener.
See Growth pricing — from $239/mo billed annually →

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!