Order-flow reversal
An hour of unusually aggressive buying is followed by reversal over the next two hours, in 14 of 14 assets — and the entire edge lives inside the spread.
The question: The taker buy ratio came back null daily. Is there no signal, or does daily aggregation destroy it?
What was found
It's the project's first signal that met all four conditions at once: a prior economic mechanism, replication across 14 independent assets, out-of-sample survival, and a specific control for the artifact that would have explained it away. And it still isn't money — which, properly understood, isn't a disappointment but the economically correct reading of the finding itself: the reversal IS the compensation paid to whoever PROVIDES liquidity. Collecting it means posting limit orders and earning the spread, not crossing it. That's a different business.
Try it yourself
The out-of-sample gross edge was 2.13 basis points per hour, at a turnover of 2.7 per hour. Drag the cost and see what's left.
Break-even: the fee it survives up to:
Lower the cost to 0.80: that is exactly the measured break-even point, and it sits below the cheapest taker fee obtainable. The edge exists and lives entirely inside the spread.
Illustrative example numbers for practice — not real data.
How it was tested, step by step
- Instead of one data point per day, one per HOUR is used: 536,130 exploration observations across 14 assets.
- The correlation between one hour's aggressive buying and the following hours' return is measured at different lags: 0 (contemporaneous), 1, 2 and 3 hours.
- The decisive control: separating signal and target by ONE HOUR. A negative correlation at lag 1 can be plain bid-ask bounce, a mechanical artifact carrying no information. At lag 2 that's impossible. The signal survives at lag 2 (IC −0.0157 in exploration, −0.0105 out of sample, with agreement across 14 of 14 assets in sample and 13 of 14 out).
- And that control mattered enormously: the reversal conditioned on low volume, spectacular at first sight (IC −0.197, 14/14 in both windows), collapses to −0.032 once separated by an hour. It was almost pure bounce. Without that control, two false findings would have been declared with 990,000 observations behind them.
Tracking
This finding does have a real number that gets published and kept updated.
Data last updated on 2026-09-09.