gexstream docs Open the app →
Documentation

How the metrics work

The formula behind each metric, how to read it, and how the signals combine into a trade.

Educational content. For education only, not financial advice. These simplified models don't capture every factor affecting price. Read the full disclaimer.

Dealer gamma, in one read

Like a pilot scanning instruments, an options trader watches the Greeks. Each answers a different question about how a position moves.

Delta
Delta is like your airspeed. It tells you how fast your option value changes relative to the underlying stock price. If your call option has a delta of 0.5, it's like flying at half speed relative to the stock — for every dollar the stock moves up, your option gains 50 cents.
Gamma
Gamma is like your acceleration. It measures how quickly your delta changes — similar to how pushing the throttle changes your airspeed. High gamma means your delta is changing rapidly, just like an aircraft rapidly gaining or losing speed.
Theta
Theta is like fuel burn — it tells you how much value your option loses each day just from time passing.
Vega
Vega is like your altitude indicator, showing how sensitive your position is to changes in market volatility.

Market makers earn the spread, not the direction, so they hold delta-neutral. But gamma keeps breaking that neutrality as price moves, forcing them to re-hedge:

Sell 1,000 TSLA calls · Δ 0.40 → position delta −40,000
Buy 40,000 shares → delta-neutral
TSLA $200 → $205 · Δ 0.40 → 0.50 → now −50,000
Buy 10,000 more shares → re-hedge

Multiply that across every dealer and the collective re-hedging amplifies moves when they're short gamma and dampens them when long, which is why price often pins to big strikes and why volatility clusters around expiration. Everything below measures a different slice of that pressure.

Metric reference

GEX Ratio & Net GEX

BASIC
GEX = Γ × OI × 100
G(K) = Call GEX − Put GEX, at one strike K
Net GEX = Σ G(K)
GEX Ratio = Σ positive G(K) / Σ |G(K)|
How to read

Net GEX is a single number for the whole chain. The ratio is not: calls are netted against puts strike by strike first, and the ratio is the share of total absolute gamma sitting on the strikes that came out positive. It always falls between 0 and 1. Ratio > 0.5 → dealers net long gamma: they sell rallies and buy dips, dampening moves. Below 0.5 → net short gamma, so hedging amplifies moves in both directions.

How to trade it

The GEX zero-crossing is the regime flip. Treat it as the day’s pivot. Positive-gamma strikes act as magnets; negative-gamma strikes as accelerants.

vGEX by Volume

FLOW
vGEX = Γ × Volume × 100
V(K) = Call vGEX − Put vGEX, at one strike K
Net vGEX = Σ V(K)
vGEX Ratio = Σ positive V(K) / Σ |V(K)|
How to read

Identical to GEX, but weighted by today’s traded volume instead of open interest. It shows where the current session’s fresh flow is concentrating dealer gamma.

How to trade it

vGEX diverging from GEX flags levels being repriced before OI catches up; agreement confirms the installed structure is holding.

DEX · VEX · CEX

QUANT
DEX = Δ × OI × 100
VEX = Vanna × OI × 100
CEX = Charm × OI × 100
How to read

DEX is directional hedging now; VEX is how dealer delta shifts when IV moves; CEX is how it decays with time. Each also surfaces its own max/min/zero strikes.

How to trade it

Read against GEX: VEX concentrations trigger rebalancing flow on IV crushes or expansions (no price move needed); CEX flow accelerates into expiration.

Open Interest Walls (OI)

BASIC
Per-strike OI = Call OI + Put OI
OI Ratio = Σ Call OI / (Σ Call OI + Σ Put OI)
Max OI strike = largest combined OI
OI Chg% = day-over-day change in Total OI (front chain)
Total OI tracks the front expiration, so OI Chg% jumps when it rolls (every session for SPY / SPX / QQQ, Mondays for weeklies). OI itself updates once nightly at settlement.
How to read

The raw structural footprint: the strikes carrying the largest hedge books, regardless of Greek weighting.

How to trade it

The Max OI strike is the classic expiration pin. A strike that is both a Max OI wall and a GEX zero-crossing is the load-bearing level into opex.

Flow Ratio & Net Flow

FLOW
Flow Ratio = (CallBuy + PutSell) / (CallBuy + PutSell + PutBuy + CallSell)
Net Flow = (CallBuy + PutSell) − (PutBuy + CallSell)
Buy/sell volumes count direction-bearing single-leg prints only — auto-executions, sweeps, and single-leg auctions. Multi-leg spread legs are priced at the package level and crosses are pre-negotiated, so neither carries a meaningful per-leg aggressor; both are excluded from flow (but still counted in total volume).
How to read

Above 0.5 = bullish activity dominant. Extremes (0.8+ or 0.2−) often mark overcrowded positioning near reversals.

How to trade it

Flow shifting against price is the early tell; the magnitude of Net Flow is your conviction gauge.

Net Convexity

FLOW
Net Convexity = Σ (BuyVolume − SellVolume) × Gamma × 100  (per strike, front expiration)
Buy/sell volumes count direction-bearing single-leg prints only, same universe as Flow Ratio & Net Flow above.
How to read

Positive = the market is net-buying options (paying for volatility) — dealers absorb short gamma and moves can accelerate. Negative = options are being sold — dealers accumulate long gamma, favoring pinning and mean reversion. It is a flow rate, not a running total: quiet ticks sit at zero and prints arrive in batches, so read the persistent side and the envelope, not individual spikes. Where GEX shows dealer positioning, Net Convexity shows today's flow building or bleeding it.

How to trade it

Persistently negative = grind conditions: premium selling and fading moves into GEX levels are favored. Persistently positive = expansion risk: respect breakouts and avoid short gamma. A surge of convexity buying while price sits at a high or low near a key GEX strike is someone paying for acceleration at that level. Cross-check with Net Flow: bullish flow with negative convexity is put-selling (grind higher); bearish flow with positive convexity is genuine downside acceleration risk. The Pulse screener carries the session total as a Net Convexity column with a σ filter, so you can rank your list by who is paying for gamma today.

Convexity Ladder

QUANT
Ladder(strike) = (Bought − Sold) × Gamma × 100  (per side, every print on the front expiration)
Long calls and long puts count as customers owning convexity (positive); sold calls and sold puts as customers short convexity (negative). It is a snapshot, not a running total: net positions on the front expiration weighted by current gamma, recomputed every tick. On daily-expiry names that is today's prints; on weekly and monthly names it is everything since that expiration became the front, the same book the options inventory chart shows; on SPX, NDX and RUT it is today's prints on the front expiration. It will not sum to Net Convexity above, which is cumulative and weights each print by the gamma it traded at. The CVX chip on the dashboard chart draws it per strike, and the stats panel reads it as Ladder (RATIO, NET, Pos, Neg and Pivot).
How to read

Positive strikes are where customers own convexity: they are paid by moves that exceed expectations, and price tends to travel through them when volatility is rising and stall at them when volatility is falling. Negative strikes are where customers are short convexity: they favor price approaching and resting there, stalling when volatility rises and sliding through when it falls. The transition between the two is the Pivot, the point where incentives flip and traders reshuffle. Read the ladder for risk before direction: a single strike of negative convexity that dwarfs every other, sitting just below spot, is a fragile place, and a small shove there can cascade.

How to trade it

Significant, well distributed negative convexity means traders are comfortable selling options and the tape is liquid; significant, well distributed positive convexity usually precedes event driven volatility. Into the close, 0DTE strikes of negative convexity act as magnets as vanna and charm pull price toward them. Pair the ladder with the GEX chip: dealer gamma says where the book is hedged, the ladder says where customers have put on convexity.

Net Premium & Premium Ratio

QUANT
Net Premium = Σ CallBuyPremium − Σ PutBuyPremium  (per print: size × price × 100 · session-cumulative)
Premium Ratio = Σ CallBuyPremium / (Σ CallBuyPremium + Σ PutBuyPremium)
Premiums count buy-side, direction-bearing single-leg prints only, the same universe as Flow Ratio & Net Flow above. Sums reset at each session open.
How to read

Net Flow's dollar twin. Flow counts contracts and treats put-selling as bullish; Net Premium counts money paid, buy-side only, as a running session total: conviction in dollars rather than count. Positive = call buyers committing more premium than put buyers. The two disagree often enough to matter: a name can print thousands of net call contracts while premium runs negative, because the count is cheap short-dated teenies and the size is paying up for puts. Premium Ratio is the [0,1] normalization with 0.5 neutral, comparable across tickers regardless of market cap.

How to trade it

Read it against Net Flow: agreement is conviction, disagreement is information. Bullish flow with negative Net Premium means the count is small lottery tickets while size pays for downside, so trust the dollars. A Premium Ratio pinned above 0.8 or below 0.2 through the afternoon marks one-way premium commitment, and paired with stretched GEX/vGEX ratios it is the strongest conviction read this pair produces. The screener's ≥ 0.80 and ≤ 0.20 filters find it live, and a Premium Ratio alert catches the crossing.

Volume

FLOW
No formula: real-time call and put contract counts, stacked per minute.
How to read

Confirms the conviction behind GEX, Flow and IV signals. High volume with strong metrics = committed positioning; direction still needs Flow to interpret.

How to trade it

Spikes precede or confirm moves. A price move on thin volume, or a volume spike with no price move, warns of exhaustion or hidden accumulation.

IV Ratio & Net IV

BASIC
Call IV = Σ(Call IV × Call OI) / Σ(Call OI)
Put IV = Σ(Put IV × Put OI) / Σ(Put OI)
IV Ratio = Call IV / (Call IV + Put IV)
Net IV = Call IV − Put IV
Net IV Chg = live Net IV − previous session's closing Net IV
Net IV Chg is an absolute move in vol points, not a percent — Net IV crosses zero, so a percent would rank a 0.04-point drift above a 0.5-point move. It updates all session (live vs yesterday's close) and shows — until a prior session exists, or when a session closed without usable Greeks.
How to read

OI-weighted so liquid strikes dominate. Ratio > 0.5 (or positive Net IV) = calls bid relative to puts. Positive Net IV Chg = the spread moved toward calls since yesterday's close, whether that is calls being bid or put protection being sold off.

How to trade it

Extreme Net IV (±5%) flags one-sided demand: an upside bid, or fear-driven demand for downside protection. Sort by Net IV Chg to find names whose skew repriced overnight — a large move on a name whose Net IV level is unremarkable is often the earlier signal.

IV Smile (per-strike)

FLOW
Front-month call IV (green) and put IV (red) at every strike, capped to ±10% from spot.
How to read

The shape across strikes is the smile (or skew, since equity puts typically lift above calls at lower strikes). Overlaid on the GEX bars.

How to trade it

A negative-gamma strike cluster with visibly elevated put IV below it is a fragile setup that often precedes faster-than-usual moves.

Session Range Wicks

BASIC
Per-strike session high / low for GEX, DEX and vGEX , tracked since the 4:00 PM ET reset. Not OI, which only updates nightly at settlement.
How to read

Wick extent is how much a strike’s exposure has swung today. Wide wicks = positioning in flux; tight wicks = stable.

How to trade it

A strike at +500 with wicks spanning −800 to +900 is a very different story from one steady between +400 and +600; the wick gives the snapshot its context.

Feature guides

IV Term Structure

QUANT

Implied vol across expirations at fixed deltas: ATM (50Δ) plus the 25Δ and 10Δ call and put wings. HV30/HV60 reference lines anchor rich-vs-cheap.

Contango · normal
Inversion · event risk
How to read
·Inverted (front > back) = concentrated near-term event risk: FOMC, earnings, OpEx.
·Contango (up-sloping) = the normal, no-catalyst regime.
·IV cluster above HV30 = options rich vs realized; below = cheap.
For cash indices (SPX, NDX, RUT, DJX) HV is computed from the ETF proxy (SPY, QQQ, IWM, DIA); it is not shown for VIX, where vol-of-vol differs from equity realized vol. A "No IV data" overlay appears when the provider returns too little chain data.
Where: Volatility page → Term tab. Quant tier.

IV Surface

QUANT

Every expiration’s smile on one panel, colored by DTE (red front-month → blue back). OTM-side IV per strike, ±20% from spot, with spot and HV/IV references.

How to read
·Steep near-month left wing = near-term crash-hedging demand.
·Front curve floating above back = vol term inversion (event pricing).
·Smile flattening as DTE grows = normal regime; skew decays faster than level.
Where: Volatility page → Surface tab. Quant tier.

Volatility Signals

β QUANT

Per-ticker ML forecast of the next 30 minutes of realized vol across ~629 tickers, refreshed every 5 minutes, flagging only moves past each ticker’s own noise threshold.

How to read
·Expansion = vol expected to rise (favors long gamma). Contraction = vol expected to fall (favors short premium).
·Conviction = |Δ%| / HC threshold; ≥ 1.0 cleared the bar, ≥ 2.0 is a strong outlier.
·Conviction is comparable across tickers; raw |Δ%| is not.
Where: Volatility page, signals table. Click a row to load its term structure. Quant tier.

Options Inventory

FLOW

Net calls (green) and net puts (red) by strike; the center line splits bought (right) from sold (left).

How to read
·Call buying or put selling → bullish. Put buying or call selling → bearish.
·Longer bars = more conviction; concentration at a strike marks potential support/resistance.
Where: Dashboard → Inventory toggle. Flow tier.

Strike Window

BASIC

One strike, isolated. Book tracks the strike's exposure through the session in 5-minute samples; Flow replays its classified prints as a signed tape, buys up, sells down, with spot overlaid.

How to read
·Exposure building through the day → the strike is gaining hedging weight. Bleeding off → the level is losing its pull.
·One-sided flow into a strike = conviction; balanced buy/sell churn = noise. Calls are always the inner bar segment.
·OI is the last 7 sessions, one bar per day. It settles overnight, so today's bar updates once at the open, not tick by tick.
Where: Click any strike bar on the exposure or inventory charts. Book is Basic and up (GEX, plus daily OI at the strike); Flow tier adds vGEX plus the Flow tab; Quant adds DEX, VEX, CEX.

Alerts

FLOW

Per-ticker rules over the screener metrics your tier can see (Net Convexity is not an alert metric yet), plus spot price. The evaluator runs every 30 seconds during market hours and emails you within about a minute of a rule turning true.

Threshold: metric above / below a value
Change: percent or absolute move over 1, 5, 15 or 30 minutes
Z-score: standard deviations from that ticker's own 120-day band
How to use
·Bounded metrics read best as thresholds: GEX Ratio below 0.4 is a regime call, since the scale means the same thing on every ticker.
·Unbounded metrics read best as z-scores: Net GEX runs near 1e9 on SPY and 1e6 on a mid-cap, so "2 sigma" travels across tickers where an absolute number cannot. A z-rule at 2 fires exactly when the dashboard sigma badge goes red.
·Combine conditions with AND for confluence (spot below a level AND Net vGEX down 10% in 15 minutes), or OR to watch both tails of one metric.
·Rules are edge-triggered: they fire on the crossing, not every cycle the condition stays true. A cooldown per rule bounds the rest, and "once a day" means once per trading session.
Where: Account menu → alerts. 10 rules on Flow, 25 on Quant. Quant-only metrics (DEX, VEX, CEX) require Quant.

Stock Lending & Short Volume

FLOW

Loan balances (the market value of stock currently on loan, a slow "stock" view) against short volume (today’s shares sold short, a "flow" view), across 600+ tickers. Days to Cover adds the third: how crowded the short position is relative to normal trading volume.

Days to Cover = short interest / average daily volume
Loan Balance  = Σ (shares on loan × closing price), market + hedge programs
Three different measurements, often confused. Short interest is the total size of the bet against a stock (shares sold short and not yet closed) — reported twice a month by FINRA and published about three weeks later, so it is never live. Short volume is how much shorting happened today, covering off-exchange venues only. Loan balance is the dollar value of stock currently borrowed, which is how shorting is funded. Days to Cover turns the position into sessions of trading: GME at 17 days is a crowded short whose holders cannot all exit quickly, while TSLA at 1.6 days is not — even though TSLA’s short position is larger in raw shares. On the tracked universe the median sits near 3 days: above 6 is genuinely crowded, above 10 is roughly the top 1%, and below 1 means the entire short position turns over in less than a single session, which is typical of heavily traded ETFs. It is reported twice a month and holds flat in between, so treat it as a slow backdrop rather than a daily signal. Read it on single names only — short interest in a broad ETF reflects creation and redemption mechanics rather than a bearish view.
How to read
·Both rising = fresh shorts opening. Volume up + balance flat = intraday churn. Volume up + balance down = covering.
·Z-scores flag statistically unusual activity on either metric.
·High Days to Cover = a crowded exit, the setup for a squeeze. Pair it with the daily columns: a crowded name whose short volume and loan balance are both rising is still being shorted into; one whose loan balance is falling is being covered.
·The level of Days to Cover is not directional on its own — a crowded short is bearish in intent but bullish in mechanics, because shorts are forced buyers if the stock rises while longs are never forced sellers. The direction is what reads: rising = bears still adding and the squeeze risk building, falling = shorts covering and that buying is happening now.
|z| > 2 · extreme
|z| > 1 · stretched
|z| < 1 · normal
Columns
Loan % daily change in total loan balance
Loan $ dollar value of shares on loan
LZc z-score of the loan-% change vs 12-mo mean
LZv z-score of log loan balance vs its mean
Short % daily change in short volume
Shares shares sold short today (ADF + Nasdaq + NYSE)
SZc z-score of the short-% change
SZv z-score of log short volume
DTC days to cover: sessions of normal volume needed to buy back every short, coloured by its 12-mo z-score
Where: Lending page; the $MARKET row aggregates the S&P 500. Flow tier. Sources: OCC (loan balances, daily), FINRA via Massive (short volume, T+1; short interest, bi-monthly). Short interest is reported twice a month and published about three weeks later, so DTC holds flat between settlements by design.

Market Breadth

QUANT

One row, three readings on the same question: is today's move broad participation or narrow leadership? NYSE and NQ weigh exchange-wide up-volume against down-volume. S&P counts how many of the 500 are actually up. Same signed-ratio scale, deliberately different lenses — and the gap between them is often the signal.

Breadth = uvol ≥ dvol ? uvol/dvol : −(dvol/uvol)  (per exchange: NYSE and NASDAQ)
Share volume in advancing vs declining stocks, from exchange internals. Weighs dollars traded.
S&P A/D = adv ≥ dec ? adv/dec : −(dec/adv)  adv = count(last trade > prior close)
Every current S&P 500 member, one vote each, refreshed every 5 seconds. Weighs names.
All three are displayed without the :1 suffix. +3.21 means 3.21 to 1.
How to read
·+3.21 = 3.21× more volume flowing into advancers than decliners (green); negative = decliners dominate (red). Each exchange is scored on its own tape. S&P A/D reads the same way, but the multiple is names: +1.69 means 1.69 constituents up for every one down.
·Sustained beyond ±4 all session = trend-day conditions; oscillating inside ±2 = mixed, two-sided tape. The S&P value lives on a tighter range than the volume values, because a count cannot run to double digits the way volume can. Read ±3 there as the equivalent extreme.
·When the two disagree, that is the reading. Strong NYSE/NQ with a flat S&P reading means heavy volume concentrated in a few large names, which is a mega-cap move wearing an index costume. Flat NYSE/NQ with a strong S&P reading is the opposite: most of the index participating quietly while the heavyweights sit still.
·The two measures also differ in what they include. Breadth counts every listed issue on each exchange, roughly 40% of which are ETFs, preferreds, closed-end funds and ADRs rather than operating companies, and index-ETF volume makes it partly self-referential. The S&P count excludes all of that by construction.
·Hover the row for the exact split and the number of constituents scored. That denominator is published deliberately: a name with no price or no prior close is dropped from both sides rather than counted as unchanged, so a data gap shows as a smaller sample instead of a quiet market.
·After the close the row holds the session's final values; greyed values mean the feed is stale (>5 min old during market hours).
How to trade it

Breadth qualifies every single-ticker signal on the dashboard. A break through a GEX wall on +4 breadth has the whole tape behind it — respect continuation and don't fade. The same break on −1.5 breadth is narrow leadership and more likely to fail back to the pin. The divergence is the tell: index highs on fading breadth mean fewer stocks are carrying the move, and fragile moves reverse hardest at negative-gamma levels. Reading the S&P value alongside them sharpens the same call. SPX grinding to a new high while S&P slides from +2.5 toward +1 is thin leadership even if volume looks healthy, while a flat index with S&P climbing is accumulation broadening out beneath a pinned tape, and breakouts from that tend to hold.

Where: Dashboard → right panel, directly above Market Aggregate. Quant tier.

Tape

FLOW

Institutional prints aggregated by strike, type and expiry; only blocks averaging 25+ contracts, sorted by most recent.

How to read
·Near-dated, near-the-money blocks = directional conviction.
·Long-dated, far-OTM prints = hedges, not directional bets.
·A block annotated "at Max GEX / Zero Gamma" is testing that structural level.
Where: Tape panel; client-side filters for notional, block size, type, expiry. Flow tier.
Playbook

Signal confluence

No single metric is a trade. The setups worth acting on are where independent reads point the same way:

GEX / Net GEX align directionally with Flow Ratio & Net Flow.
IV Ratio & Net IV confirm the same bias as the flow metrics.
DEX, VEX and CEX agree in sign with Net GEX, making the dealer read materially stronger than gamma alone.
A strike that is both a Max OI wall and a GEX zero-crossing is the load-bearing pin into expiration.
Term-structure inversion + Vol Signals Expansion + rising stock-loan z-scores = a high-confidence vol-event setup.
Volume confirms conviction; strong signals without volume support are less reliable.

Divergences to watch

When the reads disagree, the tension itself is the signal:

Heavy put buying despite positive GEX → possible sentiment shift, especially on high volume.
vGEX fighting GEX → key levels being repriced before open interest catches up.
Vol Signals Expansion + flat / contango term structure → options pricing may be lagging the predicted move.
Rising shorts (loans + volume both up) but bullish flow → a developing short-squeeze setup.