Add GTL cohort composition backtest
This commit is contained in:
@@ -845,6 +845,40 @@ the top 5%. Passing identifies a candidate for forward paper validation, not an
|
||||
automatic deployment. The post-2024 interval has already influenced this
|
||||
research, so the split is a robustness check rather than a pristine holdout.
|
||||
|
||||
Result on the 2026-07-13 snapshot: **20/20 arms completed; no replacement arm
|
||||
passed all six checks.** The frozen control remained best on full-period Sharpe
|
||||
(2.03), CAGR (50.0%), and post-2024 Sharpe (2.78), with 321 production trades
|
||||
and 21.4% drawdown. The closest replacement, 0.25% touch padding, still fell to
|
||||
Sharpe 1.94 / CAGR 47.9%. This rejects direct constant replacement; the inherited
|
||||
behavior is not explained by one obvious GTL knob.
|
||||
|
||||
The paired cohorts do expose a narrower mechanism worth testing:
|
||||
|
||||
| Variant | Retained control setups | Added by variant | Removed from control |
|
||||
|---|---|---|---|
|
||||
| 0.25% touch | 1,049 at +0.214R (+0.058 ex-top-5%) | 18 at -0.235R | 37 at -0.056R |
|
||||
| Strength 1000 | 1,037 at +0.225R (+0.069) | 122 at +0.301R (+0.152) | 49 at +0.142R (-0.044) |
|
||||
| 0.25% merge | 791 at +0.238R (+0.078) | 365 at +0.161R (+0.023) | 295 at +0.129R (-0.008) |
|
||||
| Grid without pivots | 428 at +0.232R (+0.100) | 392 at +0.176R (+0.046) | 658 at +0.208R (+0.041) |
|
||||
|
||||
Replacement mixes the retained and added cohorts and also discards the removed
|
||||
cohort, so its portfolio result cannot say which part helped. The follow-up
|
||||
`gtl_confirmation` matrix therefore preserves frozen control geometry and
|
||||
decomposes each selected variant into:
|
||||
|
||||
- **intersection** — only control setups also core-qualified by the variant;
|
||||
- **union** — all core-qualified control setups plus genuinely added variant
|
||||
setups, using tuned geometry only for those additions.
|
||||
|
||||
It also tests pre-registered intersections among the three high-breadth
|
||||
confirmers. Its control path must exactly reproduce the completed tuning
|
||||
matrix before any research arm is accepted.
|
||||
|
||||
```bash
|
||||
.venv/bin/python scripts/run_gtl_confirmation_matrix.py \
|
||||
backtest_snapshots/prod.sqlite --workers 12
|
||||
```
|
||||
|
||||
The post-2024 window has been opened and is now analysis data, not a valid final
|
||||
promotion holdout. These arms can isolate mechanism, but neither may ship without
|
||||
new future data or a separately pre-registered walk-forward protocol.
|
||||
|
||||
Reference in New Issue
Block a user