Options Surface
What is the Options Surface add-on?
Market maker gamma at every price level, minute by minute, on your ES chart.
Options Surface is a Bookmap add-on, part of the Bookmap Options package. It draws SPX options positioning on an ES or MES chart. Options Strike shows the exposure of each strike on its own. Options Surface shows something different: for every SPX price level, 2.5 points apart, how much market makers' hedging would change if SPX were trading there. One minute of these values is a profile. The minutes of the session put side by side make the surface. The data is built by OptionsDepth from real market maker positions and updates every minute.
On the chart you get three things:
- Profile panels docked on the chart: the Now profile, the End of day projection, or both side by side, with one bar per price level for the minute on show.
- Key levels: that minute's peaks, troughs and zero flips, drawn as lines across the chart.
- Time markers: a line at the newest minute, and one at the minute the panels show when you have dragged the chart back.
Drag the chart back and the panels and the key levels follow the minute at the chart's right edge, so you can go back through how the market maker picture changed during the session. Bookmap replay is supported too: the add-on shows the replayed day as it was at the replay cursor.
This guide explains what the add-on shows, how to read it, and what every setting does. It assumes you already know your way around Bookmap. The gamma basics are the same as for Options Strike and are explained in more depth there: see Gamma in one minute and How market maker hedging moves price.

Where the data comes from
- Cboe, the exchange that lists SPX options, tags every trade by participant type.
- OptionsDepth uses that data to build the real market maker net position for each option. From those positions it computes, once a minute, the market makers' total gamma at every SPX price level around the current price, and a projection of how that profile will develop until the close.
- Bookmap fetches the result once a minute and draws it on your chart.
Live, the data is today's session. When the service starts the next session (with the first minute around 04:00 ET) the add-on clears the old day and loads the new one by itself. In replay it loads the replayed day instead (see Replay).
Trading hours and data timing
All times are New York time (ET).
| Time | What arrives |
|---|---|
| 04:00 – 09:24 | one snapshot per minute (pre-market) |
| 09:25 – 09:29 | nothing: these minutes are never published |
| 09:30 – close | one snapshot per minute, the last one shortly before 16:00 |
| After the close, weekends and market holidays | nothing new; the finished session stays on the chart |
Delivery delay
Cboe delivers each minute with a delay of up to about 90 seconds, so the newest minute on the chart normally trails your clock by one to two minutes.
What the value means
Each value is the market makers' gamma at that price level: how much their net delta changes when SPX moves
2.5 points from that level, in OptionsDepth's units (shown on the chart as Δ / 2.5 pt). Values come with one
decimal, for example +325.9.
- Positive (green by default): market makers are long gamma if price is at that level. Their hedging goes against the move. It works as a brake.
- Negative (red by default): market makers are short gamma at that level. Their hedging goes with the move. It works as an accelerator.
- Size: the larger the value, the stronger the effect if price trades there.
Options Strike shows millions of dollars per strike. Options Surface shows OptionsDepth's raw gamma per price level. Compare levels with each other by size and sign. Do not compare the numbers between the two add-ons.
Strike vs. price level
A strike value belongs to the options at that one strike. A price level value adds up every strike that would matter if SPX traded at that price. That is why the profile is smooth, why it has a few clear peaks and troughs, and why the places where it crosses zero are meaningful: on one side of a zero flip market maker hedging damps moves, on the other side it amplifies them.
Now and End of day
Every minute has two profiles:
- Now: the actual gamma at that minute.
- End of day: the 15:59 projection as it stood at that minute. This is the 0DTE close picture: where the peaks, troughs and flips are heading by the end of the session. Dragged back to 11:28, it is the projection as OptionsDepth saw it at 11:28, not today's newest one.
Getting started
Install
- Use the Addons Manager in Bookmap to install the add-on. It is called Options Surface.
- In Bookmap open Configure add-ons and tick Options Surface for an ES or MES chart.
The checkbox is per chart, and Bookmap remembers it: a chart that had Options Surface on when you closed Bookmap comes back with it on.
First load
As soon as you tick the checkbox the add-on asks for the newest minute and draws the profile panels and the key levels, usually within a few seconds. The session history follows on its own. After that the data refreshes automatically every minute.
Open the add-on settings. The panel is titled Options Surface, with the version on the right. The Status card at the top tells you what is happening:
- Update Now fetches immediately instead of waiting for the next minute.
- The line next to it reads
Updated 20:54:55 ETwithdata as of 15:50 ETunderneath when new data arrived,Up to date …when the service had nothing newer, orFailed …with the reason in orange underneath when something went wrong. Both times are New York time: the first is when the answer arrived, the second is the data minute. - The small pill on the right, for example
ES +41.6, shows the SPX-to-ES price conversion in use (see Price conversion (SPX → ES)).

Wrong instrument
The add-on only runs on ES and MES. On any other chart the settings panel shows just the title and an amber
banner: "<symbol> is not supported. Options Surface plots the SPX greek surface on ES and MES charts only. Open an
ES or MES chart to use it."
Reading the chart
The profile panels
The panels are docked on the chart, at the left edge by default. Pick which ones to show with Display > PROFILE > Profiles: Now (the default), End of day, or both. With both on they sit side by side, Now on the left.
Each panel has:
- One bar per price level, at that level's ES price, for the minute on show. The thin light vertical line is zero: positive values (green) extend to its right, negative values (red) to its left.
- Its own scale: the two numbers in the bottom corners, for example
−350and+900, are the values at full bar length on each side. End of day often runs several times larger than Now, so compare the shapes of the two panels, not their bar lengths. - A chip just above the scale, in the profile's colour (blue for Now, purple for End of day), naming the minute:
NOW 09:56,END OF DAY 15:59, orEND OF DAY as of 11:28when the chart is dragged back. A narrow panel uses the short form,EOD 15:59. The unit,Δ / 2.5 pt, sits beside it when the panel is wide enough.
Display > PROFILE > Scale sets what the scale fits:
- Visible range (default): the levels on screen, so the bars fill the panel. A scroll or zoom refits it at once; from one minute to the next it changes only when the bars clearly outgrow or shrink inside it, so it does not jump.
- Whole profile: every level the service sends, so a scroll never changes the bars. A large level far off screen can leave the bars on screen short.
Move the panels anywhere across the chart with Position, and set each one's width with Now width and EOD width.

The readout card
The readout sits at the top of the panels.
| Line | Meaning |
|---|---|
| Title | Gamma profile with the unit, Δ / 2.5 pt |
| Price | the SPX price level nearest your cursor, when the cursor is on the heatmap |
| Spot | shown instead of Price when the cursor is off the heatmap: the current price, converted to SPX and snapped to its 2.5-point level |
| One row per shown profile | the profile's chip (NOW 10:59, EOD 15:59) and its value at that level |
Each row's chip is filled red or green by the sign of its value. With the cursor off the heatmap the values are read at spot, so the chips tell you the regime at the current price: short or long gamma, for each profile. Close to expiry the End of day profile can change sign from one level to the next, so its chip can change with a 1–2 point move: it tells you which side of the nearest flip the price is on.
Move the cursor over the heatmap and a marker on the panel jumps to the nearest 2.5-point level, with its price and values in the readout. The cursor does not change the minute shown.
The price in the readout is the SPX level, like the strike labels in Options Strike. The bars themselves sit at the ES price of each level.
Key levels
The key levels are the shown minute's turning points, drawn as horizontal lines across the chart at their ES price:
| Level | Line | Label | What it is |
|---|---|---|---|
| Peak | solid, positive colour | P 7625.00 +412.0 | a local high of the profile above zero: a level of large positive gamma |
| Trough | solid, negative colour | T 7550.00 −288.4 | a local low of the profile below zero: a level of large negative gamma |
| Flip | dashed, flip colour (orange) | Flip 7598 | a level where the profile crosses zero |
Labels show the SPX price, and for peaks and troughs the value. A flip lies between two 2.5-point levels, so its price is rounded to the whole point.
A level has to stand out from the levels around it to be drawn. Sensitivity sets how much, as a share of the profile's largest value: higher keeps smaller levels. A broad, flat area gives one level, not a cluster of labels a few points apart.
Display > KEY LEVELS > Levels from picks which profile the levels come from: Now (default), End of day, or both, whatever the panels show. With both on, each label starts with N or E and carries the profile's colour on its left edge, and Now's lines are drawn fainter.
The lines run across the chart on each side of the profile panels, not under them, and the labels sit at the panels' edge. With the profile panels switched off the lines span the whole chart and the labels sit at the nearer chart edge.
