Options Desk — Final Ruling: Data Sources & Advanced Metrics

Panel: Opus, Sonnet, Grok 3, Gemini Pro 3.1 Judge: Opus (via synthesis) Date: 2026-03-25 Grade: A (strong consensus on architecture and core metrics, minor dissent on OCC and Vanna/Charm)


Consensus Points

1. Polygon Snapshot as Foundation (UNANIMOUS — all 4)

Use GET /v3/snapshot/options/{underlying} — one call returns full chain with pre-calculated Greeks (delta, gamma, theta, vega, IV). No need to calculate Greeks from raw prices. Fix the broken options-collector.ts first (imports non-existent options-filter.ts). Replace with direct Polygon snapshot + DB insert.

2. 3-Tier Ticker Architecture (UNANIMOUS — all 4)

All panelists converged on the same tiering:

Add TLT, GLD, HYG (Opus) — rate vol, inflation hedge, credit stress proxies. Takes list from 13 to 16.

3. CME FedWatch Probabilities (STRONG — Opus, Sonnet, Gemini)

The sharpest anchor for Kalshi Fed rate markets. CME publishes institutional-grade probability from Fed Funds futures. Compare directly to Kalshi price — CME is institutional money, Kalshi is retail. The gap is the edge.

4. GEX with Flip Point (STRONG — Opus, Sonnet, Gemini)

All panelists agree: equity GEX is the most actionable mechanical signal.

5. Skew-Adjusted Binary Probability (STRONG — Opus, Grok)

Standard d2 uses ATM IV, but the probability of S > K depends on IV at strike K:

6. VRP (Volatility Risk Premium) as Binary Edge (STRONG — Opus, Sonnet, Gemini)

7. Drop CFTC Options COT (UNANIMOUS — all 4)

Futures COT already flows via existing scraper. Options-only supplement (COTR) adds <8% marginal info. Correlation with futures-only COT is >0.92. Not worth separate download.

8. Deprioritize Vanna/Charm (STRONG — Sonnet, Grok, Gemini; Opus includes but flags complexity)

Second-order Greeks require intraday snapshots to be useful. Daily snapshots give stale values. Defer until intraday polling exists. Master GEX first.


Dissent Rulings

OCC Daily CSVs — INCLUDE at reduced scope (Opus+Sonnet say yes, Grok+Gemini say skip)

Opus and Sonnet argue OCC gives definitive clearinghouse OI that differs from real-time by 5-15%. The OI delta (day-over-day change) reveals whether volume opened or closed positions — this changes the signal completely. Grok and Gemini argue Polygon is "99% as good."

RULING: Include OCC, but only for SPY and QQQ (not all 16 tickers). Two CSVs per day. The open/close distinction is worth having for the two tickers that drive all macro binary markets.

Earnings Calendar — INCLUDE (Sonnet+Gemini say yes, others silent)

Need to know when earnings are to calculate event vol isolation. Without a calendar, you can't identify earnings-adjacent expirations.

RULING: Include. One daily scrape. Required for event vol stripping.

News Sentiment — DEFER (Gemini only)

Gemini suggests NewsAPI for "news pressure" scoring. Valid concept but adds API cost ($449/mo at scale) and complexity. We already get sentiment signals from VIX/VVIX dynamics.

RULING: Defer. Not worth the cost when VIX suite already captures fear/uncertainty.

ETF Flows — DEFER (Gemini only)

Gemini suggests scraping issuer sites for shares outstanding changes. Valid for institutional flow detection but low ROI relative to GEX which captures the same hedging pressure.

RULING: Defer. GEX is the better signal for the same underlying flow.


Build List

Phase 1: Core Data Collection (1 new file, 1 fix)

Fix: src/pipeline/data/options-collector.ts — Replace broken imports with direct Polygon snapshot:

New: src/pipeline/data/options-occ.ts — OCC daily settlement CSVs:

Phase 2: Calculated Metrics (1 new file)

New: src/pipeline/data/options-metrics.ts — Calculated from chain data:

  1. Skew-Adjusted Binary Probability — N(d2) using strike-specific IV, not ATM
  2. VRP Z-Score — IV_30d - RV_30d, normalized over 180-day history
  3. GEX + Flip Point — Aggregate dealer gamma exposure, find zero-crossing strike
  4. Event Vol Isolation — Forward variance stripping around earnings/FOMC dates
  5. Implied Probability Term Structure — d2 probability at same strike across all expirations, slope detection
  6. Put-Call OI Ratio by Expiration — Per-expiry PC ratio (not just aggregate)
  7. Cross-Platform Mispricing Index — |options_prob - kalshi_price| / max(options_prob, kalshi_price) * 100
  8. Vol-of-Vol Regime — VVIX/VIX ratio z-score, flags unreliable d2 periods

Phase 3: External Anchors (added to existing files)

CME FedWatch — Add to economics.ts or new fedwatch.ts:

Earnings Calendar — Add to new earnings-calendar.ts:

Phase 4: Cron Wiring

Entry Schedule What
options-chains-tier1 9:15AM, 12:30PM, 3:30PM, 4:15PM ET weekdays SPY, QQQ full chain snapshot
options-chains-tier2 9:15AM, 12:30PM, 4:15PM ET weekdays NVDA, TSLA, AAPL, META chains
options-chains-tier3 4:15PM ET weekdays MSFT, GOOGL, AMZN, JPM, XLE, IWM, TLT, GLD, HYG, VIX
options-occ 6:30PM ET weekdays OCC settlement CSVs for SPY, QQQ
options-metrics 4:30PM ET weekdays (after chains) Calculate all 8 metrics
fedwatch 9:30AM, 12PM, 3PM, 4:30PM ET weekdays CME FedWatch probabilities
earnings-calendar 6AM ET daily 14-day lookahead

Phase 5: Moonshot (Opus) — Breeden-Litzenberger Probability Surface

Build AFTER Phase 1-4 are stable. Uses call spread approximation for model-free probability:

prob(S_T > K) ≈ (C(K) - C(K+dK)) / dK * (1+r)^T

Implementation Notes

Source: ~/edgeclaw/results/panel-results/options-data-final-ruling.md