{
  "generated_at": "2026-07-18T15:17:10.310517",
  "snapshot": "/Users/taathde3/git/lab/signal_platform/backtest_snapshots/prod.sqlite",
  "cadence": "daily",
  "validation_split": "2024-07-01",
  "n_trials": 20,
  "pre_registered_arm_ids": [
    "a0_control",
    "a2_hold_30",
    "a2_hold_45",
    "a2_hold_60",
    "a2_hold_90",
    "a3_vt15_c05_15_lb60",
    "a3_vt20_c05_15_lb60",
    "a3_vt25_c05_15_lb60",
    "a3_vt15_c025_20_lb60",
    "a3_vt20_c025_20_lb60",
    "a3_vt25_c025_20_lb60",
    "a3_vt20_c05_15_lb20",
    "a3_vt20_c05_15_lb126",
    "a4_next_open",
    "a5_corr06_skip",
    "a5_corr07_skip",
    "a5_corr08_skip",
    "a5_corr06_half",
    "a5_corr07_half",
    "a5_corr08_half"
  ],
  "selected_arm_ids": [
    "a0_control",
    "a2_hold_30",
    "a2_hold_45",
    "a2_hold_60",
    "a2_hold_90",
    "a3_vt15_c05_15_lb60",
    "a3_vt20_c05_15_lb60",
    "a3_vt25_c05_15_lb60",
    "a3_vt15_c025_20_lb60",
    "a3_vt20_c025_20_lb60",
    "a3_vt25_c025_20_lb60",
    "a3_vt20_c05_15_lb20",
    "a3_vt20_c05_15_lb126",
    "a4_next_open",
    "a5_corr06_skip",
    "a5_corr07_skip",
    "a5_corr08_skip",
    "a5_corr06_half",
    "a5_corr07_half",
    "a5_corr08_half"
  ],
  "entry_candidate_count": 1011248,
  "qualified_longs": 5189,
  "promotion_rule": "Promote only if validation Sharpe \u2265 control, validation DD not worse by >2pp, and train Sharpe not worse. Always report whether validation Sharpe delta exceeds 1 SE (expect most will not).",
  "fip_id_fingerprint": [
    {
      "signal": "fip_id",
      "weeks": 35,
      "avg_cross_section": 497.7,
      "mean_ic": -0.045,
      "ic_t_stat": -2.92,
      "ic_positive_pct": 25.7,
      "mean_quintile_spread": -0.0167,
      "reliable": true
    }
  ],
  "arms": [
    {
      "id": "a0_control",
      "group": "a0",
      "label": "Control: close fill, hold 30, risk 1%, no corr/vol",
      "config": {
        "hold_days": 30,
        "fill_mode": "close"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.7448,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 23706.04,
          "total_return_pct": 137.1,
          "cagr_pct": 49.8,
          "max_drawdown_pct": 17.9,
          "calmar": 2.78,
          "sharpe": 1.75,
          "sharpe_se": 0.675,
          "psr": 0.9953,
          "n_returns": 535,
          "return_skew": 0.4266,
          "return_kurtosis": 4.9374,
          "trades": 240,
          "win_rate": 36.7,
          "avg_trade_pnl": 57.11,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 2008.56,
          "worst_trade_pnl": -561.69,
          "avg_hold_days": 15.3,
          "exit_reasons": {
            "stop": 112,
            "time": 53,
            "trailing_stop": 75
          },
          "skipped_book_full": 327,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 78.1
            },
            {
              "year": 2024,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "post_stop_events": 112,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "validation",
          "dsr": 0.6786,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20060.98,
          "total_return_pct": 100.6,
          "cagr_pct": 41.6,
          "max_drawdown_pct": 20.9,
          "calmar": 1.99,
          "sharpe": 1.68,
          "sharpe_se": 0.716,
          "psr": 0.9905,
          "n_returns": 502,
          "return_skew": -0.0866,
          "return_kurtosis": 4.395,
          "trades": 239,
          "win_rate": 35.1,
          "avg_trade_pnl": 42.1,
          "best_trade_r": 12.03,
          "worst_trade_r": -2.82,
          "best_trade_pnl": 2012.72,
          "worst_trade_pnl": -330.01,
          "avg_hold_days": 14.0,
          "exit_reasons": {
            "stop": 121,
            "time": 44,
            "trailing_stop": 74
          },
          "skipped_book_full": 207,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.7
            },
            {
              "year": 2025,
              "return_pct": 50.3
            },
            {
              "year": 2026,
              "return_pct": 14.5
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "post_stop_events": 121,
          "post_stop_reentries": 63,
          "post_stop_states_open_at_end": 58
        },
        {
          "window": "full",
          "dsr": 0.9507,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 48810.86,
          "total_return_pct": 388.1,
          "cagr_pct": 48.3,
          "max_drawdown_pct": 21.6,
          "calmar": 2.23,
          "sharpe": 1.77,
          "sharpe_se": 0.496,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.2714,
          "return_kurtosis": 4.9751,
          "trades": 472,
          "win_rate": 36.2,
          "avg_trade_pnl": 82.23,
          "best_trade_r": 12.03,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 4897.19,
          "worst_trade_pnl": -802.94,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 229,
            "time": 96,
            "trailing_stop": 147
          },
          "skipped_book_full": 519,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 78.1
            },
            {
              "year": 2024,
              "return_pct": 42.5
            },
            {
              "year": 2025,
              "return_pct": 50.3
            },
            {
              "year": 2026,
              "return_pct": 14.5
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "post_stop_events": 229,
          "post_stop_reentries": 142,
          "post_stop_states_open_at_end": 87
        }
      ]
    },
    {
      "id": "a2_hold_30",
      "group": "a2",
      "label": "Max hold 30",
      "config": {
        "hold_days": 30
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.7448,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 23706.04,
          "total_return_pct": 137.1,
          "cagr_pct": 49.8,
          "max_drawdown_pct": 17.9,
          "calmar": 2.78,
          "sharpe": 1.75,
          "sharpe_se": 0.675,
          "psr": 0.9953,
          "n_returns": 535,
          "return_skew": 0.4266,
          "return_kurtosis": 4.9374,
          "trades": 240,
          "win_rate": 36.7,
          "avg_trade_pnl": 57.11,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 2008.56,
          "worst_trade_pnl": -561.69,
          "avg_hold_days": 15.3,
          "exit_reasons": {
            "stop": 112,
            "time": 53,
            "trailing_stop": 75
          },
          "skipped_book_full": 327,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 78.1
            },
            {
              "year": 2024,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "post_stop_events": 112,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "validation",
          "dsr": 0.6786,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20060.98,
          "total_return_pct": 100.6,
          "cagr_pct": 41.6,
          "max_drawdown_pct": 20.9,
          "calmar": 1.99,
          "sharpe": 1.68,
          "sharpe_se": 0.716,
          "psr": 0.9905,
          "n_returns": 502,
          "return_skew": -0.0866,
          "return_kurtosis": 4.395,
          "trades": 239,
          "win_rate": 35.1,
          "avg_trade_pnl": 42.1,
          "best_trade_r": 12.03,
          "worst_trade_r": -2.82,
          "best_trade_pnl": 2012.72,
          "worst_trade_pnl": -330.01,
          "avg_hold_days": 14.0,
          "exit_reasons": {
            "stop": 121,
            "time": 44,
            "trailing_stop": 74
          },
          "skipped_book_full": 207,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.7
            },
            {
              "year": 2025,
              "return_pct": 50.3
            },
            {
              "year": 2026,
              "return_pct": 14.5
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "post_stop_events": 121,
          "post_stop_reentries": 63,
          "post_stop_states_open_at_end": 58
        },
        {
          "window": "full",
          "dsr": 0.9507,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 48810.86,
          "total_return_pct": 388.1,
          "cagr_pct": 48.3,
          "max_drawdown_pct": 21.6,
          "calmar": 2.23,
          "sharpe": 1.77,
          "sharpe_se": 0.496,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.2714,
          "return_kurtosis": 4.9751,
          "trades": 472,
          "win_rate": 36.2,
          "avg_trade_pnl": 82.23,
          "best_trade_r": 12.03,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 4897.19,
          "worst_trade_pnl": -802.94,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 229,
            "time": 96,
            "trailing_stop": 147
          },
          "skipped_book_full": 519,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 78.1
            },
            {
              "year": 2024,
              "return_pct": 42.5
            },
            {
              "year": 2025,
              "return_pct": 50.3
            },
            {
              "year": 2026,
              "return_pct": 14.5
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "post_stop_events": 229,
          "post_stop_reentries": 142,
          "post_stop_states_open_at_end": 87
        }
      ]
    },
    {
      "id": "a2_hold_45",
      "group": "a2",
      "label": "Max hold 45",
      "config": {
        "hold_days": 45
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.5832,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19755.4,
          "total_return_pct": 97.6,
          "cagr_pct": 36.4,
          "max_drawdown_pct": 21.2,
          "calmar": 1.72,
          "sharpe": 1.43,
          "sharpe_se": 0.677,
          "psr": 0.9827,
          "n_returns": 550,
          "return_skew": 0.0829,
          "return_kurtosis": 3.5002,
          "trades": 218,
          "win_rate": 34.9,
          "avg_trade_pnl": 44.75,
          "best_trade_r": 11.65,
          "worst_trade_r": -2.59,
          "best_trade_pnl": 1579.96,
          "worst_trade_pnl": -365.67,
          "avg_hold_days": 17.4,
          "exit_reasons": {
            "stop": 102,
            "time": 22,
            "trailing_stop": 94
          },
          "skipped_book_full": 595,
          "spy_return_pct": 41.5,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.8
            },
            {
              "year": 2023,
              "return_pct": 76.6
            },
            {
              "year": 2024,
              "return_pct": 18.9
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-09-03",
          "post_stop_events": 102,
          "post_stop_reentries": 53,
          "post_stop_states_open_at_end": 49
        },
        {
          "window": "validation",
          "dsr": 0.8495,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 25321.71,
          "total_return_pct": 153.2,
          "cagr_pct": 59.1,
          "max_drawdown_pct": 19.3,
          "calmar": 3.07,
          "sharpe": 2.07,
          "sharpe_se": 0.698,
          "psr": 0.9985,
          "n_returns": 502,
          "return_skew": 0.3971,
          "return_kurtosis": 5.7963,
          "trades": 202,
          "win_rate": 36.1,
          "avg_trade_pnl": 75.85,
          "best_trade_r": 26.57,
          "worst_trade_r": -1.92,
          "best_trade_pnl": 3989.15,
          "worst_trade_pnl": -297.34,
          "avg_hold_days": 16.9,
          "exit_reasons": {
            "stop": 96,
            "time": 19,
            "trailing_stop": 87
          },
          "skipped_book_full": 275,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 33.9
            },
            {
              "year": 2025,
              "return_pct": 54.7
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "post_stop_events": 96,
          "post_stop_reentries": 47,
          "post_stop_states_open_at_end": 49
        },
        {
          "window": "full",
          "dsr": 0.9524,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 49958.07,
          "total_return_pct": 399.6,
          "cagr_pct": 49.2,
          "max_drawdown_pct": 21.2,
          "calmar": 2.32,
          "sharpe": 1.78,
          "sharpe_se": 0.497,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.2269,
          "return_kurtosis": 4.6832,
          "trades": 415,
          "win_rate": 35.2,
          "avg_trade_pnl": 96.28,
          "best_trade_r": 26.57,
          "worst_trade_r": -2.59,
          "best_trade_pnl": 7870.33,
          "worst_trade_pnl": -586.62,
          "avg_hold_days": 17.1,
          "exit_reasons": {
            "stop": 195,
            "time": 39,
            "trailing_stop": 181
          },
          "skipped_book_full": 870,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.8
            },
            {
              "year": 2023,
              "return_pct": 76.6
            },
            {
              "year": 2024,
              "return_pct": 58.9
            },
            {
              "year": 2025,
              "return_pct": 54.7
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "post_stop_events": 195,
          "post_stop_reentries": 123,
          "post_stop_states_open_at_end": 72
        }
      ]
    },
    {
      "id": "a2_hold_60",
      "group": "a2",
      "label": "Max hold 60",
      "config": {
        "hold_days": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.4051,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 16925.56,
          "total_return_pct": 69.3,
          "cagr_pct": 26.3,
          "max_drawdown_pct": 21.0,
          "calmar": 1.25,
          "sharpe": 1.11,
          "sharpe_se": 0.668,
          "psr": 0.9523,
          "n_returns": 565,
          "return_skew": 0.0582,
          "return_kurtosis": 3.2911,
          "trades": 186,
          "win_rate": 37.1,
          "avg_trade_pnl": 37.23,
          "best_trade_r": 16.03,
          "worst_trade_r": -2.59,
          "best_trade_pnl": 1398.56,
          "worst_trade_pnl": -321.33,
          "avg_hold_days": 18.7,
          "exit_reasons": {
            "stop": 87,
            "time": 7,
            "trailing_stop": 92
          },
          "skipped_book_full": 286,
          "spy_return_pct": 46.5,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.5
            },
            {
              "year": 2023,
              "return_pct": 66.9
            },
            {
              "year": 2024,
              "return_pct": 7.5
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-09-24",
          "post_stop_events": 87,
          "post_stop_reentries": 45,
          "post_stop_states_open_at_end": 42
        },
        {
          "window": "validation",
          "dsr": 0.8667,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 27225.08,
          "total_return_pct": 172.3,
          "cagr_pct": 64.9,
          "max_drawdown_pct": 19.3,
          "calmar": 3.37,
          "sharpe": 2.12,
          "sharpe_se": 0.695,
          "psr": 0.9989,
          "n_returns": 502,
          "return_skew": 0.4856,
          "return_kurtosis": 6.4287,
          "trades": 201,
          "win_rate": 36.8,
          "avg_trade_pnl": 85.7,
          "best_trade_r": 40.13,
          "worst_trade_r": -2.86,
          "best_trade_pnl": 4258.45,
          "worst_trade_pnl": -548.9,
          "avg_hold_days": 17.7,
          "exit_reasons": {
            "open_at_end": 1,
            "stop": 100,
            "time": 12,
            "trailing_stop": 88
          },
          "skipped_book_full": 366,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 44.7
            },
            {
              "year": 2025,
              "return_pct": 61.9
            },
            {
              "year": 2026,
              "return_pct": 16.3
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "post_stop_events": 100,
          "post_stop_reentries": 49,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "full",
          "dsr": 0.91,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 44405.75,
          "total_return_pct": 344.1,
          "cagr_pct": 44.9,
          "max_drawdown_pct": 21.0,
          "calmar": 2.14,
          "sharpe": 1.62,
          "sharpe_se": 0.499,
          "psr": 0.9994,
          "n_returns": 1008,
          "return_skew": 0.1398,
          "return_kurtosis": 4.5028,
          "trades": 385,
          "win_rate": 36.9,
          "avg_trade_pnl": 89.37,
          "best_trade_r": 40.13,
          "worst_trade_r": -2.86,
          "best_trade_pnl": 6945.79,
          "worst_trade_pnl": -895.28,
          "avg_hold_days": 18.2,
          "exit_reasons": {
            "open_at_end": 1,
            "stop": 186,
            "time": 19,
            "trailing_stop": 179
          },
          "skipped_book_full": 652,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.5
            },
            {
              "year": 2023,
              "return_pct": 66.9
            },
            {
              "year": 2024,
              "return_pct": 49.8
            },
            {
              "year": 2025,
              "return_pct": 61.9
            },
            {
              "year": 2026,
              "return_pct": 16.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "post_stop_events": 186,
          "post_stop_reentries": 113,
          "post_stop_states_open_at_end": 73
        }
      ]
    },
    {
      "id": "a2_hold_90",
      "group": "a2",
      "label": "Max hold 90",
      "config": {
        "hold_days": 90
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.5379,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 18864.58,
          "total_return_pct": 88.6,
          "cagr_pct": 30.7,
          "max_drawdown_pct": 21.0,
          "calmar": 1.47,
          "sharpe": 1.3,
          "sharpe_se": 0.652,
          "psr": 0.9769,
          "n_returns": 595,
          "return_skew": 0.0227,
          "return_kurtosis": 3.5498,
          "trades": 179,
          "win_rate": 38.0,
          "avg_trade_pnl": 49.52,
          "best_trade_r": 14.64,
          "worst_trade_r": -2.59,
          "best_trade_pnl": 1481.51,
          "worst_trade_pnl": -355.87,
          "avg_hold_days": 19.5,
          "exit_reasons": {
            "stop": 82,
            "time": 1,
            "trailing_stop": 96
          },
          "skipped_book_full": 286,
          "spy_return_pct": 47.8,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.5
            },
            {
              "year": 2023,
              "return_pct": 70.1
            },
            {
              "year": 2024,
              "return_pct": 17.5
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-11-05",
          "post_stop_events": 82,
          "post_stop_reentries": 41,
          "post_stop_states_open_at_end": 41
        },
        {
          "window": "validation",
          "dsr": 0.8348,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 26180.66,
          "total_return_pct": 161.8,
          "cagr_pct": 61.8,
          "max_drawdown_pct": 23.1,
          "calmar": 2.67,
          "sharpe": 2.04,
          "sharpe_se": 0.711,
          "psr": 0.998,
          "n_returns": 502,
          "return_skew": 0.1382,
          "return_kurtosis": 6.6872,
          "trades": 191,
          "win_rate": 34.6,
          "avg_trade_pnl": 84.72,
          "best_trade_r": 34.25,
          "worst_trade_r": -3.75,
          "best_trade_pnl": 4290.25,
          "worst_trade_pnl": -387.4,
          "avg_hold_days": 18.2,
          "exit_reasons": {
            "stop": 97,
            "time": 2,
            "trailing_stop": 92
          },
          "skipped_book_full": 392,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 38.5
            },
            {
              "year": 2025,
              "return_pct": 71.0
            },
            {
              "year": 2026,
              "return_pct": 10.6
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "post_stop_events": 97,
          "post_stop_reentries": 52,
          "post_stop_states_open_at_end": 45
        },
        {
          "window": "full",
          "dsr": 0.9236,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 46896.64,
          "total_return_pct": 369.0,
          "cagr_pct": 46.8,
          "max_drawdown_pct": 23.5,
          "calmar": 1.99,
          "sharpe": 1.67,
          "sharpe_se": 0.503,
          "psr": 0.9996,
          "n_returns": 1008,
          "return_skew": 0.0159,
          "return_kurtosis": 5.2177,
          "trades": 367,
          "win_rate": 35.7,
          "avg_trade_pnl": 100.54,
          "best_trade_r": 34.25,
          "worst_trade_r": -3.75,
          "best_trade_pnl": 7685.0,
          "worst_trade_pnl": -693.94,
          "avg_hold_days": 18.7,
          "exit_reasons": {
            "stop": 178,
            "time": 3,
            "trailing_stop": 186
          },
          "skipped_book_full": 678,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": -5.5
            },
            {
              "year": 2023,
              "return_pct": 70.1
            },
            {
              "year": 2024,
              "return_pct": 54.4
            },
            {
              "year": 2025,
              "return_pct": 71.0
            },
            {
              "year": 2026,
              "return_pct": 10.6
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "post_stop_events": 178,
          "post_stop_reentries": 110,
          "post_stop_states_open_at_end": 68
        }
      ]
    },
    {
      "id": "a3_vt15_c05_15_lb60",
      "group": "a3",
      "label": "Vol target 15% clamp[0.5,1.5] lb60",
      "config": {
        "vol_target": 0.15,
        "vol_clamp": [
          0.5,
          1.5
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6359,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19815.66,
          "total_return_pct": 98.2,
          "cagr_pct": 37.7,
          "max_drawdown_pct": 17.8,
          "calmar": 2.12,
          "sharpe": 1.54,
          "sharpe_se": 0.674,
          "psr": 0.9887,
          "n_returns": 535,
          "return_skew": 0.5013,
          "return_kurtosis": 5.3503,
          "trades": 283,
          "win_rate": 37.1,
          "avg_trade_pnl": 34.68,
          "best_trade_r": 10.08,
          "worst_trade_r": -3.26,
          "best_trade_pnl": 846.53,
          "worst_trade_pnl": -257.26,
          "avg_hold_days": 15.2,
          "exit_reasons": {
            "stop": 127,
            "time": 62,
            "trailing_stop": 94
          },
          "skipped_book_full": 1044,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.9
            },
            {
              "year": 2023,
              "return_pct": 49.2
            },
            {
              "year": 2024,
              "return_pct": 22.0
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.7686,
          "vol_scalar_entries": 1376,
          "post_stop_events": 127,
          "post_stop_reentries": 81,
          "post_stop_states_open_at_end": 46
        },
        {
          "window": "validation",
          "dsr": 0.44,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 15850.9,
          "total_return_pct": 58.5,
          "cagr_pct": 25.9,
          "max_drawdown_pct": 23.6,
          "calmar": 1.1,
          "sharpe": 1.24,
          "sharpe_se": 0.715,
          "psr": 0.9585,
          "n_returns": 502,
          "return_skew": -0.1415,
          "return_kurtosis": 4.4243,
          "trades": 268,
          "win_rate": 35.4,
          "avg_trade_pnl": 21.83,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1375.72,
          "worst_trade_pnl": -377.92,
          "avg_hold_days": 14.3,
          "exit_reasons": {
            "stop": 138,
            "time": 50,
            "trailing_stop": 80
          },
          "skipped_book_full": 350,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 15.7
            },
            {
              "year": 2025,
              "return_pct": 23.6
            },
            {
              "year": 2026,
              "return_pct": 10.9
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.7983,
          "vol_scalar_entries": 731,
          "post_stop_events": 138,
          "post_stop_reentries": 77,
          "post_stop_states_open_at_end": 61
        },
        {
          "window": "full",
          "dsr": 0.8325,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 31341.46,
          "total_return_pct": 213.4,
          "cagr_pct": 32.8,
          "max_drawdown_pct": 23.1,
          "calmar": 1.42,
          "sharpe": 1.43,
          "sharpe_se": 0.497,
          "psr": 0.998,
          "n_returns": 1008,
          "return_skew": 0.2493,
          "return_kurtosis": 5.1137,
          "trades": 544,
          "win_rate": 36.6,
          "avg_trade_pnl": 39.23,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 2720.13,
          "worst_trade_pnl": -751.53,
          "avg_hold_days": 14.8,
          "exit_reasons": {
            "stop": 260,
            "time": 112,
            "trailing_stop": 172
          },
          "skipped_book_full": 1394,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.9
            },
            {
              "year": 2023,
              "return_pct": 49.2
            },
            {
              "year": 2024,
              "return_pct": 40.8
            },
            {
              "year": 2025,
              "return_pct": 23.6
            },
            {
              "year": 2026,
              "return_pct": 10.9
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.77,
          "vol_scalar_entries": 2092,
          "post_stop_events": 260,
          "post_stop_reentries": 176,
          "post_stop_states_open_at_end": 84
        }
      ]
    },
    {
      "id": "a3_vt20_c05_15_lb60",
      "group": "a3",
      "label": "Vol target 20% clamp[0.5,1.5] lb60",
      "config": {
        "vol_target": 0.2,
        "vol_clamp": [
          0.5,
          1.5
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6858,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 21573.25,
          "total_return_pct": 115.7,
          "cagr_pct": 43.3,
          "max_drawdown_pct": 17.7,
          "calmar": 2.45,
          "sharpe": 1.63,
          "sharpe_se": 0.67,
          "psr": 0.9924,
          "n_returns": 535,
          "return_skew": 0.5966,
          "return_kurtosis": 5.7904,
          "trades": 257,
          "win_rate": 35.8,
          "avg_trade_pnl": 45.03,
          "best_trade_r": 9.84,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1629.41,
          "worst_trade_pnl": -509.82,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 124,
            "time": 57,
            "trailing_stop": 76
          },
          "skipped_book_full": 591,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.2
            },
            {
              "year": 2023,
              "return_pct": 67.8
            },
            {
              "year": 2024,
              "return_pct": 18.9
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.8951,
          "vol_scalar_entries": 1872,
          "post_stop_events": 124,
          "post_stop_reentries": 72,
          "post_stop_states_open_at_end": 52
        },
        {
          "window": "validation",
          "dsr": 0.5732,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 18152.75,
          "total_return_pct": 81.5,
          "cagr_pct": 34.7,
          "max_drawdown_pct": 23.7,
          "calmar": 1.46,
          "sharpe": 1.48,
          "sharpe_se": 0.715,
          "psr": 0.9805,
          "n_returns": 502,
          "return_skew": -0.0903,
          "return_kurtosis": 4.4154,
          "trades": 248,
          "win_rate": 35.5,
          "avg_trade_pnl": 32.87,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1883.4,
          "worst_trade_pnl": -476.87,
          "avg_hold_days": 14.2,
          "exit_reasons": {
            "stop": 128,
            "time": 46,
            "trailing_stop": 74
          },
          "skipped_book_full": 214,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.5
            },
            {
              "year": 2025,
              "return_pct": 30.9
            },
            {
              "year": 2026,
              "return_pct": 19.1
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.9179,
          "vol_scalar_entries": 899,
          "post_stop_events": 128,
          "post_stop_reentries": 66,
          "post_stop_states_open_at_end": 62
        },
        {
          "window": "full",
          "dsr": 0.9017,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 39241.25,
          "total_return_pct": 292.4,
          "cagr_pct": 40.5,
          "max_drawdown_pct": 23.5,
          "calmar": 1.72,
          "sharpe": 1.59,
          "sharpe_se": 0.495,
          "psr": 0.9994,
          "n_returns": 1008,
          "return_skew": 0.3155,
          "return_kurtosis": 5.3435,
          "trades": 498,
          "win_rate": 36.1,
          "avg_trade_pnl": 58.72,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 4071.06,
          "worst_trade_pnl": -1030.94,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 246,
            "time": 103,
            "trailing_stop": 149
          },
          "skipped_book_full": 796,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.2
            },
            {
              "year": 2023,
              "return_pct": 67.8
            },
            {
              "year": 2024,
              "return_pct": 38.9
            },
            {
              "year": 2025,
              "return_pct": 30.8
            },
            {
              "year": 2026,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.9026,
          "vol_scalar_entries": 2765,
          "post_stop_events": 246,
          "post_stop_reentries": 155,
          "post_stop_states_open_at_end": 91
        }
      ]
    },
    {
      "id": "a3_vt25_c05_15_lb60",
      "group": "a3",
      "label": "Vol target 25% clamp[0.5,1.5] lb60",
      "config": {
        "vol_target": 0.25,
        "vol_clamp": [
          0.5,
          1.5
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.7115,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 22903.39,
          "total_return_pct": 129.0,
          "cagr_pct": 47.4,
          "max_drawdown_pct": 17.8,
          "calmar": 2.66,
          "sharpe": 1.68,
          "sharpe_se": 0.671,
          "psr": 0.994,
          "n_returns": 535,
          "return_skew": 0.5537,
          "return_kurtosis": 5.5838,
          "trades": 239,
          "win_rate": 38.5,
          "avg_trade_pnl": 53.99,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1662.58,
          "worst_trade_pnl": -542.69,
          "avg_hold_days": 15.6,
          "exit_reasons": {
            "stop": 108,
            "time": 53,
            "trailing_stop": 78
          },
          "skipped_book_full": 522,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 79.6
            },
            {
              "year": 2024,
              "return_pct": 17.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 1.0502,
          "vol_scalar_entries": 1935,
          "post_stop_events": 108,
          "post_stop_reentries": 60,
          "post_stop_states_open_at_end": 48
        },
        {
          "window": "validation",
          "dsr": 0.6552,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20145.1,
          "total_return_pct": 101.5,
          "cagr_pct": 41.9,
          "max_drawdown_pct": 21.8,
          "calmar": 1.93,
          "sharpe": 1.63,
          "sharpe_se": 0.706,
          "psr": 0.9896,
          "n_returns": 502,
          "return_skew": 0.2159,
          "return_kurtosis": 5.4845,
          "trades": 235,
          "win_rate": 34.9,
          "avg_trade_pnl": 43.17,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.72,
          "best_trade_pnl": 2530.57,
          "worst_trade_pnl": -319.31,
          "avg_hold_days": 14.2,
          "exit_reasons": {
            "stop": 116,
            "time": 42,
            "trailing_stop": 77
          },
          "skipped_book_full": 206,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 17.6
            },
            {
              "year": 2025,
              "return_pct": 40.1
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 1.0686,
          "vol_scalar_entries": 925,
          "post_stop_events": 116,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 55
        },
        {
          "window": "full",
          "dsr": 0.9482,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 49076.18,
          "total_return_pct": 390.8,
          "cagr_pct": 48.5,
          "max_drawdown_pct": 22.2,
          "calmar": 2.19,
          "sharpe": 1.75,
          "sharpe_se": 0.491,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.4786,
          "return_kurtosis": 5.7551,
          "trades": 468,
          "win_rate": 37.2,
          "avg_trade_pnl": 83.5,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 6162.57,
          "worst_trade_pnl": -778.05,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 220,
            "time": 95,
            "trailing_stop": 153
          },
          "skipped_book_full": 728,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 79.6
            },
            {
              "year": 2024,
              "return_pct": 47.7
            },
            {
              "year": 2025,
              "return_pct": 38.9
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 1.06,
          "vol_scalar_entries": 2874,
          "post_stop_events": 220,
          "post_stop_reentries": 139,
          "post_stop_states_open_at_end": 81
        }
      ]
    },
    {
      "id": "a3_vt15_c025_20_lb60",
      "group": "a3",
      "label": "Vol target 15% clamp[0.25,2.0] lb60",
      "config": {
        "vol_target": 0.15,
        "vol_clamp": [
          0.25,
          2.0
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6835,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20615.2,
          "total_return_pct": 106.2,
          "cagr_pct": 40.3,
          "max_drawdown_pct": 17.8,
          "calmar": 2.26,
          "sharpe": 1.63,
          "sharpe_se": 0.679,
          "psr": 0.9919,
          "n_returns": 535,
          "return_skew": 0.3291,
          "return_kurtosis": 4.5805,
          "trades": 281,
          "win_rate": 38.1,
          "avg_trade_pnl": 37.78,
          "best_trade_r": 9.84,
          "worst_trade_r": -3.26,
          "best_trade_pnl": 854.5,
          "worst_trade_pnl": -268.17,
          "avg_hold_days": 15.4,
          "exit_reasons": {
            "stop": 123,
            "time": 62,
            "trailing_stop": 96
          },
          "skipped_book_full": 1136,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 55.3
            },
            {
              "year": 2024,
              "return_pct": 22.0
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.7755,
          "vol_scalar_entries": 1257,
          "post_stop_events": 123,
          "post_stop_reentries": 76,
          "post_stop_states_open_at_end": 47
        },
        {
          "window": "validation",
          "dsr": 0.44,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 15850.9,
          "total_return_pct": 58.5,
          "cagr_pct": 25.9,
          "max_drawdown_pct": 23.6,
          "calmar": 1.1,
          "sharpe": 1.24,
          "sharpe_se": 0.715,
          "psr": 0.9585,
          "n_returns": 502,
          "return_skew": -0.1415,
          "return_kurtosis": 4.4243,
          "trades": 268,
          "win_rate": 35.4,
          "avg_trade_pnl": 21.83,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1375.72,
          "worst_trade_pnl": -377.92,
          "avg_hold_days": 14.3,
          "exit_reasons": {
            "stop": 138,
            "time": 50,
            "trailing_stop": 80
          },
          "skipped_book_full": 350,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 15.7
            },
            {
              "year": 2025,
              "return_pct": 23.6
            },
            {
              "year": 2026,
              "return_pct": 10.9
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.7983,
          "vol_scalar_entries": 731,
          "post_stop_events": 138,
          "post_stop_reentries": 77,
          "post_stop_states_open_at_end": 61
        },
        {
          "window": "full",
          "dsr": 0.86,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 32607.63,
          "total_return_pct": 226.1,
          "cagr_pct": 34.2,
          "max_drawdown_pct": 23.1,
          "calmar": 1.48,
          "sharpe": 1.49,
          "sharpe_se": 0.499,
          "psr": 0.9985,
          "n_returns": 1008,
          "return_skew": 0.1399,
          "return_kurtosis": 4.6022,
          "trades": 542,
          "win_rate": 37.1,
          "avg_trade_pnl": 41.71,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 2830.02,
          "worst_trade_pnl": -781.89,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 256,
            "time": 112,
            "trailing_stop": 174
          },
          "skipped_book_full": 1486,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 55.3
            },
            {
              "year": 2024,
              "return_pct": 40.7
            },
            {
              "year": 2025,
              "return_pct": 23.6
            },
            {
              "year": 2026,
              "return_pct": 10.9
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.15,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.7744,
          "vol_scalar_entries": 1973,
          "post_stop_events": 256,
          "post_stop_reentries": 169,
          "post_stop_states_open_at_end": 87
        }
      ]
    },
    {
      "id": "a3_vt20_c025_20_lb60",
      "group": "a3",
      "label": "Vol target 20% clamp[0.25,2.0] lb60",
      "config": {
        "vol_target": 0.2,
        "vol_clamp": [
          0.25,
          2.0
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6858,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 21573.25,
          "total_return_pct": 115.7,
          "cagr_pct": 43.3,
          "max_drawdown_pct": 17.7,
          "calmar": 2.45,
          "sharpe": 1.63,
          "sharpe_se": 0.67,
          "psr": 0.9924,
          "n_returns": 535,
          "return_skew": 0.5966,
          "return_kurtosis": 5.7904,
          "trades": 257,
          "win_rate": 35.8,
          "avg_trade_pnl": 45.03,
          "best_trade_r": 9.84,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1629.41,
          "worst_trade_pnl": -509.82,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 124,
            "time": 57,
            "trailing_stop": 76
          },
          "skipped_book_full": 591,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.2
            },
            {
              "year": 2023,
              "return_pct": 67.8
            },
            {
              "year": 2024,
              "return_pct": 18.9
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.8951,
          "vol_scalar_entries": 1872,
          "post_stop_events": 124,
          "post_stop_reentries": 72,
          "post_stop_states_open_at_end": 52
        },
        {
          "window": "validation",
          "dsr": 0.5732,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 18152.75,
          "total_return_pct": 81.5,
          "cagr_pct": 34.7,
          "max_drawdown_pct": 23.7,
          "calmar": 1.46,
          "sharpe": 1.48,
          "sharpe_se": 0.715,
          "psr": 0.9805,
          "n_returns": 502,
          "return_skew": -0.0903,
          "return_kurtosis": 4.4154,
          "trades": 248,
          "win_rate": 35.5,
          "avg_trade_pnl": 32.87,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1883.4,
          "worst_trade_pnl": -476.87,
          "avg_hold_days": 14.2,
          "exit_reasons": {
            "stop": 128,
            "time": 46,
            "trailing_stop": 74
          },
          "skipped_book_full": 214,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.5
            },
            {
              "year": 2025,
              "return_pct": 30.9
            },
            {
              "year": 2026,
              "return_pct": 19.1
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.9179,
          "vol_scalar_entries": 899,
          "post_stop_events": 128,
          "post_stop_reentries": 66,
          "post_stop_states_open_at_end": 62
        },
        {
          "window": "full",
          "dsr": 0.9017,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 39241.25,
          "total_return_pct": 292.4,
          "cagr_pct": 40.5,
          "max_drawdown_pct": 23.5,
          "calmar": 1.72,
          "sharpe": 1.59,
          "sharpe_se": 0.495,
          "psr": 0.9994,
          "n_returns": 1008,
          "return_skew": 0.3155,
          "return_kurtosis": 5.3435,
          "trades": 498,
          "win_rate": 36.1,
          "avg_trade_pnl": 58.72,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 4071.06,
          "worst_trade_pnl": -1030.94,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 246,
            "time": 103,
            "trailing_stop": 149
          },
          "skipped_book_full": 796,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.2
            },
            {
              "year": 2023,
              "return_pct": 67.8
            },
            {
              "year": 2024,
              "return_pct": 38.9
            },
            {
              "year": 2025,
              "return_pct": 30.8
            },
            {
              "year": 2026,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 0.9026,
          "vol_scalar_entries": 2765,
          "post_stop_events": 246,
          "post_stop_reentries": 155,
          "post_stop_states_open_at_end": 91
        }
      ]
    },
    {
      "id": "a3_vt25_c025_20_lb60",
      "group": "a3",
      "label": "Vol target 25% clamp[0.25,2.0] lb60",
      "config": {
        "vol_target": 0.25,
        "vol_clamp": [
          0.25,
          2.0
        ],
        "vol_lookback": 60
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.7115,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 22922.59,
          "total_return_pct": 129.2,
          "cagr_pct": 47.5,
          "max_drawdown_pct": 17.8,
          "calmar": 2.66,
          "sharpe": 1.68,
          "sharpe_se": 0.671,
          "psr": 0.994,
          "n_returns": 535,
          "return_skew": 0.5629,
          "return_kurtosis": 5.6268,
          "trades": 239,
          "win_rate": 38.5,
          "avg_trade_pnl": 54.07,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1664.73,
          "worst_trade_pnl": -543.15,
          "avg_hold_days": 15.6,
          "exit_reasons": {
            "stop": 108,
            "time": 53,
            "trailing_stop": 78
          },
          "skipped_book_full": 522,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 79.8
            },
            {
              "year": 2024,
              "return_pct": 17.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 1.0511,
          "vol_scalar_entries": 1935,
          "post_stop_events": 108,
          "post_stop_reentries": 60,
          "post_stop_states_open_at_end": 48
        },
        {
          "window": "validation",
          "dsr": 0.6552,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20145.1,
          "total_return_pct": 101.5,
          "cagr_pct": 41.9,
          "max_drawdown_pct": 21.8,
          "calmar": 1.93,
          "sharpe": 1.63,
          "sharpe_se": 0.706,
          "psr": 0.9896,
          "n_returns": 502,
          "return_skew": 0.2159,
          "return_kurtosis": 5.4845,
          "trades": 235,
          "win_rate": 34.9,
          "avg_trade_pnl": 43.17,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.72,
          "best_trade_pnl": 2530.57,
          "worst_trade_pnl": -319.31,
          "avg_hold_days": 14.2,
          "exit_reasons": {
            "stop": 116,
            "time": 42,
            "trailing_stop": 77
          },
          "skipped_book_full": 206,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 17.6
            },
            {
              "year": 2025,
              "return_pct": 40.1
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 1.0686,
          "vol_scalar_entries": 925,
          "post_stop_events": 116,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 55
        },
        {
          "window": "full",
          "dsr": 0.9486,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 49117.21,
          "total_return_pct": 391.2,
          "cagr_pct": 48.5,
          "max_drawdown_pct": 22.2,
          "calmar": 2.19,
          "sharpe": 1.75,
          "sharpe_se": 0.49,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.484,
          "return_kurtosis": 5.7805,
          "trades": 468,
          "win_rate": 37.2,
          "avg_trade_pnl": 83.58,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 6167.72,
          "worst_trade_pnl": -778.7,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 220,
            "time": 95,
            "trailing_stop": 153
          },
          "skipped_book_full": 728,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 9.0
            },
            {
              "year": 2023,
              "return_pct": 79.8
            },
            {
              "year": 2024,
              "return_pct": 47.7
            },
            {
              "year": 2025,
              "return_pct": 38.9
            },
            {
              "year": 2026,
              "return_pct": 22.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.25,
          "vol_lookback": 60,
          "vol_clamp": [
            0.25,
            2.0
          ],
          "avg_vol_scalar": 1.0606,
          "vol_scalar_entries": 2874,
          "post_stop_events": 220,
          "post_stop_reentries": 139,
          "post_stop_states_open_at_end": 81
        }
      ]
    },
    {
      "id": "a3_vt20_c05_15_lb20",
      "group": "a3",
      "label": "Vol target 20% clamp[0.5,1.5] lb20 (sensitivity)",
      "config": {
        "vol_target": 0.2,
        "vol_clamp": [
          0.5,
          1.5
        ],
        "vol_lookback": 20
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.7521,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 23344.83,
          "total_return_pct": 133.4,
          "cagr_pct": 48.7,
          "max_drawdown_pct": 17.1,
          "calmar": 2.84,
          "sharpe": 1.76,
          "sharpe_se": 0.667,
          "psr": 0.9959,
          "n_returns": 535,
          "return_skew": 0.6432,
          "return_kurtosis": 5.9259,
          "trades": 253,
          "win_rate": 38.3,
          "avg_trade_pnl": 52.75,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.26,
          "best_trade_pnl": 2060.76,
          "worst_trade_pnl": -550.83,
          "avg_hold_days": 15.8,
          "exit_reasons": {
            "stop": 113,
            "time": 57,
            "trailing_stop": 83
          },
          "skipped_book_full": 653,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.0
            },
            {
              "year": 2023,
              "return_pct": 75.4
            },
            {
              "year": 2024,
              "return_pct": 20.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.2,
          "vol_lookback": 20,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.9764,
          "vol_scalar_entries": 1760,
          "post_stop_events": 113,
          "post_stop_reentries": 62,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "validation",
          "dsr": 0.6645,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19720.49,
          "total_return_pct": 97.2,
          "cagr_pct": 40.4,
          "max_drawdown_pct": 24.1,
          "calmar": 1.67,
          "sharpe": 1.65,
          "sharpe_se": 0.711,
          "psr": 0.99,
          "n_returns": 502,
          "return_skew": 0.0329,
          "return_kurtosis": 4.2076,
          "trades": 243,
          "win_rate": 36.6,
          "avg_trade_pnl": 40.0,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1947.61,
          "worst_trade_pnl": -358.29,
          "avg_hold_days": 14.4,
          "exit_reasons": {
            "stop": 121,
            "time": 46,
            "trailing_stop": 76
          },
          "skipped_book_full": 206,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 20.7
            },
            {
              "year": 2025,
              "return_pct": 36.3
            },
            {
              "year": 2026,
              "return_pct": 20.0
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 20,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.9384,
          "vol_scalar_entries": 922,
          "post_stop_events": 121,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 60
        },
        {
          "window": "full",
          "dsr": 0.9478,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 46345.17,
          "total_return_pct": 363.5,
          "cagr_pct": 46.4,
          "max_drawdown_pct": 22.2,
          "calmar": 2.1,
          "sharpe": 1.75,
          "sharpe_se": 0.492,
          "psr": 0.9998,
          "n_returns": 1008,
          "return_skew": 0.4316,
          "return_kurtosis": 5.4453,
          "trades": 487,
          "win_rate": 37.8,
          "avg_trade_pnl": 74.63,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 4576.94,
          "worst_trade_pnl": -823.3,
          "avg_hold_days": 15.1,
          "exit_reasons": {
            "stop": 228,
            "time": 102,
            "trailing_stop": 157
          },
          "skipped_book_full": 868,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.0
            },
            {
              "year": 2023,
              "return_pct": 75.4
            },
            {
              "year": 2024,
              "return_pct": 42.9
            },
            {
              "year": 2025,
              "return_pct": 39.0
            },
            {
              "year": 2026,
              "return_pct": 20.0
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 20,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.9656,
          "vol_scalar_entries": 2676,
          "post_stop_events": 228,
          "post_stop_reentries": 141,
          "post_stop_states_open_at_end": 87
        }
      ]
    },
    {
      "id": "a3_vt20_c05_15_lb126",
      "group": "a3",
      "label": "Vol target 20% clamp[0.5,1.5] lb126 (sensitivity)",
      "config": {
        "vol_target": 0.2,
        "vol_clamp": [
          0.5,
          1.5
        ],
        "vol_lookback": 126
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6421,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20878.07,
          "total_return_pct": 108.8,
          "cagr_pct": 41.2,
          "max_drawdown_pct": 17.9,
          "calmar": 2.3,
          "sharpe": 1.55,
          "sharpe_se": 0.671,
          "psr": 0.9894,
          "n_returns": 535,
          "return_skew": 0.5854,
          "return_kurtosis": 5.365,
          "trades": 260,
          "win_rate": 35.8,
          "avg_trade_pnl": 41.84,
          "best_trade_r": 10.08,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1626.75,
          "worst_trade_pnl": -493.16,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 122,
            "time": 57,
            "trailing_stop": 81
          },
          "skipped_book_full": 536,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 57.6
            },
            {
              "year": 2024,
              "return_pct": 18.4
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "vol_target": 0.2,
          "vol_lookback": 126,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.8802,
          "vol_scalar_entries": 1922,
          "post_stop_events": 122,
          "post_stop_reentries": 70,
          "post_stop_states_open_at_end": 52
        },
        {
          "window": "validation",
          "dsr": 0.5123,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 17065.5,
          "total_return_pct": 70.7,
          "cagr_pct": 30.6,
          "max_drawdown_pct": 20.5,
          "calmar": 1.49,
          "sharpe": 1.37,
          "sharpe_se": 0.714,
          "psr": 0.972,
          "n_returns": 502,
          "return_skew": -0.0959,
          "return_kurtosis": 4.5229,
          "trades": 247,
          "win_rate": 36.4,
          "avg_trade_pnl": 28.61,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.82,
          "best_trade_pnl": 1689.23,
          "worst_trade_pnl": -330.36,
          "avg_hold_days": 14.4,
          "exit_reasons": {
            "stop": 125,
            "time": 47,
            "trailing_stop": 75
          },
          "skipped_book_full": 230,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.7
            },
            {
              "year": 2025,
              "return_pct": 28.1
            },
            {
              "year": 2026,
              "return_pct": 14.2
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 126,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.933,
          "vol_scalar_entries": 877,
          "post_stop_events": 125,
          "post_stop_reentries": 68,
          "post_stop_states_open_at_end": 57
        },
        {
          "window": "full",
          "dsr": 0.883,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 37188.08,
          "total_return_pct": 271.9,
          "cagr_pct": 38.6,
          "max_drawdown_pct": 19.9,
          "calmar": 1.94,
          "sharpe": 1.54,
          "sharpe_se": 0.495,
          "psr": 0.9991,
          "n_returns": 1008,
          "return_skew": 0.2986,
          "return_kurtosis": 5.2346,
          "trades": 497,
          "win_rate": 36.2,
          "avg_trade_pnl": 54.7,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.75,
          "best_trade_pnl": 3595.79,
          "worst_trade_pnl": -717.19,
          "avg_hold_days": 14.7,
          "exit_reasons": {
            "stop": 239,
            "time": 101,
            "trailing_stop": 157
          },
          "skipped_book_full": 751,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.9
            },
            {
              "year": 2023,
              "return_pct": 57.6
            },
            {
              "year": 2024,
              "return_pct": 39.3
            },
            {
              "year": 2025,
              "return_pct": 32.3
            },
            {
              "year": 2026,
              "return_pct": 14.5
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "vol_target": 0.2,
          "vol_lookback": 126,
          "vol_clamp": [
            0.5,
            1.5
          ],
          "avg_vol_scalar": 0.8948,
          "vol_scalar_entries": 2802,
          "post_stop_events": 239,
          "post_stop_reentries": 154,
          "post_stop_states_open_at_end": 85
        }
      ]
    },
    {
      "id": "a4_next_open",
      "group": "a4",
      "label": "Next-open fill (t+1 open, stop from fill\u22121.5 ATR)",
      "config": {
        "fill_mode": "next_open"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.2981,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "next_open",
          "final_equity": 15364.14,
          "total_return_pct": 53.6,
          "cagr_pct": 22.2,
          "max_drawdown_pct": 18.1,
          "calmar": 1.23,
          "sharpe": 0.94,
          "sharpe_se": 0.688,
          "psr": 0.9148,
          "n_returns": 536,
          "return_skew": -0.039,
          "return_kurtosis": 4.2924,
          "trades": 260,
          "win_rate": 31.2,
          "avg_trade_pnl": 20.63,
          "best_trade_r": 11.53,
          "worst_trade_r": -2.99,
          "best_trade_pnl": 1265.39,
          "worst_trade_pnl": -303.24,
          "avg_hold_days": 13.7,
          "exit_reasons": {
            "stop": 133,
            "time": 48,
            "trailing_stop": 79
          },
          "skipped_book_full": 140,
          "spy_return_pct": 39.0,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 4.5
            },
            {
              "year": 2023,
              "return_pct": 44.6
            },
            {
              "year": 2024,
              "return_pct": 1.7
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-13",
          "skipped_missing_fill": 0,
          "overnight_slippage": {
            "n": 260,
            "mean_pct": -0.063,
            "median_pct": -0.1627,
            "p05_pct": -2.5148,
            "p95_pct": 1.8498
          },
          "post_stop_events": 133,
          "post_stop_reentries": 79,
          "post_stop_states_open_at_end": 50
        },
        {
          "window": "validation",
          "dsr": 0.5509,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "next_open",
          "final_equity": 18586.06,
          "total_return_pct": 85.9,
          "cagr_pct": 36.3,
          "max_drawdown_pct": 28.2,
          "calmar": 1.29,
          "sharpe": 1.44,
          "sharpe_se": 0.719,
          "psr": 0.9774,
          "n_returns": 502,
          "return_skew": -0.2169,
          "return_kurtosis": 4.6486,
          "trades": 243,
          "win_rate": 35.0,
          "avg_trade_pnl": 35.33,
          "best_trade_r": 12.2,
          "worst_trade_r": -4.0,
          "best_trade_pnl": 1731.6,
          "worst_trade_pnl": -196.48,
          "avg_hold_days": 13.8,
          "exit_reasons": {
            "stop": 114,
            "time": 48,
            "trailing_stop": 81
          },
          "skipped_book_full": 197,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 14.2
            },
            {
              "year": 2025,
              "return_pct": 42.6
            },
            {
              "year": 2026,
              "return_pct": 14.1
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "skipped_missing_fill": 0,
          "overnight_slippage": {
            "n": 243,
            "mean_pct": -0.519,
            "median_pct": -0.1786,
            "p05_pct": -4.5194,
            "p95_pct": 2.0911
          },
          "post_stop_events": 114,
          "post_stop_reentries": 51,
          "post_stop_states_open_at_end": 52
        },
        {
          "window": "full",
          "dsr": 0.6895,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "next_open",
          "final_equity": 28701.57,
          "total_return_pct": 187.0,
          "cagr_pct": 30.0,
          "max_drawdown_pct": 28.2,
          "calmar": 1.06,
          "sharpe": 1.2,
          "sharpe_se": 0.504,
          "psr": 0.9914,
          "n_returns": 1008,
          "return_skew": -0.1589,
          "return_kurtosis": 4.4517,
          "trades": 502,
          "win_rate": 32.5,
          "avg_trade_pnl": 37.25,
          "best_trade_r": 12.2,
          "worst_trade_r": -4.0,
          "best_trade_pnl": 2674.03,
          "worst_trade_pnl": -303.42,
          "avg_hold_days": 13.7,
          "exit_reasons": {
            "stop": 251,
            "time": 97,
            "trailing_stop": 154
          },
          "skipped_book_full": 356,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 4.5
            },
            {
              "year": 2023,
              "return_pct": 44.6
            },
            {
              "year": 2024,
              "return_pct": 15.7
            },
            {
              "year": 2025,
              "return_pct": 44.0
            },
            {
              "year": 2026,
              "return_pct": 14.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "skipped_missing_fill": 0,
          "overnight_slippage": {
            "n": 502,
            "mean_pct": -0.2566,
            "median_pct": -0.1661,
            "p05_pct": -2.7763,
            "p95_pct": 1.8997
          },
          "post_stop_events": 251,
          "post_stop_reentries": 157,
          "post_stop_states_open_at_end": 81
        }
      ]
    },
    {
      "id": "a5_corr06_skip",
      "group": "a5",
      "label": "Corr max 0.6 skip",
      "config": {
        "corr_max": 0.6,
        "corr_action": "skip"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6735,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20498.09,
          "total_return_pct": 105.0,
          "cagr_pct": 39.9,
          "max_drawdown_pct": 20.7,
          "calmar": 1.93,
          "sharpe": 1.61,
          "sharpe_se": 0.677,
          "psr": 0.9913,
          "n_returns": 535,
          "return_skew": 0.3787,
          "return_kurtosis": 4.8393,
          "trades": 235,
          "win_rate": 37.4,
          "avg_trade_pnl": 44.67,
          "best_trade_r": 10.08,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1146.41,
          "worst_trade_pnl": -387.09,
          "avg_hold_days": 15.2,
          "exit_reasons": {
            "stop": 107,
            "time": 49,
            "trailing_stop": 79
          },
          "skipped_book_full": 167,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 16.9
            },
            {
              "year": 2023,
              "return_pct": 44.9
            },
            {
              "year": 2024,
              "return_pct": 21.0
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.6,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 1599,
          "post_stop_events": 107,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 46
        },
        {
          "window": "validation",
          "dsr": 0.689,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19321.37,
          "total_return_pct": 93.2,
          "cagr_pct": 39.0,
          "max_drawdown_pct": 17.0,
          "calmar": 2.3,
          "sharpe": 1.7,
          "sharpe_se": 0.714,
          "psr": 0.9913,
          "n_returns": 502,
          "return_skew": -0.031,
          "return_kurtosis": 4.7331,
          "trades": 222,
          "win_rate": 32.9,
          "avg_trade_pnl": 41.99,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.86,
          "best_trade_pnl": 1911.95,
          "worst_trade_pnl": -358.85,
          "avg_hold_days": 14.1,
          "exit_reasons": {
            "stop": 114,
            "time": 40,
            "trailing_stop": 68
          },
          "skipped_book_full": 9,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 15.0
            },
            {
              "year": 2025,
              "return_pct": 48.5
            },
            {
              "year": 2026,
              "return_pct": 13.2
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.6,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 1043,
          "post_stop_events": 114,
          "post_stop_reentries": 63,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "full",
          "dsr": 0.8994,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 36781.87,
          "total_return_pct": 267.8,
          "cagr_pct": 38.2,
          "max_drawdown_pct": 20.7,
          "calmar": 1.85,
          "sharpe": 1.59,
          "sharpe_se": 0.5,
          "psr": 0.9993,
          "n_returns": 1008,
          "return_skew": 0.1221,
          "return_kurtosis": 4.6895,
          "trades": 450,
          "win_rate": 35.1,
          "avg_trade_pnl": 59.52,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 3609.23,
          "worst_trade_pnl": -468.77,
          "avg_hold_days": 14.7,
          "exit_reasons": {
            "stop": 212,
            "time": 84,
            "trailing_stop": 154
          },
          "skipped_book_full": 176,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 16.9
            },
            {
              "year": 2023,
              "return_pct": 44.9
            },
            {
              "year": 2024,
              "return_pct": 43.4
            },
            {
              "year": 2025,
              "return_pct": 34.3
            },
            {
              "year": 2026,
              "return_pct": 12.8
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.6,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 2648,
          "post_stop_events": 212,
          "post_stop_reentries": 138,
          "post_stop_states_open_at_end": 74
        }
      ]
    },
    {
      "id": "a5_corr07_skip",
      "group": "a5",
      "label": "Corr max 0.7 skip",
      "config": {
        "corr_max": 0.7,
        "corr_action": "skip"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.5555,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 18782.41,
          "total_return_pct": 87.8,
          "cagr_pct": 34.3,
          "max_drawdown_pct": 19.9,
          "calmar": 1.73,
          "sharpe": 1.4,
          "sharpe_se": 0.676,
          "psr": 0.9805,
          "n_returns": 535,
          "return_skew": 0.4358,
          "return_kurtosis": 5.1891,
          "trades": 244,
          "win_rate": 36.1,
          "avg_trade_pnl": 35.99,
          "best_trade_r": 10.08,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 963.2,
          "worst_trade_pnl": -445.07,
          "avg_hold_days": 15.0,
          "exit_reasons": {
            "stop": 108,
            "time": 49,
            "trailing_stop": 87
          },
          "skipped_book_full": 231,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.9
            },
            {
              "year": 2023,
              "return_pct": 49.4
            },
            {
              "year": 2024,
              "return_pct": 15.6
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.7,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 1193,
          "post_stop_events": 108,
          "post_stop_reentries": 61,
          "post_stop_states_open_at_end": 47
        },
        {
          "window": "validation",
          "dsr": 0.6546,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19451.8,
          "total_return_pct": 94.5,
          "cagr_pct": 39.4,
          "max_drawdown_pct": 25.5,
          "calmar": 1.55,
          "sharpe": 1.63,
          "sharpe_se": 0.709,
          "psr": 0.9891,
          "n_returns": 502,
          "return_skew": 0.0966,
          "return_kurtosis": 4.7322,
          "trades": 234,
          "win_rate": 34.2,
          "avg_trade_pnl": 40.39,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1836.08,
          "worst_trade_pnl": -569.85,
          "avg_hold_days": 14.1,
          "exit_reasons": {
            "stop": 117,
            "time": 42,
            "trailing_stop": 75
          },
          "skipped_book_full": 121,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 15.5
            },
            {
              "year": 2025,
              "return_pct": 38.6
            },
            {
              "year": 2026,
              "return_pct": 21.6
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.7,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 891,
          "post_stop_events": 117,
          "post_stop_reentries": 60,
          "post_stop_states_open_at_end": 57
        },
        {
          "window": "full",
          "dsr": 0.8869,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 37002.38,
          "total_return_pct": 270.0,
          "cagr_pct": 38.4,
          "max_drawdown_pct": 26.0,
          "calmar": 1.48,
          "sharpe": 1.55,
          "sharpe_se": 0.495,
          "psr": 0.9991,
          "n_returns": 1008,
          "return_skew": 0.2957,
          "return_kurtosis": 5.0413,
          "trades": 472,
          "win_rate": 36.0,
          "avg_trade_pnl": 57.21,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 3492.7,
          "worst_trade_pnl": -1084.05,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 220,
            "time": 93,
            "trailing_stop": 159
          },
          "skipped_book_full": 352,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 8.9
            },
            {
              "year": 2023,
              "return_pct": 49.4
            },
            {
              "year": 2024,
              "return_pct": 35.1
            },
            {
              "year": 2025,
              "return_pct": 38.6
            },
            {
              "year": 2026,
              "return_pct": 21.6
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.7,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 2081,
          "post_stop_events": 220,
          "post_stop_reentries": 138,
          "post_stop_states_open_at_end": 82
        }
      ]
    },
    {
      "id": "a5_corr08_skip",
      "group": "a5",
      "label": "Corr max 0.8 skip",
      "config": {
        "corr_max": 0.8,
        "corr_action": "skip"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6307,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20630.49,
          "total_return_pct": 106.3,
          "cagr_pct": 40.4,
          "max_drawdown_pct": 19.1,
          "calmar": 2.11,
          "sharpe": 1.53,
          "sharpe_se": 0.672,
          "psr": 0.9888,
          "n_returns": 535,
          "return_skew": 0.549,
          "return_kurtosis": 5.0219,
          "trades": 246,
          "win_rate": 34.6,
          "avg_trade_pnl": 43.21,
          "best_trade_r": 12.02,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1747.97,
          "worst_trade_pnl": -488.82,
          "avg_hold_days": 14.6,
          "exit_reasons": {
            "stop": 115,
            "time": 49,
            "trailing_stop": 82
          },
          "skipped_book_full": 110,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 7.0
            },
            {
              "year": 2023,
              "return_pct": 62.1
            },
            {
              "year": 2024,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.8,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 972,
          "post_stop_events": 115,
          "post_stop_reentries": 64,
          "post_stop_states_open_at_end": 51
        },
        {
          "window": "validation",
          "dsr": 0.5124,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 17526.76,
          "total_return_pct": 75.3,
          "cagr_pct": 32.4,
          "max_drawdown_pct": 25.8,
          "calmar": 1.26,
          "sharpe": 1.37,
          "sharpe_se": 0.709,
          "psr": 0.9734,
          "n_returns": 502,
          "return_skew": 0.0771,
          "return_kurtosis": 4.5796,
          "trades": 233,
          "win_rate": 33.9,
          "avg_trade_pnl": 32.3,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1754.79,
          "worst_trade_pnl": -584.11,
          "avg_hold_days": 14.0,
          "exit_reasons": {
            "stop": 119,
            "time": 40,
            "trailing_stop": 74
          },
          "skipped_book_full": 175,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 18.4
            },
            {
              "year": 2025,
              "return_pct": 40.0
            },
            {
              "year": 2026,
              "return_pct": 5.8
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.8,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 786,
          "post_stop_events": 119,
          "post_stop_reentries": 64,
          "post_stop_states_open_at_end": 55
        },
        {
          "window": "full",
          "dsr": 0.8629,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 36493.29,
          "total_return_pct": 264.9,
          "cagr_pct": 38.0,
          "max_drawdown_pct": 26.6,
          "calmar": 1.43,
          "sharpe": 1.49,
          "sharpe_se": 0.493,
          "psr": 0.9988,
          "n_returns": 1008,
          "return_skew": 0.3855,
          "return_kurtosis": 5.0281,
          "trades": 475,
          "win_rate": 34.7,
          "avg_trade_pnl": 55.78,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 3653.74,
          "worst_trade_pnl": -1216.23,
          "avg_hold_days": 14.3,
          "exit_reasons": {
            "stop": 231,
            "time": 90,
            "trailing_stop": 154
          },
          "skipped_book_full": 285,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 7.0
            },
            {
              "year": 2023,
              "return_pct": 62.1
            },
            {
              "year": 2024,
              "return_pct": 42.2
            },
            {
              "year": 2025,
              "return_pct": 40.0
            },
            {
              "year": 2026,
              "return_pct": 5.8
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.8,
          "corr_action": "skip",
          "corr_lookback": 120,
          "skipped_corr": 1753,
          "post_stop_events": 231,
          "post_stop_reentries": 146,
          "post_stop_states_open_at_end": 85
        }
      ]
    },
    {
      "id": "a5_corr06_half",
      "group": "a5",
      "label": "Corr max 0.6 half-size",
      "config": {
        "corr_max": 0.6,
        "corr_action": "half_size"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.584,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19336.9,
          "total_return_pct": 93.4,
          "cagr_pct": 36.2,
          "max_drawdown_pct": 16.5,
          "calmar": 2.19,
          "sharpe": 1.45,
          "sharpe_se": 0.68,
          "psr": 0.9836,
          "n_returns": 535,
          "return_skew": 0.288,
          "return_kurtosis": 4.1851,
          "trades": 273,
          "win_rate": 35.5,
          "avg_trade_pnl": 34.2,
          "best_trade_r": 10.08,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1659.4,
          "worst_trade_pnl": -434.74,
          "avg_hold_days": 14.9,
          "exit_reasons": {
            "stop": 127,
            "time": 60,
            "trailing_stop": 86
          },
          "skipped_book_full": 852,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 13.3
            },
            {
              "year": 2023,
              "return_pct": 44.4
            },
            {
              "year": 2024,
              "return_pct": 18.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.6,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 127,
          "post_stop_reentries": 77,
          "post_stop_states_open_at_end": 50
        },
        {
          "window": "validation",
          "dsr": 0.4123,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 15635.8,
          "total_return_pct": 56.4,
          "cagr_pct": 25.0,
          "max_drawdown_pct": 25.7,
          "calmar": 0.97,
          "sharpe": 1.19,
          "sharpe_se": 0.713,
          "psr": 0.9522,
          "n_returns": 502,
          "return_skew": -0.0745,
          "return_kurtosis": 3.9876,
          "trades": 255,
          "win_rate": 36.1,
          "avg_trade_pnl": 22.1,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 1618.15,
          "worst_trade_pnl": -582.94,
          "avg_hold_days": 14.2,
          "exit_reasons": {
            "stop": 129,
            "time": 50,
            "trailing_stop": 76
          },
          "skipped_book_full": 319,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 17.9
            },
            {
              "year": 2025,
              "return_pct": 22.0
            },
            {
              "year": 2026,
              "return_pct": 8.7
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.6,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 129,
          "post_stop_reentries": 69,
          "post_stop_states_open_at_end": 60
        },
        {
          "window": "full",
          "dsr": 0.8061,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 31027.6,
          "total_return_pct": 210.3,
          "cagr_pct": 32.5,
          "max_drawdown_pct": 25.4,
          "calmar": 1.28,
          "sharpe": 1.38,
          "sharpe_se": 0.497,
          "psr": 0.9973,
          "n_returns": 1008,
          "return_skew": 0.2057,
          "return_kurtosis": 4.4463,
          "trades": 521,
          "win_rate": 36.1,
          "avg_trade_pnl": 40.36,
          "best_trade_r": 12.37,
          "worst_trade_r": -5.98,
          "best_trade_pnl": 3211.04,
          "worst_trade_pnl": -1156.81,
          "avg_hold_days": 14.5,
          "exit_reasons": {
            "stop": 252,
            "time": 109,
            "trailing_stop": 160
          },
          "skipped_book_full": 1156,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 13.3
            },
            {
              "year": 2023,
              "return_pct": 44.4
            },
            {
              "year": 2024,
              "return_pct": 43.1
            },
            {
              "year": 2025,
              "return_pct": 22.0
            },
            {
              "year": 2026,
              "return_pct": 8.7
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.6,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 252,
          "post_stop_reentries": 165,
          "post_stop_states_open_at_end": 87
        }
      ]
    },
    {
      "id": "a5_corr07_half",
      "group": "a5",
      "label": "Corr max 0.7 half-size",
      "config": {
        "corr_max": 0.7,
        "corr_action": "half_size"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.6795,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 21294.81,
          "total_return_pct": 112.9,
          "cagr_pct": 42.5,
          "max_drawdown_pct": 16.2,
          "calmar": 2.62,
          "sharpe": 1.62,
          "sharpe_se": 0.674,
          "psr": 0.9919,
          "n_returns": 535,
          "return_skew": 0.4864,
          "return_kurtosis": 5.2162,
          "trades": 253,
          "win_rate": 36.4,
          "avg_trade_pnl": 44.64,
          "best_trade_r": 9.84,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1805.21,
          "worst_trade_pnl": -504.62,
          "avg_hold_days": 15.3,
          "exit_reasons": {
            "stop": 116,
            "time": 57,
            "trailing_stop": 80
          },
          "skipped_book_full": 640,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 10.1
            },
            {
              "year": 2023,
              "return_pct": 57.8
            },
            {
              "year": 2024,
              "return_pct": 22.6
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.7,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 116,
          "post_stop_reentries": 68,
          "post_stop_states_open_at_end": 48
        },
        {
          "window": "validation",
          "dsr": 0.6383,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 19079.7,
          "total_return_pct": 90.8,
          "cagr_pct": 38.1,
          "max_drawdown_pct": 21.1,
          "calmar": 1.8,
          "sharpe": 1.6,
          "sharpe_se": 0.712,
          "psr": 0.9877,
          "n_returns": 502,
          "return_skew": 0.0092,
          "return_kurtosis": 4.5927,
          "trades": 246,
          "win_rate": 36.6,
          "avg_trade_pnl": 36.91,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.72,
          "best_trade_pnl": 1841.96,
          "worst_trade_pnl": -244.78,
          "avg_hold_days": 14.5,
          "exit_reasons": {
            "stop": 121,
            "time": 47,
            "trailing_stop": 78
          },
          "skipped_book_full": 268,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.7
            },
            {
              "year": 2025,
              "return_pct": 36.0
            },
            {
              "year": 2026,
              "return_pct": 20.3
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.7,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 121,
          "post_stop_reentries": 64,
          "post_stop_states_open_at_end": 57
        },
        {
          "window": "full",
          "dsr": 0.9244,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 41509.52,
          "total_return_pct": 315.1,
          "cagr_pct": 42.5,
          "max_drawdown_pct": 21.8,
          "calmar": 1.95,
          "sharpe": 1.66,
          "sharpe_se": 0.494,
          "psr": 0.9996,
          "n_returns": 1008,
          "return_skew": 0.3293,
          "return_kurtosis": 5.1731,
          "trades": 492,
          "win_rate": 36.8,
          "avg_trade_pnl": 64.04,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 4007.34,
          "worst_trade_pnl": -532.55,
          "avg_hold_days": 14.8,
          "exit_reasons": {
            "stop": 233,
            "time": 103,
            "trailing_stop": 156
          },
          "skipped_book_full": 893,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 10.1
            },
            {
              "year": 2023,
              "return_pct": 57.8
            },
            {
              "year": 2024,
              "return_pct": 46.1
            },
            {
              "year": 2025,
              "return_pct": 36.0
            },
            {
              "year": 2026,
              "return_pct": 20.3
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.7,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 233,
          "post_stop_reentries": 149,
          "post_stop_states_open_at_end": 84
        }
      ]
    },
    {
      "id": "a5_corr08_half",
      "group": "a5",
      "label": "Corr max 0.8 half-size",
      "config": {
        "corr_max": 0.8,
        "corr_action": "half_size"
      },
      "windows": [
        {
          "window": "train",
          "dsr": 0.647,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 20772.57,
          "total_return_pct": 107.7,
          "cagr_pct": 40.8,
          "max_drawdown_pct": 16.1,
          "calmar": 2.54,
          "sharpe": 1.56,
          "sharpe_se": 0.674,
          "psr": 0.9898,
          "n_returns": 535,
          "return_skew": 0.4833,
          "return_kurtosis": 5.2408,
          "trades": 256,
          "win_rate": 35.5,
          "avg_trade_pnl": 42.08,
          "best_trade_r": 9.84,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 1760.01,
          "worst_trade_pnl": -492.18,
          "avg_hold_days": 15.2,
          "exit_reasons": {
            "stop": 118,
            "time": 56,
            "trailing_stop": 82
          },
          "skipped_book_full": 496,
          "spy_return_pct": 36.7,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.2
            },
            {
              "year": 2023,
              "return_pct": 57.1
            },
            {
              "year": 2024,
              "return_pct": 19.1
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2024-08-12",
          "corr_max": 0.8,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 118,
          "post_stop_reentries": 68,
          "post_stop_states_open_at_end": 50
        },
        {
          "window": "validation",
          "dsr": 0.5404,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 17761.84,
          "total_return_pct": 77.6,
          "cagr_pct": 33.2,
          "max_drawdown_pct": 21.1,
          "calmar": 1.57,
          "sharpe": 1.42,
          "sharpe_se": 0.709,
          "psr": 0.9775,
          "n_returns": 502,
          "return_skew": 0.0929,
          "return_kurtosis": 4.6772,
          "trades": 243,
          "win_rate": 34.2,
          "avg_trade_pnl": 31.94,
          "best_trade_r": 12.37,
          "worst_trade_r": -2.72,
          "best_trade_pnl": 1781.5,
          "worst_trade_pnl": -323.26,
          "avg_hold_days": 13.9,
          "exit_reasons": {
            "stop": 124,
            "time": 42,
            "trailing_stop": 77
          },
          "skipped_book_full": 207,
          "spy_return_pct": 36.6,
          "yearly_returns": [
            {
              "year": 2024,
              "return_pct": 16.7
            },
            {
              "year": 2025,
              "return_pct": 40.1
            },
            {
              "year": 2026,
              "return_pct": 8.7
            }
          ],
          "start_date": "2024-07-01",
          "end_date": "2026-07-02",
          "corr_max": 0.8,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 124,
          "post_stop_reentries": 69,
          "post_stop_states_open_at_end": 55
        },
        {
          "window": "full",
          "dsr": 0.8874,
          "starting_capital": 10000.0,
          "cost_per_side_pct": 0.1,
          "fill_mode": "close",
          "final_equity": 37868.93,
          "total_return_pct": 278.7,
          "cagr_pct": 39.2,
          "max_drawdown_pct": 21.8,
          "calmar": 1.8,
          "sharpe": 1.55,
          "sharpe_se": 0.494,
          "psr": 0.9992,
          "n_returns": 1008,
          "return_skew": 0.3727,
          "return_kurtosis": 5.2567,
          "trades": 492,
          "win_rate": 35.2,
          "avg_trade_pnl": 56.64,
          "best_trade_r": 12.37,
          "worst_trade_r": -3.1,
          "best_trade_pnl": 3798.23,
          "worst_trade_pnl": -689.2,
          "avg_hold_days": 14.5,
          "exit_reasons": {
            "stop": 238,
            "time": 97,
            "trailing_stop": 157
          },
          "skipped_book_full": 688,
          "spy_return_pct": 90.9,
          "yearly_returns": [
            {
              "year": 2022,
              "return_pct": 11.2
            },
            {
              "year": 2023,
              "return_pct": 57.1
            },
            {
              "year": 2024,
              "return_pct": 42.5
            },
            {
              "year": 2025,
              "return_pct": 40.1
            },
            {
              "year": 2026,
              "return_pct": 8.7
            }
          ],
          "start_date": "2022-06-24",
          "end_date": "2026-07-02",
          "corr_max": 0.8,
          "corr_action": "half_size",
          "corr_lookback": 120,
          "skipped_corr": 0,
          "post_stop_events": 238,
          "post_stop_reentries": 154,
          "post_stop_states_open_at_end": 84
        }
      ]
    }
  ],
  "promotion": {
    "a2_hold_30": {
      "promote": true,
      "reason": "validation Sharpe 1.68 \u2265 control 1.68; DD 20.9 within +2pp of 20.9; train Sharpe 1.75 \u2265 1.75 (delta \u2264 1 SE \u2014 distinguishable noise bar not cleared)",
      "checks": {
        "validation_sharpe_ge_control": true,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": true,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": 0.0,
        "se_used": 0.716
      }
    },
    "a2_hold_45": {
      "promote": false,
      "reason": "failed: train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": true,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": 0.39,
        "se_used": 0.698
      }
    },
    "a2_hold_60": {
      "promote": false,
      "reason": "failed: train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": true,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": 0.44,
        "se_used": 0.695
      }
    },
    "a2_hold_90": {
      "promote": false,
      "reason": "failed: validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": true,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": 0.36,
        "se_used": 0.711
      }
    },
    "a3_vt15_c05_15_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.44,
        "se_used": 0.715
      }
    },
    "a3_vt20_c05_15_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.2,
        "se_used": 0.715
      }
    },
    "a3_vt25_c05_15_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.05,
        "se_used": 0.706
      }
    },
    "a3_vt15_c025_20_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.44,
        "se_used": 0.715
      }
    },
    "a3_vt20_c025_20_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.2,
        "se_used": 0.715
      }
    },
    "a3_vt25_c025_20_lb60": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.05,
        "se_used": 0.706
      }
    },
    "a3_vt20_c05_15_lb20": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": true,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.03,
        "se_used": 0.711
      }
    },
    "a3_vt20_c05_15_lb126": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.31,
        "se_used": 0.714
      }
    },
    "a4_next_open": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.24,
        "se_used": 0.719
      }
    },
    "a5_corr06_skip": {
      "promote": false,
      "reason": "failed: train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": true,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": 0.02,
        "se_used": 0.714
      }
    },
    "a5_corr07_skip": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.05,
        "se_used": 0.709
      }
    },
    "a5_corr08_skip": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.31,
        "se_used": 0.709
      }
    },
    "a5_corr06_half": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, validation_dd_not_worse_by_2pp, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": false,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.49,
        "se_used": 0.713
      }
    },
    "a5_corr07_half": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.08,
        "se_used": 0.712
      }
    },
    "a5_corr08_half": {
      "promote": false,
      "reason": "failed: validation_sharpe_ge_control, train_sharpe_not_worse",
      "checks": {
        "validation_sharpe_ge_control": false,
        "validation_dd_not_worse_by_2pp": true,
        "train_sharpe_not_worse": false,
        "delta_exceeds_1se": false,
        "validation_sharpe_delta": -0.26,
        "se_used": 0.709
      }
    }
  }
}