Window: 2017-11-10 .. 2026-06-26 (2166 daily bars) Cells: 15
Cost model
Rule-switch is the only cost event: if the agent's rule at t differs from t-1, the entire portfolio rebalances and pays the top tier of the cost model (25 bps). Same-rule days cost 0.
Tiered per-unit-weight turnover cost:
| Turnover fraction | Cost (bps) |
|---|---|
| < 10% | 5 |
| < 30% | 10 |
| < 100% | 25 |
Mean rule switches per OOS cell: 35.7
Per-cell scoreboard (gross vs net)
| Window | Seed | Agent gross | Agent net | EW | Uplift gross | Uplift net | p(net>EW) | rule switches |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | +2.19 | +1.31 | +2.44 | -0.254 | -1.131 | 0.666 | 36 |
| 0 | 1 | +2.52 | +0.77 | +2.44 | +0.076 | -1.674 | 0.739 | 70 |
| 0 | 2 | +2.22 | +2.03 | +2.44 | -0.228 | -0.411 | 0.559 | 8 |
| 1 | 0 | -0.16 | -3.09 | +0.61 | -0.770 | -3.698 | 0.961 | 33 |
| 1 | 1 | +0.43 | -1.95 | +0.61 | -0.184 | -2.561 | 0.884 | 24 |
| 1 | 2 | +0.70 | +0.30 | +0.61 | +0.085 | -0.314 | 0.579 | 4 |
| 2 | 0 | -1.69 | -4.35 | -0.94 | -0.754 | -3.412 | 0.908 | 75 |
| 2 | 1 | -1.71 | -3.42 | -0.94 | -0.769 | -2.488 | 0.849 | 54 |
| 2 | 2 | -1.76 | -3.43 | -0.94 | -0.824 | -2.497 | 0.823 | 48 |
| 3 | 0 | +1.25 | +0.37 | +1.81 | -0.554 | -1.435 | 0.729 | 27 |
| 3 | 1 | +1.76 | +1.25 | +1.81 | -0.043 | -0.552 | 0.595 | 17 |
| 3 | 2 | +2.17 | +1.24 | +1.81 | +0.360 | -0.568 | 0.587 | 30 |
| 4 | 0 | +4.51 | +0.78 | +4.78 | -0.270 | -3.995 | 0.966 | 45 |
| 4 | 1 | +4.40 | -0.01 | +4.78 | -0.374 | -4.782 | 0.984 | 53 |
| 4 | 2 | +4.88 | +3.72 | +4.78 | +0.104 | -1.054 | 0.632 | 12 |
Aggregate
- Median uplift (gross): -0.254
- Median uplift (net): -1.674
- Net is 0% of gross
- Bootstrap p(agent_net > EW) — min: 0.559, median: 0.739, max: 0.984
Pre-registered pass bar (restated for stage 7)
ADOPT requires ALL THREE:
- OOS Sharpe > EW Sharpe + 0.10 (gross: -0.254, net: -1.674)
- bootstrap p (agent > EW) < 0.05 (max p: 0.984)
- OOS max drawdown < 0.30
Stop condition S3 (hypothesis doc)
Net uplift must be >= 50% of gross uplift. Got: gross -0.254, net -1.674. S3 triggered: True.
elapsed: 467.2s | cells=15