15 — Exit rules, full daily granularity, regime-conditional
Generated: 2026-05-15T15:05:12.587Z
Method
- Universe:
BacktestResult BUY rows whose Company.yahooSymbol has ≥ 90 daily bars in PriceHistory starting at pubDate.
- Granularity: daily (full path, not 4-checkpoint).
- Walk-forward: 24-month train / 12-month test, 2 folds, strict — σ_bucket recomputed per fold.
- σ_bucket: stdev of 90d returns within (role × size) bucket on train fold; falls back to role then overall.
- Regime label per pubDate: CAC40 90-trading-day return + SMA20 vs SMA60 (mirrors
src/lib/regime.ts, no look-ahead).
- Bootstrap p-value: 1000 iters, seed 42.
- Gate: ΔSharpe_ann ≥ +0.20 AND DD reduction ≥ 30 % AND p < 0.10, in overall or in a single regime.
Universe
- Trades w/ daily path: 10468
- Folds: 2
- Period: 2021-12-08 → 2026-02-12
- Regime split: {"range":6670,"bull":2784,"bear":1014}
Baseline per stratum
| Stratum |
n |
Sharpe_ann |
mean |
win % |
max DD % |
| overall |
7013 |
-0.011 |
0.85% |
47.5 |
-18.53 |
| bull |
2336 |
-0.194 |
-2.51% |
41.1 |
-41.37 |
| bear |
569 |
-0.167 |
-0.57% |
43.4 |
-16.88 |
| range |
4108 |
0.085 |
2.95% |
51.6 |
-12.09 |
Top 5 combinations per stratum
overall
| Rules |
n |
SR_ann |
ΔSR |
mean |
wr |
DD% |
p |
pass |
| stop |
7013 |
-0.004 |
0.007 |
0.96% |
47.3 |
-17.7 |
0.864 |
— |
| baseline |
7013 |
-0.011 |
0 |
0.85% |
47.5 |
-18.53 |
— |
— |
| time+insider |
7013 |
-0.012 |
-0.001 |
0.48% |
47.9 |
-14.81 |
0.479 |
— |
| insider |
7013 |
-0.014 |
-0.002 |
0.6% |
48.7 |
-16.94 |
0.643 |
— |
| stop+time+insider |
7013 |
-0.014 |
-0.003 |
0.45% |
47.8 |
-15.13 |
0.426 |
— |
bull
| Rules |
n |
SR_ann |
ΔSR |
mean |
wr |
DD% |
p |
pass |
| insider |
2336 |
-0.13 |
0.064 |
-1.16% |
44.5 |
-29.85 |
0.134 |
— |
| time+insider |
2336 |
-0.132 |
0.062 |
-1.12% |
44.4 |
-24.71 |
0.112 |
— |
| stop+insider |
2336 |
-0.142 |
0.053 |
-1.32% |
44.3 |
-31.52 |
0.174 |
— |
| stop+time+insider |
2336 |
-0.144 |
0.051 |
-1.26% |
44.2 |
-26.26 |
0.15 |
— |
| profit+insider |
2336 |
-0.171 |
0.023 |
-0.81% |
45.7 |
-27.58 |
0.04 |
— |
bear
| Rules |
n |
SR_ann |
ΔSR |
mean |
wr |
DD% |
p |
pass |
| profit+time+vol |
569 |
0.085 |
0.253 |
1.34% |
51.5 |
-7.63 |
0.042 |
YES |
| stop+profit+time+vol |
569 |
0.082 |
0.249 |
1.32% |
51.5 |
-7.56 |
0.056 |
YES |
| profit+time |
569 |
0.053 |
0.22 |
1.23% |
49.6 |
-8.55 |
0.065 |
YES |
| time+vol |
569 |
0.024 |
0.192 |
0.89% |
50.6 |
-8.54 |
0.094 |
— |
| stop+time+vol |
569 |
0.021 |
0.188 |
0.87% |
50.6 |
-8.48 |
0.103 |
— |
range
| Rules |
n |
SR_ann |
ΔSR |
mean |
wr |
DD% |
p |
pass |
| vol |
4108 |
0.114 |
0.029 |
2.52% |
52.1 |
-9.41 |
0.557 |
— |
| stop+vol |
4108 |
0.113 |
0.028 |
2.5% |
52.1 |
-8.99 |
0.524 |
— |
| stop |
4108 |
0.096 |
0.011 |
3.14% |
51.5 |
-10.52 |
0.808 |
— |
| time+vol |
4108 |
0.091 |
0.006 |
1.68% |
49.8 |
-9.17 |
0.055 |
— |
| stop+time+vol |
4108 |
0.089 |
0.004 |
1.66% |
49.8 |
-8.77 |
0.064 |
— |
Winners (gate cleared)
| Stratum |
Rules |
SR_ann |
ΔSR |
DD red % |
p |
| bear |
profit+time+vol |
0.085 |
0.253 |
54.8 |
0.042 |
| bear |
stop+profit+time+vol |
0.082 |
0.249 |
55.2 |
0.056 |
| bear |
profit+time |
0.053 |
0.22 |
49.4 |
0.065 |
Conditional rules listed above are activated in the strategy proof. See src/lib/winning-strategy.ts STRATEGY_PROOF.exitRules.
Raw JSON: /tmp/exit-rules-daily-results.json · Harness: scripts/backtest-exit-rules-daily.mjs · Companion sparse-checkpoint audit: 14-exit-rules.md.