From 30fd5a029bc050539289205da524d79d36d8be3a Mon Sep 17 00:00:00 2001 From: Dennis Thiessen Date: Mon, 13 Jul 2026 15:34:48 +0200 Subject: [PATCH] done --- ...test-20260713-gtl-confirmation-matrix.json | 1321 +++++++++++++++++ ...cktest-20260713-gtl-confirmation-matrix.md | 25 + 2 files changed, 1346 insertions(+) create mode 100644 reports/backtest-20260713-gtl-confirmation-matrix.json create mode 100644 reports/backtest-20260713-gtl-confirmation-matrix.md diff --git a/reports/backtest-20260713-gtl-confirmation-matrix.json b/reports/backtest-20260713-gtl-confirmation-matrix.json new file mode 100644 index 0000000..6424f85 --- /dev/null +++ b/reports/backtest-20260713-gtl-confirmation-matrix.json @@ -0,0 +1,1321 @@ +{ + "status": "complete", + "generated_at": "2026-07-13T12:28:39.430667+00:00", + "snapshot": "/Users/taathde3/git/lab/signal_platform/backtest_snapshots/prod.sqlite", + "workers": 12, + "holdout_split": "2024-07-01", + "arm_count": 13, + "reference_matrix": "/Users/taathde3/git/lab/signal_platform/reports/backtest-20260713-gtl-tuning-matrix.json", + "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 explicit GTL; composition-path parity control.", + "screen": { + "checks": {}, + "passed": 0, + "total": 0, + "advances": false + } + }, + { + "name": "touch_intersection", + "config": { + "name": "touch_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "touch_0_25pct", + "touch_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 1049, + "qualified_net_avg_r": 0.218, + "qualified_net_avg_r_ex_top5": 0.06, + "full_book": { + "sharpe": 1.94, + "cagr_pct": 47.1, + "max_drawdown_pct": 21.7, + "trades": 323, + "win_rate": 37.8, + "avg_hold_days": 15.2, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.26, + "cagr_pct": 27.6, + "max_drawdown_pct": 21.7, + "trades": 175, + "win_rate": 34.3, + "avg_hold_days": 14.2, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.59, + "cagr_pct": 68.3, + "max_drawdown_pct": 11.7, + "trades": 152, + "win_rate": 42.1, + "avg_hold_days": 16.4, + "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": 14521, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 1049, + "net_avg_r": 0.218, + "net_avg_r_ex_top5": 0.0597 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 37, + "net_avg_r": -0.056, + "net_avg_r_ex_top5": -0.2361 + } + }, + "description": "Retain control setups also qualified with 0.25% 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_union", + "config": { + "name": "touch_union", + "mode": "union", + "confirmations": [ + { + "name": "touch_0_25pct", + "touch_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 1104, + "qualified_net_avg_r": 0.201, + "qualified_net_avg_r_ex_top5": 0.042, + "full_book": { + "sharpe": 2.01, + "cagr_pct": 50.1, + "max_drawdown_pct": 20.8, + "trades": 322, + "win_rate": 37.6, + "avg_hold_days": 15.4, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.29, + "cagr_pct": 29.0, + "max_drawdown_pct": 20.8, + "trades": 175, + "win_rate": 33.7, + "avg_hold_days": 14.3, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.73, + "cagr_pct": 73.3, + "max_drawdown_pct": 11.7, + "trades": 151, + "win_rate": 42.4, + "avg_hold_days": 16.8, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_confirmation", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196294, + "range_grid": 180057 + }, + "primary_round_only": 0, + "primary_strength_100": 138663, + "avg_primary_strength": 80.122, + "avg_primary_distance_atr": 2.295, + "avg_primary_rejection_count": 41.915, + "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": 14521, + "gtl_confirmation_tuned_additions": 190 + }, + "cohort_vs_control": { + "retained": { + "count": 1086, + "net_avg_r": 0.2086, + "net_avg_r_ex_top5": 0.0492 + }, + "added": { + "count": 18, + "net_avg_r": -0.2354, + "net_avg_r_ex_top5": -0.4229 + }, + "removed": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + } + }, + "description": "Keep control and admit additions from 0.25% touch padding.", + "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_intersection", + "config": { + "name": "strength_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": "Retain control setups also qualified at 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_union", + "config": { + "name": "strength_union", + "mode": "union", + "confirmations": [ + { + "name": "strength_1000", + "strength_scale": 1000.0 + } + ] + }, + "candidates": 202765, + "qualified": 1208, + "qualified_net_avg_r": 0.218, + "qualified_net_avg_r_ex_top5": 0.062, + "full_book": { + "sharpe": 1.91, + "cagr_pct": 47.2, + "max_drawdown_pct": 18.7, + "trades": 338, + "win_rate": 37.3, + "avg_hold_days": 15.2, + "skipped_book_full": 10 + }, + "holdout": { + "train": { + "sharpe": 1.44, + "cagr_pct": 35.7, + "max_drawdown_pct": 18.7, + "trades": 181, + "win_rate": 35.9, + "avg_hold_days": 14.7, + "skipped_book_full": 10 + }, + "test": { + "sharpe": 2.37, + "cagr_pct": 56.3, + "max_drawdown_pct": 12.3, + "trades": 161, + "win_rate": 39.8, + "avg_hold_days": 15.7, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_confirmation", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196331, + "range_grid": 180061 + }, + "primary_round_only": 0, + "primary_strength_100": 138695, + "avg_primary_strength": 80.199, + "avg_primary_distance_atr": 2.303, + "avg_primary_rejection_count": 41.872, + "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": 897 + }, + "cohort_vs_control": { + "retained": { + "count": 1086, + "net_avg_r": 0.2086, + "net_avg_r_ex_top5": 0.0492 + }, + "added": { + "count": 122, + "net_avg_r": 0.3009, + "net_avg_r_ex_top5": 0.1521 + }, + "removed": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + } + }, + "description": "Keep control and admit additions from strength scale 1000.", + "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_intersection", + "config": { + "name": "merge_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "merge_0_25pct", + "merge_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 791, + "qualified_net_avg_r": 0.238, + "qualified_net_avg_r_ex_top5": 0.071, + "full_book": { + "sharpe": 2.01, + "cagr_pct": 47.5, + "max_drawdown_pct": 18.8, + "trades": 293, + "win_rate": 39.2, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.44, + "cagr_pct": 32.3, + "max_drawdown_pct": 18.8, + "trades": 160, + "win_rate": 35.6, + "avg_hold_days": 15.0, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.56, + "cagr_pct": 62.3, + "max_drawdown_pct": 11.8, + "trades": 137, + "win_rate": 43.8, + "avg_hold_days": 17.1, + "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": 14749, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 791, + "net_avg_r": 0.2384, + "net_avg_r_ex_top5": 0.0714 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 295, + "net_avg_r": 0.1288, + "net_avg_r_ex_top5": -0.0077 + } + }, + "description": "Retain control setups also qualified with 0.25% proposal merging.", + "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_union", + "config": { + "name": "merge_union", + "mode": "union", + "confirmations": [ + { + "name": "merge_0_25pct", + "merge_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 1418, + "qualified_net_avg_r": 0.194, + "qualified_net_avg_r_ex_top5": 0.042, + "full_book": { + "sharpe": 1.72, + "cagr_pct": 41.0, + "max_drawdown_pct": 19.7, + "trades": 342, + "win_rate": 35.1, + "avg_hold_days": 15.0, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.4, + "cagr_pct": 33.4, + "max_drawdown_pct": 19.7, + "trades": 176, + "win_rate": 35.2, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.89, + "cagr_pct": 43.6, + "max_drawdown_pct": 13.7, + "trades": 171, + "win_rate": 34.5, + "avg_hold_days": 15.4, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_confirmation", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 196286, + "range_grid": 180092 + }, + "primary_round_only": 0, + "primary_strength_100": 138410, + "avg_primary_strength": 80.047, + "avg_primary_distance_atr": 2.32, + "avg_primary_rejection_count": 41.784, + "avg_raw_level_count": 54.196, + "avg_gate_level_count": 54.196, + "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": 14749, + "gtl_confirmation_tuned_additions": 5109 + }, + "cohort_vs_control": { + "retained": { + "count": 1086, + "net_avg_r": 0.2086, + "net_avg_r_ex_top5": 0.0492 + }, + "added": { + "count": 332, + "net_avg_r": 0.147, + "net_avg_r_ex_top5": 0.0123 + }, + "removed": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + } + }, + "description": "Keep control and admit additions from 0.25% proposal merging.", + "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": "grid_intersection", + "config": { + "name": "grid_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "pivots_none", + "include_pivots": false + } + ] + }, + "candidates": 202765, + "qualified": 429, + "qualified_net_avg_r": 0.214, + "qualified_net_avg_r_ex_top5": 0.069, + "full_book": { + "sharpe": 1.6, + "cagr_pct": 29.8, + "max_drawdown_pct": 13.6, + "trades": 224, + "win_rate": 40.6, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.48, + "cagr_pct": 26.5, + "max_drawdown_pct": 13.5, + "trades": 114, + "win_rate": 45.6, + "avg_hold_days": 15.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.68, + "cagr_pct": 31.9, + "max_drawdown_pct": 10.7, + "trades": 110, + "win_rate": 35.5, + "avg_hold_days": 15.3, + "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": 9980, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 429, + "net_avg_r": 0.214, + "net_avg_r_ex_top5": 0.0687 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 657, + "net_avg_r": 0.2051, + "net_avg_r_ex_top5": 0.0371 + } + }, + "description": "Retain control setups also qualified by the range grid without 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": false, + "robust_expectancy_positive": true + }, + "passed": 3, + "total": 6, + "advances": false + } + }, + { + "name": "grid_union", + "config": { + "name": "grid_union", + "mode": "union", + "confirmations": [ + { + "name": "pivots_none", + "include_pivots": false + } + ] + }, + "candidates": 202765, + "qualified": 1454, + "qualified_net_avg_r": 0.204, + "qualified_net_avg_r_ex_top5": 0.053, + "full_book": { + "sharpe": 2.05, + "cagr_pct": 54.3, + "max_drawdown_pct": 22.0, + "trades": 348, + "win_rate": 39.4, + "avg_hold_days": 15.8, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 2.06, + "cagr_pct": 58.2, + "max_drawdown_pct": 22.0, + "trades": 184, + "win_rate": 39.1, + "avg_hold_days": 15.3, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 1.95, + "cagr_pct": 47.1, + "max_drawdown_pct": 14.7, + "trades": 168, + "win_rate": 39.3, + "avg_hold_days": 16.4, + "skipped_book_full": 0 + } + }, + "gtl_diagnostics": { + "variant": "gtl_confirmation", + "candidate_count": 202765, + "primary_source_counts": { + "pivot_point": 191909, + "range_grid": 180701 + }, + "primary_round_only": 0, + "primary_strength_100": 135667, + "avg_primary_strength": 79.092, + "avg_primary_distance_atr": 2.316, + "avg_primary_rejection_count": 41.794, + "avg_raw_level_count": 52.376, + "avg_gate_level_count": 52.376, + "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": 9980, + "gtl_confirmation_tuned_additions": 4400 + }, + "cohort_vs_control": { + "retained": { + "count": 1086, + "net_avg_r": 0.2086, + "net_avg_r_ex_top5": 0.0492 + }, + "added": { + "count": 368, + "net_avg_r": 0.1893, + "net_avg_r_ex_top5": 0.0582 + }, + "removed": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + } + }, + "description": "Keep control and admit additions from the range grid without pivots.", + "screen": { + "checks": { + "full_sharpe_not_worse": true, + "train_sharpe_not_worse": true, + "test_sharpe_not_worse": false, + "drawdown_not_worse": false, + "retains_80pct_trades": true, + "robust_expectancy_positive": true + }, + "passed": 4, + "total": 6, + "advances": false + } + }, + { + "name": "touch_strength_intersection", + "config": { + "name": "touch_strength_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "touch_0_25pct", + "touch_tolerance": 0.0025 + }, + { + "name": "strength_1000", + "strength_scale": 1000.0 + } + ] + }, + "candidates": 202765, + "qualified": 1009, + "qualified_net_avg_r": 0.226, + "qualified_net_avg_r_ex_top5": 0.068, + "full_book": { + "sharpe": 1.99, + "cagr_pct": 47.9, + "max_drawdown_pct": 18.7, + "trades": 317, + "win_rate": 38.5, + "avg_hold_days": 15.3, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.35, + "cagr_pct": 29.5, + "max_drawdown_pct": 18.7, + "trades": 170, + "win_rate": 35.3, + "avg_hold_days": 14.2, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.59, + "cagr_pct": 67.5, + "max_drawdown_pct": 11.7, + "trades": 151, + "win_rate": 42.4, + "avg_hold_days": 16.4, + "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": 13712, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 1009, + "net_avg_r": 0.2261, + "net_avg_r_ex_top5": 0.068 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 77, + "net_avg_r": -0.0203, + "net_avg_r_ex_top5": -0.1954 + } + }, + "description": "Require both tighter-touch and faster-strength confirmation.", + "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_merge_intersection", + "config": { + "name": "touch_merge_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "touch_0_25pct", + "touch_tolerance": 0.0025 + }, + { + "name": "merge_0_25pct", + "merge_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 767, + "qualified_net_avg_r": 0.237, + "qualified_net_avg_r_ex_top5": 0.07, + "full_book": { + "sharpe": 1.79, + "cagr_pct": 40.5, + "max_drawdown_pct": 22.7, + "trades": 297, + "win_rate": 38.0, + "avg_hold_days": 15.5, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.18, + "cagr_pct": 24.2, + "max_drawdown_pct": 22.7, + "trades": 163, + "win_rate": 33.7, + "avg_hold_days": 14.6, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.31, + "cagr_pct": 56.1, + "max_drawdown_pct": 11.8, + "trades": 138, + "win_rate": 43.5, + "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": 9522, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 767, + "net_avg_r": 0.2371, + "net_avg_r_ex_top5": 0.0696 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 319, + "net_avg_r": 0.1402, + "net_avg_r_ex_top5": 0.0012 + } + }, + "description": "Require both tighter-touch and tighter-merge confirmation.", + "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": "strength_merge_intersection", + "config": { + "name": "strength_merge_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "strength_1000", + "strength_scale": 1000.0 + }, + { + "name": "merge_0_25pct", + "merge_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 750, + "qualified_net_avg_r": 0.235, + "qualified_net_avg_r_ex_top5": 0.067, + "full_book": { + "sharpe": 1.99, + "cagr_pct": 46.7, + "max_drawdown_pct": 17.9, + "trades": 290, + "win_rate": 39.7, + "avg_hold_days": 16.1, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.44, + "cagr_pct": 32.1, + "max_drawdown_pct": 17.9, + "trades": 158, + "win_rate": 36.1, + "avg_hold_days": 15.2, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.5, + "cagr_pct": 59.9, + "max_drawdown_pct": 11.8, + "trades": 135, + "win_rate": 44.4, + "avg_hold_days": 17.1, + "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": 9316, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 750, + "net_avg_r": 0.235, + "net_avg_r_ex_top5": 0.067 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 336, + "net_avg_r": 0.1498, + "net_avg_r_ex_top5": 0.0117 + } + }, + "description": "Require both faster-strength and tighter-merge confirmation.", + "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_strength_merge_intersection", + "config": { + "name": "touch_strength_merge_intersection", + "mode": "intersection", + "confirmations": [ + { + "name": "touch_0_25pct", + "touch_tolerance": 0.0025 + }, + { + "name": "strength_1000", + "strength_scale": 1000.0 + }, + { + "name": "merge_0_25pct", + "merge_tolerance": 0.0025 + } + ] + }, + "candidates": 202765, + "qualified": 733, + "qualified_net_avg_r": 0.238, + "qualified_net_avg_r_ex_top5": 0.071, + "full_book": { + "sharpe": 1.81, + "cagr_pct": 40.9, + "max_drawdown_pct": 21.2, + "trades": 292, + "win_rate": 40.1, + "avg_hold_days": 15.9, + "skipped_book_full": 0 + }, + "holdout": { + "train": { + "sharpe": 1.25, + "cagr_pct": 25.8, + "max_drawdown_pct": 21.2, + "trades": 159, + "win_rate": 37.1, + "avg_hold_days": 15.2, + "skipped_book_full": 0 + }, + "test": { + "sharpe": 2.28, + "cagr_pct": 54.8, + "max_drawdown_pct": 11.8, + "trades": 137, + "win_rate": 43.8, + "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": 9033, + "gtl_confirmation_tuned_additions": 0 + }, + "cohort_vs_control": { + "retained": { + "count": 733, + "net_avg_r": 0.2379, + "net_avg_r_ex_top5": 0.0712 + }, + "added": { + "count": 0, + "net_avg_r": null, + "net_avg_r_ex_top5": null + }, + "removed": { + "count": 353, + "net_avg_r": 0.1478, + "net_avg_r_ex_top5": 0.0047 + } + }, + "description": "Require all three high-breadth confirmation variants.", + "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 + } + } + ], + "control_parity": "pass", + "completed_at": "2026-07-13T13:31:05.898766+00:00", + "advancing_arms": [], + "ranking_by_full_sharpe": [ + "strength_intersection", + "grid_union", + "control", + "touch_union", + "merge_intersection", + "touch_strength_intersection", + "strength_merge_intersection", + "touch_intersection", + "strength_union", + "touch_strength_merge_intersection", + "touch_merge_intersection", + "merge_union", + "grid_intersection" + ] +} diff --git a/reports/backtest-20260713-gtl-confirmation-matrix.md b/reports/backtest-20260713-gtl-confirmation-matrix.md new file mode 100644 index 0000000..b5027df --- /dev/null +++ b/reports/backtest-20260713-gtl-confirmation-matrix.md @@ -0,0 +1,25 @@ +# GTL confirmation/union matrix + +Status: **complete** +Holdout split: `2024-07-01` +Completed arms: 13/13 + +| Arm | Mode | Qualified | Full Sharpe | CAGR | Max DD | Trades | Train Sharpe | Test Sharpe | Ex-top-5% R | Screen | +|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:| +| control | intersection | 1086 | 2.03 | 50.0 | 21.4 | 321 | 1.28 | 2.78 | 0.049 | 0/0 | +| touch_intersection | intersection | 1049 | 1.94 | 47.1 | 21.7 | 323 | 1.26 | 2.59 | 0.060 | 2/6 | +| touch_union | union | 1104 | 2.01 | 50.1 | 20.8 | 322 | 1.29 | 2.73 | 0.042 | 4/6 | +| strength_intersection | intersection | 1037 | 2.06 | 50.7 | 21.7 | 316 | 1.30 | 2.82 | 0.054 | 5/6 | +| strength_union | union | 1208 | 1.91 | 47.2 | 18.7 | 338 | 1.44 | 2.37 | 0.062 | 4/6 | +| merge_intersection | intersection | 791 | 2.01 | 47.5 | 18.8 | 293 | 1.44 | 2.56 | 0.071 | 4/6 | +| merge_union | union | 1418 | 1.72 | 41.0 | 19.7 | 342 | 1.40 | 1.89 | 0.042 | 4/6 | +| grid_intersection | intersection | 429 | 1.60 | 29.8 | 13.6 | 224 | 1.48 | 1.68 | 0.069 | 3/6 | +| grid_union | union | 1454 | 2.05 | 54.3 | 22.0 | 348 | 2.06 | 1.95 | 0.053 | 4/6 | +| touch_strength_intersection | intersection | 1009 | 1.99 | 47.9 | 18.7 | 317 | 1.35 | 2.59 | 0.068 | 4/6 | +| touch_merge_intersection | intersection | 767 | 1.79 | 40.5 | 22.7 | 297 | 1.18 | 2.31 | 0.070 | 2/6 | +| strength_merge_intersection | intersection | 750 | 1.99 | 46.7 | 17.9 | 290 | 1.44 | 2.50 | 0.067 | 4/6 | +| touch_strength_merge_intersection | intersection | 733 | 1.81 | 40.9 | 21.2 | 292 | 1.25 | 2.28 | 0.071 | 3/6 | + +## Interpretation guardrail + +Intersections test the retained control cohort; unions test control plus genuinely added setups. The post-2024 interval is a robustness check, not a pristine holdout. Passing does not authorize deployment.