apps2 · flow

SIGNED options order flow — every OPRA print classified by aggressor (who crossed the spread), so buy-initiated premium and sell-initiated premium are separated. Unsigned reads (put/call volume, premium $, OI) cannot tell a retail call-buying frenzy from institutions distributing into it. Both sides of the tape are always shown; the net is an annotation, never the headline. hubdecoupgammavoltsuoaretailbettingflow loading…
How to use this page — the question it answers, how to read the headline, and the two mistakes that make every number on it meaningless
What this lens is — signed flow, and why the net alone is a trap Every other options read in BFM is UNSIGNED. This one is signed by aggressor. Read the buy column and the sell column together; the net is the small number.
loading…
What every number on this page means — the literal formula for each metric, what a high reading means, what a low one means, and where the current value sits in its own history
Two-sided tape — buy-initiated vs sell-initiated premium by DTE cohort Gross both-sides magnitude is the dominant mark: the bar ABOVE zero is aggressive buying, the bar BELOW zero is aggressive selling. The net is the small black tick. A tall pair of bars with a tiny net = a heavily traded contract being absorbed — not a directional signal.
Click a cohort's bars to pin it into the readout below (and highlight its table row). Click empty canvas to clear. Shift+wheel = Y-stretch; the bottom grip resizes the whole chart.
Session CVD — cumulative signed premium through one session Cumulative buy-initiated minus sell-initiated premium, bucket by bucket, from the open. A line that climbs all session then rolls over into the close is buying that got sold into. Trading-hours axis only (the recorded buckets are RTH); times are US Eastern.
14 buckets
Click a line to identify just that one (the rest dim; the SPX / NAS100 baselines never dim). Click empty canvas to clear. Shift+click = all-series dateline.
Imbalance vs its own history — where today sits in each cohort's own distribution One column per cohort x call/put. The rail is that series' full own-history range, the box is p25–p75, the bar is the median, every past session is a faint dot, and the black pin is TODAY. A number only means something against its own history — never read the point value alone.
Click a column to pin that cohort into the readout above. Shift+wheel = Y-stretch (the value axis); the bottom grip resizes the whole chart.
Signed flow over sessions — line chart + stretch tape (the mandatory pair) Top: the precise read — every selected cohort as its own line, normalized, with SPX + NAS100 baselines. Bottom, flush beneath it: the glanceable read — the same rows as a heatmap versus their own history, so correlation and anti-correlation across cohorts jump out where overlapping lines cannot show them. Both share ONE session x-axis, window, zoom and pan.
60 sessions
Dashed chips are the other underlyings (cross-underlying overlay, off by default). Click a line to identify just that one; click empty canvas to clear; shift+click = all-series dateline.
Latest session — every cohort x call/put, both sides, with premium reconciliation Every column sortable; every column heat-shaded on its own scale. Buy and sell are shown as opposing bars on one shared scale so absorption is visible at a glance. The last columns exist so the premium reconciles: classified buy + sell + unclassified + excluded multi-leg = total premium that printed.
How to read each view — what it is for, and what you do with it