Unusual options activity, without the casino confetti.
Rank contracts by volume, estimated premium, open-interest pressure, spread quality, and time to expiration. The score is a liquidity and attention filter, not a buy or sell label.
Scanner interpretation
Unusual activity is a review queue, not a prediction
A contract can have high volume, large premium, and volume above open interest without being a clean directional signal. The useful workflow is to preserve the exact OCC symbol, expiration, strike, side, DTE, quote timestamp, bid, ask, midpoint, spread percent, IV, delta, and open interest beside the row. Those fields let a developer decide whether the activity is tradable, stale, hedging-related, event driven, or simply noisy.
Treat the score as an ordering function. It pushes contracts with volume, premium, open-interest pressure, and usable quote quality toward the top, but every row still needs a reject path. Wide spreads, no-bid markets, stale quotes, missing Greeks, odd quote or trade conditions, and expired pagination windows should be visible in the artifact instead of disappearing from the table.
When a scanner row becomes a backtest candidate, replay the exact contract through historical contracts, quote windows, trade prints, and aggregate bars at the original signal timestamp. That keeps the live scanner, research notebook, and paper-trading review aligned around the same evidence instead of turning a busy ticker into a claim too early.
The same discipline applies to alerts. A useful UOA alert should store the threshold that fired, the request response that produced the row, the quote and trade conditions, the entitlement state, and the reason any nearby contracts were skipped. That makes the alert explainable after the contract moves.
Keep ticker-level summaries separate from contract-level evidence. Heavy call volume on one underlying can come from rolls, hedges, earnings positioning, or one illiquid print. The selected scanner artifact should preserve the exact contract, neighboring strikes, spread state, quote freshness, and pagination context so a later reviewer can decide whether the activity was unusual, executable, and relevant to the strategy.
Scanner method
How to read unusual options activity without overfitting the alert
The scanner ranks contracts that deserve review. It does not infer trade direction from volume alone, and it keeps quote quality, DTE, and open-interest context visible so noisy rows are easier to reject.
| Signal | Interpretation | Caveat |
|---|---|---|
| Volume and premium | Large same-day volume and notional premium identify contracts that deserve inspection before lower-activity contracts. | Large prints are not automatically directional. Confirm side and quote context before treating the row as flow. |
| Volume versus open interest | Volume above open interest can indicate fresh participation or repositioning in a contract. | Open interest updates after the close, so intraday volume/OI pressure is an attention filter rather than proof of new exposure. |
| Spread quality | Tighter bid/ask spreads make the displayed premium and fill assumptions more useful for scanners and alerts. | Wide spreads can turn a visually interesting contract into a poor execution candidate. |
| DTE and moneyness | Short-dated and far-OTM contracts can move quickly, so the scanner keeps DTE, distance, IV, and delta visible. | Short expiry magnifies noise. Treat the score as ranking pressure, not as a trade recommendation. |
Build path
Turn scanner rows into a production workflow
Start with chain snapshots for discovery. Add quote and trade history when alerts need execution-side validation, and keep put/call aggregation separate from individual contract ranking.
Scanner model docs
Understand the score inputs, volume/OI pressure, premium estimates, DTE filters, false positives, and scanner artifacts.
Options chain API
Fetch contract-level Greeks, IV, volume, open interest, quotes, and underlying price for a watchlist ticker.
Options liquidity scanner
Rank contracts by spread quality, volume, open interest, delta, and quote context before modeling trades.
Quote vs trade timeline
Validate whether bid, ask, midpoint, and prints support the fill assumption behind an alert.
Put/Call ratio API
Move from single-contract activity to market-wide or ticker-level put/call participation features.
Options flow false positives
Keep wide spreads, stale last trades, cheap far-OTM volume, event crowding, and roll activity from becoming overconfident alerts.
No contracts match the current filters.
Score inputs
Volume, estimated premium, volume/open-interest pressure, spread quality, and DTE are weighted into one scanner score.
Direction limits
Call flow and put flow are shown by contract type. The snapshot does not infer whether trades lifted the ask or hit the bid.
Build path
Use chain snapshots for scanners, then add trades and quotes endpoints when you need execution-side confirmation.