The top-level map of the tool. Home returns to this split view. Dashboard holds the chart workspaces. Position Reports opens the Position Grid (the spreadsheet view of the whole book). Greek Profiles and Options hold the deeper analytics and settings.
Do you know how to show it? You can explore different expirations in Positions by Strike to see the long/short represented one at a time, or bucketed with multiple expirations. Or, you can click to Position Reports >> Position Grid to see a spreadsheet of all net positions by strike in expirations out 6 months
The instrument selector (SPX) with the live index level, point change and percent change. Every panel on the page is keyed to this symbol and this timestamp.
The left chart is scoped to a single expiration here: 0 DTE (Aug 20 PM), with that expiry's at-the-money straddle price beside it. The straddle is the market's own estimate of the move it is pricing for that horizon.
The market maker book for the selected expiry, strike by strike. Bars show the net position dealers carry at each line. This is the chart most members keep on the 0DTE expiry through the trading day.
A forward simulation of a chosen greek (here Gamma) across price and time for the rest of the session, with the day's candles drawn on top. Color is the sign and size of the exposure at each price/time node.
They may also be showing "GEX by STRIKE" which is not a simulation but rather a static snapshot of "Greeks right now" (useless, in my honest opinion)
A second gradient panel, typically set to a different greek so you read two exposures at once. The classic pairing is Gamma above and Charm below: one for how dealers trade the moves, one for the drift they hedge as time passes.
Zoom out, zoom in, fit-to-height, and full screen for each panel. Full screen is the view used on the live calls when a single chart needs the whole monitor.
The timestamp of what you are looking at, a Live/Historical switch, a date picker and an intraday scrubber. When the toggle is off Live, you are replaying the book exactly as it stood at the chosen moment.
you guys can always click on that lower left hand toggle on the position chart to switch between Live and Historical to verify what you thought you were seeing
Strikes for the selected expiry, spaced by the Strike Grouping setting (here every 5 points). Each row is one line of the book.
Bar length is the size of the net position at that strike for your selected participant group (market makers by default); these are the strikes where that book is net long options. Long option strikes are where dealer hedging leans against the move. Bar colors follow your color scheme setting: this capture uses the protanopia-friendly palette (blue long / gold short); the default scheme shows green long / red short.
in general the pinning influence in any given range is such that the market tends towards the dealer's largest LONG gamma level from the expiring position - that's usually an actual option line held in outsized quantity (long) by the market maker
The opposite side of the book: strikes where the selected participant group is net short options. Short strikes are where dealer hedging trades with the direction of the market instead of against it. Same color-scheme note as the long bars: gold here, red on the default palette.
The white dots are the "Show Previous" set: where each bar stood 10 minutes ago (a fixed lookback). They answer the short-horizon question: is this strike being built or unwound right now?
The blue dots are the "Show Comparison" set: where each bar stood at your chosen reference time. Default is today's market open, but you can pin it to any timestamp. The gap between the dot and the bar tip is what traded at that strike since the reference. The "Reading the dots" slide shows the sold/bought cases.
Correct- for the blue dots I use t-1 9pm et, which is not ultra precise (could probably use 8:20 pm et more accurately)- but the point is that it captures any reconciliations done on clearing after the 5pm et close
Spot plus and minus the at-the-money straddle for this expiry (here +14.05 and -14.05). This is the range the options market is pricing for the horizon, drawn straight on the book.
this is why they are more like 'boundaries' for evaluation than 'targets'; make no mistake... the effect of charm+gamma as the positions expire does not point to the dealer's largest short strike.. just the opposite (the balance points are the largest clusters of dealer long options in the range)
The current index estimate drawn across the book (white dashes). Outside regular hours it is an SPX estimate derived from futures, so you can read the book against the overnight tape.
A compressed silhouette of the whole strike range with your current viewport marked. Drag it to jump; the silhouette shows where the size lives outside your window.
Switches the bars between the standard Position view and the Candlestick view (next slide), which adds the intraday range of each strike's position.
Whose book you are looking at. Three lenses cover most work: Market Maker alone to watch the hedgers balancing their book (the default); Customer plus Pro Customer to see what customers are doing; and for VIX, Broker Dealer plus Firm plus Market Maker together as the dealer position.
Scopes the chart to the whole book, the front expiry, or any set you pick. The middle button tracks the front expiry and labels itself by its days-to-expiry: 0 DTE during the week, 3 DTE on a Friday evening when Monday is next. Custom opens a checkbox list of every expiration, so you can build any combination.
Total nets calls and puts into one bar per strike. Switch to Calls or Puts to see which side of the chain built the position.
The controls for both dot sets: "Show Previous (-10 min)" draws the white dots on a fixed 10-minute lookback, and "Show Comparison" draws the blue reference dots pinned to Market Open or any custom timestamp.
Toggles the 1x straddle boundaries and an optional 0.5x set. The half-straddle marks the tighter zone where pinning behavior concentrates late in the session.
Layout preference for how bars anchor to the axis (center align by default). Cosmetic: it changes the drawing, not the data.
Buckets strikes into 1, 5, 10, 25 or 50 point bins. Grouping trades detail for readability; the net is preserved inside each bin.
Per strike, three layers: the thick body spans the change between the comparison time and now, the thin whiskers mark the intraday minimum and maximum the position has reached, and the vertical hash marks the current position. One glance tells you whether a line has been steadily built, unwound, or churned.
The same sidebar as the Position view, minus the dot controls (the candles replace them). All other filters carry over.
Blue dot to the right of the bar: the participant sold this strike since the comparison update.
Blue dot to the left of the bar, or inside the bar: the participant bought this strike since the update.
Long bar, dot beyond the tip: the position was bigger at the reference. Net sold since the update.
Long bar, dot inside the bar: the position has grown. Net bought since the update.
Short bar, dot inside the bar (right of the tip): the short has been extended. Net sold since the update.
Short bar, dot beyond the tip (left): the short was bigger at the reference. Net bought back since the update.
Short bars read the same way on the number line: dot to the right of the tip = sold (the short grew), dot to the left of the tip = bought back.
A short cluster the tape has to fight through. Hedging there trades with the move, so a test either rejects price or accelerates it. Slides name an upper test and a lower test around the day's range.
The long cluster the book pins toward. Hedging there leans against the move, and as the session decays, price tends back to it. The balance point sits at the largest cluster of dealer long options in the range.
Holding beyond a test instead of rejecting. Once a level is accepted, the read hands off to the next cluster on the book.
Each bar is the market maker net contract position for one expiration. The standouts are usually the monthly opex dates and the big quarterly cycles, where structural positions live.
the position by expiration chart is not granular enough imo to get any real actionable signal from- it's a representation of net contracts long or short, per maturity. But you don't know where those nets exist in strike/delta; which makes it less navigable- perhaps it's an interesting way to identify "shifts' in market character or areas on the curve where options may skew cheap vs rich
Expirations in order, dailies through the far monthlies, with AM and PM series listed separately.
Green means you are watching the live book. Flip it to replay any prior date, same as the other charts.
One column per expiry with that expiry's at-the-money straddle price underneath the date. The straddle row is the term structure of expected moves, printed right on the grid.
Each cell is the market maker net position at one strike in one expiry. Green shading is net long, red is net short, intensity scaled by the Color Normalization settings.
The stepped dashed lines are the straddle boundaries drawn per expiration: spot plus and minus that column's straddle price. Each column has its own tenor, so the boundary steps wider as you move out the curve, tracing the expected-move cone across the whole grid.
The dashed line marking the current index level across all columns, so you always know which strikes are above and below the market.
Bins the rows at 1, 5, 10, 25 or 50 points, or shows every listed strike. Wide buckets turn the grid into a heat map of the whole surface; tight ones show individual lines.
Collapses columns by Day, Week, Month, Quarter or Year. Weekly bucketing is the cleanest way to read how the book distributes across the next few opex cycles.
Percentile-range scaling for the cell shading (default 5th to 95th). Normalizing by percentile keeps a handful of monster positions from washing out the color everywhere else.
Downloads the grid as data. For anyone running their own models, this is the raw book by strike and expiry.
The same grid at 50-point strike bins. Structure that is invisible at single-strike resolution (like the big upside call positions parked far OTM) jumps out at this zoom.
Columns collapsed to weeks (Monday start). Each column now answers: what does the dealer book look like for that week's expiries as a whole?
Which exposure the surface renders: Gamma, Charm, Delta, Delta Change or Vanna. Everything else on the chart keeps its meaning; only the quantity changes.
You cannot build custom expiration configs for rendering the gradients however- they will always render "everything in the SPX"
Price on the vertical, time on the horizontal, and at every node: the market maker exposure the book would carry if the index were at that price at that time. It is a simulation forward across the session, not a snapshot.
Zones where the simulated exposure flips negative: if price reaches here, dealer hedging trades with the direction and adds to the move. Note how the pockets grow toward the close as the expiring position concentrates.
Gamma exposure should be read this way: IF the index moves higher by $1.00 market makers have [hedge product to trade] to buy/ sell. When the hedge product to trade is negative for Gamma, this is telling us that Market Makers have futures to sell if the market rallies >> this is positive gamma. Gamma exposure and its hedge is a non-directional measure... it either absorbs liquidity (positive gamma) or takes liquidity/trades with the direction (negative gamma)
The day's actual tape drawn over the simulated surface. The whole read is the interaction: where the path sits relative to the flips, the maxima and the boundaries.
Hover any node for the numbers behind the color. Two of them do most of the work: Exposure is the greek itself at that node, in units of the underlying; Hedge Product to Trade converts it into the futures quantity dealers would transact there (negative = market makers sell). Dollar Per Percent and Dollar Value of Trade translate the same reading into notional.
regardless of your gradient color settings- you're encouraged to always spot-check the actual exposure & Hedge Product to Trade quantities.
The dotted contours trace where the greek crosses zero: the flip boundaries between positive and negative exposure.
dotted lines = inflections across a boundary (typically 0.. represent areas where the greek changes from positive to negative/vice versa)
solid lines = local max and min for the greek
The solid curves ride the local extremes of the greek: the price levels where exposure peaks or troughs at each moment. On the green/red scheme, red traces the local max and cyan the local min; on blue/yellow, orange is the max and blue the min. On Gamma, the positive peak is the classic balance level the market rubber-bands around.
Same indicators as the position chart: the live price line, and the purple dashed straddle boundaries scaled by the front straddle shown top-left.
The full simulated price range with your viewport marked. The surface extends beyond your window; drag here to see the wings.
Same as the position charts: whose exposure the surface simulates, Market Maker by default. The Positions by Strike slide carries the full lens guide (MM = the hedgers; Customer + Pro Customer = the customer lens; BD + Firm + MM = the dealer position for VIX).
A what-if control: re-renders the surface under a parallel implied volatility shift of 1% up or 1% down. Useful ahead of events to preview how the exposure map changes if vol comes in or blows out.
Checkboxes for the overlays: 0.5x and 1x straddle boundaries, the price line, the contour lines, and grid lines.
Green/Red, Blue/Yellow or custom pairs. Color maps to sign of exposure; pick whatever your eyes read fastest and let the tooltip numbers carry the precision.
Percentile-range scaling (default 5 to 95): the color scale is fit to the bulk of the surface instead of its extremes, so one monster node cannot wash out the map.
A working calibration: keep the color range symmetric around zero so positive and negative exposure read at equal intensity; keep percentile normalization near the 5/95 defaults; hold opacity moderate so the candles stay readable; keep the power exponent near the middle, since extreme exponents distort the map; and recalibrate when the vol regime changes, not day to day.
for Vanna I recommend using the various options to normalize and find a fit for you. For exposure max/min manual I use 1k, but you can see right now that it's quite large
The response curve between value and color intensity (power law by default). Exponent below 1 boosts the faint zones; above 1 makes only the big exposures glow.
Restricts the time axis to regular trading hours. Toggle it off to include the extended session on the surface.
Charm is the time-decay of delta: at each node, the futures dealers will have to trade over the next five minutes purely because time passed. Unlike Gamma, it is directional. The black bands are near-zero charm: no meaningful drift either way.
Charm exposure is a directional bias >> "over the subsequent 5 minute period, dealers will have [hedge product to trade] futures to buy/sell
The same position produces stronger charm flows as expiration approaches, which is why the bands intensify across the afternoon. Early in the day, discount the paths; late in the day, respect them.
I use the Charm paths throughout the day but in the earlier part of the day I am dampening my reliance on them intentionally- the exposure values are what they are - given the same position, there should always be increasing strength in the charm flows as we near expiration.
Exposure here is the Black-Scholes implied delta change over the following five minutes, expressed in units of the underlying, with the dollar value and the hedge quantity alongside.
A positive Charm exposure indicates the Black Scholes implied delta change over the following 5-minute period. The model by default expresses this in "units of the underlying"
At each node: the net delta the market maker book would carry with the index at that price. It is the baseline the other greeks perturb: gamma is how this map changes with price, charm how it changes with time. Black regions are near-zero delta.
Price, Exposure and Dollar Value of Trade. Note there is no Hedge Product to Trade here: delta is the position itself, not a flow triggered by a move.
Each node answers one question: what if, between now and then, the market went from here to there? The surface shows the change in the option position's delta between the current state (current time, current spot) and that node's spot/time coordinate. That change is what dealers have to trade away if the path prints.
The black corridor is where the delta difference vs the current state is near zero: paths the book can absorb without meaningful re-hedging. Its width is a visual read on how much room price has before dealer re-hedging kicks in.
At each node: how much the book's option delta changes if implied volatility rises 1%. Positive exposure means the position gets longer delta as IV rises, so market makers have futures to sell if IV rises; negative exposure means futures to buy. When vol moves, this surface tells you which way the dealer re-hedge leans and how hard. Black zones are near-zero vanna.
Same fields as Charm: Exposure, Dollar Value of Trade, and Hedge Product to Trade, all conditional on the vol move rather than price or time.
Live tracks the book in near real time. Historical replays any date and time: pick the date, drag the scrubber, and every panel redraws the book exactly as it stood at that moment.
At the 4 PM ET close the front expiry settles and the tool rolls to the next session: the 0DTE scope moves to tomorrow's expiry. The 4-5 PM curb session can still adjust closing positions after the print.
Since Friday night does not feature a series re-open, you would have to fast-forward to Sunday and choose 9PM Sunday if you are trying to mimic what I do when observing the expiring open interest positions
Positions update on a validated 10-minute cadence. The CBOE's 1-minute series has data integrity issues that lead to positional drift, so VS3D does not use it. When the CBOE ships a fix, VolSignals will validate that the changes are adequate, and then move over.
Seven chapters of the framework behind these screens: gamma, charm, vanna, tests and anchors, trade structuring, plus a cheat sheet and quiz.
Ask in #vs3d-general-chat. The remedial questions are the ones everyone else was about to ask.