{
 "meta": {
  "run_date": "2026-10-31",
  "finlab_version": "2.2.24",
  "data_end": "2026-10-30",
  "liquidity_filter_twd": 20000000.0,
  "benchmark": "0050 含息買進持有（etl:adj_close，不含交易成本）",
  "sharpe": "日報酬平均 / 標準差 × √252，未扣無風險利率"
 },
 "single": {
  "three-margins-up": {
   "grid": [
    {
     "param": 1,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.153579,
      "sharpe": 0.662452,
      "mdd": -0.524861,
      "total_return": 3.483808
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 1,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.153951,
      "sharpe": 0.68159,
      "mdd": -0.469817,
      "total_return": 3.498993
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 1,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.156504,
      "sharpe": 0.708497,
      "mdd": -0.465755,
      "total_return": 3.604657
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.127979,
      "sharpe": 0.575241,
      "mdd": -0.535706,
      "total_return": 2.54231
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.141402,
      "sharpe": 0.636475,
      "mdd": -0.510992,
      "total_return": 3.010896
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.145369,
      "sharpe": 0.667114,
      "mdd": -0.49285,
      "total_return": 3.159769
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.108561,
      "sharpe": 0.516155,
      "mdd": -0.559157,
      "total_return": 1.951778
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.09371,
      "sharpe": 0.478525,
      "mdd": -0.538161,
      "total_return": 1.561911
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 50,
     "avg_holdings": 49.4,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.117901,
      "sharpe": 0.580993,
      "mdd": -0.489809,
      "total_return": 2.223681
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 2,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.141402,
     "sharpe": 0.636475,
     "mdd": -0.510992,
     "total_return": 3.010896
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.194355,
      "sharpe": 0.848171,
      "mdd": -0.510992,
      "total_return": 1.541225
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.090796,
      "sharpe": 0.455087,
      "mdd": -0.46046,
      "total_return": 0.578332
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 3.53,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "三率三升",
   "param_name": "連續季數",
   "params": [
    1,
    2,
    3
   ],
   "center": 2,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.168106,
     "sharpe": 0.723493,
     "mdd": -0.493271,
     "total_return": 4.104909
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "gross-margin-high": {
   "grid": [
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.10458,
      "sharpe": 0.553675,
      "mdd": -0.49106,
      "total_return": 1.842313
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.108901,
      "sharpe": 0.578697,
      "mdd": -0.458557,
      "total_return": 1.961286
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.126364,
      "sharpe": 0.654732,
      "mdd": -0.404346,
      "total_return": 2.489389
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.113702,
      "sharpe": 0.579512,
      "mdd": -0.491139,
      "total_return": 2.098746
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.127303,
      "sharpe": 0.635007,
      "mdd": -0.43766,
      "total_return": 2.520088
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.153531,
      "sharpe": 0.743956,
      "mdd": -0.424659,
      "total_return": 3.481823
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.16519,
      "sharpe": 0.757795,
      "mdd": -0.447464,
      "total_return": 3.981114
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.163498,
      "sharpe": 0.763588,
      "mdd": -0.448941,
      "total_return": 3.905674
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 50,
     "avg_holdings": 49.9,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.164106,
      "sharpe": 0.775415,
      "mdd": -0.438322,
      "total_return": 3.932664
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 8,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.127303,
     "sharpe": 0.635007,
     "mdd": -0.43766,
     "total_return": 2.520088
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.145426,
      "sharpe": 0.744465,
      "mdd": -0.413822,
      "total_return": 1.040082
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.109468,
      "sharpe": 0.545286,
      "mdd": -0.43766,
      "total_return": 0.725464
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 3.97,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "毛利率創近 N 季新高",
   "param_name": "N 季",
   "params": [
    4,
    8,
    12
   ],
   "center": 8,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.156266,
     "sharpe": 0.743651,
     "mdd": -0.420934,
     "total_return": 3.587417
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "operating-turnaround": {
   "grid": [
    {
     "param": 1,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.182674,
      "sharpe": 0.782994,
      "mdd": -0.483285,
      "total_return": 4.824473
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 1,
     "n": 30,
     "avg_holdings": 29.3,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.17647,
      "sharpe": 0.776319,
      "mdd": -0.496368,
      "total_return": 4.511473
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 1,
     "n": 50,
     "avg_holdings": 43.3,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.195118,
      "sharpe": 0.847222,
      "mdd": -0.501048,
      "total_return": 5.501288
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 19.6,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.221708,
      "sharpe": 0.894109,
      "mdd": -0.473154,
      "total_return": 7.191554
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 27.9,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.218529,
      "sharpe": 0.897043,
      "mdd": -0.495004,
      "total_return": 6.97041
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 37.4,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.21862,
      "sharpe": 0.909257,
      "mdd": -0.501355,
      "total_return": 6.976688
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 20,
     "avg_holdings": 18.5,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.192308,
      "sharpe": 0.790348,
      "mdd": -0.510677,
      "total_return": 5.342493
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 30,
     "avg_holdings": 24.2,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.198827,
      "sharpe": 0.822504,
      "mdd": -0.530953,
      "total_return": 5.716321
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 3,
     "n": 50,
     "avg_holdings": 27.8,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.193679,
      "sharpe": 0.810827,
      "mdd": -0.530953,
      "total_return": 5.419513
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 2,
    "n": 30,
    "avg_holdings": 27.9,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.218529,
     "sharpe": 0.897043,
     "mdd": -0.495004,
     "total_return": 6.97041
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.296421,
      "sharpe": 1.213773,
      "mdd": -0.495004,
      "total_return": 2.908881
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.145316,
      "sharpe": 0.632227,
      "mdd": -0.339793,
      "total_return": 1.039052
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 4.16,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "營益率由負轉正、連續改善",
   "param_name": "連續季數",
   "params": [
    1,
    2,
    3
   ],
   "center": 2,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.25087,
     "sharpe": 0.997816,
     "mdd": -0.47142,
     "total_return": 9.46877
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "inventory-to-sales": {
   "grid": [
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.050045,
      "sharpe": 0.331165,
      "mdd": -0.527137,
      "total_return": 0.670075
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.073265,
      "sharpe": 0.429295,
      "mdd": -0.510465,
      "total_return": 1.101348
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.110739,
      "sharpe": 0.582411,
      "mdd": -0.45285,
      "total_return": 2.013265
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.032394,
      "sharpe": 0.258807,
      "mdd": -0.501388,
      "total_return": 0.397689
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.054895,
      "sharpe": 0.353451,
      "mdd": -0.545945,
      "total_return": 0.752889
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.10168,
      "sharpe": 0.546689,
      "mdd": -0.475657,
      "total_return": 1.764934
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.002219,
      "sharpe": 0.128083,
      "mdd": -0.538671,
      "total_return": 0.023554
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.070323,
      "sharpe": 0.417751,
      "mdd": -0.50575,
      "total_return": 1.04163
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.097058,
      "sharpe": 0.528518,
      "mdd": -0.462845,
      "total_return": 1.645488
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 4,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.054895,
     "sharpe": 0.353451,
     "mdd": -0.545945,
     "total_return": 0.752889
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.107474,
      "sharpe": 0.600979,
      "mdd": -0.545945,
      "total_return": 0.709241
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.004813,
      "sharpe": 0.148789,
      "mdd": -0.503449,
      "total_return": 0.025536
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 3.8,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "存貨營收比下降",
   "param_name": "比較幾季前",
   "params": [
    2,
    4,
    8
   ],
   "center": 4,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.081002,
     "sharpe": 0.460688,
     "mdd": -0.528931,
     "total_return": 1.264063
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "capex-intensity": {
   "grid": [
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.093005,
      "sharpe": 0.511618,
      "mdd": -0.471716,
      "total_return": 1.544633
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.0787,
      "sharpe": 0.457519,
      "mdd": -0.471434,
      "total_return": 1.215817
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.085347,
      "sharpe": 0.493835,
      "mdd": -0.458888,
      "total_return": 1.36349
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.096471,
      "sharpe": 0.529479,
      "mdd": -0.409565,
      "total_return": 1.630672
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.091878,
      "sharpe": 0.514665,
      "mdd": -0.397102,
      "total_return": 1.517218
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.07996,
      "sharpe": 0.470245,
      "mdd": -0.43074,
      "total_return": 1.243171
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.104415,
      "sharpe": 0.563953,
      "mdd": -0.370554,
      "total_return": 1.837876
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.112492,
      "sharpe": 0.602191,
      "mdd": -0.403245,
      "total_return": 2.063587
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.121607,
      "sharpe": 0.644491,
      "mdd": -0.387883,
      "total_return": 2.337681
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 4,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.091878,
     "sharpe": 0.514665,
     "mdd": -0.397102,
     "total_return": 1.517218
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.110741,
      "sharpe": 0.627182,
      "mdd": -0.382791,
      "total_return": 0.735891
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.073336,
      "sharpe": 0.422682,
      "mdd": -0.397102,
      "total_return": 0.450102
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 4.04,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "資本支出強度增幅低",
   "param_name": "比較幾季前",
   "params": [
    2,
    4,
    8
   ],
   "center": 4,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.120175,
     "sharpe": 0.630853,
     "mdd": -0.384147,
     "total_return": 2.289112
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "contract-liability": {
   "grid": [
    {
     "param": 1,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.271602,
      "sharpe": 1.097531,
      "mdd": -0.334025,
      "total_return": 4.708594
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 1,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.254791,
      "sharpe": 1.104324,
      "mdd": -0.358534,
      "total_return": 4.183538
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 1,
     "n": 50,
     "avg_holdings": 48.7,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.236045,
      "sharpe": 1.099311,
      "mdd": -0.377665,
      "total_return": 3.647649
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.266571,
      "sharpe": 1.080106,
      "mdd": -0.378499,
      "total_return": 4.546863
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.281966,
      "sharpe": 1.196419,
      "mdd": -0.379843,
      "total_return": 5.054605
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 48.7,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.235905,
      "sharpe": 1.091502,
      "mdd": -0.39966,
      "total_return": 3.643835
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.253124,
      "sharpe": 1.029867,
      "mdd": -0.487416,
      "total_return": 4.133826
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.209826,
      "sharpe": 0.934546,
      "mdd": -0.468553,
      "total_return": 2.978558
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 48.5,
     "strategy": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.227838,
      "sharpe": 1.059488,
      "mdd": -0.424402,
      "total_return": 3.428504
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2026-10-30",
      "cagr": 0.28707,
      "sharpe": 1.280372,
      "mdd": -0.33957,
      "total_return": 5.23155
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 2,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2019-07-31",
     "end": "2026-10-30",
     "cagr": 0.281966,
     "sharpe": 1.196419,
     "mdd": -0.379843,
     "total_return": 5.054605
    },
    "bench": {
     "start": "2019-07-31",
     "end": "2026-10-30",
     "cagr": 0.28707,
     "sharpe": 1.280372,
     "mdd": -0.33957,
     "total_return": 5.23155
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2019-07-31",
      "end": "2023-03-16",
      "cagr": 0.151315,
      "sharpe": 0.759564,
      "mdd": -0.35345,
      "total_return": 0.666568
     },
     "bench": {
      "start": "2019-07-31",
      "end": "2023-03-16",
      "cagr": 0.138177,
      "sharpe": 0.761091,
      "mdd": -0.33957,
      "total_return": 0.598661
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2023-03-16",
      "end": "2026-10-30",
      "cagr": 0.427443,
      "sharpe": 1.592706,
      "mdd": -0.379843,
      "total_return": 2.632979
     },
     "bench": {
      "start": "2023-03-16",
      "end": "2026-10-30",
      "cagr": 0.455439,
      "sharpe": 1.726748,
      "mdd": -0.27485,
      "total_return": 2.897982
     },
     "win": false
    }
   ],
   "annual_turnover": 3.54,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "流動合約負債成長",
   "param_name": "比較幾季前",
   "params": [
    1,
    2,
    4
   ],
   "center": 2,
   "start": "2019-07-01",
   "zero_cost": {
    "strategy": {
     "start": "2019-08-01",
     "end": "2026-10-30",
     "cagr": 0.311482,
     "sharpe": 1.295437,
     "mdd": -0.369058,
     "total_return": 6.135652
    },
    "bench": {
     "start": "2019-08-01",
     "end": "2026-10-30",
     "cagr": 0.288269,
     "sharpe": 1.284685,
     "mdd": -0.33957,
     "total_return": 5.269409
    },
    "win": true
   }
  },
  "eps-growth-streak": {
   "grid": [
    {
     "param": 2,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.077018,
      "sharpe": 0.423024,
      "mdd": -0.441944,
      "total_return": 1.179812
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.118759,
      "sharpe": 0.582654,
      "mdd": -0.402155,
      "total_return": 2.249757
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 2,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.167755,
      "sharpe": 0.768784,
      "mdd": -0.407997,
      "total_return": 4.097459
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.140198,
      "sharpe": 0.638492,
      "mdd": -0.474537,
      "total_return": 2.966689
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.125674,
      "sharpe": 0.599764,
      "mdd": -0.466479,
      "total_return": 2.467032
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.122239,
      "sharpe": 0.608578,
      "mdd": -0.4422,
      "total_return": 2.35751
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 6,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.123264,
      "sharpe": 0.578711,
      "mdd": -0.52942,
      "total_return": 2.389859
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 6,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.126031,
      "sharpe": 0.610443,
      "mdd": -0.490408,
      "total_return": 2.478588
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 6,
     "n": 50,
     "avg_holdings": 44.2,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.125349,
      "sharpe": 0.634655,
      "mdd": -0.457652,
      "total_return": 2.456533
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 4,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.125674,
     "sharpe": 0.599764,
     "mdd": -0.466479,
     "total_return": 2.467032
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.131915,
      "sharpe": 0.655882,
      "mdd": -0.466479,
      "total_return": 0.916849
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.119468,
      "sharpe": 0.556234,
      "mdd": -0.4026,
      "total_return": 0.808714
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 3.98,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "EPS 連續 N 季年增",
   "param_name": "N 季",
   "params": [
    2,
    4,
    6
   ],
   "center": 4,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.154839,
     "sharpe": 0.700794,
     "mdd": -0.444047,
     "total_return": 3.528354
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  },
  "stable-roe": {
   "grid": [
    {
     "param": 4,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.101951,
      "sharpe": 0.613224,
      "mdd": -0.356719,
      "total_return": 1.772072
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.0947,
      "sharpe": 0.587407,
      "mdd": -0.342541,
      "total_return": 1.58639
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 4,
     "n": 50,
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.125049,
      "sharpe": 0.729962,
      "mdd": -0.332722,
      "total_return": 2.446843
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.124797,
      "sharpe": 0.777025,
      "mdd": -0.311298,
      "total_return": 2.438738
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.122762,
      "sharpe": 0.761289,
      "mdd": -0.331155,
      "total_return": 2.373956
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 8,
     "n": 50,
     "avg_holdings": 48.5,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.140641,
      "sharpe": 0.832649,
      "mdd": -0.356004,
      "total_return": 2.982913
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 20,
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.11607,
      "sharpe": 0.751849,
      "mdd": -0.359118,
      "total_return": 2.168657
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 30,
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.133048,
      "sharpe": 0.818754,
      "mdd": -0.390299,
      "total_return": 2.713106
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "param": 12,
     "n": 50,
     "avg_holdings": 39.2,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.132816,
      "sharpe": 0.801083,
      "mdd": -0.395667,
      "total_return": 2.705114
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "base": {
    "param": 8,
    "n": 30,
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.122762,
     "sharpe": 0.761289,
     "mdd": -0.331155,
     "total_return": 2.373956
    },
    "bench": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.23803,
     "sharpe": 1.198602,
     "mdd": -0.33957,
     "total_return": 8.4167
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.141348,
      "sharpe": 0.943191,
      "mdd": -0.305448,
      "total_return": 1.002227
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2021-07-30",
      "cagr": 0.203519,
      "sharpe": 1.23067,
      "mdd": -0.282177,
      "total_return": 1.645296
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.104478,
      "sharpe": 0.622875,
      "mdd": -0.331155,
      "total_return": 0.685101
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "annual_turnover": 1.64,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "ROE 高且穩定",
   "param_name": "N 季",
   "params": [
    4,
    8,
    12
   ],
   "center": 8,
   "start": "2016-04-01",
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.135779,
     "sharpe": 0.827646,
     "mdd": -0.324414,
     "total_return": 2.802866
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   }
  }
 },
 "combo": {
  "three-margins-up": {
   "grid": [
    {
     "param": 1,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.346991,
      "sharpe": 1.126839,
      "mdd": -0.394097,
      "total_return": 21.614682
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 1,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.366314,
      "sharpe": 1.23409,
      "mdd": -0.355224,
      "total_return": 25.251355
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 1,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.396129,
      "sharpe": 1.352491,
      "mdd": -0.317035,
      "total_return": 31.908108
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.325859,
      "sharpe": 1.112328,
      "mdd": -0.366267,
      "total_return": 18.164276
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.360234,
      "sharpe": 1.267399,
      "mdd": -0.325545,
      "total_return": 24.053765
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.327444,
      "sharpe": 1.239466,
      "mdd": -0.332251,
      "total_return": 18.405383
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 3,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.228253,
      "sharpe": 0.88151,
      "mdd": -0.402382,
      "total_return": 7.606036
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 3,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.213149,
      "sharpe": 0.881975,
      "mdd": -0.478973,
      "total_return": 6.560381
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 3,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.223745,
      "sharpe": 0.957577,
      "mdd": -0.343373,
      "total_return": 7.281001
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    }
   ],
   "grid_wins": 4,
   "base": {
    "param": 2,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.360234,
     "sharpe": 1.267399,
     "mdd": -0.325545,
     "total_return": 24.053765
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.39208,
      "sharpe": 1.470926,
      "mdd": -0.269608,
      "total_return": 4.650016
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.329116,
      "sharpe": 1.110311,
      "mdd": -0.325545,
      "total_return": 3.434283
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "annual_turnover": 10.97,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋三率三升",
   "param_name": "連續季數",
   "params": [
    1,
    2,
    3
   ],
   "center": 2,
   "start": "2016-04-01",
   "above_base": 0,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.451359,
     "sharpe": 1.511204,
     "mdd": -0.300766,
     "total_return": 48.347496
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "gross-margin-high": {
   "grid": [
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.324351,
      "sharpe": 1.102852,
      "mdd": -0.409649,
      "total_return": 17.937297
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.393178,
      "sharpe": 1.325604,
      "mdd": -0.329072,
      "total_return": 31.187295
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.43216,
      "sharpe": 1.47126,
      "mdd": -0.299243,
      "total_return": 41.969467
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.419046,
      "sharpe": 1.30384,
      "mdd": -0.335265,
      "total_return": 38.02418
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.513704,
      "sharpe": 1.5989,
      "mdd": -0.302187,
      "total_return": 75.726921
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.49281,
      "sharpe": 1.618933,
      "mdd": -0.301203,
      "total_return": 65.335604
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 12,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.461079,
      "sharpe": 1.437547,
      "mdd": -0.411606,
      "total_return": 51.973332
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 12,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.449439,
      "sharpe": 1.491936,
      "mdd": -0.362141,
      "total_return": 47.717977
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 12,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.472848,
      "sharpe": 1.627761,
      "mdd": -0.323035,
      "total_return": 56.615075
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 8,
   "base": {
    "param": 8,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.513704,
     "sharpe": 1.5989,
     "mdd": -0.302187,
     "total_return": 75.726921
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.519485,
      "sharpe": 1.776673,
      "mdd": -0.291003,
      "total_return": 7.935906
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.507946,
      "sharpe": 1.471786,
      "mdd": -0.302187,
      "total_return": 7.586361
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": true
    }
   ],
   "annual_turnover": 10.9,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋毛利率創近 N 季新高",
   "param_name": "N 季",
   "params": [
    4,
    8,
    12
   ],
   "center": 8,
   "start": "2016-04-01",
   "above_base": 5,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.61514,
     "sharpe": 1.833131,
     "mdd": -0.291502,
     "total_return": 150.110761
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "operating-turnaround": {
   "grid": [
    {
     "param": 1,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.464082,
      "sharpe": 1.451834,
      "mdd": -0.332058,
      "total_return": 53.124674
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 1,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.491762,
      "sharpe": 1.623964,
      "mdd": -0.329955,
      "total_return": 64.849656
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 1,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.440076,
      "sharpe": 1.57692,
      "mdd": -0.3285,
      "total_return": 44.522234
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.398839,
      "sharpe": 1.310355,
      "mdd": -0.32051,
      "total_return": 32.583105
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.362933,
      "sharpe": 1.297536,
      "mdd": -0.313085,
      "total_return": 24.579169
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.35299,
      "sharpe": 1.334762,
      "mdd": -0.343162,
      "total_return": 22.691521
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 3,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.361879,
      "sharpe": 1.258056,
      "mdd": -0.364442,
      "total_return": 24.372803
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 3,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.395157,
      "sharpe": 1.428749,
      "mdd": -0.341724,
      "total_return": 31.669106
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 3,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.428586,
      "sharpe": 1.535105,
      "mdd": -0.279411,
      "total_return": 40.859979
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 9,
   "base": {
    "param": 2,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.362933,
     "sharpe": 1.297536,
     "mdd": -0.313085,
     "total_return": 24.579169
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.56579,
      "sharpe": 1.91718,
      "mdd": -0.278751,
      "total_return": 9.456475
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.186357,
      "sharpe": 0.75222,
      "mdd": -0.313085,
      "total_return": 1.446252
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "annual_turnover": 9.94,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋營益率由負轉正、連續改善",
   "param_name": "連續季數",
   "params": [
    1,
    2,
    3
   ],
   "center": 2,
   "start": "2016-04-01",
   "above_base": 4,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.446645,
     "sharpe": 1.526889,
     "mdd": -0.289698,
     "total_return": 46.695338
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "inventory-to-sales": {
   "grid": [
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.337936,
      "sharpe": 1.145493,
      "mdd": -0.417542,
      "total_return": 20.072693
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.360929,
      "sharpe": 1.253488,
      "mdd": -0.340508,
      "total_return": 24.188175
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.362729,
      "sharpe": 1.315317,
      "mdd": -0.315029,
      "total_return": 24.539084
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.417757,
      "sharpe": 1.346377,
      "mdd": -0.422148,
      "total_return": 37.654638
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.430772,
      "sharpe": 1.447157,
      "mdd": -0.381166,
      "total_return": 41.535567
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.413857,
      "sharpe": 1.463525,
      "mdd": -0.398572,
      "total_return": 36.555832
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.514621,
      "sharpe": 1.582311,
      "mdd": -0.354704,
      "total_return": 76.214485
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.457541,
      "sharpe": 1.52216,
      "mdd": -0.327103,
      "total_return": 50.645794
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.442859,
      "sharpe": 1.561981,
      "mdd": -0.311073,
      "total_return": 45.451647
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 8,
   "base": {
    "param": 4,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.430772,
     "sharpe": 1.447157,
     "mdd": -0.381166,
     "total_return": 41.535567
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.436713,
      "sharpe": 1.539096,
      "mdd": -0.346695,
      "total_return": 5.664933
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.424856,
      "sharpe": 1.370719,
      "mdd": -0.339301,
      "total_return": 5.381994
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": true
    }
   ],
   "annual_turnover": 11.14,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋存貨營收比下降",
   "param_name": "比較幾季前",
   "params": [
    2,
    4,
    8
   ],
   "center": 4,
   "start": "2016-04-01",
   "above_base": 3,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.528087,
     "sharpe": 1.694291,
     "mdd": -0.319693,
     "total_return": 83.61386
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "capex-intensity": {
   "grid": [
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.493534,
      "sharpe": 1.446115,
      "mdd": -0.389054,
      "total_return": 65.6735
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.489782,
      "sharpe": 1.518512,
      "mdd": -0.382344,
      "total_return": 63.940619
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.470929,
      "sharpe": 1.54805,
      "mdd": -0.360183,
      "total_return": 55.834053
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.507664,
      "sharpe": 1.458928,
      "mdd": -0.376347,
      "total_return": 72.581046
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.483795,
      "sharpe": 1.503135,
      "mdd": -0.347781,
      "total_return": 61.259674
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.439002,
      "sharpe": 1.464542,
      "mdd": -0.319551,
      "total_return": 44.168043
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.476248,
      "sharpe": 1.38829,
      "mdd": -0.459341,
      "total_return": 58.023006
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.421385,
      "sharpe": 1.346859,
      "mdd": -0.424446,
      "total_return": 38.70279
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 8,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.387712,
      "sharpe": 1.32453,
      "mdd": -0.412937,
      "total_return": 29.889453
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 9,
   "base": {
    "param": 4,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.483795,
     "sharpe": 1.503135,
     "mdd": -0.347781,
     "total_return": 61.259674
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.515469,
      "sharpe": 1.638546,
      "mdd": -0.347781,
      "total_return": 7.812962
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.452784,
      "sharpe": 1.382888,
      "mdd": -0.240327,
      "total_return": 6.064557
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": true
    }
   ],
   "annual_turnover": 11.54,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋資本支出強度增幅低",
   "param_name": "比較幾季前",
   "params": [
    2,
    4,
    8
   ],
   "center": 4,
   "start": "2016-04-01",
   "above_base": 6,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.587528,
     "sharpe": 1.742108,
     "mdd": -0.304722,
     "total_return": 125.156863
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "contract-liability": {
   "grid": [
    {
     "param": 1,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.392568,
      "sharpe": 1.426205,
      "mdd": -0.279955,
      "total_return": 9.952036
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 1,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.377239,
      "sharpe": 1.475525,
      "mdd": -0.254502,
      "total_return": 9.109957
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 1,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.353348,
      "sharpe": 1.463918,
      "mdd": -0.225905,
      "total_return": 7.908789
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.369761,
      "sharpe": 1.374064,
      "mdd": -0.288408,
      "total_return": 8.719851
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.345785,
      "sharpe": 1.367892,
      "mdd": -0.262358,
      "total_return": 7.555142
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.342515,
      "sharpe": 1.42436,
      "mdd": -0.284187,
      "total_return": 7.406035
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.319904,
      "sharpe": 1.222624,
      "mdd": -0.277172,
      "total_return": 6.434827
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": false
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.323438,
      "sharpe": 1.304857,
      "mdd": -0.297486,
      "total_return": 6.579939
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": true
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.290657,
      "sharpe": 1.26641,
      "mdd": -0.268774,
      "total_return": 5.323125
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2026-10-30",
      "cagr": 0.292751,
      "sharpe": 1.300377,
      "mdd": -0.33957,
      "total_return": 5.397673
     },
     "win": false
    }
   ],
   "grid_wins": 7,
   "base": {
    "param": 2,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.345785,
     "sharpe": 1.367892,
     "mdd": -0.262358,
     "total_return": 7.555142
    },
    "bench": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.292751,
     "sharpe": 1.300377,
     "mdd": -0.33957,
     "total_return": 5.397673
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2019-08-08",
      "end": "2023-03-20",
      "cagr": 0.140948,
      "sharpe": 0.721512,
      "mdd": -0.262358,
      "total_return": 0.610483
     },
     "bench": {
      "start": "2019-08-08",
      "end": "2023-03-20",
      "cagr": 0.149781,
      "sharpe": 0.81314,
      "mdd": -0.33957,
      "total_return": 0.656001
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2023-03-20",
      "end": "2026-10-30",
      "cagr": 0.587398,
      "sharpe": 1.920657,
      "mdd": -0.252253,
      "total_return": 4.312158
     },
     "bench": {
      "start": "2023-03-20",
      "end": "2026-10-30",
      "cagr": 0.453499,
      "sharpe": 1.719206,
      "mdd": -0.27485,
      "total_return": 2.863326
     },
     "win": true
    }
   ],
   "annual_turnover": 10.1,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋流動合約負債成長",
   "param_name": "比較幾季前",
   "params": [
    1,
    2,
    4
   ],
   "center": 2,
   "start": "2019-07-01",
   "above_base": 0,
   "zero_cost": {
    "strategy": {
     "start": "2019-08-12",
     "end": "2026-10-30",
     "cagr": 0.43073,
     "sharpe": 1.629112,
     "mdd": -0.249331,
     "total_return": 12.263462
    },
    "bench": {
     "start": "2019-08-12",
     "end": "2026-10-30",
     "cagr": 0.293366,
     "sharpe": 1.301151,
     "mdd": -0.33957,
     "total_return": 5.401642
    },
    "win": true
   }
  },
  "eps-growth-streak": {
   "grid": [
    {
     "param": 2,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.355709,
      "sharpe": 1.211188,
      "mdd": -0.399321,
      "total_return": 23.194886
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 2,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.315964,
      "sharpe": 1.165914,
      "mdd": -0.447447,
      "total_return": 16.718577
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 2,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.35554,
      "sharpe": 1.333165,
      "mdd": -0.325102,
      "total_return": 23.163204
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.234311,
      "sharpe": 0.929842,
      "mdd": -0.428462,
      "total_return": 8.060981
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.252603,
      "sharpe": 1.042425,
      "mdd": -0.36996,
      "total_return": 9.569674
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.219932,
      "sharpe": 0.981669,
      "mdd": -0.367361,
      "total_return": 7.014837
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 6,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.20198,
      "sharpe": 0.875493,
      "mdd": -0.31784,
      "total_return": 5.862611
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 6,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.274781,
      "sharpe": 1.154563,
      "mdd": -0.284589,
      "total_return": 11.701757
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 6,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.322473,
      "sharpe": 1.338128,
      "mdd": -0.295875,
      "total_return": 17.657894
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 2,
   "base": {
    "param": 4,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.252603,
     "sharpe": 1.042425,
     "mdd": -0.36996,
     "total_return": 9.569674
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.200383,
      "sharpe": 0.931452,
      "mdd": -0.36996,
      "total_return": 1.601481
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.307095,
      "sharpe": 1.143525,
      "mdd": -0.344249,
      "total_return": 3.062945
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "annual_turnover": 10.46,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋EPS 連續 N 季年增",
   "param_name": "N 季",
   "params": [
    2,
    4,
    6
   ],
   "center": 4,
   "start": "2016-04-01",
   "above_base": 0,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.33401,
     "sharpe": 1.303925,
     "mdd": -0.31247,
     "total_return": 19.418061
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  },
  "stable-roe": {
   "grid": [
    {
     "param": 4,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.193601,
      "sharpe": 0.871183,
      "mdd": -0.273131,
      "total_return": 5.377932
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 4,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.197686,
      "sharpe": 0.924896,
      "mdd": -0.273092,
      "total_return": 5.610227
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 4,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.227424,
      "sharpe": 1.07736,
      "mdd": -0.251617,
      "total_return": 7.545404
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 8,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.226129,
      "sharpe": 1.048622,
      "mdd": -0.252342,
      "total_return": 7.451494
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 8,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.249986,
      "sharpe": 1.181868,
      "mdd": -0.245892,
      "total_return": 9.340767
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 8,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.254047,
      "sharpe": 1.235207,
      "mdd": -0.25311,
      "total_return": 9.697966
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "param": 12,
     "n": 8,
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.237908,
      "sharpe": 1.114269,
      "mdd": -0.263471,
      "total_return": 8.341218
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 12,
     "n": 10,
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.246842,
      "sharpe": 1.200023,
      "mdd": -0.244614,
      "total_return": 9.071677
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "param": 12,
     "n": 12,
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.279194,
      "sharpe": 1.363648,
      "mdd": -0.260186,
      "total_return": 12.169635
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    }
   ],
   "grid_wins": 2,
   "base": {
    "param": 8,
    "n": 10,
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.249986,
     "sharpe": 1.181868,
     "mdd": -0.245892,
     "total_return": 9.340767
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.156944,
      "sharpe": 0.891241,
      "mdd": -0.245892,
      "total_return": 1.144989
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2021-08-05",
      "cagr": 0.215839,
      "sharpe": 1.292531,
      "mdd": -0.282177,
      "total_return": 1.781679
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.350511,
      "sharpe": 1.428505,
      "mdd": -0.177585,
      "total_return": 3.820895
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": true
    }
   ],
   "annual_turnover": 9.26,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋ROE 高且穩定",
   "param_name": "N 季",
   "params": [
    4,
    8,
    12
   ],
   "center": 8,
   "start": "2016-04-01",
   "above_base": 0,
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.321436,
     "sharpe": 1.455771,
     "mdd": -0.238464,
     "total_return": 17.49125
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   }
  }
 },
 "base_alone": {
  "2016-04-01": {
   "8": {
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.478474,
     "sharpe": 1.370606,
     "mdd": -0.404458,
     "total_return": 58.961247
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.475923,
       "sharpe": 1.430328,
       "mdd": -0.362897,
       "total_return": 6.67379
      },
      "bench": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.215839,
       "sharpe": 1.292531,
       "mdd": -0.282177,
       "total_return": 1.781679
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.481029,
       "sharpe": 1.322046,
       "mdd": -0.333176,
       "total_return": 6.813772
      },
      "bench": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.269285,
       "sharpe": 1.187025,
       "mdd": -0.33957,
       "total_return": 2.484241
      },
      "win": true
     }
    ]
   },
   "10": {
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.497662,
     "sharpe": 1.491083,
     "mdd": -0.355509,
     "total_return": 67.627984
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.457912,
       "sharpe": 1.455258,
       "mdd": -0.355509,
       "total_return": 6.196069
      },
      "bench": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.215839,
       "sharpe": 1.292531,
       "mdd": -0.282177,
       "total_return": 1.781679
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.538496,
       "sharpe": 1.526966,
       "mdd": -0.240114,
       "total_return": 8.536871
      },
      "bench": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.269285,
       "sharpe": 1.187025,
       "mdd": -0.33957,
       "total_return": 2.484241
      },
      "win": true
     }
    ],
    "zero_cost": {
     "strategy": {
      "start": "2016-05-12",
      "end": "2026-10-30",
      "cagr": 0.603148,
      "sharpe": 1.723389,
      "mdd": -0.343803,
      "total_return": 138.77185
     },
     "bench": {
      "start": "2016-05-12",
      "end": "2026-10-30",
      "cagr": 0.242444,
      "sharpe": 1.215616,
      "mdd": -0.33957,
      "total_return": 8.700146
     },
     "win": true
    }
   },
   "12": {
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.483775,
     "sharpe": 1.520475,
     "mdd": -0.342578,
     "total_return": 61.250578
    },
    "bench": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.242275,
     "sharpe": 1.214963,
     "mdd": -0.33957,
     "total_return": 8.692042
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.476697,
       "sharpe": 1.565703,
       "mdd": -0.342578,
       "total_return": 6.694869
      },
      "bench": {
       "start": "2016-05-11",
       "end": "2021-08-05",
       "cagr": 0.215839,
       "sharpe": 1.292531,
       "mdd": -0.282177,
       "total_return": 1.781679
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.490886,
       "sharpe": 1.48286,
       "mdd": -0.230399,
       "total_return": 7.089881
      },
      "bench": {
       "start": "2021-08-05",
       "end": "2026-10-30",
       "cagr": 0.269285,
       "sharpe": 1.187025,
       "mdd": -0.33957,
       "total_return": 2.484241
      },
      "win": true
     }
    ]
   }
  },
  "2019-07-01": {
   "8": {
    "strategy": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.551966,
     "sharpe": 1.435044,
     "mdd": -0.404458,
     "total_return": 22.9708
    },
    "bench": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.292751,
     "sharpe": 1.300377,
     "mdd": -0.33957,
     "total_return": 5.397673
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.381977,
       "sharpe": 1.129125,
       "mdd": -0.404458,
       "total_return": 2.219326
      },
      "bench": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.149781,
       "sharpe": 0.81314,
       "mdd": -0.33957,
       "total_return": 0.656001
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.742864,
       "sharpe": 1.723382,
       "mdd": -0.305141,
       "total_return": 6.445906
      },
      "bench": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.453499,
       "sharpe": 1.719206,
       "mdd": -0.27485,
       "total_return": 2.863326
      },
      "win": true
     }
    ]
   },
   "10": {
    "strategy": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.601108,
     "sharpe": 1.615295,
     "mdd": -0.354559,
     "total_return": 29.028718
    },
    "bench": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.292751,
     "sharpe": 1.300377,
     "mdd": -0.33957,
     "total_return": 5.397673
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.504872,
       "sharpe": 1.435647,
       "mdd": -0.354559,
       "total_return": 3.380033
      },
      "bench": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.149781,
       "sharpe": 0.81314,
       "mdd": -0.33957,
       "total_return": 0.656001
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.703497,
       "sharpe": 1.790853,
       "mdd": -0.240114,
       "total_return": 5.855821
      },
      "bench": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.453499,
       "sharpe": 1.719206,
       "mdd": -0.27485,
       "total_return": 2.863326
      },
      "win": true
     }
    ],
    "zero_cost": {
     "strategy": {
      "start": "2019-08-12",
      "end": "2026-10-30",
      "cagr": 0.714812,
      "sharpe": 1.831322,
      "mdd": -0.343803,
      "total_return": 48.015568
     },
     "bench": {
      "start": "2019-08-12",
      "end": "2026-10-30",
      "cagr": 0.293366,
      "sharpe": 1.301151,
      "mdd": -0.33957,
      "total_return": 5.401642
     },
     "win": true
    }
   },
   "12": {
    "strategy": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.591812,
     "sharpe": 1.656638,
     "mdd": -0.307831,
     "total_return": 27.791155
    },
    "bench": {
     "start": "2019-08-08",
     "end": "2026-10-30",
     "cagr": 0.292751,
     "sharpe": 1.300377,
     "mdd": -0.33957,
     "total_return": 5.397673
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.550595,
       "sharpe": 1.578465,
       "mdd": -0.307831,
       "total_return": 3.880383
      },
      "bench": {
       "start": "2019-08-08",
       "end": "2023-03-20",
       "cagr": 0.149781,
       "sharpe": 0.81314,
       "mdd": -0.33957,
       "total_return": 0.656001
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.634125,
       "sharpe": 1.733186,
       "mdd": -0.230399,
       "total_return": 4.899364
      },
      "bench": {
       "start": "2023-03-20",
       "end": "2026-10-30",
       "cagr": 0.453499,
       "sharpe": 1.719206,
       "mdd": -0.27485,
       "total_return": 2.863326
      },
      "win": true
     }
    ]
   }
  }
 }
}