Files
signal-platform/reports/backtest-20260713-gtl-strength-sensitivity.json
2026-07-13 16:22:30 +02:00

913 lines
25 KiB
JSON

{
"status": "complete",
"generated_at": "2026-07-13T13:48:09.363544+00:00",
"snapshot": "/Users/taathde3/git/lab/signal_platform/backtest_snapshots/prod.sqlite",
"workers": 12,
"holdout_split": "2024-07-01",
"arm_count": 9,
"strength_scales": [
625.0,
750.0,
875.0,
1000.0,
1125.0,
1250.0,
1500.0,
2000.0
],
"arms": [
{
"name": "control",
"config": {
"name": "control",
"mode": "intersection",
"confirmations": []
},
"candidates": 202765,
"qualified": 1086,
"qualified_net_avg_r": 0.209,
"qualified_net_avg_r_ex_top5": 0.049,
"full_book": {
"sharpe": 2.03,
"cagr_pct": 50.0,
"max_drawdown_pct": 21.4,
"trades": 321,
"win_rate": 37.4,
"avg_hold_days": 15.3,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.28,
"cagr_pct": 28.8,
"max_drawdown_pct": 21.4,
"trades": 175,
"win_rate": 33.7,
"avg_hold_days": 14.2,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.78,
"cagr_pct": 73.3,
"max_drawdown_pct": 11.7,
"trades": 150,
"win_rate": 42.0,
"avg_hold_days": 16.6,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 202765,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": null,
"description": "Frozen GTL composition-path parity control.",
"screen": {
"checks": {},
"passed": 0,
"total": 0,
"advances": false
}
},
{
"name": "strength_625_intersection",
"config": {
"name": "strength_625_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_625",
"strength_scale": 625.0
}
]
},
"candidates": 202765,
"qualified": 1070,
"qualified_net_avg_r": 0.206,
"qualified_net_avg_r_ex_top5": 0.047,
"full_book": {
"sharpe": 1.96,
"cagr_pct": 47.6,
"max_drawdown_pct": 21.4,
"trades": 318,
"win_rate": 37.7,
"avg_hold_days": 15.4,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.22,
"cagr_pct": 27.1,
"max_drawdown_pct": 21.4,
"trades": 173,
"win_rate": 34.1,
"avg_hold_days": 14.3,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.71,
"cagr_pct": 70.3,
"max_drawdown_pct": 11.7,
"trades": 149,
"win_rate": 42.3,
"avg_hold_days": 16.6,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14682,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1070,
"net_avg_r": 0.2063,
"net_avg_r_ex_top5": 0.0468
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 16,
"net_avg_r": 0.3605,
"net_avg_r_ex_top5": 0.2131
}
},
"description": "Require control confirmation at traffic-strength scale 625.",
"screen": {
"checks": {
"full_sharpe_not_worse": false,
"train_sharpe_not_worse": false,
"test_sharpe_not_worse": false,
"drawdown_not_worse": true,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 3,
"total": 6,
"advances": false
}
},
{
"name": "strength_750_intersection",
"config": {
"name": "strength_750_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_750",
"strength_scale": 750.0
}
]
},
"candidates": 202765,
"qualified": 1061,
"qualified_net_avg_r": 0.209,
"qualified_net_avg_r_ex_top5": 0.05,
"full_book": {
"sharpe": 2.03,
"cagr_pct": 50.0,
"max_drawdown_pct": 21.2,
"trades": 316,
"win_rate": 38.6,
"avg_hold_days": 15.5,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.36,
"cagr_pct": 31.0,
"max_drawdown_pct": 21.2,
"trades": 171,
"win_rate": 35.7,
"avg_hold_days": 14.6,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.71,
"cagr_pct": 70.3,
"max_drawdown_pct": 11.7,
"trades": 149,
"win_rate": 42.3,
"avg_hold_days": 16.6,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14738,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1061,
"net_avg_r": 0.2095,
"net_avg_r_ex_top5": 0.0499
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 25,
"net_avg_r": 0.1722,
"net_avg_r_ex_top5": -0.0891
}
},
"description": "Require control confirmation at traffic-strength scale 750.",
"screen": {
"checks": {
"full_sharpe_not_worse": true,
"train_sharpe_not_worse": true,
"test_sharpe_not_worse": false,
"drawdown_not_worse": true,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 5,
"total": 6,
"advances": false
}
},
{
"name": "strength_875_intersection",
"config": {
"name": "strength_875_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_875",
"strength_scale": 875.0
}
]
},
"candidates": 202765,
"qualified": 1044,
"qualified_net_avg_r": 0.21,
"qualified_net_avg_r_ex_top5": 0.051,
"full_book": {
"sharpe": 2.04,
"cagr_pct": 49.7,
"max_drawdown_pct": 21.2,
"trades": 316,
"win_rate": 38.3,
"avg_hold_days": 15.4,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.31,
"cagr_pct": 28.8,
"max_drawdown_pct": 21.2,
"trades": 171,
"win_rate": 35.1,
"avg_hold_days": 14.3,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.77,
"cagr_pct": 72.6,
"max_drawdown_pct": 11.7,
"trades": 149,
"win_rate": 42.3,
"avg_hold_days": 16.6,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14787,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1044,
"net_avg_r": 0.2103,
"net_avg_r_ex_top5": 0.0506
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 42,
"net_avg_r": 0.1665,
"net_avg_r_ex_top5": -0.0502
}
},
"description": "Require control confirmation at traffic-strength scale 875.",
"screen": {
"checks": {
"full_sharpe_not_worse": true,
"train_sharpe_not_worse": true,
"test_sharpe_not_worse": false,
"drawdown_not_worse": true,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 5,
"total": 6,
"advances": false
}
},
{
"name": "strength_1000_intersection",
"config": {
"name": "strength_1000_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_1000",
"strength_scale": 1000.0
}
]
},
"candidates": 202765,
"qualified": 1037,
"qualified_net_avg_r": 0.212,
"qualified_net_avg_r_ex_top5": 0.054,
"full_book": {
"sharpe": 2.06,
"cagr_pct": 50.7,
"max_drawdown_pct": 21.7,
"trades": 316,
"win_rate": 38.6,
"avg_hold_days": 15.5,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.3,
"cagr_pct": 28.7,
"max_drawdown_pct": 21.7,
"trades": 173,
"win_rate": 35.3,
"avg_hold_days": 14.4,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.82,
"cagr_pct": 74.9,
"max_drawdown_pct": 11.7,
"trades": 147,
"win_rate": 42.9,
"avg_hold_days": 16.7,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14821,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1037,
"net_avg_r": 0.2118,
"net_avg_r_ex_top5": 0.0536
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 49,
"net_avg_r": 0.1417,
"net_avg_r_ex_top5": -0.0437
}
},
"description": "Require control confirmation at traffic-strength scale 1000.",
"screen": {
"checks": {
"full_sharpe_not_worse": true,
"train_sharpe_not_worse": true,
"test_sharpe_not_worse": true,
"drawdown_not_worse": false,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 5,
"total": 6,
"advances": false
}
},
{
"name": "strength_1125_intersection",
"config": {
"name": "strength_1125_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_1125",
"strength_scale": 1125.0
}
]
},
"candidates": 202765,
"qualified": 1026,
"qualified_net_avg_r": 0.206,
"qualified_net_avg_r_ex_top5": 0.047,
"full_book": {
"sharpe": 2.0,
"cagr_pct": 48.4,
"max_drawdown_pct": 21.5,
"trades": 316,
"win_rate": 38.6,
"avg_hold_days": 15.3,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.2,
"cagr_pct": 26.0,
"max_drawdown_pct": 21.5,
"trades": 173,
"win_rate": 35.3,
"avg_hold_days": 14.3,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.82,
"cagr_pct": 73.4,
"max_drawdown_pct": 10.2,
"trades": 146,
"win_rate": 43.2,
"avg_hold_days": 16.7,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14845,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1026,
"net_avg_r": 0.2061,
"net_avg_r_ex_top5": 0.0471
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 60,
"net_avg_r": 0.2517,
"net_avg_r_ex_top5": 0.0922
}
},
"description": "Require control confirmation at traffic-strength scale 1125.",
"screen": {
"checks": {
"full_sharpe_not_worse": false,
"train_sharpe_not_worse": false,
"test_sharpe_not_worse": true,
"drawdown_not_worse": false,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 3,
"total": 6,
"advances": false
}
},
{
"name": "strength_1250_intersection",
"config": {
"name": "strength_1250_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_1250",
"strength_scale": 1250.0
}
]
},
"candidates": 202765,
"qualified": 1025,
"qualified_net_avg_r": 0.205,
"qualified_net_avg_r_ex_top5": 0.046,
"full_book": {
"sharpe": 2.01,
"cagr_pct": 49.0,
"max_drawdown_pct": 21.5,
"trades": 316,
"win_rate": 38.6,
"avg_hold_days": 15.4,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.2,
"cagr_pct": 26.0,
"max_drawdown_pct": 21.5,
"trades": 173,
"win_rate": 35.3,
"avg_hold_days": 14.3,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.82,
"cagr_pct": 74.9,
"max_drawdown_pct": 11.7,
"trades": 147,
"win_rate": 42.9,
"avg_hold_days": 16.7,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14846,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1025,
"net_avg_r": 0.2054,
"net_avg_r_ex_top5": 0.0463
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 61,
"net_avg_r": 0.2622,
"net_avg_r_ex_top5": 0.0578
}
},
"description": "Require control confirmation at traffic-strength scale 1250.",
"screen": {
"checks": {
"full_sharpe_not_worse": false,
"train_sharpe_not_worse": false,
"test_sharpe_not_worse": true,
"drawdown_not_worse": false,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 3,
"total": 6,
"advances": false
}
},
{
"name": "strength_1500_intersection",
"config": {
"name": "strength_1500_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_1500",
"strength_scale": 1500.0
}
]
},
"candidates": 202765,
"qualified": 1010,
"qualified_net_avg_r": 0.188,
"qualified_net_avg_r_ex_top5": 0.034,
"full_book": {
"sharpe": 2.03,
"cagr_pct": 48.8,
"max_drawdown_pct": 20.9,
"trades": 313,
"win_rate": 39.0,
"avg_hold_days": 15.4,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.28,
"cagr_pct": 27.9,
"max_drawdown_pct": 20.9,
"trades": 171,
"win_rate": 35.7,
"avg_hold_days": 14.5,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.79,
"cagr_pct": 71.5,
"max_drawdown_pct": 10.2,
"trades": 145,
"win_rate": 43.4,
"avg_hold_days": 16.7,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14866,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 1010,
"net_avg_r": 0.1876,
"net_avg_r_ex_top5": 0.0342
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 76,
"net_avg_r": 0.4876,
"net_avg_r_ex_top5": 0.2554
}
},
"description": "Require control confirmation at traffic-strength scale 1500.",
"screen": {
"checks": {
"full_sharpe_not_worse": true,
"train_sharpe_not_worse": true,
"test_sharpe_not_worse": true,
"drawdown_not_worse": true,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 6,
"total": 6,
"advances": true
}
},
{
"name": "strength_2000_intersection",
"config": {
"name": "strength_2000_intersection",
"mode": "intersection",
"confirmations": [
{
"name": "strength_2000",
"strength_scale": 2000.0
}
]
},
"candidates": 202765,
"qualified": 990,
"qualified_net_avg_r": 0.174,
"qualified_net_avg_r_ex_top5": 0.02,
"full_book": {
"sharpe": 1.95,
"cagr_pct": 46.3,
"max_drawdown_pct": 18.0,
"trades": 313,
"win_rate": 38.3,
"avg_hold_days": 15.4,
"skipped_book_full": 0
},
"holdout": {
"train": {
"sharpe": 1.23,
"cagr_pct": 26.4,
"max_drawdown_pct": 18.0,
"trades": 170,
"win_rate": 34.7,
"avg_hold_days": 14.2,
"skipped_book_full": 0
},
"test": {
"sharpe": 2.68,
"cagr_pct": 67.9,
"max_drawdown_pct": 10.2,
"trades": 146,
"win_rate": 43.2,
"avg_hold_days": 16.8,
"skipped_book_full": 0
}
},
"gtl_diagnostics": {
"variant": "gtl_confirmation",
"candidate_count": 202765,
"primary_source_counts": {
"pivot_point": 196290,
"range_grid": 180036
},
"primary_round_only": 0,
"primary_strength_100": 138596,
"avg_primary_strength": 80.109,
"avg_primary_distance_atr": 2.293,
"avg_primary_rejection_count": 41.908,
"avg_raw_level_count": 53.204,
"avg_gate_level_count": 53.204,
"avg_range_504_log": 0.612,
"range_factor_pass": 19566,
"structural_overlay_rows": 0,
"structural_overlay_pass": 0,
"structural_overlay_weight": null,
"gtl_confirmation_rows": 202765,
"gtl_confirmation_pass": 14873,
"gtl_confirmation_tuned_additions": 0
},
"cohort_vs_control": {
"retained": {
"count": 990,
"net_avg_r": 0.174,
"net_avg_r_ex_top5": 0.0196
},
"added": {
"count": 0,
"net_avg_r": null,
"net_avg_r_ex_top5": null
},
"removed": {
"count": 96,
"net_avg_r": 0.5661,
"net_avg_r_ex_top5": 0.3608
}
},
"description": "Require control confirmation at traffic-strength scale 2000.",
"screen": {
"checks": {
"full_sharpe_not_worse": false,
"train_sharpe_not_worse": false,
"test_sharpe_not_worse": false,
"drawdown_not_worse": true,
"retains_80pct_trades": true,
"robust_expectancy_positive": true
},
"passed": 3,
"total": 6,
"advances": false
}
}
],
"promotion_rule": "At least two adjacent non-control scales must pass all six original guardrails.",
"control_parity": "pass",
"completed_at": "2026-07-13T14:21:42.222381+00:00",
"strength_1000_replication": "pass",
"advancing_arms": [
"strength_1500_intersection"
],
"stable_plateau_pairs": [],
"stable_candidate": false,
"ranking_by_full_sharpe": [
"strength_1000_intersection",
"strength_875_intersection",
"control",
"strength_750_intersection",
"strength_1500_intersection",
"strength_1250_intersection",
"strength_1125_intersection",
"strength_625_intersection",
"strength_2000_intersection"
]
}