Rejected thesis
NR-cluster breakout (consecutive narrow-range days)
Thesis (rejected): Single-day NR7 was previously null/contrarian. Hypothesis: a cluster of ≥2 consecutive NR7 days (today's range narrower than each of the prior 6) is a stronger compression signal because it requires sustained range contraction. Breakout day: close > rolling 7+cluster-day high on volume ≥ 1.2×.
Code: research/nr_cluster.py
Report: research/nr_cluster_report.json (n=2,900)
| Bucket | n | 5d edge | 10d edge | 20d edge | 40d edge |
|---|---|---|---|---|---|
| all | 2900 | -0.19 % | -0.31 % | -0.43 % | -0.88 % |
| cluster = 2 | 2529 | -0.21 % | -0.36 % | -0.43 % | -0.95 % |
| cluster ≥ 3 | 371 | -0.01 % | +0.07 % | -0.38 % | -0.35 % |
| OOS 2020+ cluster ≥3 | 176 | +0.31 % | +0.79 % | -0.13 % | +0.06 % |
Longer clusters flatten the edge toward zero rather than turning it positive. The single-day NR7 null result generalises to the cluster version — sustained compression alone does not predict forward returns once we condition on the breakout-on-volume trigger that everything else in the survivor list also has.
Verdict: Reject. Compression-then-breakout works in coil_breakout
and bull_flag; adding the NR7-stack requirement doesn't add lift.
| Sample | 2,900 |
|---|---|
| Validator | research/nr_cluster.py |
| Verdict | Rejected |
Every result here is reproducible from the script named above. Reports are in the repository.
- Volatility squeeze
- Pre-FOMC drift
- Uptrend pullback
- Momentum continuation
- Industry-relative momentum (at 4-week lookback)
- Earnings-reaction reversal (anti-PEAD)
- Beat-persistence pre-earnings drift
- Sector ETF mean-reversion
- 52-week-high breakout
- Volume accumulation (above-200DMA +...
- Cross-sector momentum
- Analyst-upgrade cluster