Order-flow reversal setups compare aggressive trading with price response
An order-flow reversal strategy looks for a situation in which urgent trading fails to produce the expected continuation. The strategy does not reverse merely because volume or delta is large. It asks what happened to price while that activity occurred and what happened next at a level that mattered before the event.
Three labels are common:
- Absorption: aggressive orders repeatedly trade against available or replenishing liquidity without moving price much farther.
- Exhaustion: aggressive participation diminishes near the end of a move.
- Sweep and reclaim: price trades rapidly through a known reference, then returns to the other side under a declared sequence.
These are descriptions, not proof of hidden intention. A later reversal can make almost any busy area look like absorption in hindsight. A valid rule defines the location, event, confirmation, and failure before the later path is known.
Why a reversal might follow
Large participants often divide orders over time, while passive liquidity can replenish at or near a price. Stops may create a burst of market orders that temporarily moves price beyond a visible boundary. If the urgent flow ends and the market cannot attract new trading at the displaced price, late positions may unwind.
Persistent order flow can coexist with adaptive liquidity. That relationship is useful context for an absorption hypothesis, but it does not reveal hidden intent in any single footprint.
The competing case is informed continuation. What looks like absorption can be a pause while a large buyer or seller consumes liquidity. Persistent flow can overwhelm the level and continue. That is why invalidation is not an accessory; it separates “temporary failure to move” from “the trade is still being executed.”
Location must exist before the event
Possible references include a prior session high or low, a completed value-area boundary, an earlier VWAP band, or a structure level confirmed before the candidate flow.
Selecting the largest footprint cluster after the reversal and calling it the setup leaks the outcome into the location. The study should inventory every eligible interaction with the frozen reference, including those that continue through it.
Observable components of the rule
| Component | Examples | Required clarity |
|---|---|---|
| Reference | Prior extreme, VWAP band, value boundary | When it became known |
| Aggressive flow | Signed volume, imbalance, sweep | Feed and classification method |
| Price response | Limited progress, repeated trade, reclaim | Measurement window and threshold |
| Confirmation | Reclaim close, opposite imbalance, structure break | Earliest valid decision |
| Invalidation | Level breach, continued flow, timeout | Evidence the reversal thesis failed |
| Execution | Market after confirmation or resting order | Required tick, quote, and depth fidelity |
“Large delta with no movement” is not enough. Large relative to what, movement over which interval, and how much resting liquidity was visible or inferred?
A sweep-reclaim walkthrough
Illustrative example. Assume the prior session low at 100 was frozen before today’s trade:
- Tick data records trades through 100 down to 99.80 over a short declared interval.
- The rule does not immediately buy. It records a sweep candidate.
- Price then trades back above 100 and a completed decision event satisfies the defined reclaim condition.
- A long entry occurs at the next modeled event.
- The position invalidates on a renewed break below 99.80, times out after the declared window, or exits at its separate target.
If only a five-minute bar with high 100.40 and low 99.80 is available, the bar does not reveal whether price swept down and reclaimed or rallied first and failed later. The same OHLC values can contain opposite sequences. The study must either use event data or reduce its claim to a bar-level interaction.
Designing the experiment
Start with the price-level setup alone. Add one flow feature at a time:
- signed-volume threshold;
- limited price progress per unit of flow;
- repeated execution at the level;
- reclaim confirmation; and
- depth replenishment, only when depth data and reconstruction support it.
Preserve all candidate levels and events. Report:
- candidate, confirmed, and traded counts;
- continuation versus reversal after every candidate;
- decision latency and distance from the level;
- sensitivity to trade signing and aggregation;
- markout at fixed horizons;
- spread, impact, and fill assumptions; and
- results under nearby thresholds.
The price-only baseline shows whether the footprint condition adds information or simply redescribes a level that already tended to reverse.
How to interpret negative results
If the signal works only with a specific aggregation setting, the footprint may be an artifact. If a later confirmation captures most of the reversal before entry, the setup may be informative but not tradable at the modeled cost.
A frequent “failure” can also be informative: continuation after aggressive flow reveals that the level did not absorb enough demand. But the rule may not change roles from reversal to continuation after observing the outcome unless a separate continuation strategy was defined.
Important failure modes
- Bar data cannot establish trade order, queue, or replenishment.
- Aggressor classification changes with feed and algorithm.
- Bundled exchange messages distort apparent sweep size.
- Reference levels chosen after the reversal contain hindsight.
- Persistent informed flow consumes the apparent absorber.
- The signal arrives after most of the tradable reversal has occurred.
- High-resolution results are sensitive to latency and realistic fill logic.
Try it in Arizmic
Strategy composition
Build the premise with shipped signals
Define an observable sequence in which aggressive flow reaches a known level but price response changes. Absorption, exhaustion, and sweep-reclaim are different event contracts; they should not be merged into one vague reversal label.
These are starting structures, not presets or evidence of an edge. Choose one, replace the bracketed decisions, and keep the signal roles separate as you test it.
Composition 01
Sweep-reclaim with absorption and footprint imbalance
Level-rejection recipe- Stop-Run / Sweep-And-ReclaimReclaim event
- Absorption At LevelResponse quality
- Footprint ImbalanceLocal flow context
Data: OHLCV Bars, Tick Replay
View configuration and complete ruleHide recipe details
Composition 01
Sweep-reclaim with absorption and footprint imbalance
Stop-Run / Sweep-And-Reclaim
Reclaim event
Stop-Run / Sweep-And-Reclaim identifies a move beyond a reference extreme followed by a reclaim.
Configure
- min_sweep_distance · [minimum sweep distance]
- Require the excursion beyond the reference to be material in the selected tick scale.
Use the output
- sweep_high_reclaim
- Create a short-reversal candidate after a qualifying high sweep and reclaim.
- sweep_low_reclaim
- Create a long-reversal candidate after a qualifying low sweep and reclaim.
Absorption At Level
Response quality
Absorption At Level tests whether substantial signed flow occurred near the level without price closing far away.
Configure
- volume_share_threshold · [minimum volume share]
- Define meaningful concentration at the level.
- max_close_distance_ticks · [maximum close distance]
- Limit how far price may finish from the level.
- min_abs_delta · [minimum absolute delta]
- Require enough signed aggression to make absorption interpretable.
Use the output
- absorption_flag
- Require a true absorption event in the reclaim direction.
- absorption_score
- Retain score magnitude for threshold sensitivity, not sizing by default.
Footprint Imbalance
Local flow context
Footprint Imbalance exposes level-specific imbalance magnitudes around the event.
Configure
No configurable parameter is required for this role.
Use the output
- max_abs_imbalance
- Require or label [minimum imbalance] at the decision bar.
Assemble the rule
- Entry
- Enter only after a completed sweep-reclaim event and declared absorption/imbalance confirmation at the reference level.
- Exit
- Exit on renewed trade beyond the sweep extreme, opposite reclaim, target, or timeout.
- Decision time
- The reclaim and footprint confirmation must be observable before entry; the sweep extreme itself is not the fill timestamp.
- Sizing
- Use distance beyond the sweep extreme or a separate volatility measure under [risk budget].
Useful variations
- Compare sweep-reclaim alone with absorption and footprint confirmation added separately.
- Vary sweep distance separately from absorption thresholds.
- Partition by reference level type and time since the level was established.
Keep in view
Absorption-like flow can precede continuation when a large participant is overwhelmed. The reclaim and invalidation are essential; high volume at a level is not automatically reversal evidence.
Composition 02
Delta exhaustion with trapped-trader reversal
Flow-decay recipe- Delta ExhaustionExhaustion state
- Trapped TradersReversal confirmation
- Wilder ATRRisk scale
Data: OHLCV Bars, Volumetric Bars
View configuration and complete ruleHide recipe details
Composition 02
Delta exhaustion with trapped-trader reversal
Delta Exhaustion
Exhaustion state
Delta Exhaustion looks for large signed flow that produces relatively little price progress.
Configure
- window · [exhaustion window]
- Define the event history.
- delta_threshold · [minimum delta]
- Require meaningful aggressive flow.
- efficiency_threshold · [maximum price efficiency]
- Define insufficient price progress for the flow.
- epsilon · [numerical floor]
- Stabilize the ratio without changing the economic threshold.
Use the output
- exhaustion_flag
- Create a candidate only when the exhaustion condition is true.
- exhaustion_score
- Retain magnitude for sensitivity and event ranking.
Trapped Traders
Reversal confirmation
Trapped Traders requires a subsequent adverse reversal relative to the aggressive side rather than assuming exhaustion is enough.
Configure
- trap_window · [confirmation window]
- Bound how long the reversal may take.
- reversal_threshold · [required reversal]
- Define material adverse price movement.
- delta_threshold · [aggression threshold]
- Require enough prior flow to identify the trapped side.
Use the output
- trap_long
- Trigger the declared long reversal candidate.
- trap_short
- Trigger the declared short reversal candidate.
- trap_score
- Retain severity for diagnostics.
Wilder ATR
Risk scale
ATR makes the price invalidation comparable across changing intraday movement.
Configure
- window · [ATR window]
- Estimate current event-scale movement.
Use the output
- atr
- Set [ATR multiple] invalidation and unit size.
Assemble the rule
- Entry
- Enter only when exhaustion is followed by the corresponding trapped-trader confirmation inside the declared window.
- Exit
- Exit on renewed move in the original aggressive direction, ATR protection, target, or timeout.
- Decision time
- The confirmation necessarily occurs after the exhaustion candidate; score from that later executable decision.
- Sizing
- Use ATR risk with a depth-data session cap.
Useful variations
- Compare exhaustion alone with trapped-trader confirmation.
- Vary confirmation window separately from reversal magnitude.
- Measure how much reversal occurs before the trapped signal becomes available.
Keep in view
Requiring a trapped-trader confirmation can consume a large part of the reversal before entry. Delay and fill quality matter as much as the event label.
Ask the AI Companion
Draft this strategy
Turn an observable order-flow reversal idea into a simple draft and explain the event sequence without inferring hidden intent.
I want to create an order-flow reversal strategy for [instrument] around [known reference level] that detects when aggressive trading pushes through the level but fails to keep price there. Recommend whether absorption, exhaustion, or a sweep-and-reclaim sequence is the most suitable starting formulation, along with the data and timeframe it requires. Then build the strategy for me using an observable event sequence, including what confirms the reversal and what invalidates it, without assuming the intentions of individual traders.
Extend it in Marimo
Begin from a retained depth- or footprint-aware Study so event ordering and source fidelity remain traceable.
Inspect the observable sequence and compare qualified reversals with visually similar events that failed the contract.
- Bring in
- engine-reported sweep, absorption, footprint, exhaustion, trap, ATR, decision, and fill values, reference levels and event timestamps, qualified, rejected, no-fill, and retained outcome records
- Build
- event-sequence visualization with first-observable timestamps, qualified-versus-look-alike paths from the real decision time, delay, fill, invalidation, and net-outcome table by event contract
Interpretation: A useful definition should classify the event before the reversal is obvious and remain stable under nearby thresholds and footprint granularity.
Value origin: Signal outputs, source events, decisions, fills, and retained results are engine-reported. Look-alike labels, matched paths, and threshold-stability summaries are notebook-derived.
With Companion: Ask Companion to draft reviewed event-sequence cells, inspect source ordering and fidelity labels, then explicitly apply the diff.
Further reading
- Lee and Ready, “Inferring Trade Direction from Intraday Data” (1991) — Explains the classic inference behind aggressor-side labels, so an apparent sweep or imbalance can be evaluated with the classification method in view.
- Bouchaud et al., “Fluctuations and Response in Financial Markets: The Subtle Nature of ‘Random’ Price Changes” (2004) — Studies persistent order signs and horizon-dependent price response, helping separate urgent flow from the effect that flow actually produced.
- Farmer et al., “Market Efficiency and the Long Memory of Supply and Demand” (2006) — Shows how changing liquidity can offset persistent demand, supplying a testable foundation for absorption without identifying hidden intent in one footprint.
- Cont, Kukanov, and Stoikov, “The Price Impact of Order Book Events” (2014) — Connects order-book event imbalance with short-horizon price changes using event data, clarifying the fidelity needed to claim sequence and response.
- Lo and Hall, “Resiliency of the Limit Order Book” (2015) — Measures how spread, depth, and intensity recover after liquidity shocks in Australian equities; it supports studying replenishment as a dynamic process rather than labeling it from a static snapshot.