{
  "strategy_label": "btc_etf_proxy_ibit_biti_paper_v1",
  "window": {
    "start": "2024-05-08",
    "end": "2026-05-11",
    "n_days": 503,
    "n_assets": 2
  },
  "bias": {
    "strategy_label": "btc_etf_proxy_ibit_biti_paper_v1",
    "overall_pass": false,
    "shift": {
      "test": "shift_lookahead",
      "sh_same": 1.9559836754150097,
      "sh_lag1": 1.482036194266808,
      "sh_lead1": 2.1573611840401603,
      "sh_lead5": 0.36208628003639537,
      "lead1_gain": 0.20137750862515058,
      "lag1_drop": 0.4739474811482016,
      "threshold": 0.3,
      "asymmetry_min": 0.8,
      "passed": false,
      "verdict": "FAILED \u2014 lead-1 gain +0.201 < 0.3 threshold; strategy may have built-in lookahead (no room to cheat further)"
    },
    "autocorr": {
      "test": "autocorrelation",
      "n_assets_checked": 2,
      "mean_autocorr": 0.7747059719787575,
      "median_autocorr": 0.7747059719787575,
      "min_autocorr": 0.7614766081871365,
      "max_autocorr": 0.7879353357703783,
      "threshold": 0.5,
      "passed": true,
      "verdict": "OK \u2014 mean AC 0.775 \u2265 0.5 (shift test reliable)"
    },
    "truncate": null
  },
  "gross_metrics": {
    "sharpe": 1.9559836754150097,
    "cagr": 1.1023830842349565,
    "annual_vol": 0.4267357604799899,
    "max_drawdown": -0.22486798897177585,
    "calmar": 4.902356663906135,
    "sortino": 2.850327401937644,
    "win_rate": 0.43737574552683894,
    "var_95": -0.03587605296360731,
    "cvar_95": -0.05483048654678346,
    "n_days": 503
  },
  "net_metrics": {
    "sharpe": 1.8947351995699493,
    "cagr": 1.048032452185491,
    "annual_vol": 0.4266485335362022,
    "max_drawdown": -0.22640944611654826,
    "calmar": 4.628925471802081,
    "sortino": 2.7407270652729676,
    "win_rate": 0.43737574552683894,
    "var_95": -0.03587605296360731,
    "cvar_95": -0.054926640392937306,
    "n_days": 503
  },
  "tc_annual": {
    "fee_signal": 2.630218687872764,
    "fee_roll": 0.0,
    "slip_signal": 0.0,
    "slip_roll": 0.0,
    "total": 2.630218687872764
  },
  "eval_matrix": {
    "p0": {
      "core_metrics": {
        "status": "computed",
        "gross": {
          "sharpe": 1.9559836754150097,
          "cagr": 1.1023830842349565,
          "annual_vol": 0.4267357604799899,
          "max_drawdown": -0.22486798897177585,
          "calmar": 4.902356663906135,
          "sortino": 2.850327401937644,
          "win_rate": 0.43737574552683894,
          "var_95": -0.03587605296360731,
          "cvar_95": -0.05483048654678346,
          "n_days": 503
        },
        "net": {
          "sharpe": 1.8947351995699493,
          "cagr": 1.048032452185491,
          "annual_vol": 0.4266485335362022,
          "max_drawdown": -0.22640944611654826,
          "calmar": 4.628925471802081,
          "sortino": 2.7407270652729676,
          "win_rate": 0.43737574552683894,
          "var_95": -0.03587605296360731,
          "cvar_95": -0.054926640392937306,
          "n_days": 503
        },
        "total_return_gross": 3.407000548178625,
        "total_return_net": 3.1825217142648627,
        "drawdown": {
          "average_drawdown": -0.06871513478588803,
          "max_drawdown": -0.22640944611654823,
          "max_time_to_recovery_days": 103,
          "average_time_to_recovery_days": 12.264705882352942
        },
        "t_stat_alpha": 2.6769006025641957
      },
      "turnover": {
        "status": "computed",
        "average_daily_turnover": 0.10437375745526839,
        "annual_turnover": 26.302186878727635,
        "active_day_ratio": 0.7852882703777336,
        "trade_day_ratio": 0.20278330019880716,
        "estimated_holding_period_days": 9.58095238095238,
        "turnover_adjusted_sharpe": 0.3626183737127279
      },
      "capacity_scalability": {
        "status": "computed",
        "aum_scaling": {
          "5000000.0": {
            "signal_mi_pct": 18.437881778532144,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 18.437881778532144
          },
          "25000000.0": {
            "signal_mi_pct": 41.228357017902596,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 41.228357017902596
          },
          "100000000.0": {
            "signal_mi_pct": 82.45671403580519,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 82.45671403580519
          },
          "500000000.0": {
            "signal_mi_pct": 184.37881778532144,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 184.37881778532144
          },
          "1000000000.0": {
            "signal_mi_pct": 260.75102472631914,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 260.75102472631914
          },
          "2500000000.0": {
            "signal_mi_pct": 412.283570179026,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 412.283570179026
          },
          "5000000000.0": {
            "signal_mi_pct": 583.0570164907782,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 583.0570164907782
          },
          "10000000000.0": {
            "signal_mi_pct": 824.567140358052,
            "roll_mi_pct": 0.0,
            "total_mi_pct": 824.567140358052
          }
        },
        "participation_top": {
          "BITI": {
            "100000000.0": 0.4,
            "500000000.0": 2.0,
            "1000000000.0": 4.0,
            "2500000000.0": 10.0,
            "5000000000.0": 20.0,
            "10000000000.0": 40.0
          },
          "IBIT": {
            "100000000.0": 0.008,
            "500000000.0": 0.04,
            "1000000000.0": 0.08,
            "2500000000.0": 0.2,
            "5000000000.0": 0.4,
            "10000000000.0": 0.8
          }
        }
      },
      "statistical_significance": {
        "status": "partial",
        "t_stat_alpha": 2.6769006025641957,
        "deflated_sharpe_ratio": {
          "status": "needs_input",
          "reason": "requires trial count / candidate family distribution; do not infer from one backtest"
        },
        "pbo": {
          "status": "needs_input",
          "reason": "requires combinatorial or walk-forward trial panel; do not infer from one equity curve"
        }
      },
      "operational_reliability": {
        "status": "computed",
        "lookahead_bias": {
          "strategy_label": "btc_etf_proxy_ibit_biti_paper_v1",
          "overall_pass": false,
          "shift": {
            "test": "shift_lookahead",
            "sh_same": 1.9559836754150097,
            "sh_lag1": 1.482036194266808,
            "sh_lead1": 2.1573611840401603,
            "sh_lead5": 0.36208628003639537,
            "lead1_gain": 0.20137750862515058,
            "lag1_drop": 0.4739474811482016,
            "threshold": 0.3,
            "asymmetry_min": 0.8,
            "passed": false,
            "verdict": "FAILED \u2014 lead-1 gain +0.201 < 0.3 threshold; strategy may have built-in lookahead (no room to cheat further)"
          },
          "autocorr": {
            "test": "autocorrelation",
            "n_assets_checked": 2,
            "mean_autocorr": 0.7747059719787575,
            "median_autocorr": 0.7747059719787575,
            "min_autocorr": 0.7614766081871365,
            "max_autocorr": 0.7879353357703783,
            "threshold": 0.5,
            "passed": true,
            "verdict": "OK \u2014 mean AC 0.775 \u2265 0.5 (shift test reliable)"
          },
          "truncate": null
        }
      }
    },
    "p1": {
      "factor_exposure": {
        "status": "needs_input",
        "required_input": "--factor-returns"
      },
      "out_of_sample": {
        "status": "computed",
        "split_date": "2025-05-12",
        "in_sample": {
          "sharpe": 2.145999802225678,
          "cagr": 1.5248976577898152,
          "annual_vol": 0.48728140806321113,
          "max_drawdown": -0.22640944611654826,
          "calmar": 6.7351326720036555,
          "sortino": 2.996410787762047,
          "win_rate": 0.42857142857142855,
          "var_95": -0.039803151478886085,
          "cvar_95": -0.06451834383788105,
          "n_days": 252
        },
        "out_of_sample": {
          "sharpe": 1.6018812280638894,
          "cagr": 0.6598456684544436,
          "annual_vol": 0.3559069649465177,
          "max_drawdown": -0.2231741208161885,
          "calmar": 2.956640608871976,
          "sortino": 2.465538199114973,
          "win_rate": 0.44621513944223107,
          "var_95": -0.03302145510409815,
          "cvar_95": -0.04462038105867536,
          "n_days": 251
        },
        "sharpe_decay": -0.5441185741617887
      },
      "rolling_sharpe": {
        "status": "computed",
        "window": 252,
        "mean": 1.7505050730009108,
        "median": 1.8428505982498322,
        "min": 0.4976375125148175,
        "max": 2.8771413876536807,
        "latest": 1.6479004636499726,
        "negative_window_ratio": 0.0
      },
      "fee_sensitivity": {
        "status": "computed",
        "rows": [
          {
            "tc_multiplier": 0.0,
            "sharpe": 1.9559836754150097,
            "cagr": 1.1023830842349565,
            "max_drawdown": -0.22486798897177585
          },
          {
            "tc_multiplier": 0.5,
            "sharpe": 1.9253773358665558,
            "cagr": 1.0750334116259723,
            "max_drawdown": -0.22563900512915602
          },
          {
            "tc_multiplier": 1.0,
            "sharpe": 1.8947351995699493,
            "cagr": 1.048032452185491,
            "max_drawdown": -0.22640944611654826
          },
          {
            "tc_multiplier": 2.0,
            "sharpe": 1.833349110970657,
            "cagr": 0.9950593017582408,
            "max_drawdown": -0.2279486037254397
          },
          {
            "tc_multiplier": 3.0,
            "sharpe": 1.7718366109749113,
            "cagr": 0.9434294199509998,
            "max_drawdown": -0.22948546408587714
          }
        ]
      },
      "capacity": {
        "status": "computed",
        "annual_tc_drag_pct_nav": {
          "fee_signal": 2.630218687872764,
          "fee_roll": 0.0,
          "slip_signal": 0.0,
          "slip_roll": 0.0,
          "total": 2.630218687872764
        },
        "max_participation": 40.0
      },
      "paper_trading": {
        "status": "needs_input",
        "reason": "requires live or paper trading return stream"
      },
      "portfolio_interaction": {
        "status": "needs_input",
        "required_input": "--existing-returns"
      }
    },
    "p2": {
      "rolling_sharpe": {
        "status": "computed",
        "window": 126,
        "mean": 1.7265936677140012,
        "median": 1.5206820074301244,
        "min": -0.4887913086491938,
        "max": 4.056751927951254,
        "latest": 3.3210995861516754,
        "negative_window_ratio": 0.07936507936507936
      },
      "panda_pnl_correlation": {
        "status": "needs_input",
        "required_input": "--existing-returns"
      },
      "fill_assumptions": {
        "status": "needs_input",
        "required_inputs": [
          "queue position",
          "partial fills",
          "latency",
          "bid/ask spread crossing"
        ]
      }
    }
  },
  "reports": {
    "bias_html": "bias_report.html",
    "internal_html": "internal_report.html",
    "eval_dashboard_html": "eval_dashboard.html"
  }
}