Rejected thesis
Burst-chain stock-side exit grid
Question: For users trading the burst-chain underlying (not the options spec), which exit rule maximises edge over same-name random controls?
Code: research/burst_stock_exits.py
Report: research/burst_stock_exits_report.json
Setup: Anchor on second_burst==True events from
burst_continuation_report.json, entry at close[T+1]. Walk forward
day-by-day with each rule until exit, time-cap MAX_HOLD=45. Controls
walked under the same rule from their random entry date (no T+1
offset since they're not events). n=718 events, 3,511 controls.
Rules tested:
- time_{15,21,30,45} — fixed-day hold, no other stop.
- atr_{1.5x,2x,3x} — trailing high-water-mark stop at K × ATR(14)
where ATR is computed at entry day.
- pct_trail_{5,10,15} — trailing high-water-mark stop at X % off.
- break_lo_day1 — exit on first close below the day-1 trigger-day low.
- break_lo_day2 — same but vs the day-2 entry-day low.
Top 5 by edge_mean:
| rule | n | ev_mean | ev_hit | ev_sharpe | exit_day | ct_mean | ct_hit | edge_mean | edge_hit |
|---|---|---|---|---|---|---|---|---|---|
| break_lo_day1 | 718 | +5.3 % | 47.6 % | +0.143 | 34.5 | +0.4 % | 17.9 % | +4.9 pp | +29.7 pp |
| time_45 | 718 | +6.8 % | 54.5 % | +0.179 | 45.0 | +2.1 % | 55.5 % | +4.6 pp | -1.0 pp |
| atr_3.0x | 718 | +5.1 % | 45.5 % | +0.153 | 26.1 | +1.0 % | 43.4 % | +4.0 pp | +2.2 pp |
| break_lo_day2 | 718 | +3.9 % | 32.7 % | +0.117 | 22.9 | +0.4 % | 17.9 % | +3.6 pp | +14.8 pp |
| atr_2.0x | 718 | +3.2 % | 37.5 % | +0.107 | 16.8 | +0.6 % | 39.7 % | +2.6 pp | -2.3 pp |
Three observations:
-
break_lo_day1is the selection-aware winner. Edge on mean is +4.9 pp (close to time_45's +4.6 pp) but the edge on hit-rate is +29.7 pp — by far the biggest of any rule tested. Random control days don't have a meaningful "trigger-day low" reference; when the rule fires on an event, it's signalling actual setup failure. This is the most cohort-specific exit. -
time_45(just hold 45 days) has the highest Sharpe (0.179) but ~zero edge on hit-rate. Means the absolute return comes mostly from generic 45-day market drift, not from cohort selection. Better mean, worse risk-adjusted information ratio. Acceptable if you want maximum simplicity and aren't bothered by tying up capital regardless of price action. -
ATR / percentage trailing stops are weaker than the technical level.
atr_3.0xis the best of the trailing family (mean +5.1 %, Sharpe 0.153, exit ~26 days). Tighter trails (atr_1.5x,pct_trail_5) bleed alpha by stopping on noise. None beatbreak_lo_day1on either edge dimension.
Comparison to options grid (burst_options_exits.py winner: 1.0/1.10
debit-call-spread 45-DTE hold-to-expiry, +14.2 pp edge, Sharpe 0.22).
The stock-side edge is smaller in pp terms because we lose the option
leverage, but the +29.7 pp hit-rate edge on break_lo_day1 is a stronger
information signal than anything in the options grid — it points at
a genuine cohort-specific structural feature (the day-1 low matters)
rather than just IV / vol-of-vol arbitrage.
Verdict: Add break_lo_day1 as the stock-side burst exit;
keep hold to expiry as the options-side exit. Both wired into
web/scanner_charts.py:_COHORT_POSITION_SUMMARIES['burst'] as
parallel <dl> blocks under one cohort_position section.
Meta-finding: When choosing an exit, the right metric depends on
intent:
- Maximise expected return → time_45 (or equivalent long hold).
- Maximise cohort-specific information → break_lo_day1
(technical-level stop at the structural reference).
- The two diverge here because controls show that long holds
capture generic drift as much as event-specific drift.
| Sample | 718 |
|---|---|
| Validator | research/burst_stock_exits.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