Passive Absorption Indicator: Formula, Settings and How to Read It
Passive Absorption reports how many contracts printed for each tick that trades actually moved through inside a bar. It divides the total volume of the bar's price levels by the distance, in tick indices, between the highest and the lowest level where trades printed.
Senzoukria · Indicators · Updated September 2026
Passive Absorption ships with the Senzoukria desktop app, in the Tape & flow group of the indicator catalogue. It is drawn in its own panel below the chart.
What Passive Absorption measures
Both sides of the ratio come from the same set of usable price levels: the numerator adds buy and sell volume across them, and the denominator is the difference between the highest and lowest tick index those levels occupy, computed as exact integer arithmetic with no price rounding. A large amount of volume for a small traversal means someone served that flow without giving ground, which is the operational definition of passive absorption — and it requires neither a threshold nor a decision about which side was absorbing. That is where it differs from the absorption score and absorption markers, which do attribute a side. It also differs from Effort vs Result, which divides the aggregated bar volume by the full high-to-low range including ticks where nothing printed.
The formula, as implemented
This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:
Indice d'absorption PASSIVE : value = Σ (buy + sell) des niveaux / (clé_max − clé_min) soit : contrats imprimés par TICK RÉELLEMENT TRAVERSÉ. Le dénominateur est une soustraction d'indices de tick — arithmétique ENTIÈRE exacte, aucun arrondi de prix. POURQUOI : beaucoup de volume pour peu de mouvement = quelqu'un a servi tout ce flux sans céder de terrain. C'est la définition opérationnelle de l'absorption passive, celle qui ne demande NI seuil NI arbitrage sur le côté (contrairement à `absorption-score`/`absorption-markers`, qui décident QUI absorbe) : ici on mesure seulement le coût en contrats du déplacement. Convention DISTINCTIVE vs `effort-vs-result` (tape.ts) : ce dernier divise `totalVolume` (agrégat backend) par `round((high−low)/tick)` — mèches comprises, y compris les ticks où RIEN n'a imprimé. Ici numérateur ET dénominateur viennent des MÊMES niveaux exploitables : volume réellement imprimé sur ticks réellement traversés par des prints. Les deux divergent exactement sur les barres à longue mèche, et c'est l'information. Range nul (tous les prints sur une seule clé — le rapport n'a pas de dénominateur), 0 niveau exploitable, ou tick size inconnu → PAS de point.
How to read it
- When the line climbs, each tick of traversal is costing more contracts, the signature of resting liquidity meeting the aggression.
- When it falls, price is covering ground for fewer contracts, which usually reflects a thinner book rather than stronger pressure.
- Plot it alongside Effort vs Result: the two agree on compact bars and diverge exactly on bars with long wicks, because only this one restricts the denominator to ticks where trades printed.
- Use the divergence as a question, not an answer: when this index stays high while Effort vs Result drops, the wick travelled through prices that never traded.
- Look at the footprint itself before concluding absorption, since the index measures cost of movement and does not identify who was on the passive side.
Parameters and defaults
Only colour and post-smoothing are exposed. Smoothing defaults to 1, which plots the raw ratio; higher values average the series over that many bars, which makes trends easier to see at the cost of delaying every turn. There is deliberately no threshold parameter, because the indicator reports a cost and does not classify bars.
| Parameter | Type | Default | Range |
|---|---|---|---|
| Smoothing | number | 1 | 1 – 200 |
What it does not show
It never says who absorbed: the numerator merges buy and sell volume, so the same reading can come from buyers being served or from sellers being served. It requires per-level footprint data and the instrument's tick size, and it plots nothing when either is missing, when there are no usable levels, or when every print landed on a single tick and the ratio has no denominator. On very quiet bars the denominator is small, which produces large readings from little activity. The value also depends on how the data source aggregates prints: a coarser feed concentrates volume on fewer levels and changes both terms.
Using it in Senzoukria
Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.
Related indicators
- Tape Speed — Tape & flow
- Diagonal Imbalances — Tape & flow
- Stacked Imbalances — Tape & flow
- Absorption Score — Tape & flow
- Unfinished Auctions — Tape & flow
- Effort vs Result — Tape & flow
See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.
Frequently asked questions
- What is passive absorption in order flow?
- Passive absorption describes resting liquidity taking the other side of aggressive orders without the price moving away. It is measured here by the number of contracts printed for each tick that price actually traded through: the more contracts needed per tick, the more the aggression was absorbed rather than displacing price.
- How is Passive Absorption different from Effort vs Result?
- Effort vs Result divides the bar's aggregated volume by its full high-to-low range in ticks, so the denominator includes ticks spanned only by a wick, where nothing traded. Passive Absorption takes both numerator and denominator from the same set of price levels, so it counts only volume that printed over ticks that were actually traded through. The two match on compact bars and diverge on wick-heavy ones.
- Does the index say which side absorbed?
- No. Buy and sell volume are added together in the numerator, so an identical reading can come from sellers being served by resting bids or from buyers being served by resting offers. The absorption score and the absorption markers are the indicators that attribute a side; this one deliberately does not, which is also why it needs no threshold to be set.