{
  "schema_version": "1.0",
  "report_type": "lsri_walk_forward_validation",
  "generated_at_utc": "2026-03-30T17:47:08.756412+00:00",
  "dataset": {
    "source_file": "G:/applications/crypto_site/data/eth_ohlcv.csv",
    "rows": 2281
  },
  "methodology": {
    "causal_rule": "signal(t) = f(data <= t), execution approx. open(t+1)",
    "validation_protocol": "walk-forward out-of-sample",
    "baseline": "buy_hold",
    "strategy_tested": "lsri_stress"
  },
  "window_config": {
    "train_size": 504,
    "test_size": 126,
    "step_size": 126
  },
  "detection_overrides": {
    "thr_vigilance": 2.3,
    "thr_stress": 7.2,
    "thr_critical": 12.0,
    "confirm_vigilance_days": 2,
    "confirm_stress_days": 2
  },
  "backtest_overrides": {
    "reentry_days": 18
  },
  "key_metrics": {
    "num_folds": 14,
    "avg_excess_return_vs_buy_hold": 5.6779,
    "avg_strategy_return": 7.0021,
    "avg_buy_hold_return": 1.3243,
    "avg_strategy_max_drawdown": -27.7979,
    "avg_trading_cost": 96.8614,
    "total_alerts_oos": 433,
    "oos_volatility_lsri_annualized_pct": 45.74,
    "oos_volatility_buy_hold_annualized_pct": 62.17,
    "oos_volatility_reduction_pct_points": 16.431,
    "oos_volatility_reduction_vs_buy_hold_pct": 26.429,
    "oos_sharpe_lsri": 0.4014,
    "oos_sharpe_buy_hold": 0.2177,
    "oos_sharpe_delta_vs_buy_hold": 0.1836
  },
  "regime_breakdown": {
    "unknown": {
      "num_folds": 14,
      "avg_excess_return_vs_buy_hold": 5.6779,
      "avg_strategy_return": 7.0021,
      "avg_buy_hold_return": 1.3243,
      "avg_strategy_max_drawdown": -27.7979,
      "avg_trading_cost": 96.8614
    }
  },
  "folds": [
    {
      "fold_id": 0,
      "train_start": 0,
      "train_end": 504,
      "test_start": 504,
      "test_end": 630,
      "regime": "unknown",
      "num_alerts_oos": 25,
      "strategy_total_return": -7.21,
      "buy_hold_total_return": -18.4,
      "excess_return_vs_buy_hold": 11.19,
      "strategy_max_drawdown": -52.7,
      "buy_hold_max_drawdown": -47.24,
      "strategy_total_trading_cost": 66.57
    },
    {
      "fold_id": 1,
      "train_start": 126,
      "train_end": 630,
      "test_start": 630,
      "test_end": 756,
      "regime": "unknown",
      "num_alerts_oos": 14,
      "strategy_total_return": 2.22,
      "buy_hold_total_return": -11.25,
      "excess_return_vs_buy_hold": 13.47,
      "strategy_max_drawdown": -44.78,
      "buy_hold_max_drawdown": -50.02,
      "strategy_total_trading_cost": 79.45
    },
    {
      "fold_id": 2,
      "train_start": 252,
      "train_end": 756,
      "test_start": 756,
      "test_end": 882,
      "regime": "unknown",
      "num_alerts_oos": 37,
      "strategy_total_return": 6.96,
      "buy_hold_total_return": -21.02,
      "excess_return_vs_buy_hold": 27.98,
      "strategy_max_drawdown": -36.44,
      "buy_hold_max_drawdown": -51.04,
      "strategy_total_trading_cost": 139.19
    },
    {
      "fold_id": 3,
      "train_start": 378,
      "train_end": 882,
      "test_start": 882,
      "test_end": 1008,
      "regime": "unknown",
      "num_alerts_oos": 65,
      "strategy_total_return": -1.2,
      "buy_hold_total_return": -29.97,
      "excess_return_vs_buy_hold": 28.77,
      "strategy_max_drawdown": -23.59,
      "buy_hold_max_drawdown": -48.91,
      "strategy_total_trading_cost": 161.42
    },
    {
      "fold_id": 4,
      "train_start": 504,
      "train_end": 1008,
      "test_start": 1008,
      "test_end": 1134,
      "regime": "unknown",
      "num_alerts_oos": 7,
      "strategy_total_return": 56.71,
      "buy_hold_total_return": 22.58,
      "excess_return_vs_buy_hold": 34.13,
      "strategy_max_drawdown": -11.58,
      "buy_hold_max_drawdown": -33.12,
      "strategy_total_trading_cost": 49.39
    },
    {
      "fold_id": 5,
      "train_start": 630,
      "train_end": 1134,
      "test_start": 1134,
      "test_end": 1260,
      "regime": "unknown",
      "num_alerts_oos": 7,
      "strategy_total_return": 8.83,
      "buy_hold_total_return": 3.86,
      "excess_return_vs_buy_hold": 4.97,
      "strategy_max_drawdown": -16.06,
      "buy_hold_max_drawdown": -17.97,
      "strategy_total_trading_cost": 49.74
    },
    {
      "fold_id": 6,
      "train_start": 756,
      "train_end": 1260,
      "test_start": 1260,
      "test_end": 1386,
      "regime": "unknown",
      "num_alerts_oos": 9,
      "strategy_total_return": -14.6,
      "buy_hold_total_return": -10.13,
      "excess_return_vs_buy_hold": -4.47,
      "strategy_max_drawdown": -25.86,
      "buy_hold_max_drawdown": -23.27,
      "strategy_total_trading_cost": 55.2
    },
    {
      "fold_id": 7,
      "train_start": 882,
      "train_end": 1386,
      "test_start": 1386,
      "test_end": 1512,
      "regime": "unknown",
      "num_alerts_oos": 62,
      "strategy_total_return": 72.36,
      "buy_hold_total_return": 92.22,
      "excess_return_vs_buy_hold": -19.86,
      "strategy_max_drawdown": -14.3,
      "buy_hold_max_drawdown": -15.34,
      "strategy_total_trading_cost": 177.69
    },
    {
      "fold_id": 8,
      "train_start": 1008,
      "train_end": 1512,
      "test_start": 1512,
      "test_end": 1638,
      "regime": "unknown",
      "num_alerts_oos": 43,
      "strategy_total_return": 13.68,
      "buy_hold_total_return": 12.41,
      "excess_return_vs_buy_hold": 1.27,
      "strategy_max_drawdown": -23.01,
      "buy_hold_max_drawdown": -29.15,
      "strategy_total_trading_cost": 121.95
    },
    {
      "fold_id": 9,
      "train_start": 1134,
      "train_end": 1638,
      "test_start": 1638,
      "test_end": 1764,
      "regime": "unknown",
      "num_alerts_oos": 24,
      "strategy_total_return": -31.03,
      "buy_hold_total_return": -22.4,
      "excess_return_vs_buy_hold": -8.63,
      "strategy_max_drawdown": -38.79,
      "buy_hold_max_drawdown": -37.12,
      "strategy_total_trading_cost": 82.34
    },
    {
      "fold_id": 10,
      "train_start": 1260,
      "train_end": 1764,
      "test_start": 1764,
      "test_end": 1890,
      "regime": "unknown",
      "num_alerts_oos": 29,
      "strategy_total_return": -12.26,
      "buy_hold_total_return": -17.85,
      "excess_return_vs_buy_hold": 5.59,
      "strategy_max_drawdown": -31.94,
      "buy_hold_max_drawdown": -46.44,
      "strategy_total_trading_cost": 95.72
    },
    {
      "fold_id": 11,
      "train_start": 1386,
      "train_end": 1890,
      "test_start": 1890,
      "test_end": 2016,
      "regime": "unknown",
      "num_alerts_oos": 39,
      "strategy_total_return": -0.15,
      "buy_hold_total_return": 20.35,
      "excess_return_vs_buy_hold": -20.5,
      "strategy_max_drawdown": -20.8,
      "buy_hold_max_drawdown": -33.14,
      "strategy_total_trading_cost": 135.31
    },
    {
      "fold_id": 12,
      "train_start": 1512,
      "train_end": 2016,
      "test_start": 2016,
      "test_end": 2142,
      "regime": "unknown",
      "num_alerts_oos": 38,
      "strategy_total_return": 22.68,
      "buy_hold_total_return": 30.38,
      "excess_return_vs_buy_hold": -7.7,
      "strategy_max_drawdown": -30.17,
      "buy_hold_max_drawdown": -31.85,
      "strategy_total_trading_cost": 63.63
    },
    {
      "fold_id": 13,
      "train_start": 1638,
      "train_end": 2142,
      "test_start": 2142,
      "test_end": 2268,
      "regime": "unknown",
      "num_alerts_oos": 34,
      "strategy_total_return": -18.96,
      "buy_hold_total_return": -32.24,
      "excess_return_vs_buy_hold": 13.28,
      "strategy_max_drawdown": -19.15,
      "buy_hold_max_drawdown": -46.75,
      "strategy_total_trading_cost": 78.46
    }
  ]
}