Dealer gamma / OI positioning (GEX) (M-010). Short answer: the hub rates it NOT VALIDATED.
Data as of .
NOT VALIDATED as a predictive signal. The gamma cutoff, grid-search flip-finder and Black-Scholes basis are correctly implemented, but the dealer-sign convention is unverifiable and known to invert, and no forward test of the claim exists.
Development summary: Structurally sound, standard desk practice, and the first OI-tab layer to say what positions oblige the other side to DO. It rests on an unverifiable dealer-sign convention known to invert; no forward test of gamma_flip exists.
| Item | Detail |
|---|---|
| Question it answers | Open interest shows WHERE option positions sit. It says nothing about what those positions oblige market makers to DO — dampen a move by hedging into it, or amplify one by hedging against it. |
| Method | BS gamma × OI, dealer-short |
| How it works | Sum per-contract BS gamma x OI across the sampled chain (dte <=90d) into net dealer $-gamma per 1% move; locate the zero-crossing (gamma_flip) on a +/-25% grid; find the peak-gamma strike |
| Inputs | Open interest per contract, Per-contract implied vol, Black-Scholes gamma, Expiries ≤ 90 days, Dealer long-call/short-put sign |
| Output | gex_1pct_musd, gex_regime, gamma_flip, gamma_peak_strike per name — a diagnostic overlay, no ranked list |
| Horizon | current positioning only (no forward claim) |
| Coverage | US names with a sampled IBKR chain (~1,450 OI rows; gex_regime/gamma_peak_strike fill ~59%, gamma_flip ~25%) |
| Markets | US |
| Model type | Model · Structural |
| Stage | Production |
| Version | v1, first recorded 15 Aug 2026 |
Training data: not stated. Test data: not stated. Out-of-sample design: none.
| Measure | Result | Compared with | Note |
|---|---|---|---|
| gex_regime fill, 2026-08-15 measurement | 853 of 1,451 rows (544 long_gamma / 309 short_gamma) | 0 before 2026-08-15 | restricted to expiries <=90d, since gamma scales ~1/sqrt(T) and LEAPS would dilute the number |
| gamma_peak_strike vs max_pain | weights by gamma dealers must actually hedge | max_pain: raw intrinsic payout at expiry | max_pain was rated 'genuinely useful, keep as-is' on 2026-08-14, before gamma existed; demoted 2026-08-15 once gamma_peak_strike shipped |
| Sign convention | dealers assumed long calls / short puts | unobservable — OI records both sides of every contract | documented in the engine header to invert for covered-call ETFs and heavily overwritten single names |
| Chain sampling | strikes nearest spot + round numbers only | the full exchange chain | profile shape and the flip level survive sampling better than the absolute magnitude — compare a name to its own history, not across names |
| Metric | Sample / window | Compared with | Value | Range (CI) |
|---|---|---|---|---|
| Coverage (headline) | 853 of 1,451 OI rows · 2026-08-15 | n/a | 59.00% | n/a |
| Observations | OI rows · 2026-08-15 | n/a | 1,451 | n/a |
Is the design sound? The underlying idea — that standing gamma exposure obliges a hedging response, and that response either dampens or amplifies price moves — is standard, correct desk practice, and a genuine improvement over presenting only static OI walls. The dependency on an unverifiable sign convention is a real, disclosed weakness inherent to using OI (rather than a broker's own book) for this purpose everywhere it is attempted, not a defect specific to this implementation.
Data quality. Chain data is real but sampled (strikes nearest spot plus round numbers), which understates absolute gamma levels while preserving shape near spot. Open interest is exchange EOD, so intraday reads lag by one session. Coverage is partial: gex_regime/gamma_peak_strike fill on ~59% of OI rows, gamma_flip on ~25% (a clean zero-crossing must exist inside the +/-25% grid).
Backtest. None. Confirming that a long-gamma regime actually dampens realized moves (or that short-gamma amplifies them) needs a stored history of daily gamma/OI to test convergence or realized-range behaviour against — nothing was stored before this card was written.
Against simple benchmarks. No alternative gamma-exposure methodology (e.g., a vendor's GEX feed, or a full-chain rather than sampled computation) was compared against this implementation.
Independent replication. Not independently replicated outside the project. The fill-rate counts and the long/short split (544/309) are taken from the engine's own run log, not recomputed by a second party.
Sensitivity. No sensitivity test has been run on the <=90-day cutoff, the +/-25% grid width, or the effect of chain-sampling density on the flip-level estimate.
Monitoring. The gex_regime long/short split and each field's fill-rate are the only practical drift signals today, and neither has a stored history — both would need to be logged over time to detect drift rather than read off one run.
Source: the Model Hub's public model register, as of 6 Nov 2026. The M-010 page in the live Model Hub carries the full development and validation record, monitoring and open decisions. All 30 models and their verdicts.