Methodology
Everything on the map comes from the math below. Where we measure, we say measured. Where we assume, we say assumed. Nothing here is a signal or advice.
Data
- Options chain: real-time OPRA options data (trades, quotes, greeks, IV, open interest) from a licensed real-time feed. Open interest is an end-of-day figure (OCC publishes T+1): it updates once per day, before the open.
- Spot: for stocks, the live last trade from the licensed feed. If that print is more than 10 minutes old during market hours, a live estimate from the option quotes takes over: put-call parity (call − put + strike) across near-the-money strikes on the nearest expiry, median of the qualifying strikes. For indices (SPX/NDX), the real-time index value. An hourly check compares SPY's price with an independent feed. If no live price is available, the last verified value serves until one returns, and the terminal labels it instead of dressing it as live.
- Cross-check against Cboe: we hold Cboe's own daily open-close files and check the SPX map against them every night (SPY and QQQ trade on many exchanges, so Cboe's file sees only part of their trading); that check is private for now. Per-strike open interest is the vendor's end-of-day OCC figure. What's built on top of the data is a model, covered next.
The dealer-positioning model
Dealer positioning is modeled from the retained chain (expiries out to 45 days, strikes within ±18% of spot) using the industry-standard convention: dealers are treated as long calls, short puts against customer flow, so per contract:
GEX = gamma × OI × 100 × spot² × 0.01 (calls +, puts −)
The levels
- Call wall / put wall: the call wall is the strike above spot carrying the largest positive dealer gamma; the put wall is the strike below spot carrying the largest negative dealer gamma. Interpreted as the levels where hedging pressure tends to lean against price.
- Gamma flip: the spot price where total signed dealer gamma crosses zero: found by re-pricing the Black-Scholes gamma of every contract expiring after today across a ±18% spot grid and interpolating the zero crossing nearest spot (same-day contracts are left out, as in the expected move). The regime label follows it: positive gamma above the flip, negative below; where the only crossings sit on the far side of the price, the sign of dealer gamma at the price decides; if no crossing is found inside the grid, the sign of total dealer gamma decides. Not the naive cumulative-by-strike shortcut (which produces nonsense levels; we tried, it's why we rebuilt it).
- King node: the strike with the largest absolute gamma, the level where hedging is most concentrated.
- Expected move: 1σ band = spot × ATM IV × √T for the nearest listed expiry, excluding 0DTE (a 0.5-day floor on T used to fake tight bands; we exclude instead and label the expiry used).
- Max pain: the expiry strike minimizing total option payout.
- Air pockets: near-spot gaps in the gamma profile (within ±4% of spot, minimum 0.8%-of-spot span): zones with little hedging resistance.
- Vanna / charm: computed in-house from Black-Scholes (the feed doesn't provide them), same sign convention, presented with a plain-English directional read.
- Dealer delta (DEX): built from the session's trades, not from the sign convention (under which dealers would always be long delta). Each trade at the ask counts as a customer buy and each trade at the bid as a customer sell; dealers take the other side, so every traded contract adds −(customer net) × delta × 100 × spot. It can be positive or negative, covers only the contracts the live tape follows (below) and only the current session's classified trades (outside market hours, the most recent session's), and cannot tell opening from closing trades, so it is an estimate.
- 0DTE share: each contract's absolute gamma dollars expiring today vs total, a fragility flag: when most of the map's gamma expires tonight, much of the structure resets overnight.
Live flow & CVD (beta)
- A live tape of options trades on 50 tickers: SPX, SPY, QQQ, NVDA, TSLA, AMZN and 44 more, plus the options on 18 futures (below).
- Side classification: each trade is classified as bought or sold. Prints we can't classify carry no side and are excluded, and so are spread and other multi-leg trades, stock-tied trades, and cancelled or late-reported prints.
- CVD (beta): the session-cumulative sum of bought-minus-sold options, calls and puts separately, shown in premium dollars by default with a switch to contracts. It counts every strike and expiry (on SPY, QQQ, SPX, NVDA, TSLA and AMZN since October 26, 2026; before that, only strikes near the price). On those six, a Near the price switch shows only the strikes near the price: the 2 nearest expiries, up to 11 strikes each side within 5% of the price. It answers "who's been hitting the buttons today," not "what do dealers hold."
- Tape-inferred side labels cannot see open-vs-close. That's a real limit of live inference: see the checks section below.
Futures maps (18 futures)
- Built from the futures' own options: E-mini S&P 500 (/ES), E-mini Nasdaq-100 (/NQ), E-mini Russell 2000 (/RTY), crude oil (/CL), natural gas (/NG), gold (/GC), silver (/SI), copper (/HG), the 2-year, 5-year and 10-year Treasury notes and the Treasury bond (/ZT, /ZF, /ZN, /ZB), corn (/ZC), soybeans (/ZS), wheat (/ZW), the euro (/6E), the Japanese yen (/6J) and the British pound (/6B). Open interest and settlement prices come from CME's end-of-day statistics for every listed option on those futures (standard, weekly and daily expiries). CME publishes the count once per session, in the evening.
- Pricing: Black-76, the standard model for options on futures. Each strike's implied volatility comes from its live bid/ask mid, refreshed every minute (the out-of-the-money side first); a strike without a usable quote keeps the volatility of its last settlement price. Gamma is taken at the live futures price.
- Units: every level is in the front contract's own prices (index points; dollars per barrel, per million BTU, per ounce or per pound; points of par for the Treasuries; cents per bushel for the grains; dollars per euro, yen or pound), and dollar gamma uses each contract's size (for example $50 per ES point, 1,000 barrels of oil, 5,000 bushels of corn, $100,000 of a 10-year note, 12.5 million yen). Options on a later contract month are drawn at their front-month equivalent strike.
- Hours: the maps and the live tape follow each future's own hours: Sunday 6 PM to Friday 5 PM ET with a break from 5 to 6 PM ET each day, and for the grains 8 PM to 8:45 AM ET and 9:30 AM to 2:20 PM ET.
- Same rules otherwise: walls, king node, flip, max pain and expected moves follow the same rules as the stock and index maps, including the standard long-calls / short-puts dealer assumption. The live tape classifies each futures-options trade against the bid and ask just before it.
How we check ourselves
Two checks, run every session. After each close the map's levels are snapshotted and the next session's candle grades them by fixed rules written in advance. Each night the SPX map is also checked against Cboe's participant-tagged open-close data (SPX trades only on Cboe, so the file sees every trade): whether our walls sit where the positions Cboe shows create the most dealer hedging, weighted the same way as the map, and, for series we have watched since they were listed, whether the dealer-side assumption behind the gamma numbers holds. SPY and QQQ trade on many exchanges, so Cboe's file sees only part of their trading and they are left out of this check. Both checks run automatically and are kept as an internal record while the scoring is rebuilt to measure what the map actually claims: regime accuracy, range containment and flip behavior, rather than a single held-or-broke count per wall.
Honest limits
- Dealer positioning is inferred, not observed. The map is a model of hedging pressure, not a window into anyone's book.
- Open interest is end-of-day: intraday OI shifts are invisible until tomorrow's file. The live tape partially compensates; it does not fully.
- Levels are context, not signals. A wall is where pressure concentrates, not a promise of a bounce. Nothing here is investment advice.
- Coverage differs per instrument (single names are thinner than index products); the map tells you its own confidence where it's low.
Amon Hen is a tool built by HelmFi. Questions or holes in the methodology? Tell us: the fastest way to make the map better is to attack it. · Terms · Privacy