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 33,114 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.

Here is the closest case our hourly rule found in BTC: the flagged hour with the heaviest volume relative to its own recent average, picked by that rule rather than by eye. Almost none of the hours the rule flags look like this, which is what the results below turn on.

May 5, 2026: heavy buying, 0.07% move
The busiest flagged BTC hour in the sample: price and cumulative CVD in 5-minute steps, with three hours before and three after
flagged hour3.8× volumePrice (USD)80,50081,00081,50082,000Cumulative CVD (BTC)−5,0000+5,000+10,000+15,00010:0012:0014:0016:00
flagged hour3.8× volumePrice (USD)80,50081,00081,50082,000Cumulative CVD (BTC)−5,0000+5,000+10,000+15,00010:0011:0012:0013:0014:0015:0016:0017:00
flagged hour3.8× volumePrice (USD)80,50081,00081,50082,000Cumulative CVD (BTC)−5,0000+5,000+10,000+15,00010:0011:0012:0013:0014:0015:0016:0017:00
Binance BTCUSDT perpetual · 5-minute data · from May 5 10:00 UTC. Chosen by rule: of 551 flagged hours from 2023-01 to 2026-10-15, the one with the highest volume relative to its 30-day average (3.8×). Only 18 flagged hours fell in the busiest quartile, so this is a rare case.quantumflow.tech

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-10-15. 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
BTC33,114551+0.146%-0.058%-0.207 pp0.094 pp-2.20
ETH33,015516+0.108%+0.020%-0.090 pp0.139 pp-0.64
SOL33,015533+0.281%+0.186%-0.096 pp0.190 pp-0.51

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.784% for BTC, 2.709% for ETH and 3.664% for SOL.

The hourly rule looks like a bearish finding in BTC
24-hour return after flagged absorbed-buying hours minus all other hours, in percentage points, with 95% interval
−0.8−0.40.40BTC−0.21 pp551 flagged hoursETH−0.09 pp516 flagged hoursSOL−0.10 pp533 flagged hours← lower than other hourshigher →
−0.8−0.40.40BTC551 flagged hours−0.21 ppETH516 flagged hours−0.09 ppSOL533 flagged hours−0.10 pp← lower than other hourshigher →
−0.8−0.40.40BTC551 flagged hours−0.21 ppETH516 flagged hours−0.09 ppSOL533 flagged hours−0.10 pp← lower than other hourshigher →
Binance BTC, ETH and SOL perpetuals · 516 to 551 flagged hours per market · 2023-01 to 2026-10-15 · Newey-West intervalsquantumflow.tech

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.4050.32
every other hour1.0160.665

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

The flagged hours are the quiet ones
Share of flagged BTC hours in each quartile of volume relative to the preceding 30 days. Equal shares would be 25%
0%25%50%75%equal share65%21%11%3%QuietestSecondThirdBusiestquartile of relative volume
0%25%50%75%equal share65%21%11%3%QuietestSecondThirdBusiestquartile of relative volume
0%25%50%75%equal share65%21%11%3%QuietestSecondThirdBusiestquartile of relative volume
Binance BTCUSDT perpetual · 547 flagged hours with a full 30-day baseline · 2023-01 to 2026-10-15. Median relative volume 0.32× for flagged hours, 0.66× for all other hours.quantumflow.tech

Quiet hours are not spread evenly across the clock. The flagged hours fall at weekends far more often than chance would put them there, and rarely in the US session.

They cluster at weekends and avoid the US session
Share of flagged BTC hours that fall in each window, against the share of all hours
Flagged hoursAll hours
0%20%40%60%Weekend58%29%00:00 to 08:00 UTC40%33%13:00 to 17:00 UTC6.5%17%
0%20%40%60%Weekend58%29%00:00 to 08:00 UTC40%33%13:00 to 17:00 UTC6.5%17%
0%20%40%60%Weekend58%29%00:00 to 08:00 UTC40%33%13:00 to 17:00 UTC6.5%17%
Binance BTCUSDT perpetual · 551 flagged hours of 33,114 · 2023-01 to 2026-10-15 · UTCquantumflow.tech

The forward return follows the volume, not the flow:

specificationeventsdifference vs control
no volume floor547-0.205 pp
relative volume in the bottom quartile357-0.237 pp
relative volume above the median77+0.133 pp
relative volume in the top quartile18+0.263 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 18 of 547 flagged hours were busier than usual, which is too few to test at all.

Add a volume floor and the effect disappears
BTC, 24-hour return after flagged hours minus all other hours, in percentage points, with 95% interval
−1.0−0.50.51.00No volume floor−0.21 ppall flagged hours, 547 hoursBottom quartile−0.24 pprelative volume, 357 hoursAbove the median+0.13 pprelative volume, 77 hoursTop quartile+0.26 pprelative volume, 18 hours← lower than other hourshigher →
−1.0−0.50.51.00No volume floorall flagged hours, 547 hours−0.21 ppBottom quartilerelative volume, 357 hours−0.24 ppAbove the medianrelative volume, 77 hours+0.13 ppTop quartilerelative volume, 18 hours+0.26 pp← lower than other hourshigher →
−1.0−0.50.51.00No volume floorall flagged hours, 547 hours−0.21 ppBottom quartilerelative volume, 357 hours−0.24 ppAbove the medianrelative volume, 77 hours+0.13 ppTop quartilerelative volume, 18 hours+0.26 pp← lower than other hourshigher →
Binance BTCUSDT perpetual · flagged hours with a full 30-day baseline · 2023-01 to 2026-10-15 · Newey-West intervals. The top quartile holds only 18 hours.quantumflow.tech

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, updated 16 October

  1. Figures use Binance perpetual trade flow and hourly candles for BTCUSDT, ETHUSDT and SOLUSDT from 2023-01-01 to 2026-10-15.*
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.