Market mechanics

What absorption means in order flow

An hourly rule for absorbed buying selects the quietest hours in the sample, not the busiest. Requiring genuine volume removes the effect entirely, across 31,290 BTC hours.

The direct answer

Absorption is heavy one-sided aggression that produces little price movement. Buyers repeatedly lift offers but price cannot rise, or sellers repeatedly hit bids but price cannot fall. Passive liquidity is taking the other side without giving up much ground.

The important measurement is not flow alone. It is price response relative to the flow. Large aggressive volume with a large move is ordinary impact. Large aggressive volume with almost no move is the mismatch traders call absorption.

We tried to measure it from hourly public trade data, and the honest answer is that it cannot be done that way. The obvious test looks like it works, and the reason it does not is worth more than the result would have been.

The short version: an hourly rule that flags heavy imbalance with little price movement selects the quietest hours in the sample rather than the busiest. Absorption requires heavy aggression by definition. The hours such a rule flags trade at roughly 40% of their own recent average volume, and once any real volume floor is imposed the apparent effect disappears.

Absorption is a real market mechanism with a coherent description, and what follows is a failure of coarse measurement, not evidence that the phenomenon does not exist.

Picture what is happening

Every market order trades against a resting limit order. An aggressive buyer crosses the spread and trades with an offer. An aggressive seller crosses the spread and trades with a bid.

Normally, enough one-sided aggression moves through the available liquidity and pushes price in the same direction. Repeated market buys consume offers and trade higher. Repeated market sells consume bids and trade lower.

During absorption, the passive side keeps meeting that flow. The resting quantity may already be visible, may replenish as it trades, or may be hidden from the displayed book. Aggressive volume accumulates, but price makes much less progress than the volume would usually produce.

Two forms mirror each other mechanically:

They are descriptions of the tape. Neither identifies whether the passive side is informed or whether the level ultimately holds.

What absorption looks like on a chart

The clearest footprint combines three views:

  1. The tape or CVD shows one-sided aggression. Buy or sell volume is clearly dominant over the event window.
  2. Price makes little progress. Repeated trades occur, but the market stalls near the same level instead of moving with the aggression.
  3. Liquidity persists or replenishes. A depth heatmap or ladder shows size remaining near the level as trades execute into it.

Absorption is usually local. A seller can absorb buyers at one resistance area without controlling the entire market. Mark the price level and the event window rather than labeling a whole session from one patch of flow.

A flat candle alone is not absorption. If volume is quiet and neither side is pressing, there is nothing unusual to absorb. The footprint requires meaningful aggression and unusually weak price response.

Why the footprint does not reveal intent

The same pattern can come from different participants:

Even a replenishing level does not identify one iceberg order. New orders can arrive from different participants at the same price. Public data reveals the response, not the owner's identity.

A practical way to read absorption

The measured result below does not validate this discretionary framework. It found a significant BTC association using a coarse hourly proxy, did not clearly replicate in ETH or SOL, and did not observe per-level resting orders. The steps organize a live event; they are not a tested entry strategy.

1. Identify the aggressive side. State whether market buyers or market sellers are pressing. "High volume" is not enough.

2. Mark the level where price stops responding. Use the repeated high, low or narrow price area where aggression produced little progress. Absorption is a relationship between flow and a location.

3. Compare impact with a normal period. Ask how far price moved per unit of one-sided flow relative to similar recent activity. A large raw delta can be ordinary during a high-volume session and exceptional during a quiet one.

4. Watch the resting liquidity. Separate size that persists, size that replenishes after trading, size that gets consumed and size that disappears before the test. Each produces a different live outcome.

5. Wait for the price response. If absorbed buyers finally gain acceptance above the selling area, the passive supply no longer controls that level. If price rejects and moves lower, the failed buying remains relevant. The mirror logic applies to absorbed selling at support.

6. Check the wider market. Compare other venues, spot and perpetual flow, open interest and liquidations. A local absorber can be overwhelmed by broader flow, and a single-venue footprint can be a hedge rather than a directional position.

How we defined the hourly proxy

The direct claim is that aggressive buyers meet enough passive supply that price barely responds. Public trade data measures the aggression. It does not identify the passive participant or reveal intent.

We therefore define a candidate absorbed-buying hour with three conditions:

  1. Absolute CVD imbalance is in the highest quartile for that market.
  2. Absolute open-to-close price movement is in the lowest quartile.
  3. CVD is positive, so the one-sided aggression came from classified market buyers.

CVD imbalance is aggressive buy volume minus aggressive sell volume, divided by their sum. The use of absolute imbalance in the first condition prevents the threshold from changing merely because the flow sign changes. The third condition then selects the buy side.

This is an indirect proxy. It finds a mismatch between flow and price response; it does not observe a specific resting order absorbing the trades.

Method

We used hourly Binance BTCUSDT, ETHUSDT and SOLUSDT perpetual trades and candles from 2023-01-01 through 2026-08-01. Quartile thresholds were calculated separately within each market. The outcome is the return from the selected hour's close to the price exactly 24 clock hours later.

Rows without the exact future endpoint were excluded. Each candidate group was compared with every other usable hour in that market. Because the 24-hour outcomes overlap, uncertainty is estimated with Newey-West standard errors using 24 hourly lags.

Results

marketusable hoursabsorbed-buying hoursall-hour baselineafter absorbed buyingdifference vs other hoursNewey-West SEt
BTC31,290530+0.134%-0.138%-0.277 pp0.096 pp-2.89
ETH31,191466+0.094%-0.056%-0.152 pp0.129 pp-1.18
SOL31,191507+0.268%+0.047%-0.224 pp0.192 pp-1.17

Read on its own, that BTC row looks like a finding. Only BTC clears a conventional significance threshold, ETH and SOL lean the same way without reaching it, and the dispersion is wide: the 24-hour return standard deviation inside the selected group is 1.744% for BTC, 2.529% for ETH and 3.651% for SOL.

It is not a finding, and the next section is why.

What the selection rule actually picks

Absorption means heavy aggression that fails to move price. The definition above never asks how heavy. Condition 1 uses a ratio, aggressive buy volume minus sell volume over their sum, and a ratio has no volume floor in it. A quiet hour with few trades can post an extreme imbalance simply because the sample is small, and a quiet hour also tends to have a small price move, which satisfies condition 2.

So the two conditions can select the same thing from two directions: low participation.

They do. Measuring each BTC hour's volume against its own trailing 30-day average, the hours we flagged run far below normal:

groupvolume vs own 30-day averagemedian
flagged as absorbed buying0.4040.32
every other hour0.9950.659

Of 508 flagged hours with a full trailing baseline, 328 fall in the quietest quartile of relative volume and 16 in the busiest. These are not hours of heavy one-sided aggression. They are quiet hours.

The forward return follows the volume, not the flow:

specificationeventsdifference vs control
no volume floor508-0.265 pp
relative volume in the bottom quartile328-0.280 pp
relative volume above the median73+0.061 pp
relative volume in the top quartile16-0.037 pp

The entire effect sits in the quietest hours. Require volume above the trailing median, which is the least any definition of heavy aggression can ask, and the estimate crosses zero and changes sign. Only 16 of 508 flagged hours were busier than usual, which is too few to test at all.

What that means

The test measures quiet hours, not absorbed buying. Quiet hours in this sample were followed by slightly weaker 24-hour returns, and a ratio with no volume floor finds them by accident.

That is a null result, and it is a specific kind: the proxy failed, not the hypothesis. Nothing here shows absorption does not exist or does not matter. It shows that an hourly bucket with a ratio-based imbalance measure cannot identify it, because the arithmetic of the ratio pulls the selection toward exactly the conditions absorption is not.

Identifying it properly needs three things this test lacks. Aggressive volume binned by price level, so you can see flow meeting resting size at a level rather than summed across an hour. An expected-impact model, so "failed to move price" is measured against how far that flow should have moved price given depth and volatility, rather than against a flat absolute threshold. And event boundaries drawn by the flow episode rather than the clock, since a real absorption event does not begin and end on the hour.

Absorption is easier to examine when aggressive flow and resting size share a chart. QuantumFlow places CVD beside the depth heatmap so the price response can be compared with the liquidity being tested.

Common mistakes

What a stronger test would add

The first item is the one that mattered here. The rest remain open.

What this study does not establish

---

*Written by Dom at QuantumFlow. Published 5 August 2026. Figures use Binance perpetual trade flow and hourly candles for BTCUSDT, ETHUSDT and SOLUSDT from 2023-01-01 to 2026-08-01.*

QuantumFlow

Stop taking the tape on faith.

Every number in this article came from the same archive the platform runs on: order flow, the book, liquidations, funding and open interest on one chart, plus, on the Intelligence plan, an Oracle you can ask about any of it in plain English. See the platform.

See plans
Charts from $39 a month. Intelligence, with Oracle, from $99. No free tier.