ID: S005
Slug: volume-spike-no-followthrough-v1
Failed at: Stage 1 (Quick-screen)
Fail reason: magnitude
Date: 2026-05-29
What we tested
The "distribution day" concept comes from Wyckoff-school analysis: a day where heavy volume coincides with a weak close supposedly means sellers were absorbing all the buying interest at the day's high and pushing prices down — a fingerprint of large institutions exiting. The textbook implication: more weakness should follow over the next several days.
We required two conditions on the same day: volume at least 3× the
50-day average, AND the close sitting in the lower half of the day's
range (i.e., the closing position within (high − low) is below
0.5). We then measured the 5-day forward return. The pre-set
criterion: average 5-day return needed to be at most −0.6% (clearly
negative), hit rate of negative returns at least 55%, and the effect
had to appear in both halves of the sample.
What we found
Strategy failed essentially because the pattern doesn't generate any edge.
| Criterion | We needed | We got | |
|---|---|---|---|
| Average 5-day return | ≤ −0.6% | −0.04% | ✗ |
| Hit rate (negative return) | ≥ 55% | 49.1% | ✗ |
| Number of signals | ≥ 500 | 3,558 | ✓ |
| Average return negative in 2010-2017 half | yes | +0.04% (positive) | ✗ |
| Average return negative in 2018-2026 half | yes | −0.11% | ✓ |
The signal does mildly underperform a matched random sample drawn from the same dates: signal averaged −0.04% vs random +0.19% — a ~23bp gap. A statistical test puts this difference at p = 0.076, which is on the edge of significance but not quite there. So there's maybe a tiny drag, but nothing close to the −0.6% we'd need for a tradeable anti-signal.
Why this matters / what surprised us
The pattern works exactly as predicted to fail. The pre-set expectation was that this widely-taught retail TA concept would underperform in modern liquid markets because it's been arbitraged away (or never had real edge). The result confirms this: 49% chance of a down-week after a "distribution day" is essentially the base rate, not a signal.
-
The conjunction is less informative than Wyckoff-era intuition suggested. A close in the lower half of the daily range happens about 50% of the time on any random day. A volume spike is a liquidity event, not directly a directional signal. Combining them often catches things like "stock was up 5% on huge volume, gave back 2% intraday" — which is not distribution, that's normal intraday volatility around an up day.
-
The universe smooths out genuine institutional flow. In liquid mega-caps, market-makers and algorithmic execution smooth single-institution exits into the tape over minutes and hours. The Wyckoff-style patterns originated in less liquid names where one institutional decision would show up as a visible distribution day. In SP500+NDX names, it's market noise.
-
The pattern is widely-marketed retail TA. If it had real edge, the systematic crowd would have priced it in long ago.
The 2018-2026 half does show a slightly stronger negative drag (−0.11% vs +0.04% in the earlier half). Consistent with the general literature that intraday "weakness signals" work modestly better in algorithm-dominated post-2018 markets. But the magnitude is still trivial.
What this doesn't tell us yet
- A small-cap version might behave differently. In less liquid stocks, a real institutional exit can dominate the tape and produce a visible distribution pattern with genuine follow-through weakness. That would be a separate setup, not a rescue of this one.
- A weaker version of the pattern might pass a softer gate. The signal does have a ~23bp drag vs baseline. Restated as "vol-spike-weak-close has a small drag of ~0.2% vs random," it's real but not tradeable after transaction costs. We're not going to redefine the gate post-hoc to claim victory.
What happens next
This pattern is closed in this form. The cut is useful as a documented test of a commonly-taught retail signal — exactly the kind of finding that helps subscribers separate folk wisdom from mechanically validated edges.
A future test on a small-cap universe could be pre-registered separately under a different slug if it turns out to be worth the data-ingest effort.
For the specialist — methodology details (click to expand)
Setup (verbatim from spec)
Stocks experiencing a single-day volume spike ≥ 3× the 50-day average with close in the lower half of the day's range predict negative 5-day forward returns in the liquid US equity universe over 2010-present, because high-volume days that close weak indicate institutional distribution.
Test setup
- Universe: SP500+NDX top-200 monthly point-in-time snapshot.
- Data: Tiingo Power EOD, 2010-01-04 → 2026-05-28.
- Signal:
volume[t] ≥ 3 × mean(volume[t-50:t-1])AND(close[t] − low[t]) / (high[t] − low[t]) < 0.5. Both conditions evaluated on the same bar; the 50-day volume window uses.shift(1)to remain trailing-only. - Dedupe: 1 signal per ticker per 10 trading days.
- Forward measure:
(close[t+5] − close[t]) / close[t]— entry at signal-day close, exit 5 trading days later at close. - Baseline: 5 matched random (ticker, date) pairs per signal from the same-month eligible pool, with identical 5-day close-to-close measurement.
Pre-registered gate (all required)
mean_5d_return ≤ −0.6%
hit_rate_negative ≥ 55%
n_trades ≥ 500
half1_mean (2010-2017) < 0
half2_mean (2018-2026) < 0
Detailed numbers
- Signal: n=3,558, mean −0.041%, hit-neg 49.1%
- Baseline: n=17,777, mean +0.192%
- Welch t-test (signal vs baseline): p = 0.076 (borderline, not significant)
- Half-1 (2010-2017): n=1,661, mean +0.037%, hit-neg 48.4%
- Half-2 (2018-2026): n=1,897, mean −0.109%, hit-neg 49.7%
Artifacts
- Trades:
lab/postmortem/volume-spike-no-followthrough-v1/trades.parquet - Matched baseline:
baseline.parquetin same directory - Histogram bins:
chart_data.jsonin same directory - Setup spec:
lab/setups/volume-spike-no-followthrough-v1.md - Pre-registered gate:
lab/setups/gates.md§volume-spike-no-followthrough-v1
Rewritten 2026-05-30 for broader accessibility. No claims, gates, or methodology changed — only presentation.