GEX surface: every strike and every expiry at once
The surface page plots one value across strikes and expiries at the same time, as a 3D relief, a flat heatmap, a single expiry slice or an aggregated profile. Five measures can be plotted, and each one states whether it is model output or published by the chain.
Senzoukria · Documentation · Updated September 2026
Where to find it
- Where
- GEX workspace → Surface page
- Measures
- Gamma exposure, vanna exposure, charm exposure, open interest, implied volatility
- Views
- 3D surface, flat heatmap, one expiry, aggregated profile
- 3D minimum
- Three expiries with data; below that the relief has nothing to show
- Moneyness window
- ±12% around spot by default
What it does
Strikes run along one edge, expiries along the other, and the selected measure is the height and the colour. Colour carries the sign, height carries the size. Cells with no data stay holes: nothing is interpolated, neither in the computation nor in the rendering, so a gap in the chain reads as a gap.
The default measure is the first one that actually has a surface on the current snapshot, so the page never opens on an empty relief when another value is perfectly plottable. Measures with no usable data are named as unavailable in the selector instead of being silently dead.
Settings
Two things on this page are not settings and cannot be changed from the screen. The moneyness window is fixed at ±12% of spot, because beyond it the published implied volatility comes from contracts that do not trade and crushes the colour scale. And the snapshot age shown beside the surface is re-read every 10 seconds, so a chain that stops refreshing visibly ages on screen.
| Setting | Default | What it changes |
|---|---|---|
| Value plotted | First measure with a usable surface | Gamma, vanna, charm, open interest or implied volatility |
| View | 3D surface when available, otherwise flat heatmap, otherwise profile | All four views read the same numbers |
| Pinned expiry | First row | Click a row to pin it; hovering previews another without replacing the pin |
| Notes panel | Collapsed | Two paragraphs explaining the choices; read once, the surface is read daily |
Navigating the 3D view
Drag to rotate, hold Shift to pan, scroll or pinch to zoom, and use the reset control to return to the default angle, zoom and centring. A vertical plane marks spot at the time of the snapshot.
- 3D surface — the shape of the whole book at a glance
- Flat heatmap — makes strikes directly comparable across expiries
- One expiry — isolates the front and reads like a bar profile
- Aggregated profile — sums every expiry into a single curve
Limits and pitfalls
Gamma, vanna and charm are model output: no exchange publishes them. They are built from the chain under the assumptions panel's replayable settings — the dealer-positioning convention and the 0DTE handling. Open interest and implied volatility are taken from the chain as published. The value hint on the page says exactly that, because reading a modelled height as an exchange figure is the mistake this panel is designed to prevent.
The surface is a photograph, not a feed. Its age is displayed next to it, and when the chain is stale the notice states that nothing on the surface has moved since. If the machine cannot render the 3D view, the page says so and the flat heatmap shows the same numbers rather than leaving a blank panel.
Related pages
This page in other languages
Frequently asked questions
- Why can I not select the 3D view?
- Fewer than three expiries carry data for the selected measure, or the machine could not initialise 3D rendering. In both cases the flat heatmap shows the same numbers, and the page says which case applies.
- Why are some cells empty rather than zero?
- Because the chain carries nothing at that strike and expiry. Zero is a value, an empty cell is an absence, and the surface refuses to interpolate one into the other.
- Which measures come from the exchange?
- Open interest and implied volatility. Gamma, vanna and charm are computed here from the chain, under the dealer-positioning convention and the 0DTE handling set in the assumptions panel. The pricing model, the risk-free rate and the dividend yield are named in that panel but cannot be changed there.