V13.5 Full-Cohort Bake-off (2026-05-20)
Generated: 2026-05-20T23:08:54.050Z
Scope
- Full history (no pubDate floor).
- BUY + SELL rows. SELL returns sign-flipped: r = -returnFromPub90d.
- OOS window: 2025-01-01 to today.
- Walk-forward IS/OOS split. Anti look-ahead enforced.
- Top 10 per month, T+90 horizon, 60 bps round-trip cost, winsor +/-50%.
Dataset
| Metric | Value |
|---|---|
| Total rows | 293,548 |
| BUY rows | 232,749 |
| SELL rows (sign-flipped) | 60,799 |
| OOS rows | 32,891 |
| IS (train) rows | 260,657 |
| Sector return resolved | 113,853 / 195,541 tagged |
| earningsProx non-zero | 8,805 |
OOS Results (2025-01-01 to today)
| Config | T | Picks | Sharpe | CI 95 | CAGR% | MaxDD% | Win% | DSR |
|---|---|---|---|---|---|---|---|---|
| V13.1g_baseline | 14 | 140 | 0.29 | [-1.58, 2.61] | 7.2 | -16.4 | 50.0 | -0.32 |
| V13.2_earnings_only | 14 | 140 | 0.43 | [-1.41, 2.87] | 10.5 | -14.5 | 50.7 | -0.18 |
| V13.3s_sector_only | 14 | 140 | 0.92 | [-0.99, 3.17] | 24.5 | -13.7 | 51.4 | 0.31 |
| V13.5_stack | 14 | 140 | 0.66 | [-1.30, 2.81] | 18.2 | -13.9 | 50.7 | 0.05 |
| V13.5_conservative | 14 | 140 | 0.53 | [-1.36, 2.89] | 13.6 | -13.7 | 50.7 | -0.08 |
| V13.5_reverse_order | 14 | 140 | 0.66 | [-1.30, 2.81] | 18.2 | -13.9 | 50.7 | 0.05 |
Ship Gate
| Check | Result |
|---|---|
| Sharpe >= 1.15 AND > V13.3s | FAIL |
| DSR drop <= 0.30 | PASS |
| CI95Lo >= -2.0 | PASS |
| Verdict | KEEP V13.3s |
Per-Market Breakdown (V13.5_stack, OOS 2025+)
Only markets with >= 10 rows shown. Sorted by Sharpe descending.
| Market | N Total | N OOS | Sharpe | CAGR% | Win% |
|---|---|---|---|---|---|
| XWBO | 1611 | 211 | 1.85 | 49.1 | 57.4 |
| XAMS | 4746 | 957 | 1.63 | 32.7 | 60.7 |
| BVMF | 42460 | 11319 | 0.86 | 21.6 | 55.7 |
| XPAR | 21905 | 5143 | 0.77 | 29.0 | 56.4 |
| XOSL | 81 | 81 | 0.34 | 9.9 | 53.6 |
| XSTO | 4359 | 4279 | 0.24 | 6.1 | 53.3 |
| XNAS | 164943 | 3357 | 0.01 | -5.0 | 56.0 |
| XASX | 119 | 0 | 0.00 | NaN | 0.0 |
| XBOM | 11863 | 0 | 0.00 | NaN | 0.0 |
| XKRX | 131 | 0 | 0.00 | NaN | 0.0 |
| XSES | 42 | 0 | 0.00 | NaN | 0.0 |
| XSWX | 873 | 0 | 0.00 | NaN | 0.0 |
| XTKS | 8902 | 0 | 0.00 | NaN | 0.0 |
| XMIL | 2593 | 965 | -0.33 | -13.9 | 40.0 |
| XBRU | 847 | 192 | -0.57 | -18.0 | 50.4 |
| XETR | 355 | 194 | -1.02 | -16.3 | 34.1 |
| XLON | 64 | 5 | -1.03 | -7.0 | 40.0 |
| XHEL | 4580 | 1327 | -1.34 | -34.7 | 40.7 |
| XMAD | 4503 | 1520 | -1.67 | -31.9 | 40.0 |
| XSHE | 7767 | 1429 | -2.06 | -67.5 | 48.6 |
| XSHG | 5515 | 1379 | -3.02 | -70.2 | 42.9 |
| XCSE | 5288 | 533 | -4.58 | -61.6 | 20.0 |
IS Train Results
| Config | Sharpe | Win% |
|---|---|---|
| V13.1g_baseline | 0.00 | 52.9 |
| V13.2_earnings_only | 0.00 | 52.9 |
| V13.3s_sector_only | -0.05 | 52.6 |
| V13.5_stack | -0.05 | 52.6 |
| V13.5_conservative | -0.02 | 52.7 |
| V13.5_reverse_order | -0.05 | 52.6 |
Notes
- SELL sign-flip interpretation: picker treats SELL rows symmetrically with BUY rows. A SELL row in the top-10 portfolio means the model is predicting the stock will fall (short/avoidance signal). Return after flip: positive means the stock fell (prediction correct).
- Prior insider activity (ins90Prior) is computed over the raw return history (no flip).
- Sector multiplier is PIT-safe (uses data strictly before pubDate).
Files
- JSON: scripts/_v13_bakeoff/stats-v13_5-full.json
- This doc: docs/method-review/93-v13_5-full-cohort-2026-05-20.md