Liquidity heatmap
Also called: depth heatmap · order book heatmap · liquidity map
A liquidity heatmap plots resting limit orders on a price-by-time grid, colouring each cell by the size sitting there. It is a memory of the book: where liquidity was placed, pulled, or consumed. It shows only displayed orders, and its colour scale is relative, not absolute.
What the colours encode
The vertical axis is price, the horizontal axis is time, and the colour of a cell is the size resting at that price at that moment. Bright means a large displayed order sat there; dark means the level was thin. Run it forward and you get a film of the order book, where a depth of market ladder gives you a single frame.
Most platforms also draw executed trades on the same canvas, as bubbles sized by volume. That is a second, separate dataset. Resting size and traded size answer different questions, and reading a heat band as trades happened here is the most common misreading of the tool.
Only what was displayed
A heatmap can draw only the orders the exchange published. Iceberg orders show a small tip and hide the rest; hidden and reserve orders show nothing at all. A level can therefore look thin on the map and behave like a wall — which is exactly what absorption looks like in the trades.
The scale is relative
Almost every implementation normalises colour over a rolling window and the visible price range. The same 1 500-lot order is a blaze on a quiet overnight session and barely warm at the cash open. Change the window and you change the picture, so two traders on the same market will disagree about which levels are big.
Read intensity as a comparison with nearby liquidity in the same frame, never as a measurement. For an absolute figure, use the ladder.
A worked example
In a synthetic ES sequence, a band sits at 5 341.00 for eighteen minutes showing roughly 1 800 displayed lots while neighbouring levels carry 200 to 400. Price approaches to within two ticks. Over the next twelve seconds the band fades to about 300 lots — and the tape prints 41 contracts at that price.
Nothing was consumed. The order was cancelled. A trader watching only the heatmap records that liquidity was taken; a trader watching the tape sees that nobody paid for it.
The trap
Treating the brightest band on the screen as a level. Displayed size is an intention, free to place and free to revoke, while the aggression that eats it is a commitment. The map shows where intentions currently sit, not where anyone has to trade.
The second half of the trap is the disappearance itself. A band that vanishes was either consumed or cancelled, and colour alone cannot tell you which. You need the executed volume at that price to separate them — absorption and a pulled order look identical on the map and mean opposite things.
Frequently asked
- Is a liquidity heatmap the same as a DOM ladder?
- Same underlying data, different presentation. A ladder shows the book at one instant, level by level, with exact numbers. A heatmap trades the numbers for history: it keeps hours of the book on screen so you can see where size persisted, appeared, or was pulled.
- Can a heatmap show iceberg or hidden orders?
- No. It draws displayed size only. An iceberg appears indirectly and after the fact, when far more volume trades at a price than the map ever showed resting there. That mismatch between drawn size and executed size is the signature.
- Does a heatmap reveal spoofing?
- It shows orders appearing and disappearing without trading, which is what people point at. Intent is not visible on a chart, and spoofing is a legal finding about intent. Large cancellations are routine and overwhelmingly lawful.