{
 "method": "pareto_hillclimb",
 "engine": "bilbo.engine.Engine (episode-corrected 2026-09-22) + config tuning knobs",
 "paths_screening": 40,
 "seed_screening": 1234,
 "paths_validation": 150,
 "seed_validation": 2233,
 "symbols": [
  "SPY",
  "QQQ",
  "AAPL",
  "MSFT",
  "NVDA"
 ],
 "forward_window": "2026-09-25 to 2026-10-22",
 "objectives": [
  "max mean_pnl",
  "min mean_max_drawdown_pct"
 ],
 "dominance_epsilons": {
  "pnl_dollars": 10.0,
  "dd_pp": 0.2
 },
 "parameter_grids": {
  "trend_gate": [
   "strict",
   "off",
   "slope",
   "band",
   "halfsize"
  ],
  "target_premium_pct": [
   2.0,
   3.0,
   4.0,
   5.0,
   6.0
  ],
  "max_drawdown_pct": [
   15.0,
   20.0,
   25.0,
   30.0
  ],
  "spread_cap": [
   0.03,
   0.04,
   0.05,
   0.06
  ],
  "signal_start_hour": [
   9,
   10
  ],
  "signal_end_hour": [
   14,
   15,
   16
  ],
  "trail_keep_frac": [
   0.15,
   0.25,
   0.35,
   0.5
  ],
  "atr_run_mult": [
   0.75,
   1.0,
   1.25
  ],
  "strike_atr_mult": [
   0.5,
   0.75,
   1.0
  ],
  "dte_target": [
   21,
   28,
   35
  ],
  "time_cap_days": [
   10,
   14,
   21
  ]
 },
 "baseline": {
  "trend_gate": "strict",
  "target_premium_pct": 4.0,
  "max_drawdown_pct": 25.0,
  "spread_cap": 0.05,
  "signal_start_hour": 10,
  "signal_end_hour": 15,
  "trail_keep_frac": 0.25,
  "atr_run_mult": 1.0,
  "strike_atr_mult": 0.75,
  "dte_target": 28,
  "time_cap_days": 14
 },
 "author_published_reference": {
  "as_of": "2026-09-24",
  "signals": 128,
  "taken": 50,
  "closed": 46,
  "win_rate_pct": 41.0,
  "profit_factor": 1.72,
  "max_drawdown_pct": -18.25,
  "equity_marked": 16678.9,
  "return_since_jul9_pct": 66.79,
  "source": "milkmantrades.com/bilbo-paper.html daily log"
 },
 "assumptions": {
  "drift": "0 (random walk) \u2014 mechanics stress test, not edge validation",
  "iv": "constant per symbol; calibrated from Yahoo option chain or 1.3x realized-vol fallback",
  "pricing": "Black-Scholes, r=4.5%",
  "spread": "1-4% model, fills at mid +/- quarter-spread",
  "warmup": "real Yahoo daily+hourly bars",
  "forward": "simulated",
  "paired_panels": "identical panels per candidate within a phase (fresh Random(seed))"
 },
 "rounds": [
  {
   "round": 1,
   "evaluated": 28,
   "dominating": 9,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 28, \"max_drawdown_pct\": 25.0, \"signal_end_hour\": 15, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 14, \"trail_keep_frac\": 0.25, \"trend_gate\": \"strict\"}"
  },
  {
   "round": 2,
   "evaluated": 26,
   "dominating": 9,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 28, \"max_drawdown_pct\": 25.0, \"signal_end_hour\": 15, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 10, \"trail_keep_frac\": 0.25, \"trend_gate\": \"strict\"}"
  },
  {
   "round": 3,
   "evaluated": 25,
   "dominating": 8,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 28, \"max_drawdown_pct\": 25.0, \"signal_end_hour\": 14, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 10, \"trail_keep_frac\": 0.25, \"trend_gate\": \"strict\"}"
  },
  {
   "round": 4,
   "evaluated": 24,
   "dominating": 5,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 28, \"max_drawdown_pct\": 25.0, \"signal_end_hour\": 14, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 10, \"trail_keep_frac\": 0.15, \"trend_gate\": \"strict\"}"
  },
  {
   "round": 5,
   "evaluated": 24,
   "dominating": 3,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 28, \"max_drawdown_pct\": 15.0, \"signal_end_hour\": 14, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 10, \"trail_keep_frac\": 0.15, \"trend_gate\": \"strict\"}"
  },
  {
   "round": 6,
   "evaluated": 25,
   "dominating": 1,
   "incumbent": "{\"atr_run_mult\": 1.0, \"dte_target\": 21, \"max_drawdown_pct\": 15.0, \"signal_end_hour\": 14, \"signal_start_hour\": 10, \"spread_cap\": 0.05, \"strike_atr_mult\": 0.75, \"target_premium_pct\": 4.0, \"time_cap_days\": 10, \"trail_keep_frac\": 0.15, \"trend_gate\": \"strict\"}"
  }
 ],
 "evaluations_total": 153,
 "incumbent": {
  "params": {
   "trend_gate": "strict",
   "target_premium_pct": 4.0,
   "max_drawdown_pct": 15.0,
   "spread_cap": 0.05,
   "signal_start_hour": 10,
   "signal_end_hour": 14,
   "trail_keep_frac": 0.15,
   "atr_run_mult": 0.75,
   "strike_atr_mult": 0.75,
   "dte_target": 21,
   "time_cap_days": 10
  },
  "metrics": {
   "mean_pnl": 281.12,
   "median_pnl": -82.3,
   "prob_profit": 0.45,
   "mean_dd": 11.56,
   "kill_switch_rate": 0.3,
   "trades_per_path": 3.2,
   "win_rate_mean": 0.261,
   "profit_factor_median": 0.06,
   "paths": 40,
   "seed": 1234
  }
 },
 "pareto_frontier": [
  {
   "params": {
    "trend_gate": "band",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": 346.75,
    "median_pnl": 81.05,
    "prob_profit": 0.5,
    "mean_dd": 12.5,
    "kill_switch_rate": 0.375,
    "trades_per_path": 3.6,
    "win_rate_mean": 0.249,
    "profit_factor_median": 0.7,
    "paths": 40,
    "seed": 1234
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 0.75,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": 281.12,
    "median_pnl": -82.3,
    "prob_profit": 0.45,
    "mean_dd": 11.56,
    "kill_switch_rate": 0.3,
    "trades_per_path": 3.2,
    "win_rate_mean": 0.261,
    "profit_factor_median": 0.06,
    "paths": 40,
    "seed": 1234
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 1.0,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": 256.94,
    "median_pnl": 0,
    "prob_profit": 0.475,
    "mean_dd": 11.32,
    "kill_switch_rate": 0.225,
    "trades_per_path": 3.1,
    "win_rate_mean": 0.255,
    "profit_factor_median": 0.26,
    "paths": 40,
    "seed": 1234
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.5,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": 207.31,
    "median_pnl": 34.9,
    "prob_profit": 0.525,
    "mean_dd": 10.54,
    "kill_switch_rate": 0.175,
    "trades_per_path": 3.3,
    "win_rate_mean": 0.463,
    "profit_factor_median": 0.49,
    "paths": 40,
    "seed": 1234
   }
  }
 ],
 "final_validation": [
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.5,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": -252.37,
    "median_pnl": -396.55,
    "prob_profit": 0.227,
    "mean_dd": 10.53,
    "kill_switch_rate": 0.167,
    "trades_per_path": 3.0,
    "win_rate_mean": 0.362,
    "profit_factor_median": 0.21,
    "paths": 150,
    "seed": 2233
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 1.0,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": -254.19,
    "median_pnl": -519.35,
    "prob_profit": 0.207,
    "mean_dd": 11.41,
    "kill_switch_rate": 0.227,
    "trades_per_path": 2.9,
    "win_rate_mean": 0.171,
    "profit_factor_median": 0.0,
    "paths": 150,
    "seed": 2233
   }
  },
  {
   "params": {
    "trend_gate": "band",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": -276.73,
    "median_pnl": -683.8,
    "prob_profit": 0.247,
    "mean_dd": 13.6,
    "kill_switch_rate": 0.393,
    "trades_per_path": 3.4,
    "win_rate_mean": 0.181,
    "profit_factor_median": 0.0,
    "paths": 150,
    "seed": 2233
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 15.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 14,
    "trail_keep_frac": 0.15,
    "atr_run_mult": 0.75,
    "strike_atr_mult": 0.75,
    "dte_target": 21,
    "time_cap_days": 10
   },
   "metrics": {
    "mean_pnl": -310.33,
    "median_pnl": -567.1,
    "prob_profit": 0.193,
    "mean_dd": 11.88,
    "kill_switch_rate": 0.28,
    "trades_per_path": 2.9,
    "win_rate_mean": 0.168,
    "profit_factor_median": 0.0,
    "paths": 150,
    "seed": 2233
   }
  },
  {
   "params": {
    "trend_gate": "strict",
    "target_premium_pct": 4.0,
    "max_drawdown_pct": 25.0,
    "spread_cap": 0.05,
    "signal_start_hour": 10,
    "signal_end_hour": 15,
    "trail_keep_frac": 0.25,
    "atr_run_mult": 1.0,
    "strike_atr_mult": 0.75,
    "dte_target": 28,
    "time_cap_days": 14
   },
   "metrics": {
    "mean_pnl": -477.45,
    "median_pnl": -777.15,
    "prob_profit": 0.193,
    "mean_dd": 14.89,
    "kill_switch_rate": 0.067,
    "trades_per_path": 3.5,
    "win_rate_mean": 0.206,
    "profit_factor_median": 0.0,
    "paths": 150,
    "seed": 2233
   }
  }
 ],
 "verdict": "NOT FUNDABLE \u2014 zero-drift mechanics optimization cannot manufacture edge. A fundable verdict requires positive out-of-sample expectancy on real data.",
 "elapsed_minutes": 98.7,
 "generated_utc": "2026-09-25T07:46:13.998651Z"
}