{
 "A \u2014 Signal Window": [
  {
   "tag": "VNR=14d",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 471.65,
   "long_pnl": 625.42,
   "short_pnl": -153.78,
   "sharpe": 0.144,
   "win_rate": 0.5,
   "profit_factor": 1.28,
   "max_dd": 509.79,
   "trades": 234
  },
  {
   "tag": "VNR=21d",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 49.42,
   "long_pnl": 119.3,
   "short_pnl": -69.91,
   "sharpe": 0.02,
   "win_rate": 0.4444,
   "profit_factor": 1.03,
   "max_dd": 450.27,
   "trades": 234
  },
  {
   "tag": "VNR=30d (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 411.87,
   "long_pnl": 556.8,
   "short_pnl": -144.9,
   "sharpe": 0.183,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 178.2,
   "trades": 239
  },
  {
   "tag": "VNR=45d",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 45,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 118.2,
   "long_pnl": 442.97,
   "short_pnl": -324.79,
   "sharpe": 0.041,
   "win_rate": 0.428,
   "profit_factor": 1.06,
   "max_dd": 327.99,
   "trades": 236
  },
  {
   "tag": "VNR=60d",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 60,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": -136.02,
   "long_pnl": 163.53,
   "short_pnl": -299.52,
   "sharpe": -0.058,
   "win_rate": 0.4454,
   "profit_factor": 0.93,
   "max_dd": 271.4,
   "trades": 229
  }
 ],
 "B \u2014 MA Filter Period": [
  {
   "tag": "MA=none (rawpos only)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 364.48,
   "long_pnl": 510.11,
   "short_pnl": -145.62,
   "sharpe": 0.156,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  },
  {
   "tag": "MA=20",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 354.57,
   "long_pnl": 500.21,
   "short_pnl": -145.62,
   "sharpe": 0.15,
   "win_rate": 0.4449,
   "profit_factor": 1.19,
   "max_dd": 179.0,
   "trades": 236
  },
  {
   "tag": "MA=50 (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 411.07,
   "long_pnl": 556.72,
   "short_pnl": -145.62,
   "sharpe": 0.183,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 179.0,
   "trades": 239
  },
  {
   "tag": "MA=100",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 525.02,
   "long_pnl": 670.67,
   "short_pnl": -145.62,
   "sharpe": 0.221,
   "win_rate": 0.4716,
   "profit_factor": 1.32,
   "max_dd": 227.69,
   "trades": 229
  },
  {
   "tag": "MA=200",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 200,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 289.02,
   "long_pnl": 434.66,
   "short_pnl": -145.62,
   "sharpe": 0.146,
   "win_rate": 0.4378,
   "profit_factor": 1.21,
   "max_dd": 187.91,
   "trades": 201
  }
 ],
 "C \u2014 Concentration Cap": [
  {
   "tag": "cap=none (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 411.54,
   "long_pnl": 556.38,
   "short_pnl": -144.81,
   "sharpe": 0.183,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 178.53,
   "trades": 239
  },
  {
   "tag": "cap=50%",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.5,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 348.02,
   "long_pnl": 492.86,
   "short_pnl": -144.81,
   "sharpe": 0.164,
   "win_rate": 0.4812,
   "profit_factor": 1.19,
   "max_dd": 169.42,
   "trades": 239
  },
  {
   "tag": "cap=40%",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.4,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 289.86,
   "long_pnl": 434.71,
   "short_pnl": -144.81,
   "sharpe": 0.141,
   "win_rate": 0.4937,
   "profit_factor": 1.16,
   "max_dd": 163.29,
   "trades": 239
  },
  {
   "tag": "cap=30%",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.3,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 181.15,
   "long_pnl": 325.96,
   "short_pnl": -144.81,
   "sharpe": 0.098,
   "win_rate": 0.5021,
   "profit_factor": 1.1,
   "max_dd": 209.81,
   "trades": 239
  }
 ],
 "D \u2014 Short VNR Floor": [
  {
   "tag": "floor=none (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 410.24,
   "long_pnl": 555.27,
   "short_pnl": -145.0,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 179.83,
   "trades": 239
  },
  {
   "tag": "floor=-0.3",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": -0.3,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 498.33,
   "long_pnl": 555.27,
   "short_pnl": -56.91,
   "sharpe": 0.198,
   "win_rate": 0.4072,
   "profit_factor": 1.38,
   "max_dd": 180.35,
   "trades": 167
  },
  {
   "tag": "floor=-0.5",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": -0.5,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 555.27,
   "long_pnl": 555.27,
   "short_pnl": 0.0,
   "sharpe": 0.199,
   "win_rate": 0.4034,
   "profit_factor": 1.49,
   "max_dd": 212.75,
   "trades": 119
  },
  {
   "tag": "floor=-0.75",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": -0.75,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 555.27,
   "long_pnl": 555.27,
   "short_pnl": 0.0,
   "sharpe": 0.199,
   "win_rate": 0.4034,
   "profit_factor": 1.49,
   "max_dd": 212.75,
   "trades": 119
  },
  {
   "tag": "floor=-1.0",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": -1.0,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 555.27,
   "long_pnl": 555.27,
   "short_pnl": 0.0,
   "sharpe": 0.199,
   "win_rate": 0.4034,
   "profit_factor": 1.49,
   "max_dd": 212.75,
   "trades": 119
  }
 ],
 "E \u2014 Rebalance Frequency": [
  {
   "tag": "weekly (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 409.42,
   "long_pnl": 555.1,
   "short_pnl": -145.64,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 180.65,
   "trades": 239
  },
  {
   "tag": "biweekly",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 14,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 3814.67,
   "long_pnl": 3789.9,
   "short_pnl": 24.79,
   "sharpe": 0.328,
   "win_rate": 0.4589,
   "profit_factor": 2.53,
   "max_dd": 446.68,
   "trades": 231
  }
 ],
 "F \u2014 Portfolio Size": [
  {
   "tag": "3L/3S",
   "params": {
    "TOP_N": 3,
    "BOTTOM_N": 3,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 286.52,
   "long_pnl": 299.83,
   "short_pnl": -13.32,
   "sharpe": 0.194,
   "win_rate": 0.4097,
   "profit_factor": 1.35,
   "max_dd": 151.28,
   "trades": 144
  },
  {
   "tag": "5L/5S (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 409.76,
   "long_pnl": 555.2,
   "short_pnl": -145.42,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 180.31,
   "trades": 239
  },
  {
   "tag": "7L/7S",
   "params": {
    "TOP_N": 7,
    "BOTTOM_N": 7,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 667.39,
   "long_pnl": 741.14,
   "short_pnl": -73.78,
   "sharpe": 0.193,
   "win_rate": 0.4648,
   "profit_factor": 1.24,
   "max_dd": 307.22,
   "trades": 327
  }
 ],
 "G \u2014 Stop-Loss": [
  {
   "tag": "no stop (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 409.79,
   "long_pnl": 554.99,
   "short_pnl": -145.17,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 180.28,
   "trades": 239
  },
  {
   "tag": "SL=15%",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.15,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 830.01,
   "long_pnl": 703.47,
   "short_pnl": 126.57,
   "sharpe": 0.371,
   "win_rate": 0.4561,
   "profit_factor": 1.6,
   "max_dd": 125.71,
   "trades": 239
  },
  {
   "tag": "SL=25%",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.25,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 597.41,
   "long_pnl": 589.91,
   "short_pnl": 7.53,
   "sharpe": 0.262,
   "win_rate": 0.4561,
   "profit_factor": 1.37,
   "max_dd": 169.74,
   "trades": 239
  }
 ],
 "H \u2014 Filter Mode": [
  {
   "tag": "MA+rawpos (baseline)",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 409.8,
   "long_pnl": 554.96,
   "short_pnl": -145.14,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 180.27,
   "trades": 239
  },
  {
   "tag": "rawpos only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 363.21,
   "long_pnl": 508.35,
   "short_pnl": -145.14,
   "sharpe": 0.156,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  },
  {
   "tag": "MA only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma_only"
   },
   "pnl": 409.8,
   "long_pnl": 554.96,
   "short_pnl": -145.14,
   "sharpe": 0.182,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 180.27,
   "trades": 239
  },
  {
   "tag": "no filter",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": false,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "no_filter"
   },
   "pnl": 363.21,
   "long_pnl": 508.35,
   "short_pnl": -145.14,
   "sharpe": 0.156,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  }
 ],
 "Combined \u2014 Best-of-each-dimension": [
  {
   "tag": "BEST-OF-ALL",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 14,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.25,
    "CONCENTRATION_CAP": 0.4,
    "SHORT_VNR_FLOOR": -0.5,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 2488.33,
   "long_pnl": 2548.88,
   "short_pnl": -60.53,
   "sharpe": 0.285,
   "win_rate": 0.4122,
   "profit_factor": 2.43,
   "max_dd": 389.77,
   "trades": 131
  }
 ],
 "Combined \u2014 Factorial (VNR \u00d7 MA \u00d7 Mode)": [
  {
   "tag": "VNR=14/MA=20/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 420.95,
   "long_pnl": 577.21,
   "short_pnl": -156.26,
   "sharpe": 0.126,
   "win_rate": 0.4979,
   "profit_factor": 1.24,
   "max_dd": 516.16,
   "trades": 237
  },
  {
   "tag": "VNR=14/MA=20/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 376.49,
   "long_pnl": 532.74,
   "short_pnl": -156.26,
   "sharpe": 0.112,
   "win_rate": 0.4979,
   "profit_factor": 1.21,
   "max_dd": 548.36,
   "trades": 237
  },
  {
   "tag": "VNR=14/MA=50/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 469.35,
   "long_pnl": 625.6,
   "short_pnl": -156.26,
   "sharpe": 0.143,
   "win_rate": 0.5,
   "profit_factor": 1.27,
   "max_dd": 512.09,
   "trades": 234
  },
  {
   "tag": "VNR=14/MA=50/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 376.49,
   "long_pnl": 532.74,
   "short_pnl": -156.26,
   "sharpe": 0.112,
   "win_rate": 0.4979,
   "profit_factor": 1.21,
   "max_dd": 548.36,
   "trades": 237
  },
  {
   "tag": "VNR=14/MA=100/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 300.92,
   "long_pnl": 457.15,
   "short_pnl": -156.26,
   "sharpe": 0.089,
   "win_rate": 0.5134,
   "profit_factor": 1.17,
   "max_dd": 574.4,
   "trades": 224
  },
  {
   "tag": "VNR=14/MA=100/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 14,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 376.49,
   "long_pnl": 532.74,
   "short_pnl": -156.26,
   "sharpe": 0.112,
   "win_rate": 0.4979,
   "profit_factor": 1.21,
   "max_dd": 548.36,
   "trades": 237
  },
  {
   "tag": "VNR=21/MA=20/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": -53.61,
   "long_pnl": 15.61,
   "short_pnl": -69.25,
   "sharpe": -0.021,
   "win_rate": 0.4421,
   "profit_factor": 0.97,
   "max_dd": 515.99,
   "trades": 233
  },
  {
   "tag": "VNR=21/MA=20/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": -16.9,
   "long_pnl": 52.31,
   "short_pnl": -69.25,
   "sharpe": -0.007,
   "win_rate": 0.4407,
   "profit_factor": 0.99,
   "max_dd": 540.19,
   "trades": 236
  },
  {
   "tag": "VNR=21/MA=50/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 48.94,
   "long_pnl": 118.17,
   "short_pnl": -69.25,
   "sharpe": 0.02,
   "win_rate": 0.4444,
   "profit_factor": 1.03,
   "max_dd": 450.75,
   "trades": 234
  },
  {
   "tag": "VNR=21/MA=50/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": -16.9,
   "long_pnl": 52.31,
   "short_pnl": -69.25,
   "sharpe": -0.007,
   "win_rate": 0.4407,
   "profit_factor": 0.99,
   "max_dd": 540.19,
   "trades": 236
  },
  {
   "tag": "VNR=21/MA=100/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 164.1,
   "long_pnl": 233.37,
   "short_pnl": -69.25,
   "sharpe": 0.062,
   "win_rate": 0.4688,
   "profit_factor": 1.1,
   "max_dd": 441.49,
   "trades": 224
  },
  {
   "tag": "VNR=21/MA=100/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 21,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": -16.9,
   "long_pnl": 52.31,
   "short_pnl": -69.25,
   "sharpe": -0.007,
   "win_rate": 0.4407,
   "profit_factor": 0.99,
   "max_dd": 540.19,
   "trades": 236
  },
  {
   "tag": "VNR=30/MA=20/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 354.67,
   "long_pnl": 499.59,
   "short_pnl": -144.9,
   "sharpe": 0.15,
   "win_rate": 0.4449,
   "profit_factor": 1.19,
   "max_dd": 178.9,
   "trades": 236
  },
  {
   "tag": "VNR=30/MA=20/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 20,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 364.58,
   "long_pnl": 509.49,
   "short_pnl": -144.9,
   "sharpe": 0.157,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  },
  {
   "tag": "VNR=30/MA=50/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 411.17,
   "long_pnl": 556.1,
   "short_pnl": -144.9,
   "sharpe": 0.183,
   "win_rate": 0.4561,
   "profit_factor": 1.23,
   "max_dd": 178.9,
   "trades": 239
  },
  {
   "tag": "VNR=30/MA=50/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 50,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 364.58,
   "long_pnl": 509.49,
   "short_pnl": -144.9,
   "sharpe": 0.157,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  },
  {
   "tag": "VNR=30/MA=100/ma+rawpos",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "ma+rawpos"
   },
   "pnl": 525.12,
   "long_pnl": 670.05,
   "short_pnl": -144.9,
   "sharpe": 0.221,
   "win_rate": 0.4716,
   "profit_factor": 1.32,
   "max_dd": 227.69,
   "trades": 229
  },
  {
   "tag": "VNR=30/MA=100/rawpos_only",
   "params": {
    "TOP_N": 5,
    "BOTTOM_N": 5,
    "UNIVERSE_SIZE": 50,
    "RANK_WINDOW": 30,
    "REBALANCE_DAYS": 7,
    "USE_TREND_FILTER": true,
    "SHORT_NO_FILTER": true,
    "MAX_LONG_ALLOC": 1000.0,
    "EQUITY_PER_TRADE": 100.0,
    "MAX_LOSS_PCT": 0.0,
    "CONCENTRATION_CAP": 0.0,
    "SHORT_VNR_FLOOR": null,
    "TREND_FILTER_MA_PERIOD": 100,
    "TREND_FILTER_MODE": "rawpos_only"
   },
   "pnl": 364.58,
   "long_pnl": 509.49,
   "short_pnl": -144.9,
   "sharpe": 0.157,
   "win_rate": 0.45,
   "profit_factor": 1.2,
   "max_dd": 185.4,
   "trades": 240
  }
 ]
}