{
  "status": "complete",
  "all_signal_summary": {
    "trades": 40,
    "equity_start": 500.0,
    "equity_end": 955.2506749396006,
    "net_pct": 91.05013498792012,
    "max_realized_dd_pct": -10.82814927124985,
    "max_mtm_dd_pct": -6.871029334896893,
    "min_trade_mtm_pct_equity": -6.871029334896893,
    "win_rate_pct": 65.0,
    "pf": 3.4661541628164785,
    "gross_profit": 639.8501139380453,
    "gross_loss": -184.59943899844458,
    "avg_notional": 460.1654411764706,
    "max_notional": 500.0,
    "avg_dca_fills": 0.5,
    "margin_call_count": 0,
    "covered_trades": 40,
    "source_trades": 40,
    "coverage_pct": 100.0
  },
  "selected_group_configs": [
    {
      "trades": 3,
      "equity_start": 500.0,
      "equity_end": 612.4854385686388,
      "net_pct": 22.497087713727748,
      "max_realized_dd_pct": 0.0,
      "max_mtm_dd_pct": -0.6339171487306875,
      "min_trade_mtm_pct_equity": -0.6339171487306875,
      "win_rate_pct": 100.0,
      "pf": 999999.0,
      "gross_profit": 112.48543856863867,
      "gross_loss": 0.0,
      "avg_notional": 500.0,
      "max_notional": 500.0,
      "avg_dca_fills": 0.0,
      "margin_call_count": 0,
      "group": "BTCUSDT LONG",
      "candidate": "plain_source_t500",
      "target_notional": 500,
      "base_frac": 1.0,
      "steps_pct": "[]",
      "add_weights": "[]",
      "tp_pct": 0.0,
      "exit_policy": "source_close_only"
    },
    {
      "trades": 17,
      "equity_start": 500.0,
      "equity_end": 697.7434293171325,
      "net_pct": 39.5486858634265,
      "max_realized_dd_pct": -7.602012495592725,
      "max_mtm_dd_pct": -6.792233997206909,
      "min_trade_mtm_pct_equity": -6.792233997206909,
      "win_rate_pct": 52.94117647058823,
      "pf": 2.7262584022886482,
      "gross_profit": 312.29373595428916,
      "gross_loss": -114.55030663715655,
      "avg_notional": 500.0,
      "max_notional": 500.0,
      "avg_dca_fills": 0.0,
      "margin_call_count": 0,
      "group": "BTCUSDT SHORT",
      "candidate": "plain_source_t500",
      "target_notional": 500,
      "base_frac": 1.0,
      "steps_pct": "[]",
      "add_weights": "[]",
      "tp_pct": 0.0,
      "exit_policy": "source_close_only"
    },
    {
      "trades": 1,
      "equity_start": 500.0,
      "equity_end": 502.2567910218436,
      "net_pct": 0.45135820436871654,
      "max_realized_dd_pct": 0.0,
      "max_mtm_dd_pct": -0.6783803381960033,
      "min_trade_mtm_pct_equity": -0.6783803381960033,
      "win_rate_pct": 100.0,
      "pf": 999999.0,
      "gross_profit": 2.256791021843572,
      "gross_loss": 0.0,
      "avg_notional": 500.0,
      "max_notional": 500.0,
      "avg_dca_fills": 0.0,
      "margin_call_count": 0,
      "group": "ETHUSDT LONG",
      "candidate": "plain_source_t500",
      "target_notional": 500,
      "base_frac": 1.0,
      "steps_pct": "[]",
      "add_weights": "[]",
      "tp_pct": 0.0,
      "exit_policy": "source_close_only"
    },
    {
      "trades": 6,
      "equity_start": 500.0,
      "equity_end": 602.5868836667668,
      "net_pct": 20.517376733353355,
      "max_realized_dd_pct": -10.126778038113265,
      "max_mtm_dd_pct": -6.871029334896893,
      "min_trade_mtm_pct_equity": -6.871029334896893,
      "win_rate_pct": 33.333333333333336,
      "pf": 2.4758837285399693,
      "gross_profit": 172.09566791784837,
      "gross_loss": -69.50878425108166,
      "avg_notional": 500.0,
      "max_notional": 500.0,
      "avg_dca_fills": 0.0,
      "margin_call_count": 0,
      "group": "ETHUSDT SHORT",
      "candidate": "plain_source_t500",
      "target_notional": 500,
      "base_frac": 1.0,
      "steps_pct": "[]",
      "add_weights": "[]",
      "tp_pct": 0.0,
      "exit_policy": "source_close_only"
    },
    {
      "trades": 4,
      "equity_start": 500.0,
      "equity_end": 512.2939288586981,
      "net_pct": 2.4587857717396218,
      "max_realized_dd_pct": -0.08627033693536532,
      "max_mtm_dd_pct": -1.1663625467783971,
      "min_trade_mtm_pct_equity": -1.1663625467783971,
      "win_rate_pct": 75.0,
      "pf": 29.5009408689528,
      "gross_profit": 12.725280543374986,
      "gross_loss": -0.43135168467685203,
      "avg_notional": 311.9485294117647,
      "max_notional": 500.0,
      "avg_dca_fills": 1.0,
      "margin_call_count": 0,
      "group": "MSTRUSDT SHORT",
      "candidate": "t500_b45_s0p25-0p4-0p6_w0p9-1p1-1p4_tp2p5_v21",
      "target_notional": 500,
      "base_frac": 0.45,
      "steps_pct": "[0.25, 0.4, 0.6]",
      "add_weights": "[0.9, 1.1, 1.4]",
      "tp_pct": 2.5,
      "exit_policy": "v21_tp_then_source_close"
    },
    {
      "trades": 1,
      "equity_start": 500.0,
      "equity_end": 505.1209145785152,
      "net_pct": 1.024182915703045,
      "max_realized_dd_pct": 0.0,
      "max_mtm_dd_pct": -0.5635194458000073,
      "min_trade_mtm_pct_equity": -0.5635194458000073,
      "win_rate_pct": 100.0,
      "pf": 999999.0,
      "gross_profit": 5.120914578515221,
      "gross_loss": 0.0,
      "avg_notional": 500.0,
      "max_notional": 500.0,
      "avg_dca_fills": 0.0,
      "margin_call_count": 0,
      "group": "PAXGUSDT LONG",
      "candidate": "plain_source_t500",
      "target_notional": 500,
      "base_frac": 1.0,
      "steps_pct": "[]",
      "add_weights": "[]",
      "tp_pct": 0.0,
      "exit_policy": "source_close_only"
    },
    {
      "trades": 8,
      "equity_start": 500.0,
      "equity_end": 522.7632889280059,
      "net_pct": 4.5526577856011725,
      "max_realized_dd_pct": -0.02152452884359776,
      "max_mtm_dd_pct": -2.5536981348300833,
      "min_trade_mtm_pct_equity": -2.5536981348300833,
      "win_rate_pct": 87.5,
      "pf": 209.84436179833193,
      "gross_profit": 22.872285353535332,
      "gross_loss": -0.10899642552949043,
      "avg_notional": 394.8529411764706,
      "max_notional": 500.0,
      "avg_dca_fills": 2.0,
      "margin_call_count": 0,
      "group": "SOLUSDT SHORT",
      "candidate": "t500_b45_s0p25-0p4-0p6_w0p9-1p1-1p4_tp1p0_v21",
      "target_notional": 500,
      "base_frac": 0.45,
      "steps_pct": "[0.25, 0.4, 0.6]",
      "add_weights": "[0.9, 1.1, 1.4]",
      "tp_pct": 1.0,
      "exit_policy": "v21_tp_then_source_close"
    }
  ],
  "responsibility_split": {
    "source_copytrader": [
      "defines entry permission",
      "defines source-close maximum holding boundary",
      "defines symbol and side"
    ],
    "v21_dca": [
      "chooses per-symbol-side DCA sizing ladder",
      "may full-sell early when tuned TP fires if exit_policy is v21_tp_then_source_close",
      "does not open trades without source signal"
    ],
    "runner_broker": [
      "execution only",
      "no strategy invention",
      "no live authority in this research run"
    ]
  }
}
