Pin Risk / Pin Probability

Canonical definition, composite scoring formula, interpretation rules, and live API reference for expiration pinning probability.

Definition

A composite score (0–100) measuring the likelihood that an underlying’s price will pin to a high open-interest strike at expiration. Pinning occurs because dealer delta-hedging near expiration creates a gravitational pull toward strikes with concentrated OI.

Composite Formula
pin_score = 0.30 × OI_concentration + 0.25 × magnet_proximity + 0.25 × time_factor + 0.20 × gamma_magnitude

Each factor is normalised to 0–100 before weighting. OI concentration (30%): how concentrated OI is at the nearest strike vs. the chain. Magnet proximity (25%): how close spot is to the highest-OI strike. Time remaining (25%): approaches 100 as expiration nears. Gamma magnitude (20%): absolute gamma at nearby strikes (stronger gamma = stronger pin).

Inputs
strike OI distribution spot price time to expiry per-strike gamma
Output
pin_score (0-100) pin_target strike pin_probability
Interpretation
  • Score 70–100: high pinning probability. Price is near a large OI strike close to expiration with strong gamma. Expect tight range and gravitational pull.
  • Score 40–69: moderate pinning conditions. Some gravitational pull, but other forces (news, macro) may override. Watch for confirmation.
  • Score 0–39: low pinning probability. OI is dispersed, spot is far from key strikes, or time to expiry is too distant for meaningful pin effects.

Live Example: SPY

Live SPY pin data temporarily unavailable. See /stock/spy/gamma for current values.

Get Pin Risk via API

Endpoints
GET /v1/exposure/zero-dte/{symbol} [Growth+]
GET /v1/maxpain/{symbol} [Basic+]
Parameters
  • symbol (path, required) — underlying ticker, e.g. SPY
  • expiration (query, optional) — target expiry for pin analysis (yyyy-MM-dd)
Response shape (zero-dte)
{
  "symbol": "SPY",
  "pin_risk": {
    "pin_score": number,       // 0-100 composite
    "pin_target": number,      // strike price
    "oi_concentration": number,
    "magnet_proximity": number,
    "time_factor": number,
    "gamma_factor": number
  }
}
Response shape (maxpain)
{
  "symbol": "SPY",
  "max_pain": number,
  "pin_probability": number,
  "highest_oi_strike": number,
  "expiration": "yyyy-MM-dd"
}
curl -H "X-Api-Key: YOUR_KEY" \
  https://lab.flashalpha.com/v1/exposure/zero-dte/SPY
import requests
r = requests.get(
    "https://lab.flashalpha.com/v1/exposure/zero-dte/SPY",
    headers={"X-Api-Key": "YOUR_KEY"}
)
d = r.json()
pin = d["pin_risk"]
print(f"Pin Score: {pin['pin_score']}  Target: {pin['pin_target']}")
const r = await fetch(
  "https://lab.flashalpha.com/v1/exposure/zero-dte/SPY",
  { headers: { "X-Api-Key": "YOUR_KEY" } }
);
const d = await r.json();
const pin = d.pin_risk;
console.log(`Pin Score: ${pin.pin_score}  Target: ${pin.pin_target}`);

Why Pin Risk Matters for Trading

TL;DR

Pin risk scores the probability spot settles at a high-OI strike at expiry. High pin risk = pin plays work; low = they don't.

What it measures
A 0–100 score quantifying how likely spot is to settle within a tight band around a large-OI strike at expiry.
What it signals
Whether the pin mechanics are strong enough to trade. A single number you can threshold.
Why we measure it
Pin trades are profitable only when the pin actually happens. A score lets you filter setups and size positions accordingly.
Who uses it
Options expiry specialists, systematic short-strangle strategies, OPEX traders.

How to read Pin Risk

High pin risk (60+)
  • Strong pin probability
  • Short strangles at max pain edge
  • Tight range expected into close
  • Reliable on SPX/SPY expiries
Good for: short premium, pin plays
Low pin risk (< 30)
  • Pin mechanics weak or absent
  • Short strangles lose edge
  • Likely regime / event interference
  • Skip short-premium setups
Bad for: pin plays
Mid (30–60)
  • Pin possible but not reliable
  • Size down or sit out
  • Watch for intraday score changes
  • Common mid-week reading
Reduce size

Rules of thumb

  • Threshold-driven. Set a minimum score (e.g. 50) before putting on a pin trade.
  • Re-check intraday. Score shifts as OI and spot move. Morning score can be stale by afternoon.
  • Pair with pain curve. High score + steep curve = highest-conviction setup.
  • Fails on catalysts. Event flow kills pin — score drops sharply on CPI/earnings days.
  • Confirm with regime. Pin needs positive gamma. Negative-gamma + high nominal pin = trap.

How to Use Pin Risk

Pin risk is most relevant in the final hours before expiration. As time to expiry shrinks, the gamma of at-the-money options grows exponentially, meaning even small price deviations from the strike trigger massive dealer hedging that pulls price back. This is why pinning is most visible in the last 1–3 hours of an expiration session.

A high pin score (70+) in positive gamma is a strong signal. The combination of concentrated OI, nearby spot, and dampening dealer behaviour creates a tight gravitational well. Short straddles or butterflies centered on the pin target can be effective. A high pin score in negative gamma is less reliable — the amplifying dealer hedging can overwhelm the pin effect, especially if a catalyst breaks the range.

The interaction between pin risk and max pain is key. When the max pain strike and the highest-OI strike coincide, and spot is nearby, the pin effect is strongest. When they diverge, the gravitational pull is weaker and less predictable. Use pin risk alongside expected move to calibrate whether the remaining implied range is narrow enough for pinning to dominate.