Live effective-OI profile · 19:03 UTC

SPY Pin Risk

How hard dealer hedging is pulling price toward the gamma magnet strike - scored 0-100, with the levels that frame the pull.

SPY spot 771.53

SPY QQQ IWM

Pin risk score

Moderate pin
64
/100
Gamma magnet
773
Distance to magnet
0.19%
Time to close
1.0h

Score components

Weights: 30% OI + 25% proximity + 25% time + 20% gamma

OI concentration 24

How much open interest stacks at the magnet

Magnet proximity 62

How close spot sits to the magnet strike

Time to expiry 85

Pinning strengthens as the close approaches

Gamma magnitude 100

Size of dealer gamma at the magnet

Live levels around the pin

Effective OI - includes today's classified tape

  1. Call wall 775 +0.5%
  2. Gamma magnet 773 +0.2%
  3. Spot 771.53 now
  4. Put wall 770 -0.2%
  5. Gamma flip 766.09 -0.7%
  6. Max pain 750 -2.8%

The magnet is where hedging flow pulls; the walls are where it tends to stall. When the magnet, max pain and spot converge into a Friday close, pinning odds are at their highest.

Today's expiry only (0DTE)

Chain filtered to 2026-08-05 - the purest pin read on expiry day

Moderate pin
0DTE score
64/100
0DTE magnet
773
Distance
0.20%
To close
1.0h

The all-expiry score above blends the whole chain; this one isolates contracts expiring today, where hedging is most aggressive. For the full same-day picture - regime, expected move and theta - see 0DTE Live.

Get this via API

Two calls: the pin score with its breakdown, and the live levels. Pass an expiry filter for the 0DTE-only read - today's date is the natural choice on daily-expiry names.

cURL - the score on this page
curl -H "X-Api-Key: YOUR_API_KEY" \
  "https://lab.flashalpha.com/v1/flow/pin-risk/spy"
Python - score + live levels
import requests

H = {"X-Api-Key": "YOUR_API_KEY"}
base = "https://lab.flashalpha.com/v1/flow"
pin = requests.get(f"{base}/pin-risk/spy", headers=H).json()
lvl = requests.get(f"{base}/levels/spy", headers=H).json()
print(pin["live_pin_risk"], pin["magnet_strike"], lvl["live_call_wall"])

Get pin risk via API

This monitor is free to read. The live pin-risk and levels endpoints - computed on effective OI from the classified tape - are Growth tier.

See pricing

Why stocks pin

When a strike carries heavy open interest into expiry, the dealers on the other side of those contracts hold a large gamma position there. Hedging it means buying as price dips below the strike and selling as it rises above - mechanical, two-sided flow that dampens movement around the strike. The result is the well-documented tendency of prices to settle near big strikes at expiration. The pin risk concept page covers the academic literature.

The score

Four observable components, weighted: OI concentration at the magnet (30%) - pinning needs mass; proximity (25%) - the magnet only matters if spot is within reach; time (25%) - gamma sharpens into the close, so the same setup pins harder at 3pm than at 10am; and gamma magnitude (20%) - the raw size of the position dealers must hedge.

Effective OI, not settled OI

The profile is computed on effective open interest: yesterday's settlement adjusted by today's classified tape through the OI simulator. A wall that traded away this morning stops pulling on this page hours before settled data would show it - the same live-vs-settled distinction that separates the flow-adjusted positioning view from the overnight one.

What pinning is not

It is not a guarantee and it is not tradable on its own. A strong score says the hedging vector points toward the magnet; a macro headline overwhelms it instantly. The score is best read as friction: high pin risk means moves away from the magnet are fighting mechanical flow, which matters for anyone holding expiring spreads through the close or timing entries around opex.

Frequently asked questions

What is pin risk?+

The tendency of price to gravitate toward a heavily-positioned strike as expiration nears, driven by dealer hedging flow that buys below and sells above the strike. For holders of expiring options it is also the practical risk of settlement landing exactly at the strike.

Is the gamma magnet the same as max pain?+

Often close, not identical. Max pain minimizes the aggregate value of expiring options; the magnet is the strike with the largest absolute net gamma right now. Gamma weights near-dated, near-the-money positioning far more heavily, so the magnet moves intraday while max pain moves slowly. When they converge, the pin case is strongest.

Why does the score change during the day?+

Three of its four inputs are live: spot moves relative to the magnet, the time component builds toward the close, and effective OI shifts with the session's classified tape. A morning reading is a forecast; an afternoon reading is a force currently in effect.

Which symbols work best?+

Names with dense, liquid chains: the index ETFs (daily expiries make the 0DTE panel live every session) and large single names into their monthly opex. Thin chains produce unstable magnets and the score reflects that through the OI and gamma components.