· HEATMAPS
Absorption versus a refilled level on a heatmap
A band that dims and comes back is not always absorption. Two ES cases in Liquivue show how traded volume separates absorption from a plain refill.
SHORT ANSWER
Absorption needs trades. A level absorbs when aggressive orders trade more volume at it than it showed at any one time, and the level still holds. A refill is resting size that comes back after traders cancel it, with little or no volume traded. Liquivue shows both on its futures heatmap, and trade bubbles at the price tell them apart.
Absorption versus a refilled level on a heatmap is decided by the volume that traded at the price. The colour of the band cannot decide it. A liquidity heatmap draws resting limit orders as bands across time. A band can dim and then brighten again for two different reasons. In one case, aggressive orders traded into the level and the level held. That is absorption. In the other case, traders pulled size and then put it back, and little traded. That is a refill. This note runs both cases at one ES price in Liquivue and gives one ratio that separates them. The earlier note on what absorption looks like on a heatmap covers the absorption picture on its own.
What each term means
A resting order is a limit order that waits in the book. An aggressive order is a market order, or a limit order priced to trade at once.
Absorption means aggressive orders trade into a resting level, and price does not trade through it. The volume traded at the price ends up larger than the size the book showed there at any single moment.
A refill means resting size at a price drops and then returns. The drop can come from trades, from cancels, or from both. The return comes from new limit orders. A refill on its own says nothing about how much traded.
Two cases at one price
All numbers below are invented. The market is the E-mini S&P 500 future, ES, where one tick is 0.25 points. In both cases the best bid is 5,030.00 and the bid there shows 300 contracts at the start.
Case A, a refill with few trades
Between 11:05:00 and 11:06:00 the bid at 5,030.00 moves like this.
| Time | Bid size at 5,030.00 | Sold at 5,030.00 in the interval |
|---|---|---|
| 11:05:00 | 300 | |
| 11:05:20 | 60 | 40 |
| 11:05:40 | 70 | 0 |
| 11:06:00 | 280 | 10 |
The bid fell by 240 contracts in the first 20 seconds, and sellers traded only 40. The other 200 contracts left the book through cancels. Later, traders placed new bids, and the size climbed back to 280. Over the minute, sellers traded 50 contracts at 5,030.00, while the band showed as much as 300.
Case B, absorption
Between 11:20:00 and 11:21:00 the same price behaves differently.
| Time | Bid size at 5,030.00 | Sold at 5,030.00 in the interval |
|---|---|---|
| 11:20:00 | 300 | |
| 11:20:20 | 210 | 230 |
| 11:20:40 | 190 | 260 |
| 11:21:00 | 260 | 240 |
Sellers traded 730 contracts at 5,030.00 in one minute. The bid never showed more than 300 and never emptied. No trade printed at 5,029.75, so price did not move through the level.
The ratio that separates them
Divide the volume traded at the price by the largest size the band showed in the window.
- Case A gives 50 divided by 300, about 0.17.
- Case B gives 730 divided by 300, about 2.4.
A ratio well below 1 means most of the change in the band came from cancels and new orders, not from trading. A ratio well above 1 means traders kept adding bids while sellers traded into them. The ratio does not say who added the size or why. It says which of the two events took place.
How the two cases look in Liquivue
On the Liquivue heatmap layer, both bands at 5,030.00 dim and then brighten. The colour is the same in both cases, so read the trade bubbles at the price.
In case A, a few small sell bubbles print at 5,030.00 near 11:05:20. Together they come to 40 contracts, and one 10 lot prints later. The CVD line moves down by about 50 contracts. The volume profile adds 50 contracts to the 5,030.00 row.
In case B, sell bubbles stack in one horizontal row at 5,030.00 for the whole minute and add up to 730 contracts. CVD falls by 730 if no buying traded at the offer, and the price line stays flat. The delta profile shows the 5,030.00 row at minus 730. Liquivue lists absorption markers, so it can flag case B on the chart. The marker logic depends on the data your provider sends, so check the bubbles and the profile row before you accept a marker.
Liquivue runs in a desktop browser with WebGPU and connects to futures through Rithmic or the NinjaTrader bridge. It costs €20 a month after a 7-day trial, and your provider bills market data separately. Traders who want a Bookmap alternative for futures heatmaps can compare platforms on the rankings page.
What neither case shows
Market by price data gives one total per price. It cannot show whether the 200 contracts that left in case A were one order or twenty. It also cannot show hidden size. Liquivue lists iceberg detection, but the feature is experimental and needs live CME order-level data.
Neither case is a forecast. Case B shows that the bid held for 60 seconds while 730 contracts traded. Sellers can still trade through it in the next minute.
The same check on other platforms
Bookmap draws a historical order book heatmap with volume bubbles, so the same ratio works there. Its Global tier for live futures analysis costs US$49 a month before data. ATAS has a heatmap in beta beside its cluster charts, and live futures need its Pro plan at €69.95 a month. On any platform, read the traded volume at the price before you call a dimming band absorption.
A check you can run
Pick five moments in your last session where a band near price dimmed and came back within two minutes. For each one, add up the volume that traded at that price and note the largest size the band showed. Divide the first number by the second. Count how many of the five had a ratio below 0.5 and how many had a ratio above 2.
Questions
What is the difference between absorption and a refill?
Absorption is aggressive volume trading into a resting level that holds. A refill is resting size that returns to a level after it was cancelled or reduced, whether or not anything traded there.
How can you tell a refill from absorption on a heatmap?
Look at the trade bubbles at the price. A band that dims and brightens with few or no bubbles on it is a refill. A band that keeps its size while bubbles add up to more than the band showed is absorption.
Does a refilled level act as support?
No. A refill shows that someone placed limit orders at that price again. Those orders can be cancelled before price reaches them, and the heatmap does not show what the traders behind them will do next.
Does Liquivue mark absorption on its heatmap?
Yes. Liquivue lists absorption and sweep markers on its futures heatmap, beside trade bubbles, CVD and volume and delta profiles. The markers depend on the data your provider sends.
Educational content about market data and charting software. It is not trading or investment advice. Trading involves risk.