38 lines
2.2 KiB
JSON
38 lines
2.2 KiB
JSON
{
|
|
"description": "Perturbation stress test on Config A (exp 52, run 9f98ea5c) — 2026 window (2026-01-04 to 2026-08-19). Same pred.pkl, varying backtest parameters. Raw returns (not excess over SPY).",
|
|
"pred_source": "exp 52, run 9f98ea5c550a409f87b56a6cd8fee343",
|
|
"test_window": ["2026-01-04", "2026-08-19"],
|
|
"trading_days": 157,
|
|
"topk_sensitivity": {
|
|
"description": "vary topk, n_drop=1, costs=base (5bp/15bp/$5)",
|
|
"results": [
|
|
{"topk": 5, "n_drop": 1, "ann_return": 0.3230, "sharpe": 1.745, "maxDD": -0.0695},
|
|
{"topk": 10, "n_drop": 1, "ann_return": 0.3284, "sharpe": 1.978, "maxDD": -0.0581},
|
|
{"topk": 15, "n_drop": 1, "ann_return": 0.2630, "sharpe": 1.611, "maxDD": -0.0689}
|
|
]
|
|
},
|
|
"ndrop_sensitivity": {
|
|
"description": "vary n_drop, topk=10, costs=base",
|
|
"results": [
|
|
{"topk": 10, "n_drop": 1, "ann_return": 0.3284, "sharpe": 1.978, "maxDD": -0.0581},
|
|
{"topk": 10, "n_drop": 2, "ann_return": 0.2674, "sharpe": 1.586, "maxDD": -0.0652},
|
|
{"topk": 10, "n_drop": 3, "ann_return": 0.2861, "sharpe": 1.658, "maxDD": -0.0667}
|
|
]
|
|
},
|
|
"cost_sensitivity": {
|
|
"description": "vary costs, topk=10, n_drop=1",
|
|
"results": [
|
|
{"open_cost": 0.0005, "close_cost": 0.0015, "min_cost": 5, "ann_return": 0.3284, "sharpe": 1.978, "maxDD": -0.0581},
|
|
{"open_cost": 0.0015, "close_cost": 0.0025, "min_cost": 10, "ann_return": 0.3275, "sharpe": 1.974, "maxDD": -0.0580},
|
|
{"open_cost": 0.0025, "close_cost": 0.0035, "min_cost": 15, "ann_return": 0.3267, "sharpe": 1.971, "maxDD": -0.0580}
|
|
]
|
|
},
|
|
"findings": {
|
|
"topk": "topk=10 is optimal. topk=5 loses ~0.5pp (concentration risk), topk=15 loses ~6.5pp (signal dilution). Edge is moderate-sensitivity to topk.",
|
|
"n_drop": "n_drop=1 is best. n_drop=2 loses ~6pp, n_drop=3 loses ~4pp. More rotation hurts in this window.",
|
|
"costs": "Almost irrelevant. Even at 5x base costs (25bp/35bp/$15), return drops only 0.17pp (32.84% → 32.67%). Low turnover + large gross edge makes cost assumptions immaterial.",
|
|
"maxDD": "Stable across all perturbations: range -5.8% to -7.0%. No blowup risk from parameter changes.",
|
|
"overall": "The 2026 edge is robust WITHIN the window. The problem is it doesn't exist in other windows (ch 11)."
|
|
}
|
|
}
|