From 3f86aec0bec1d0242d889d5840c854c23fe3fbd0 Mon Sep 17 00:00:00 2001 From: Dennis Thiessen Date: Mon, 13 Jul 2026 14:07:42 +0200 Subject: [PATCH] done --- .../backtest-20260713-gtl-tuning-matrix.json | 2011 +++++++++++++++++ .../backtest-20260713-gtl-tuning-matrix.md | 32 + 2 files changed, 2043 insertions(+) create mode 100644 reports/backtest-20260713-gtl-tuning-matrix.json create mode 100644 reports/backtest-20260713-gtl-tuning-matrix.md diff --git a/reports/backtest-20260713-gtl-tuning-matrix.json b/reports/backtest-20260713-gtl-tuning-matrix.json new file mode 100644 index 0000000..795e55f --- /dev/null +++ b/reports/backtest-20260713-gtl-tuning-matrix.json @@ -0,0 +1,2011 @@ +{ + "status": "complete", + "generated_at": "2026-07-13T11:23:35.612125+00:00", + "snapshot": "/Users/taathde3/git/lab/signal_platform/backtest_snapshots/prod.sqlite", + "workers": 12, + "holdout_split": "2024-07-01", + "arm_count": 20, + "arms": [ + { + "name": "control", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "control" + }, + "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_tuning", + "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 + }, + "cohort_vs_control": null, + "description": "Frozen explicit GTL defaults.", + "screen": { + "checks": {}, + "passed": 0, + "total": 0, + "advances": false + } + }, + { + "name": "lookback_252", + "config": { + "lookback_bars": 252, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "lookback_252" + }, + "candidates": 199236, + "qualified": 593, + "qualified_net_avg_r": 0.283, + "qualified_net_avg_r_ex_top5": 0.152, + "full_book": { + "sharpe": 1.43, + "cagr_pct": 26.0, + "max_drawdown_pct": 22.8, + "trades": 241, + "win_rate": 36.9, + "avg_hold_days": 15.0, + "skipped_book_full": 7 + }, + "holdout": { + "train": { + "sharpe": 0.78, + "cagr_pct": 12.6, + "max_drawdown_pct": 22.8, + "trades": 128, + "win_rate": 35.2, + "avg_hold_days": 14.9, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.07, + "cagr_pct": 40.2, + "max_drawdown_pct": 12.6, + "trades": 113, + "win_rate": 38.9, + "avg_hold_days": 15.1, + "skipped_book_full": 7 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 199236, + "primary_source_counts": { + "pivot_point": 189817, + "range_grid": 193502 + }, + "primary_round_only": 0, + "primary_strength_100": 142393, + "avg_primary_strength": 83.036, + "avg_primary_distance_atr": 2.201, + "avg_primary_rejection_count": 26.089, + "avg_raw_level_count": 35.534, + "avg_gate_level_count": 35.534, + "avg_range_504_log": 0.607, + "range_factor_pass": 19045, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 332, + "net_avg_r": 0.2614, + "net_avg_r_ex_top5": 0.1227 + }, + "added": { + "count": 261, + "net_avg_r": 0.3103, + "net_avg_r_ex_top5": 0.1845 + }, + "removed": { + "count": 754, + "net_avg_r": 0.2014, + "net_avg_r_ex_top5": 0.0316 + } + }, + "description": "One-year GTL history.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": false, + "test_sharpe_not_worse": false, + "drawdown_not_worse": false, + "retains_80pct_trades": false, + "robust_expectancy_positive": true + }, + "passed": 1, + "total": 6, + "advances": false + } + }, + { + "name": "lookback_504", + "config": { + "lookback_bars": 504, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "lookback_504" + }, + "candidates": 202556, + "qualified": 870, + "qualified_net_avg_r": 0.203, + "qualified_net_avg_r_ex_top5": 0.055, + "full_book": { + "sharpe": 1.75, + "cagr_pct": 38.8, + "max_drawdown_pct": 21.4, + "trades": 289, + "win_rate": 37.4, + "avg_hold_days": 14.9, + "skipped_book_full": 30 + }, + "holdout": { + "train": { + "sharpe": 1.32, + "cagr_pct": 28.6, + "max_drawdown_pct": 21.4, + "trades": 171, + "win_rate": 34.5, + "avg_hold_days": 14.0, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.2, + "cagr_pct": 48.9, + "max_drawdown_pct": 11.4, + "trades": 120, + "win_rate": 41.7, + "avg_hold_days": 16.3, + "skipped_book_full": 30 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202556, + "primary_source_counts": { + "pivot_point": 194957, + "range_grid": 188683 + }, + "primary_round_only": 0, + "primary_strength_100": 140722, + "avg_primary_strength": 81.123, + "avg_primary_distance_atr": 2.248, + "avg_primary_rejection_count": 34.874, + "avg_raw_level_count": 45.439, + "avg_gate_level_count": 45.439, + "avg_range_504_log": 0.609, + "range_factor_pass": 19344, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 717, + "net_avg_r": 0.2191, + "net_avg_r_ex_top5": 0.0714 + }, + "added": { + "count": 153, + "net_avg_r": 0.1268, + "net_avg_r_ex_top5": -0.0247 + }, + "removed": { + "count": 369, + "net_avg_r": 0.2249, + "net_avg_r_ex_top5": 0.0467 + } + }, + "description": "Two-year GTL history.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "lookback_756", + "config": { + "lookback_bars": 756, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "lookback_756" + }, + "candidates": 202997, + "qualified": 1033, + "qualified_net_avg_r": 0.17, + "qualified_net_avg_r_ex_top5": 0.013, + "full_book": { + "sharpe": 1.6, + "cagr_pct": 36.4, + "max_drawdown_pct": 21.4, + "trades": 318, + "win_rate": 35.8, + "avg_hold_days": 15.1, + "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": 1.81, + "cagr_pct": 40.4, + "max_drawdown_pct": 11.4, + "trades": 144, + "win_rate": 38.2, + "avg_hold_days": 16.2, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202997, + "primary_source_counts": { + "pivot_point": 196209, + "range_grid": 183679 + }, + "primary_round_only": 0, + "primary_strength_100": 139717, + "avg_primary_strength": 80.592, + "avg_primary_distance_atr": 2.273, + "avg_primary_rejection_count": 39.305, + "avg_raw_level_count": 50.819, + "avg_gate_level_count": 50.819, + "avg_range_504_log": 0.611, + "range_factor_pass": 19491, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 949, + "net_avg_r": 0.19, + "net_avg_r_ex_top5": 0.0317 + }, + "added": { + "count": 84, + "net_avg_r": -0.0558, + "net_avg_r_ex_top5": -0.2232 + }, + "removed": { + "count": 137, + "net_avg_r": 0.3309, + "net_avg_r_ex_top5": 0.1628 + } + }, + "description": "Three-year GTL history.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "candidates_8", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 8, + "max_target_atr": null, + "name": "candidates_8" + }, + "candidates": 202765, + "qualified": 1045, + "qualified_net_avg_r": 0.189, + "qualified_net_avg_r_ex_top5": 0.024, + "full_book": { + "sharpe": 1.91, + "cagr_pct": 44.5, + "max_drawdown_pct": 18.9, + "trades": 320, + "win_rate": 37.5, + "avg_hold_days": 15.2, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.44, + "cagr_pct": 32.6, + "max_drawdown_pct": 18.9, + "trades": 170, + "win_rate": 35.3, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.39, + "cagr_pct": 55.5, + "max_drawdown_pct": 10.3, + "trades": 154, + "win_rate": 40.3, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196292, + "range_grid": 179878 + }, + "primary_round_only": 0, + "primary_strength_100": 138377, + "avg_primary_strength": 80.113, + "avg_primary_distance_atr": 2.279, + "avg_primary_rejection_count": 41.888, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 1034, + "net_avg_r": 0.1868, + "net_avg_r_ex_top5": 0.0224 + }, + "added": { + "count": 11, + "net_avg_r": 0.4325, + "net_avg_r_ex_top5": 0.2377 + }, + "removed": { + "count": 52, + "net_avg_r": 0.9709, + "net_avg_r_ex_top5": 0.857 + } + }, + "description": "Retain up to eight candidates before probability.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "candidates_all", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": null, + "max_target_atr": null, + "name": "candidates_all" + }, + "candidates": 202765, + "qualified": 1004, + "qualified_net_avg_r": 0.155, + "qualified_net_avg_r_ex_top5": 0.014, + "full_book": { + "sharpe": 1.74, + "cagr_pct": 39.0, + "max_drawdown_pct": 18.9, + "trades": 322, + "win_rate": 37.0, + "avg_hold_days": 15.2, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.15, + "cagr_pct": 23.8, + "max_drawdown_pct": 18.9, + "trades": 173, + "win_rate": 34.7, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.31, + "cagr_pct": 54.6, + "max_drawdown_pct": 10.3, + "trades": 153, + "win_rate": 39.9, + "avg_hold_days": 16.0, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196351, + "range_grid": 179648 + }, + "primary_round_only": 0, + "primary_strength_100": 137597, + "avg_primary_strength": 80.06, + "avg_primary_distance_atr": 2.245, + "avg_primary_rejection_count": 41.795, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 991, + "net_avg_r": 0.1573, + "net_avg_r_ex_top5": 0.0166 + }, + "added": { + "count": 13, + "net_avg_r": 0.0134, + "net_avg_r_ex_top5": -0.1839 + }, + "removed": { + "count": 95, + "net_avg_r": 0.7774, + "net_avg_r_ex_top5": 0.5033 + } + }, + "description": "Score every eligible target before primary selection.", + "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": "max_atr_5_5", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": 5.5, + "name": "max_atr_5_5" + }, + "candidates": 210504, + "qualified": 1300, + "qualified_net_avg_r": 0.126, + "qualified_net_avg_r_ex_top5": -0.011, + "full_book": { + "sharpe": 1.61, + "cagr_pct": 37.0, + "max_drawdown_pct": 23.1, + "trades": 348, + "win_rate": 35.1, + "avg_hold_days": 14.9, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.15, + "cagr_pct": 25.3, + "max_drawdown_pct": 23.1, + "trades": 186, + "win_rate": 33.3, + "avg_hold_days": 14.3, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.09, + "cagr_pct": 49.1, + "max_drawdown_pct": 11.4, + "trades": 168, + "win_rate": 37.5, + "avg_hold_days": 15.6, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 210504, + "primary_source_counts": { + "pivot_point": 203903, + "range_grid": 187133 + }, + "primary_round_only": 0, + "primary_strength_100": 143500, + "avg_primary_strength": 80.175, + "avg_primary_distance_atr": 2.342, + "avg_primary_rejection_count": 42.395, + "avg_raw_level_count": 52.527, + "avg_gate_level_count": 52.527, + "avg_range_504_log": 0.605, + "range_factor_pass": 19590, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 991, + "net_avg_r": 0.1743, + "net_avg_r_ex_top5": 0.0405 + }, + "added": { + "count": 309, + "net_avg_r": -0.0305, + "net_avg_r_ex_top5": -0.183 + }, + "removed": { + "count": 95, + "net_avg_r": 0.7416, + "net_avg_r_ex_top5": 0.4563 + } + }, + "description": "Universal 5.5 ATR maximum target distance.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": false, + "test_sharpe_not_worse": false, + "drawdown_not_worse": false, + "retains_80pct_trades": true, + "robust_expectancy_positive": false + }, + "passed": 1, + "total": 6, + "advances": false + } + }, + { + "name": "max_atr_8", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": 8.0, + "name": "max_atr_8" + }, + "candidates": 211901, + "qualified": 1357, + "qualified_net_avg_r": 0.151, + "qualified_net_avg_r_ex_top5": 0.003, + "full_book": { + "sharpe": 1.89, + "cagr_pct": 46.3, + "max_drawdown_pct": 19.7, + "trades": 348, + "win_rate": 36.2, + "avg_hold_days": 14.9, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.51, + "cagr_pct": 35.4, + "max_drawdown_pct": 19.7, + "trades": 185, + "win_rate": 35.1, + "avg_hold_days": 14.7, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.27, + "cagr_pct": 56.9, + "max_drawdown_pct": 12.0, + "trades": 168, + "win_rate": 38.1, + "avg_hold_days": 15.3, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 211901, + "primary_source_counts": { + "pivot_point": 205378, + "range_grid": 188637 + }, + "primary_round_only": 0, + "primary_strength_100": 145688, + "avg_primary_strength": 80.513, + "avg_primary_distance_atr": 2.392, + "avg_primary_rejection_count": 43.044, + "avg_raw_level_count": 52.347, + "avg_gate_level_count": 52.347, + "avg_range_504_log": 0.603, + "range_factor_pass": 19592, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 1039, + "net_avg_r": 0.217, + "net_avg_r_ex_top5": 0.0695 + }, + "added": { + "count": 318, + "net_avg_r": -0.0654, + "net_avg_r_ex_top5": -0.2152 + }, + "removed": { + "count": 47, + "net_avg_r": 0.6191, + "net_avg_r_ex_top5": 0.2066 + } + }, + "description": "Universal 8 ATR maximum target distance.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "touch_0", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.0, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "touch_0" + }, + "candidates": 202765, + "qualified": 1050, + "qualified_net_avg_r": 0.208, + "qualified_net_avg_r_ex_top5": 0.053, + "full_book": { + "sharpe": 1.88, + "cagr_pct": 45.5, + "max_drawdown_pct": 22.0, + "trades": 321, + "win_rate": 38.6, + "avg_hold_days": 15.3, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.25, + "cagr_pct": 27.8, + "max_drawdown_pct": 22.0, + "trades": 175, + "win_rate": 36.0, + "avg_hold_days": 14.3, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.48, + "cagr_pct": 63.4, + "max_drawdown_pct": 12.0, + "trades": 151, + "win_rate": 42.4, + "avg_hold_days": 16.5, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196085, + "range_grid": 180301 + }, + "primary_round_only": 0, + "primary_strength_100": 126106, + "avg_primary_strength": 75.738, + "avg_primary_distance_atr": 2.283, + "avg_primary_rejection_count": 30.837, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 1029, + "net_avg_r": 0.218, + "net_avg_r_ex_top5": 0.063 + }, + "added": { + "count": 21, + "net_avg_r": -0.2854, + "net_avg_r_ex_top5": -0.6105 + }, + "removed": { + "count": 57, + "net_avg_r": 0.0039, + "net_avg_r_ex_top5": -0.1774 + } + }, + "description": "Strict candle-range crossings with no touch padding.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": false, + "test_sharpe_not_worse": false, + "drawdown_not_worse": false, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 2, + "total": 6, + "advances": false + } + }, + { + "name": "touch_0_25pct", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.0025, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "touch_0_25pct" + }, + "candidates": 202765, + "qualified": 1067, + "qualified_net_avg_r": 0.206, + "qualified_net_avg_r_ex_top5": 0.05, + "full_book": { + "sharpe": 1.94, + "cagr_pct": 47.9, + "max_drawdown_pct": 20.8, + "trades": 323, + "win_rate": 38.1, + "avg_hold_days": 15.4, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.27, + "cagr_pct": 28.0, + "max_drawdown_pct": 20.8, + "trades": 175, + "win_rate": 34.3, + "avg_hold_days": 14.3, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.57, + "cagr_pct": 69.5, + "max_drawdown_pct": 11.7, + "trades": 152, + "win_rate": 42.8, + "avg_hold_days": 16.6, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196168, + "range_grid": 180144 + }, + "primary_round_only": 0, + "primary_strength_100": 133202, + "avg_primary_strength": 78.165, + "avg_primary_distance_atr": 2.288, + "avg_primary_rejection_count": 36.414, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 1049, + "net_avg_r": 0.2137, + "net_avg_r_ex_top5": 0.0583 + }, + "added": { + "count": 18, + "net_avg_r": -0.2354, + "net_avg_r_ex_top5": -0.4229 + }, + "removed": { + "count": 37, + "net_avg_r": -0.056, + "net_avg_r_ex_top5": -0.2361 + } + }, + "description": "Use 0.25% padding when counting price traffic.", + "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": "merge_0_25pct", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.0025, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "merge_0_25pct" + }, + "candidates": 205900, + "qualified": 1156, + "qualified_net_avg_r": 0.214, + "qualified_net_avg_r_ex_top5": 0.062, + "full_book": { + "sharpe": 1.82, + "cagr_pct": 43.4, + "max_drawdown_pct": 20.8, + "trades": 327, + "win_rate": 37.9, + "avg_hold_days": 16.0, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.78, + "cagr_pct": 44.9, + "max_drawdown_pct": 20.8, + "trades": 167, + "win_rate": 38.9, + "avg_hold_days": 15.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.71, + "cagr_pct": 37.2, + "max_drawdown_pct": 14.4, + "trades": 163, + "win_rate": 36.2, + "avg_hold_days": 16.3, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 205900, + "primary_source_counts": { + "pivot_point": 199555, + "range_grid": 186549 + }, + "primary_round_only": 0, + "primary_strength_100": 142506, + "avg_primary_strength": 80.433, + "avg_primary_distance_atr": 2.267, + "avg_primary_rejection_count": 42.583, + "avg_raw_level_count": 89.563, + "avg_gate_level_count": 89.563, + "avg_range_504_log": 0.608, + "range_factor_pass": 19552, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 791, + "net_avg_r": 0.238, + "net_avg_r_ex_top5": 0.0779 + }, + "added": { + "count": 365, + "net_avg_r": 0.1605, + "net_avg_r_ex_top5": 0.0227 + }, + "removed": { + "count": 295, + "net_avg_r": 0.1288, + "net_avg_r_ex_top5": -0.0077 + } + }, + "description": "Merge GTL proposals within 0.25%.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "merge_1pct", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.01, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "merge_1pct" + }, + "candidates": 186131, + "qualified": 1060, + "qualified_net_avg_r": 0.213, + "qualified_net_avg_r_ex_top5": 0.045, + "full_book": { + "sharpe": 1.52, + "cagr_pct": 34.8, + "max_drawdown_pct": 19.4, + "trades": 319, + "win_rate": 37.0, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.49, + "cagr_pct": 34.5, + "max_drawdown_pct": 19.4, + "trades": 160, + "win_rate": 39.4, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.42, + "cagr_pct": 31.3, + "max_drawdown_pct": 13.5, + "trades": 164, + "win_rate": 34.1, + "avg_hold_days": 14.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 186131, + "primary_source_counts": { + "pivot_point": 179198, + "range_grid": 167582 + }, + "primary_round_only": 0, + "primary_strength_100": 119239, + "avg_primary_strength": 77.534, + "avg_primary_distance_atr": 2.869, + "avg_primary_rejection_count": 40.345, + "avg_raw_level_count": 25.382, + "avg_gate_level_count": 25.382, + "avg_range_504_log": 0.631, + "range_factor_pass": 19584, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 638, + "net_avg_r": 0.2875, + "net_avg_r_ex_top5": 0.1083 + }, + "added": { + "count": 422, + "net_avg_r": 0.0995, + "net_avg_r_ex_top5": -0.0542 + }, + "removed": { + "count": 448, + "net_avg_r": 0.1261, + "net_avg_r_ex_top5": -0.0203 + } + }, + "description": "Merge GTL proposals within 1%.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "zones_1pct", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.01, + "candidate_limit": 5, + "max_target_atr": null, + "name": "zones_1pct" + }, + "candidates": 213509, + "qualified": 760, + "qualified_net_avg_r": 0.121, + "qualified_net_avg_r_ex_top5": -0.044, + "full_book": { + "sharpe": 1.71, + "cagr_pct": 38.3, + "max_drawdown_pct": 20.3, + "trades": 291, + "win_rate": 38.8, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.43, + "cagr_pct": 30.0, + "max_drawdown_pct": 20.3, + "trades": 154, + "win_rate": 39.0, + "avg_hold_days": 15.4, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.91, + "cagr_pct": 44.6, + "max_drawdown_pct": 11.8, + "trades": 141, + "win_rate": 38.3, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 213509, + "primary_source_counts": { + "pivot_point": 199283, + "range_grid": 150577 + }, + "primary_round_only": 0, + "primary_strength_100": 122481, + "avg_primary_strength": 72.734, + "avg_primary_distance_atr": 2.114, + "avg_primary_rejection_count": 38.91, + "avg_raw_level_count": 52.528, + "avg_gate_level_count": 52.528, + "avg_range_504_log": 0.604, + "range_factor_pass": 19865, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 535, + "net_avg_r": 0.2276, + "net_avg_r_ex_top5": 0.0588 + }, + "added": { + "count": 225, + "net_avg_r": -0.1329, + "net_avg_r_ex_top5": -0.3012 + }, + "removed": { + "count": 551, + "net_avg_r": 0.1695, + "net_avg_r_ex_top5": 0.007 + } + }, + "description": "Cluster target zones within 1%.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": false + }, + "passed": 3, + "total": 6, + "advances": false + } + }, + { + "name": "zones_3pct", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.03, + "candidate_limit": 5, + "max_target_atr": null, + "name": "zones_3pct" + }, + "candidates": 186146, + "qualified": 1308, + "qualified_net_avg_r": 0.149, + "qualified_net_avg_r_ex_top5": -0.006, + "full_book": { + "sharpe": 1.71, + "cagr_pct": 41.9, + "max_drawdown_pct": 17.8, + "trades": 339, + "win_rate": 37.5, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.34, + "cagr_pct": 33.2, + "max_drawdown_pct": 17.8, + "trades": 182, + "win_rate": 36.8, + "avg_hold_days": 15.7, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.92, + "cagr_pct": 44.5, + "max_drawdown_pct": 14.4, + "trades": 165, + "win_rate": 37.0, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 186146, + "primary_source_counts": { + "pivot_point": 182946, + "range_grid": 175975 + }, + "primary_round_only": 0, + "primary_strength_100": 138190, + "avg_primary_strength": 83.944, + "avg_primary_distance_atr": 2.476, + "avg_primary_rejection_count": 44.341, + "avg_raw_level_count": 54.41, + "avg_gate_level_count": 54.41, + "avg_range_504_log": 0.626, + "range_factor_pass": 19293, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 725, + "net_avg_r": 0.1912, + "net_avg_r_ex_top5": 0.0249 + }, + "added": { + "count": 583, + "net_avg_r": 0.0957, + "net_avg_r_ex_top5": -0.0501 + }, + "removed": { + "count": 361, + "net_avg_r": 0.2126, + "net_avg_r_ex_top5": 0.051 + } + }, + "description": "Cluster target zones within 3%.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": false + }, + "passed": 3, + "total": 6, + "advances": false + } + }, + { + "name": "grid_12", + "config": { + "lookback_bars": null, + "grid_bins": 12, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "grid_12" + }, + "candidates": 203988, + "qualified": 1129, + "qualified_net_avg_r": 0.171, + "qualified_net_avg_r_ex_top5": 0.023, + "full_book": { + "sharpe": 1.74, + "cagr_pct": 42.7, + "max_drawdown_pct": 22.0, + "trades": 337, + "win_rate": 38.3, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.25, + "cagr_pct": 28.7, + "max_drawdown_pct": 22.0, + "trades": 181, + "win_rate": 36.5, + "avg_hold_days": 15.1, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.16, + "cagr_pct": 54.3, + "max_drawdown_pct": 12.6, + "trades": 159, + "win_rate": 39.0, + "avg_hold_days": 15.6, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 203988, + "primary_source_counts": { + "pivot_point": 199113, + "range_grid": 144898 + }, + "primary_round_only": 0, + "primary_strength_100": 136888, + "avg_primary_strength": 79.004, + "avg_primary_distance_atr": 2.306, + "avg_primary_rejection_count": 41.737, + "avg_raw_level_count": 51.693, + "avg_gate_level_count": 51.693, + "avg_range_504_log": 0.612, + "range_factor_pass": 19681, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 756, + "net_avg_r": 0.1968, + "net_avg_r_ex_top5": 0.0438 + }, + "added": { + "count": 373, + "net_avg_r": 0.1183, + "net_avg_r_ex_top5": -0.0159 + }, + "removed": { + "count": 330, + "net_avg_r": 0.1998, + "net_avg_r_ex_top5": 0.0632 + } + }, + "description": "Use 12 evenly spaced range centers.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": false, + "test_sharpe_not_worse": false, + "drawdown_not_worse": false, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 2, + "total": 6, + "advances": false + } + }, + { + "name": "grid_32", + "config": { + "lookback_bars": null, + "grid_bins": 32, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "grid_32" + }, + "candidates": 201793, + "qualified": 1068, + "qualified_net_avg_r": 0.2, + "qualified_net_avg_r_ex_top5": 0.043, + "full_book": { + "sharpe": 1.63, + "cagr_pct": 37.8, + "max_drawdown_pct": 17.3, + "trades": 325, + "win_rate": 36.9, + "avg_hold_days": 15.4, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.54, + "cagr_pct": 37.7, + "max_drawdown_pct": 17.3, + "trades": 168, + "win_rate": 40.5, + "avg_hold_days": 15.7, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.57, + "cagr_pct": 32.9, + "max_drawdown_pct": 12.1, + "trades": 161, + "win_rate": 32.9, + "avg_hold_days": 14.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 201793, + "primary_source_counts": { + "pivot_point": 194811, + "range_grid": 194396 + }, + "primary_round_only": 0, + "primary_strength_100": 141377, + "avg_primary_strength": 81.52, + "avg_primary_distance_atr": 2.296, + "avg_primary_rejection_count": 42.006, + "avg_raw_level_count": 55.378, + "avg_gate_level_count": 55.378, + "avg_range_504_log": 0.613, + "range_factor_pass": 19596, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 658, + "net_avg_r": 0.24, + "net_avg_r_ex_top5": 0.0731 + }, + "added": { + "count": 410, + "net_avg_r": 0.1354, + "net_avg_r_ex_top5": -0.0013 + }, + "removed": { + "count": 428, + "net_avg_r": 0.1655, + "net_avg_r_ex_top5": 0.0242 + } + }, + "description": "Use 32 evenly spaced range centers.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "pivots_none", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": false, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "pivots_none" + }, + "candidates": 207885, + "qualified": 820, + "qualified_net_avg_r": 0.206, + "qualified_net_avg_r_ex_top5": 0.077, + "full_book": { + "sharpe": 1.89, + "cagr_pct": 44.7, + "max_drawdown_pct": 17.3, + "trades": 309, + "win_rate": 38.2, + "avg_hold_days": 15.5, + "skipped_book_full": 19 + }, + "holdout": { + "train": { + "sharpe": 1.72, + "cagr_pct": 41.8, + "max_drawdown_pct": 16.8, + "trades": 166, + "win_rate": 36.7, + "avg_hold_days": 15.0, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.96, + "cagr_pct": 43.2, + "max_drawdown_pct": 14.2, + "trades": 147, + "win_rate": 39.5, + "avg_hold_days": 16.0, + "skipped_book_full": 19 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 207885, + "primary_source_counts": { + "range_grid": 207885 + }, + "primary_round_only": 0, + "primary_strength_100": 29291, + "avg_primary_strength": 39.712, + "avg_primary_distance_atr": 1.997, + "avg_primary_rejection_count": 37.988, + "avg_raw_level_count": 19.992, + "avg_gate_level_count": 19.992, + "avg_range_504_log": 0.601, + "range_factor_pass": 18896, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 428, + "net_avg_r": 0.2324, + "net_avg_r_ex_top5": 0.1001 + }, + "added": { + "count": 392, + "net_avg_r": 0.1763, + "net_avg_r_ex_top5": 0.0456 + }, + "removed": { + "count": 658, + "net_avg_r": 0.2082, + "net_avg_r_ex_top5": 0.0406 + } + }, + "description": "Range grid only; omit swing pivots.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "pivots_11bar", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 5, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 500.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "pivots_11bar" + }, + "candidates": 206198, + "qualified": 1027, + "qualified_net_avg_r": 0.152, + "qualified_net_avg_r_ex_top5": 0.011, + "full_book": { + "sharpe": 1.31, + "cagr_pct": 27.9, + "max_drawdown_pct": 18.7, + "trades": 334, + "win_rate": 32.9, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.15, + "cagr_pct": 24.3, + "max_drawdown_pct": 18.7, + "trades": 177, + "win_rate": 35.0, + "avg_hold_days": 14.4, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.43, + "cagr_pct": 29.5, + "max_drawdown_pct": 16.8, + "trades": 161, + "win_rate": 30.4, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 206198, + "primary_source_counts": { + "pivot_point": 185893, + "range_grid": 189257 + }, + "primary_round_only": 0, + "primary_strength_100": 117068, + "avg_primary_strength": 72.559, + "avg_primary_distance_atr": 2.241, + "avg_primary_rejection_count": 41.637, + "avg_raw_level_count": 48.82, + "avg_gate_level_count": 48.82, + "avg_range_504_log": 0.607, + "range_factor_pass": 19452, + "structural_overlay_rows": 0, + "structural_overlay_pass": 0, + "structural_overlay_weight": null + }, + "cohort_vs_control": { + "retained": { + "count": 592, + "net_avg_r": 0.1861, + "net_avg_r_ex_top5": 0.0413 + }, + "added": { + "count": 435, + "net_avg_r": 0.1063, + "net_avg_r_ex_top5": -0.0309 + }, + "removed": { + "count": 494, + "net_avg_r": 0.2013, + "net_avg_r_ex_top5": 0.0472 + } + }, + "description": "Use an 11-bar swing-pivot window.", + "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_250", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 250.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "strength_250" + }, + "candidates": 202765, + "qualified": 1009, + "qualified_net_avg_r": 0.2, + "qualified_net_avg_r_ex_top5": 0.056, + "full_book": { + "sharpe": 1.82, + "cagr_pct": 45.1, + "max_drawdown_pct": 18.9, + "trades": 326, + "win_rate": 35.3, + "avg_hold_days": 14.8, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.29, + "cagr_pct": 29.4, + "max_drawdown_pct": 18.9, + "trades": 176, + "win_rate": 33.0, + "avg_hold_days": 13.8, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.32, + "cagr_pct": 60.4, + "max_drawdown_pct": 12.7, + "trades": 154, + "win_rate": 38.3, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 195892, + "range_grid": 180487 + }, + "primary_round_only": 0, + "primary_strength_100": 112495, + "avg_primary_strength": 70.923, + "avg_primary_distance_atr": 2.263, + "avg_primary_rejection_count": 42.362, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 959, + "net_avg_r": 0.216, + "net_avg_r_ex_top5": 0.0755 + }, + "added": { + "count": 50, + "net_avg_r": -0.1081, + "net_avg_r_ex_top5": -0.3057 + }, + "removed": { + "count": 127, + "net_avg_r": 0.1075, + "net_avg_r_ex_top5": -0.1239 + } + }, + "description": "Slower traffic-strength saturation.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "strength_1000", + "config": { + "lookback_bars": null, + "grid_bins": 20, + "include_pivots": true, + "pivot_window": 2, + "touch_tolerance": 0.005, + "merge_tolerance": 0.005, + "strength_scale": 1000.0, + "zone_tolerance": 0.02, + "candidate_limit": 5, + "max_target_atr": null, + "name": "strength_1000" + }, + "candidates": 202765, + "qualified": 1159, + "qualified_net_avg_r": 0.233, + "qualified_net_avg_r_ex_top5": 0.08, + "full_book": { + "sharpe": 1.88, + "cagr_pct": 46.7, + "max_drawdown_pct": 18.5, + "trades": 338, + "win_rate": 37.0, + "avg_hold_days": 15.1, + "skipped_book_full": 10 + }, + "holdout": { + "train": { + "sharpe": 1.42, + "cagr_pct": 34.5, + "max_drawdown_pct": 18.5, + "trades": 182, + "win_rate": 34.6, + "avg_hold_days": 14.3, + "skipped_book_full": 10 + }, + "test": { + "sharpe": 2.32, + "cagr_pct": 57.0, + "max_drawdown_pct": 12.3, + "trades": 158, + "win_rate": 39.9, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_tuning", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196548, + "range_grid": 179583 + }, + "primary_round_only": 0, + "primary_strength_100": 158748, + "avg_primary_strength": 86.761, + "avg_primary_distance_atr": 2.308, + "avg_primary_rejection_count": 41.521, + "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 + }, + "cohort_vs_control": { + "retained": { + "count": 1037, + "net_avg_r": 0.2254, + "net_avg_r_ex_top5": 0.0692 + }, + "added": { + "count": 122, + "net_avg_r": 0.3009, + "net_avg_r_ex_top5": 0.1521 + }, + "removed": { + "count": 49, + "net_avg_r": 0.1417, + "net_avg_r_ex_top5": -0.0437 + } + }, + "description": "Faster traffic-strength saturation.", + "screen": { + "checks": { + "full_sharpe_not_worse": false, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": true, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + } + ], + "caveat": "The split is a robustness check, not a pristine holdout; post-2024 data has already informed earlier research.", + "completed_at": "2026-07-13T12:04:38.588817+00:00", + "advancing_arms": [], + "ranking_by_full_sharpe": [ + "control", + "touch_0_25pct", + "candidates_8", + "max_atr_8", + "pivots_none", + "touch_0", + "strength_1000", + "merge_0_25pct", + "strength_250", + "lookback_504", + "candidates_all", + "grid_12", + "zones_1pct", + "zones_3pct", + "grid_32", + "max_atr_5_5", + "lookback_756", + "merge_1pct", + "lookback_252", + "pivots_11bar" + ] +} diff --git a/reports/backtest-20260713-gtl-tuning-matrix.md b/reports/backtest-20260713-gtl-tuning-matrix.md new file mode 100644 index 0000000..60f9bff --- /dev/null +++ b/reports/backtest-20260713-gtl-tuning-matrix.md @@ -0,0 +1,32 @@ +# GTL tuning matrix + +Status: **complete** +Holdout split: `2024-07-01` +Completed arms: 20/20 + +| Arm | Full Sharpe | CAGR | Max DD | Trades | Train Sharpe | Test Sharpe | Ex-top-5% R | Screen | +|---|---:|---:|---:|---:|---:|---:|---:|---:| +| control | 2.03 | 50.0 | 21.4 | 321 | 1.28 | 2.78 | 0.049 | 0/0 | +| lookback_252 | 1.43 | 26.0 | 22.8 | 241 | 0.78 | 2.07 | 0.152 | 1/6 | +| lookback_504 | 1.75 | 38.8 | 21.4 | 289 | 1.32 | 2.20 | 0.055 | 4/6 | +| lookback_756 | 1.60 | 36.4 | 21.4 | 318 | 1.28 | 1.81 | 0.013 | 4/6 | +| candidates_8 | 1.91 | 44.5 | 18.9 | 320 | 1.44 | 2.39 | 0.024 | 4/6 | +| candidates_all | 1.74 | 39.0 | 18.9 | 322 | 1.15 | 2.31 | 0.014 | 3/6 | +| max_atr_5_5 | 1.61 | 37.0 | 23.1 | 348 | 1.15 | 2.09 | -0.011 | 1/6 | +| max_atr_8 | 1.89 | 46.3 | 19.7 | 348 | 1.51 | 2.27 | 0.003 | 4/6 | +| touch_0 | 1.88 | 45.5 | 22.0 | 321 | 1.25 | 2.48 | 0.053 | 2/6 | +| touch_0_25pct | 1.94 | 47.9 | 20.8 | 323 | 1.27 | 2.57 | 0.050 | 3/6 | +| merge_0_25pct | 1.82 | 43.4 | 20.8 | 327 | 1.78 | 1.71 | 0.062 | 4/6 | +| merge_1pct | 1.52 | 34.8 | 19.4 | 319 | 1.49 | 1.42 | 0.045 | 4/6 | +| zones_1pct | 1.71 | 38.3 | 20.3 | 291 | 1.43 | 1.91 | -0.044 | 3/6 | +| zones_3pct | 1.71 | 41.9 | 17.8 | 339 | 1.34 | 1.92 | -0.006 | 3/6 | +| grid_12 | 1.74 | 42.7 | 22.0 | 337 | 1.25 | 2.16 | 0.023 | 2/6 | +| grid_32 | 1.63 | 37.8 | 17.3 | 325 | 1.54 | 1.57 | 0.043 | 4/6 | +| pivots_none | 1.89 | 44.7 | 17.3 | 309 | 1.72 | 1.96 | 0.077 | 4/6 | +| pivots_11bar | 1.31 | 27.9 | 18.7 | 334 | 1.15 | 1.43 | 0.011 | 3/6 | +| strength_250 | 1.82 | 45.1 | 18.9 | 326 | 1.29 | 2.32 | 0.056 | 4/6 | +| strength_1000 | 1.88 | 46.7 | 18.5 | 338 | 1.42 | 2.32 | 0.080 | 4/6 | + +## Interpretation guardrail + +The post-2024 interval has already informed prior research. The train/test columns are robustness checks, not a pristine holdout. A passing arm is a candidate for forward paper validation, not automatic production promotion.