{
  "experiment_id": "btc-literature-monthly-20260930",
  "frozen_before_new_run": true,
  "purpose": "Separate a source-aligned monthly price gate from our daily volatility-sizing adaptation, without threshold search or claiming alpha.",
  "source": "https://mebfaber.com/2017/12/13/episode-86-quantitative-approach-tactical-asset-allocation/",
  "replication_status": "BTC adaptation, NOT an exact replication of the original multi-asset total-return/cash-yield paper",
  "data": {"directory": "research_runs/btc-history-20260922", "venues": ["bitstamp", "coinbase"], "starts": ["2017-01-01", "2018-01-01", "2024-01-01"], "end": "2026-09-21", "use_native_full_warmup": true},
  "rules": ["buy_hold", "always_vol_monthly", "gate_fixed_monthly", "gate_vol_monthly", "gate_vol_daily"],
  "gate": {"window_months": 10, "observation": "complete UTC month-end closes including current completed month", "long_if": "close strictly above SMA10", "otherwise": "cash", "between_month_ends": "do not recompute gate"},
  "risk_controls": {"vol_window_days": 20, "std_ddof": 1, "annualization_days": 365, "annual_vol_target": 0.30, "maximum_spot_weight": 1, "cash_yield": 0},
  "execution": {"cost_bps_per_side": [25, 40], "signal_lag_days": [1, 2], "price": "native daily open", "monthly_rules": "execute only lagged month-end decisions plus fresh-cash account initialization using latest available lagged decision; preserve BTC quantity between decisions, not fixed weight", "daily_rule": "gate frozen monthly; resize each day using lagged completed-day volatility", "zero_volume": "skip open execution; reject assumed terminal sell on zero-volume day", "terminal": "sell all remaining BTC at final daily close with full cost", "fractional_quantities": true},
  "expected_accounts": 120,
  "diagnostics": ["total return", "CAGR", "maximum drawdown including initial capital", "Sharpe", "average exposure", "fees", "order count", "continuous-account annual returns"],
  "tests_required": ["no future month-end leakage", "10-month warmup", "exact-equality gate cash", "no monthly intra-month rebalancing", "signal lag at month boundary", "fresh account initialization", "zero-volume handling", "fees and cash conservation", "terminal sell fee", "deterministic output"],
  "interpretation_limits": ["All history has already been explored; no pristine holdout claim", "Venues and start windows are correlated diagnostics, not independent replications", "Do not select a winning rule or change thresholds after this run", "Historical risk differences do not isolate pure timing alpha", "Spot-only diagnostic does not validate perpetual funding, shorting, margin or Gate execution", "Historical paper same-close execution and interest-bearing cash are deliberately not copied"],
  "live_orders": false,
  "paper_activation": false
}
