{
  "code": "603919",
  "timestamp": "20261018_080619",
  "timezone": "Asia/Shanghai",
  "strategy": "gp_policy_v1_3",
  "strategy_version": "1.3.0",
  "params": {
    "strategy_version": "1.3.0",
    "risk_pct": 0.015,
    "name_cap": 0.15,
    "sector_cap": 0.3,
    "extend_block_pct": 0.12,
    "scale_profit": 0.2,
    "vol_mult": 1.2,
    "timeframe": "daily",
    "changelog": "v1.3 exposure: 5-bar touch, MA50 bounce, slower trail, easier breakout"
  },
  "config": {
    "initial_cash": 5000000.0,
    "commission_rate": 0.0003,
    "stamp_duty_rate": 0.0005,
    "slippage_rate": 0.001,
    "fill": "next_open",
    "lot_size": 100
  },
  "data": {
    "start": "2020-01-02",
    "end": "2026-10-16",
    "n_bars": 1640,
    "note": ""
  },
  "metrics": {
    "initial_cash": 5000000.0,
    "final_equity": 5536107.465398001,
    "total_return": 0.10722149307960005,
    "total_return_pct": 10.722149307960006,
    "annualized_return": 0.015783506350903975,
    "annualized_return_pct": 1.5783506350903975,
    "sharpe": 0.4336456391019491,
    "sortino": 0.12320191304973675,
    "max_drawdown": -0.06090465493028452,
    "max_drawdown_pct": -6.090465493028452,
    "dd_peak_date": "2020-07-15",
    "dd_trough_date": "2020-07-24",
    "dd_recovery_date": null,
    "win_rate": 0.5,
    "win_rate_pct": 50.0,
    "payoff_ratio": 10.003733627153498,
    "profit_factor": 10.003733627153498,
    "n_round_trips": 4,
    "turnover_annual": 0.18798605549287464,
    "avg_hold_days": 23.25,
    "exposure": 0.04024390243902439,
    "exposure_pct": 4.024390243902439,
    "n_bars": 1640,
    "start_date": "2020-01-02",
    "end_date": "2026-10-16"
  }
}