Rejected thesis
Burst + volume continuation (Nanexa-style chain)
Thesis (PARTIALLY CONFIRMED — second-day variant): A single trading day with a large close-to-close gain (>= 10 / 15 / 20 %) on markedly elevated volume (>= 2x or 3x trailing 20d-average) is the first leg of a multi-day mark-up. Inspired by Nanexa.ST around Dec 2025 (not in our cached universe — validated on the US universe where the same setup is testable).
Distinct from:
- explosive_moves.py (which looked at predictors of +30 %/week
moves, not the trigger day itself).
- accumulation_validate.py (slow 20-day volume z-score, not a
single-day burst).
- gap_patterns.py (open-vs-prior-close gap, not close-to-close).
Code: research/burst_continuation.py
Report: research/burst_continuation_report.json (n=8,080 base events)
Cell sweep (cumulative — events at the threshold or stricter):
| Cell | n | 5d edge | 20d edge | 40d edge | hit@20d |
|---|---|---|---|---|---|
| X >= 10 % & Y >= 2x | 8080 | -0.03 % | +0.79 % | +1.39 % | 0.54 |
| X >= 15 % & Y >= 2x | 3118 | +0.04 % | +1.13 % | +2.41 % | 0.54 |
| X >= 20 % & Y >= 2x | 1284 | +0.35 % | +1.27 % | +3.58 % | 0.53 |
| X >= 10 % & Y >= 3x | 5340 | +0.08 % | +0.14 % | +0.16 % | 0.53 |
| X >= 15 % & Y >= 3x | 2384 | +0.02 % | +0.41 % | +0.79 % | 0.53 |
| X >= 20 % & Y >= 3x | 1081 | +0.12 % | +0.73 % | +2.38 % | 0.53 |
Strictness in return (raising X) lifts the 40-day edge from +1.4 % to +3.6 %; strictness in volume (raising Y) does the opposite. So the burst-day return carries the signal, not the volume multiple per se — once vol is at 2x avg, going to 3x removes information.
Strata — where the signal actually lives (base = X>=10 % & Y>=2x):
| Stratum | n | 5d | 10d | 20d | 40d | hit@20d |
|---|---|---|---|---|---|---|
| base all | 8080 | -0.03 % | +0.13 % | +0.79 % | +1.39 % | 0.54 |
| on_earnings (partial cov.) | 2601 | +0.34 % | +0.43 % | +0.84 % | +0.43 % | 0.55 |
| off_earnings | 5479 | -0.21 % | -0.01 % | +0.77 % | +1.85 % | 0.54 |
| stage2 TRUE | 2242 | +0.12 % | +0.15 % | +0.20 % | +0.58 % | 0.53 |
| stage2 FALSE | 5838 | -0.09 % | +0.13 % | +1.02 % | +1.70 % | 0.55 |
| dd <= -15 % (rebound) | 3509 | -0.27 % | +0.13 % | +1.69 % | +3.25 % | 0.55 |
| dd > -5 % (uptrend) | 3407 | +0.16 % | +0.17 % | +0.14 % | +0.13 % | 0.54 |
| OOS 2020+ | 5017 | -0.01 % | +0.23 % | +1.18 % | +2.02 % | 0.54 |
| second_burst T+1 | 720 | +9.5 % | +8.6 % | +9.2 % | +13.3% | 0.70 |
| no second_burst T+1 | 7360 | -0.96 % | -0.69 % | -0.03 % | +0.23 % | 0.53 |
Three readings:
-
The base single-day burst is too weak to trade. +0.79 %/20d and +1.39 %/40d at hit-rate 0.54 is not strong enough to support position sizing after frictions. Raising X to 20 % helps (+3.58 %/40d at n=1,284) but n drops.
-
Stage-2 hurts, drawdown helps. Opposite of the coil-breakout finding. These bursts are reversion events, not trend continuation: they fire most usefully on names already drawn down (dd <= -15 %): +1.69 %/20d and +3.25 %/40d. On already- extended (dd > -5 %) names the edge is flat. The Stage-2 split confirms this — non-Stage-2 names (which is where deep drawdowns live) carry the edge.
-
The Nanexa-style chain is the real signal. Filtering to the 720 events where T+1 also closes >= +5 % on >= 1.5x volume produces +9.2 %/20d and +13.3 %/40d at hit-rate 0.70. The mirror cohort (no second burst, n=7,360) is flat — every drop of the base signal lives in the names that confirm with a second burst.
Important entry-timing caveat: the second-burst flag is only known after T+1's close. So this is not a same-day setup — it's a day-2 confirmation setup. The +9 % / +13 % drifts are measured from close[T] forward, which means about half the move (+5 %/+1d) is the second-burst day itself; the remaining +4-8 % is genuine post-T+1 drift. Practical entry is at close[T+1] and the realisable drift is the post-T+1 component (see "second-burst (post-T+1)" cohort below).
-
Earnings coverage is partial. Many large-cap earnings.parquet files in the current checkout are empty, so the on_earnings split is unreliable for those names; with the names that DO have data, the on-vs-off split is small. Re-run after a full data refresh to confirm.
Verdict: Add the second-burst T+1 confirmation cohort as a short-term scanner candidate. The single-day burst alone is too thin. The two-day confirmation is among the strongest setups surfaced in this file — comparable to the death-cross + deep-drawdown long signal at similar n. Match the Nanexa-style chain the user described, validated quantitatively.
Recommended scanner cohort spec: - Trigger day T: close-to-close >= +10 % AND vol >= 2x 20d-avg. - Confirmation day T+1: close-to-close >= +5 % AND vol >= 1.5x 20d-avg. - Entry: close of T+1. - Holding: 20-40 days. - Sizing: small — the per-trade std is wide and the hit-rate is 0.70, not 0.85 — there will be obvious losers in the cohort.
| Sample | 8,080 |
|---|---|
| Validator | research/burst_continuation.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