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.

The controls on the surface page; the moneyness window and the age tick are fixed, and named below.
SettingDefaultWhat it changes
Value plottedFirst measure with a usable surfaceGamma, vanna, charm, open interest or implied volatility
View3D surface when available, otherwise flat heatmap, otherwise profileAll four views read the same numbers
Pinned expiryFirst rowClick a row to pin it; hovering previews another without replacing the pin
Notes panelCollapsedTwo 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.

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.

Keep reading