Files
tac-exp-dev/book/data/perturbation/config_a_2026_sensitivity.json
T

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)."
}
}