{
 "meta": {
  "run_date": "2026-10-31",
  "finlab_version": "2.2.24",
  "pandas_version": "3.1.0",
  "data_end": "2026-10-30",
  "liquidity_filter_twd": 20000000.0,
  "benchmark": "0050 含息買進持有（etl:adj_close，不含交易成本）",
  "sharpe": "日報酬平均 / 標準差 × √252，未扣無風險利率"
 },
 "single": {
  "short-term-reversal": {
   "param_names": [
    "回看 L 日",
    "持股 n"
   ],
   "center": [
    20,
    30
   ],
   "grid": [
    {
     "params": [
      10,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.05439,
      "sharpe": 0.334814,
      "mdd": -0.534736,
      "total_return": 0.744082
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      10,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.061043,
      "sharpe": 0.360732,
      "mdd": -0.503383,
      "total_return": 0.863187
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      10,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.065412,
      "sharpe": 0.382295,
      "mdd": -0.469485,
      "total_return": 0.945368
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      20,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": -0.000591,
      "sharpe": 0.145887,
      "mdd": -0.531899,
      "total_return": -0.006187
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      20,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.011705,
      "sharpe": 0.184668,
      "mdd": -0.476797,
      "total_return": 0.129995
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      20,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.03542,
      "sharpe": 0.269363,
      "mdd": -0.446081,
      "total_return": 0.441322
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      30,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": -0.008421,
      "sharpe": 0.112284,
      "mdd": -0.526189,
      "total_return": -0.084981
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      30,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": -0.01916,
      "sharpe": 0.063778,
      "mdd": -0.551476,
      "total_return": -0.183866
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      30,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": -0.015374,
      "sharpe": 0.068871,
      "mdd": -0.493449,
      "total_return": -0.150168
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     20,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.011705,
     "sharpe": 0.184668,
     "mdd": -0.476797,
     "total_return": 0.129995
    },
    "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.069883,
      "sharpe": 0.397644,
      "mdd": -0.439229,
      "total_return": 0.425775
     },
     "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.04331,
      "sharpe": -0.001377,
      "mdd": -0.476797,
      "total_return": -0.207452
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.081056,
     "sharpe": 0.428086,
     "mdd": -0.448251,
     "total_return": 1.265247
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   },
   "annual_turnover": 11.22,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "短期反轉",
   "start": "2016-04-01"
  },
  "long-term-reversal": {
   "param_names": [
    "回看 L 月",
    "持股 n"
   ],
   "center": [
    36,
    30
   ],
   "grid": [
    {
     "params": [
      24,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": -0.011964,
      "sharpe": 0.067525,
      "mdd": -0.616684,
      "total_return": -0.118748
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      24,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.024585,
      "sharpe": 0.225247,
      "mdd": -0.531104,
      "total_return": 0.290561
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      24,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.052267,
      "sharpe": 0.353417,
      "mdd": -0.429927,
      "total_return": 0.707564
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      36,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.049213,
      "sharpe": 0.330583,
      "mdd": -0.579483,
      "total_return": 0.656227
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      36,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.067653,
      "sharpe": 0.416371,
      "mdd": -0.502237,
      "total_return": 0.988769
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      36,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.075481,
      "sharpe": 0.460701,
      "mdd": -0.46399,
      "total_return": 1.14736
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      48,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.083398,
      "sharpe": 0.476643,
      "mdd": -0.600476,
      "total_return": 1.319315
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      48,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.075478,
      "sharpe": 0.453886,
      "mdd": -0.52523,
      "total_return": 1.147296
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      48,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.08192,
      "sharpe": 0.490888,
      "mdd": -0.46842,
      "total_return": 1.286287
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     36,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.067653,
     "sharpe": 0.416371,
     "mdd": -0.502237,
     "total_return": 0.988769
    },
    "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.091984,
      "sharpe": 0.526015,
      "mdd": -0.502237,
      "total_return": 0.587379
     },
     "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.043864,
      "sharpe": 0.310569,
      "mdd": -0.393635,
      "total_return": 0.252863
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.09573,
     "sharpe": 0.537004,
     "mdd": -0.471376,
     "total_return": 1.609447
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   },
   "annual_turnover": 4.09,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "長期反轉",
   "start": "2016-04-01"
  },
  "earnings-surprise": {
   "param_names": [
    "標準差 W 季",
    "持股 n"
   ],
   "center": [
    8,
    30
   ],
   "grid": [
    {
     "params": [
      4,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.121366,
      "sharpe": 0.605855,
      "mdd": -0.412321,
      "total_return": 1.912782
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      4,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.16109,
      "sharpe": 0.755212,
      "mdd": -0.3875,
      "total_return": 3.031026
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      4,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.191271,
      "sharpe": 0.872023,
      "mdd": -0.401483,
      "total_return": 4.121923
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      8,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.149696,
      "sharpe": 0.680645,
      "mdd": -0.41995,
      "total_return": 2.676551
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      8,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.202042,
      "sharpe": 0.874905,
      "mdd": -0.393666,
      "total_return": 4.570783
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      8,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.211536,
      "sharpe": 0.921659,
      "mdd": -0.36854,
      "total_return": 4.995244
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      12,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.213804,
      "sharpe": 0.885855,
      "mdd": -0.414536,
      "total_return": 5.100819
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      12,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.230013,
      "sharpe": 0.967361,
      "mdd": -0.389207,
      "total_return": 5.904913
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    },
    {
     "params": [
      12,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.223414,
      "sharpe": 0.973409,
      "mdd": -0.358351,
      "total_return": 5.566765
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2026-10-30",
      "cagr": 0.23109,
      "sharpe": 1.136262,
      "mdd": -0.33957,
      "total_return": 5.961512
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "grid_n": 9,
   "base": {
    "params": [
     8,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2017-06-30",
     "end": "2026-10-30",
     "cagr": 0.202042,
     "sharpe": 0.874905,
     "mdd": -0.393666,
     "total_return": 4.570783
    },
    "bench": {
     "start": "2017-06-30",
     "end": "2026-10-30",
     "cagr": 0.23109,
     "sharpe": 1.136262,
     "mdd": -0.33957,
     "total_return": 5.961512
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2017-06-30",
      "end": "2022-02-25",
      "cagr": 0.250149,
      "sharpe": 1.08377,
      "mdd": -0.379442,
      "total_return": 1.828518
     },
     "bench": {
      "start": "2017-06-30",
      "end": "2022-02-25",
      "cagr": 0.164751,
      "sharpe": 0.999091,
      "mdd": -0.282177,
      "total_return": 1.034477
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2022-03-01",
      "end": "2026-10-30",
      "cagr": 0.152054,
      "sharpe": 0.678875,
      "mdd": -0.393666,
      "total_return": 0.935484
     },
     "bench": {
      "start": "2022-03-01",
      "end": "2026-10-30",
      "cagr": 0.29782,
      "sharpe": 1.249733,
      "mdd": -0.300599,
      "total_return": 2.374263
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2017-07-03",
     "end": "2026-10-30",
     "cagr": 0.234457,
     "sharpe": 0.982947,
     "mdd": -0.380047,
     "total_return": 6.128941
    },
    "bench": {
     "start": "2017-07-03",
     "end": "2026-10-30",
     "cagr": 0.231233,
     "sharpe": 1.136182,
     "mdd": -0.33957,
     "total_return": 5.957186
    },
    "win": false
   },
   "annual_turnover": 4.18,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "盈餘驚喜 SUE",
   "start": "2017-06-01"
  },
  "value-composite": {
   "param_names": [
    "盈餘與現金流 q 季",
    "持股 n"
   ],
   "center": [
    4,
    30
   ],
   "grid": [
    {
     "params": [
      2,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.125401,
      "sharpe": 0.737479,
      "mdd": -0.356444,
      "total_return": 2.45821
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      2,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.133862,
      "sharpe": 0.799553,
      "mdd": -0.351871,
      "total_return": 2.741223
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      2,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.158326,
      "sharpe": 0.932241,
      "mdd": -0.338235,
      "total_return": 3.681388
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.118556,
      "sharpe": 0.705102,
      "mdd": -0.366447,
      "total_return": 2.243566
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.126691,
      "sharpe": 0.768904,
      "mdd": -0.353705,
      "total_return": 2.500041
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.132037,
      "sharpe": 0.814475,
      "mdd": -0.353403,
      "total_return": 2.678452
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.09685,
      "sharpe": 0.60083,
      "mdd": -0.375469,
      "total_return": 1.640242
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.115952,
      "sharpe": 0.711116,
      "mdd": -0.359836,
      "total_return": 2.165134
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.123191,
      "sharpe": 0.767671,
      "mdd": -0.353625,
      "total_return": 2.387551
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     4,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.126691,
     "sharpe": 0.768904,
     "mdd": -0.353705,
     "total_return": 2.500041
    },
    "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.166309,
      "sharpe": 0.986207,
      "mdd": -0.344004,
      "total_return": 1.243116
     },
     "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.088418,
      "sharpe": 0.563334,
      "mdd": -0.312958,
      "total_return": 0.560348
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.150897,
     "sharpe": 0.888974,
     "mdd": -0.342019,
     "total_return": 3.368791
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   },
   "annual_turnover": 3.37,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "價值綜合",
   "start": "2016-04-01"
  },
  "quality-minus-junk": {
   "param_names": [
    "成長 G 年",
    "持股 n"
   ],
   "center": [
    3,
    30
   ],
   "grid": [
    {
     "params": [
      2,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.076838,
      "sharpe": 0.532643,
      "mdd": -0.313419,
      "total_return": 0.876338
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      2,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.092738,
      "sharpe": 0.616563,
      "mdd": -0.312479,
      "total_return": 1.12532
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      2,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.100469,
      "sharpe": 0.651195,
      "mdd": -0.345281,
      "total_return": 1.256593
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      3,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.038465,
      "sharpe": 0.308732,
      "mdd": -0.388086,
      "total_return": 0.378311
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      3,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.064696,
      "sharpe": 0.459603,
      "mdd": -0.350341,
      "total_return": 0.703909
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      3,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.088935,
      "sharpe": 0.586802,
      "mdd": -0.335868,
      "total_return": 1.063271
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      4,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.069289,
      "sharpe": 0.480549,
      "mdd": -0.367144,
      "total_return": 0.767414
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      4,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.063799,
      "sharpe": 0.451244,
      "mdd": -0.340186,
      "total_return": 0.691742
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    },
    {
     "params": [
      4,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.102355,
      "sharpe": 0.658149,
      "mdd": -0.333142,
      "total_return": 1.28968
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2026-10-30",
      "cagr": 0.25212,
      "sharpe": 1.190881,
      "mdd": -0.33957,
      "total_return": 5.76226
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "grid_n": 9,
   "base": {
    "params": [
     3,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2018-04-30",
     "end": "2026-10-30",
     "cagr": 0.064696,
     "sharpe": 0.459603,
     "mdd": -0.350341,
     "total_return": 0.703909
    },
    "bench": {
     "start": "2018-04-30",
     "end": "2026-10-30",
     "cagr": 0.25212,
     "sharpe": 1.190881,
     "mdd": -0.33957,
     "total_return": 5.76226
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2018-04-30",
      "end": "2022-07-29",
      "cagr": 0.07722,
      "sharpe": 0.513277,
      "mdd": -0.301432,
      "total_return": 0.371444
     },
     "bench": {
      "start": "2018-04-30",
      "end": "2022-07-29",
      "cagr": 0.134729,
      "sharpe": 0.793996,
      "mdd": -0.282177,
      "total_return": 0.710388
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2022-08-01",
      "end": "2026-10-30",
      "cagr": 0.053771,
      "sharpe": 0.409497,
      "mdd": -0.277801,
      "total_return": 0.249078
     },
     "bench": {
      "start": "2022-08-01",
      "end": "2026-10-30",
      "cagr": 0.383224,
      "sharpe": 1.522469,
      "mdd": -0.27485,
      "total_return": 2.965402
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2018-05-02",
     "end": "2026-10-30",
     "cagr": 0.086066,
     "sharpe": 0.577338,
     "mdd": -0.339096,
     "total_return": 1.016587
    },
    "bench": {
     "start": "2018-05-02",
     "end": "2026-10-30",
     "cagr": 0.253412,
     "sharpe": 1.195533,
     "mdd": -0.33957,
     "total_return": 5.813361
    },
    "win": false
   },
   "annual_turnover": 3.12,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "品質減垃圾 QMJ",
   "start": "2018-04-01"
  },
  "low-turnover": {
   "param_names": [
    "回看 L 日",
    "持股 n"
   ],
   "center": [
    60,
    30
   ],
   "grid": [
    {
     "params": [
      20,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.016745,
      "sharpe": 0.19854,
      "mdd": -0.311684,
      "total_return": 0.190544
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      20,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.043706,
      "sharpe": 0.420189,
      "mdd": -0.291112,
      "total_return": 0.567165
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      20,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.057449,
      "sharpe": 0.528776,
      "mdd": -0.295224,
      "total_return": 0.797963
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      60,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.04924,
      "sharpe": 0.45981,
      "mdd": -0.288965,
      "total_return": 0.656666
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      60,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.054446,
      "sharpe": 0.506486,
      "mdd": -0.277841,
      "total_return": 0.745062
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      60,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.055978,
      "sharpe": 0.52357,
      "mdd": -0.278548,
      "total_return": 0.77187
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      120,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.054713,
      "sharpe": 0.506681,
      "mdd": -0.271414,
      "total_return": 0.749701
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      120,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.064014,
      "sharpe": 0.581536,
      "mdd": -0.278785,
      "total_return": 0.918712
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      120,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.075535,
      "sharpe": 0.672293,
      "mdd": -0.282784,
      "total_return": 1.148494
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     60,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.054446,
     "sharpe": 0.506486,
     "mdd": -0.277841,
     "total_return": 0.745062
    },
    "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.091879,
      "sharpe": 0.837663,
      "mdd": -0.277841,
      "total_return": 0.586583
     },
     "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.018296,
      "sharpe": 0.21002,
      "mdd": -0.262974,
      "total_return": 0.099887
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.080719,
     "sharpe": 0.714068,
     "mdd": -0.274835,
     "total_return": 1.257854
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   },
   "annual_turnover": 4.06,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "低換手率",
   "start": "2016-04-01"
  },
  "cash-flow-yield": {
   "param_names": [
    "現金流 q 季",
    "持股 n"
   ],
   "center": [
    4,
    30
   ],
   "grid": [
    {
     "params": [
      2,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.203112,
      "sharpe": 1.07001,
      "mdd": -0.371847,
      "total_return": 5.972791
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      2,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.181715,
      "sharpe": 0.983799,
      "mdd": -0.35448,
      "total_return": 4.775076
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      2,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.161722,
      "sharpe": 0.896067,
      "mdd": -0.3553,
      "total_return": 3.827575
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.147733,
      "sharpe": 0.829298,
      "mdd": -0.352741,
      "total_return": 3.250815
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.174782,
      "sharpe": 0.965267,
      "mdd": -0.350568,
      "total_return": 4.428981
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      4,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.170866,
      "sharpe": 0.953226,
      "mdd": -0.349601,
      "total_return": 4.241888
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.148956,
      "sharpe": 0.83817,
      "mdd": -0.394257,
      "total_return": 3.298626
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.154188,
      "sharpe": 0.868612,
      "mdd": -0.356703,
      "total_return": 3.50873
     },
     "bench": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.23803,
      "sharpe": 1.198602,
      "mdd": -0.33957,
      "total_return": 8.4167
     },
     "win": false
    },
    {
     "params": [
      8,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-04-29",
      "end": "2026-10-30",
      "cagr": 0.16242,
      "sharpe": 0.914524,
      "mdd": -0.373021,
      "total_return": 3.858123
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     4,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-04-29",
     "end": "2026-10-30",
     "cagr": 0.174782,
     "sharpe": 0.965267,
     "mdd": -0.350568,
     "total_return": 4.428981
    },
    "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.195305,
      "sharpe": 1.077426,
      "mdd": -0.350568,
      "total_return": 1.55186
     },
     "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.154611,
      "sharpe": 0.858116,
      "mdd": -0.324019,
      "total_return": 1.127461
     },
     "bench": {
      "start": "2021-07-30",
      "end": "2026-10-30",
      "cagr": 0.27353,
      "sharpe": 1.203191,
      "mdd": -0.33957,
      "total_return": 2.559791
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.200744,
     "sharpe": 1.082835,
     "mdd": -0.348413,
     "total_return": 5.81633
    },
    "bench": {
     "start": "2016-05-03",
     "end": "2026-10-30",
     "cagr": 0.239947,
     "sharpe": 1.20591,
     "mdd": -0.33957,
     "total_return": 8.548456
    },
    "win": false
   },
   "annual_turnover": 3.43,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "現金流殖利率",
   "start": "2016-04-01"
  },
  "magic-formula": {
   "param_names": [
    "市值前 M 大",
    "持股 n"
   ],
   "center": [
    500,
    30
   ],
   "grid": [
    {
     "params": [
      300,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.143626,
      "sharpe": 0.771212,
      "mdd": -0.406299,
      "total_return": 3.001533
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      300,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.156348,
      "sharpe": 0.850665,
      "mdd": -0.363232,
      "total_return": 3.486138
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      300,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.180666,
      "sharpe": 0.974417,
      "mdd": -0.342075,
      "total_return": 4.562406
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      500,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.099933,
      "sharpe": 0.577896,
      "mdd": -0.444854,
      "total_return": 1.675603
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      500,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.093407,
      "sharpe": 0.561252,
      "mdd": -0.429008,
      "total_return": 1.516046
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      500,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.112048,
      "sharpe": 0.663958,
      "mdd": -0.394596,
      "total_return": 1.996244
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      800,
      20
     ],
     "avg_holdings": 20.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.061176,
      "sharpe": 0.397843,
      "mdd": -0.551136,
      "total_return": 0.846939
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      800,
      30
     ],
     "avg_holdings": 30.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.075654,
      "sharpe": 0.470089,
      "mdd": -0.482146,
      "total_return": 1.124521
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    },
    {
     "params": [
      800,
      50
     ],
     "avg_holdings": 50.0,
     "strategy": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.100943,
      "sharpe": 0.601676,
      "mdd": -0.423532,
      "total_return": 1.7011
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2026-10-30",
      "cagr": 0.235112,
      "sharpe": 1.183915,
      "mdd": -0.33957,
      "total_return": 7.862776
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "grid_n": 9,
   "base": {
    "params": [
     500,
     30
    ],
    "avg_holdings": 30.0,
    "strategy": {
     "start": "2016-06-30",
     "end": "2026-10-30",
     "cagr": 0.093407,
     "sharpe": 0.561252,
     "mdd": -0.429008,
     "total_return": 1.516046
    },
    "bench": {
     "start": "2016-06-30",
     "end": "2026-10-30",
     "cagr": 0.235112,
     "sharpe": 1.183915,
     "mdd": -0.33957,
     "total_return": 7.862776
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-06-30",
      "end": "2021-08-30",
      "cagr": 0.063388,
      "sharpe": 0.427702,
      "mdd": -0.348373,
      "total_return": 0.373721
     },
     "bench": {
      "start": "2016-06-30",
      "end": "2021-08-30",
      "cagr": 0.198901,
      "sharpe": 1.207131,
      "mdd": -0.282177,
      "total_return": 1.552824
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-08-30",
      "end": "2026-10-30",
      "cagr": 0.124273,
      "sharpe": 0.684734,
      "mdd": -0.418505,
      "total_return": 0.831555
     },
     "bench": {
      "start": "2021-08-30",
      "end": "2026-10-30",
      "cagr": 0.272416,
      "sharpe": 1.195361,
      "mdd": -0.33957,
      "total_return": 2.471753
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-07-01",
     "end": "2026-10-30",
     "cagr": 0.103572,
     "sharpe": 0.609415,
     "mdd": -0.421153,
     "total_return": 1.767744
    },
    "bench": {
     "start": "2016-07-01",
     "end": "2026-10-30",
     "cagr": 0.233729,
     "sharpe": 1.178269,
     "mdd": -0.33957,
     "total_return": 7.755754
    },
    "win": false
   },
   "annual_turnover": 1.43,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "神奇公式",
   "start": "2016-04-01"
  },
  "graham-defensive": {
   "param_names": [
    "PE×PB 上限",
    "紀錄 Y 年"
   ],
   "center": [
    22.5,
    3
   ],
   "grid": [
    {
     "params": [
      15,
      2
     ],
     "avg_holdings": 6.3,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.018417,
      "sharpe": 0.195374,
      "mdd": -0.482795,
      "total_return": 0.18943
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      15,
      3
     ],
     "avg_holdings": 6.5,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.032779,
      "sharpe": 0.266183,
      "mdd": -0.448308,
      "total_return": 0.358788
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      15,
      4
     ],
     "avg_holdings": 6.4,
     "strategy": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.016511,
      "sharpe": 0.186294,
      "mdd": -0.429811,
      "total_return": 0.150922
     },
     "bench": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.244169,
      "sharpe": 1.163482,
      "mdd": -0.33957,
      "total_return": 5.52177
     },
     "win": false
    },
    {
     "params": [
      22.5,
      2
     ],
     "avg_holdings": 12.1,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.024357,
      "sharpe": 0.224867,
      "mdd": -0.544314,
      "total_return": 0.257038
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      22.5,
      3
     ],
     "avg_holdings": 13.4,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.058275,
      "sharpe": 0.401206,
      "mdd": -0.496655,
      "total_return": 0.713277
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      22.5,
      4
     ],
     "avg_holdings": 13.3,
     "strategy": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.014681,
      "sharpe": 0.175642,
      "mdd": -0.508569,
      "total_return": 0.133253
     },
     "bench": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.244169,
      "sharpe": 1.163482,
      "mdd": -0.33957,
      "total_return": 5.52177
     },
     "win": false
    },
    {
     "params": [
      30,
      2
     ],
     "avg_holdings": 16.5,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.059259,
      "sharpe": 0.40107,
      "mdd": -0.469739,
      "total_return": 0.728487
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      30,
      3
     ],
     "avg_holdings": 18.2,
     "strategy": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.079148,
      "sharpe": 0.503951,
      "mdd": -0.466729,
      "total_return": 1.062816
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2026-10-30",
      "cagr": 0.23624,
      "sharpe": 1.163608,
      "mdd": -0.33957,
      "total_return": 6.507788
     },
     "win": false
    },
    {
     "params": [
      30,
      4
     ],
     "avg_holdings": 18.3,
     "strategy": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.068301,
      "sharpe": 0.449126,
      "mdd": -0.427891,
      "total_return": 0.763119
     },
     "bench": {
      "start": "2018-03-31",
      "end": "2026-10-30",
      "cagr": 0.244169,
      "sharpe": 1.163482,
      "mdd": -0.33957,
      "total_return": 5.52177
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "grid_n": 9,
   "base": {
    "params": [
     22.5,
     3
    ],
    "avg_holdings": 13.4,
    "strategy": {
     "start": "2017-04-28",
     "end": "2026-10-30",
     "cagr": 0.058275,
     "sharpe": 0.401206,
     "mdd": -0.496655,
     "total_return": 0.713277
    },
    "bench": {
     "start": "2017-04-28",
     "end": "2026-10-30",
     "cagr": 0.23624,
     "sharpe": 1.163608,
     "mdd": -0.33957,
     "total_return": 6.507788
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2017-04-28",
      "end": "2022-01-26",
      "cagr": 0.04552,
      "sharpe": 0.347322,
      "mdd": -0.341592,
      "total_return": 0.235319
     },
     "bench": {
      "start": "2017-04-28",
      "end": "2022-01-26",
      "cagr": 0.18543,
      "sharpe": 1.110748,
      "mdd": -0.282177,
      "total_return": 1.242442
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2022-02-07",
      "end": "2026-10-30",
      "cagr": 0.066663,
      "sharpe": 0.427109,
      "mdd": -0.348731,
      "total_return": 0.356576
     },
     "bench": {
      "start": "2022-02-07",
      "end": "2026-10-30",
      "cagr": 0.289938,
      "sharpe": 1.226111,
      "mdd": -0.322779,
      "total_return": 2.330395
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2017-05-02",
     "end": "2026-10-30",
     "cagr": 0.090223,
     "sharpe": 0.561167,
     "mdd": -0.467949,
     "total_return": 1.270931
    },
    "bench": {
     "start": "2017-05-02",
     "end": "2026-10-30",
     "cagr": 0.235412,
     "sharpe": 1.159364,
     "mdd": -0.33957,
     "total_return": 6.442894
    },
    "win": false
   },
   "annual_turnover": 4.99,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "葛拉漢防禦型",
   "start": "2017-04-01"
  },
  "canslim": {
   "param_names": [
    "成長門檻 g",
    "相對強度 r",
    "距高點 h"
   ],
   "center": [
    0.25,
    0.8,
    0.85
   ],
   "grid": [
    {
     "params": [
      0.2,
      0.7,
      0.8
     ],
     "avg_holdings": 19.3,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.120616,
      "sharpe": 0.590995,
      "mdd": -0.449265,
      "total_return": 2.335847
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.7,
      0.85
     ],
     "avg_holdings": 17.6,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.144934,
      "sharpe": 0.678347,
      "mdd": -0.415616,
      "total_return": 3.186427
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.7,
      0.9
     ],
     "avg_holdings": 14.8,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.190254,
      "sharpe": 0.82557,
      "mdd": -0.360237,
      "total_return": 5.312434
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.8,
      0.8
     ],
     "avg_holdings": 14.4,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.124924,
      "sharpe": 0.576824,
      "mdd": -0.50854,
      "total_return": 2.474035
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.8,
      0.85
     ],
     "avg_holdings": 13.3,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.157412,
      "sharpe": 0.679819,
      "mdd": -0.471514,
      "total_return": 3.695064
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.8,
      0.9
     ],
     "avg_holdings": 11.3,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.198211,
      "sharpe": 0.792971,
      "mdd": -0.421396,
      "total_return": 5.773418
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.9,
      0.8
     ],
     "avg_holdings": 8.3,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.153565,
      "sharpe": 0.610611,
      "mdd": -0.575395,
      "total_return": 3.532585
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.9,
      0.85
     ],
     "avg_holdings": 7.7,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.182834,
      "sharpe": 0.682978,
      "mdd": -0.573064,
      "total_return": 4.908326
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.2,
      0.9,
      0.9
     ],
     "avg_holdings": 6.7,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.200719,
      "sharpe": 0.715868,
      "mdd": -0.49475,
      "total_return": 5.924903
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.7,
      0.8
     ],
     "avg_holdings": 15.5,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.11148,
      "sharpe": 0.546011,
      "mdd": -0.483822,
      "total_return": 2.059123
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.7,
      0.85
     ],
     "avg_holdings": 14.1,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.136467,
      "sharpe": 0.630441,
      "mdd": -0.446804,
      "total_return": 2.870262
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.7,
      0.9
     ],
     "avg_holdings": 11.7,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.137852,
      "sharpe": 0.631363,
      "mdd": -0.422096,
      "total_return": 2.920443
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.8,
      0.8
     ],
     "avg_holdings": 11.8,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.107568,
      "sharpe": 0.510893,
      "mdd": -0.56259,
      "total_return": 1.947126
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.8,
      0.85
     ],
     "avg_holdings": 10.9,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.13649,
      "sharpe": 0.599704,
      "mdd": -0.529614,
      "total_return": 2.871071
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.8,
      0.9
     ],
     "avg_holdings": 9.2,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.133954,
      "sharpe": 0.587191,
      "mdd": -0.516006,
      "total_return": 2.780648
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.9,
      0.8
     ],
     "avg_holdings": 7.2,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.131869,
      "sharpe": 0.546819,
      "mdd": -0.662562,
      "total_return": 2.707778
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.9,
      0.85
     ],
     "avg_holdings": 6.6,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.154309,
      "sharpe": 0.600882,
      "mdd": -0.698353,
      "total_return": 3.563612
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.25,
      0.9,
      0.9
     ],
     "avg_holdings": 5.7,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.149188,
      "sharpe": 0.578667,
      "mdd": -0.603401,
      "total_return": 3.353929
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.7,
      0.8
     ],
     "avg_holdings": 12.2,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.1112,
      "sharpe": 0.531055,
      "mdd": -0.426894,
      "total_return": 2.050967
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.7,
      0.85
     ],
     "avg_holdings": 11.1,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.127565,
      "sharpe": 0.580069,
      "mdd": -0.401077,
      "total_return": 2.561285
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.7,
      0.9
     ],
     "avg_holdings": 9.2,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.118868,
      "sharpe": 0.542319,
      "mdd": -0.386764,
      "total_return": 2.281226
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.8,
      0.8
     ],
     "avg_holdings": 9.6,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.117508,
      "sharpe": 0.530274,
      "mdd": -0.538994,
      "total_return": 2.239265
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.8,
      0.85
     ],
     "avg_holdings": 8.8,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.137559,
      "sharpe": 0.586106,
      "mdd": -0.52046,
      "total_return": 2.90977
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.8,
      0.9
     ],
     "avg_holdings": 7.4,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.13466,
      "sharpe": 0.566211,
      "mdd": -0.512232,
      "total_return": 2.805625
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.9,
      0.8
     ],
     "avg_holdings": 6.0,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.209537,
      "sharpe": 0.725474,
      "mdd": -0.538441,
      "total_return": 6.482237
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.9,
      0.85
     ],
     "avg_holdings": 5.6,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.237425,
      "sharpe": 0.782232,
      "mdd": -0.56945,
      "total_return": 8.52276
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    },
    {
     "params": [
      0.3,
      0.9,
      0.9
     ],
     "avg_holdings": 4.8,
     "strategy": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.203026,
      "sharpe": 0.690372,
      "mdd": -0.534506,
      "total_return": 6.066949
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2026-10-30",
      "cagr": 0.23184,
      "sharpe": 1.174356,
      "mdd": -0.33957,
      "total_return": 8.077757
     },
     "win": false
    }
   ],
   "grid_wins": 0,
   "grid_n": 27,
   "base": {
    "params": [
     0.25,
     0.8,
     0.85
    ],
    "avg_holdings": 10.9,
    "strategy": {
     "start": "2016-04-01",
     "end": "2026-10-30",
     "cagr": 0.13649,
     "sharpe": 0.599704,
     "mdd": -0.529614,
     "total_return": 2.871071
    },
    "bench": {
     "start": "2016-04-01",
     "end": "2026-10-30",
     "cagr": 0.23184,
     "sharpe": 1.174356,
     "mdd": -0.33957,
     "total_return": 8.077757
    },
    "win": false
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-04-01",
      "end": "2021-07-16",
      "cagr": -0.043329,
      "sharpe": -0.051286,
      "mdd": -0.529614,
      "total_return": -0.208877
     },
     "bench": {
      "start": "2016-04-01",
      "end": "2021-07-16",
      "cagr": 0.199338,
      "sharpe": 1.210222,
      "mdd": -0.282177,
      "total_return": 1.615555
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-07-16",
      "end": "2026-10-30",
      "cagr": 0.350107,
      "sharpe": 1.121166,
      "mdd": -0.317773,
      "total_return": 3.893132
     },
     "bench": {
      "start": "2021-07-16",
      "end": "2026-10-30",
      "cagr": 0.265222,
      "sharpe": 1.175225,
      "mdd": -0.33957,
      "total_return": 2.470681
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-04-06",
     "end": "2026-10-30",
     "cagr": 0.254421,
     "sharpe": 0.949786,
     "mdd": -0.428457,
     "total_return": 9.967089
    },
    "bench": {
     "start": "2016-04-06",
     "end": "2026-10-30",
     "cagr": 0.234946,
     "sharpe": 1.186865,
     "mdd": -0.33957,
     "total_return": 8.295973
    },
    "win": false
   },
   "annual_turnover": 16.93,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false
   },
   "title": "CANSLIM 台股版",
   "start": "2016-04-01"
  }
 },
 "combo": {
  "short-term-reversal": {
   "param_names": [
    "回看 L 日",
    "持股 N"
   ],
   "center": [
    20,
    10
   ],
   "grid": [
    {
     "params": [
      10,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.152532,
      "sharpe": 0.654383,
      "mdd": -0.470181,
      "total_return": 3.420563
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      10,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.229886,
      "sharpe": 0.923083,
      "mdd": -0.440647,
      "total_return": 7.726564
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      10,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.246496,
      "sharpe": 0.997833,
      "mdd": -0.386888,
      "total_return": 9.042412
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      20,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.288819,
      "sharpe": 1.054787,
      "mdd": -0.335562,
      "total_return": 13.244866
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      20,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.328838,
      "sharpe": 1.210022,
      "mdd": -0.307444,
      "total_return": 18.619867
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      20,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.287276,
      "sharpe": 1.122848,
      "mdd": -0.32864,
      "total_return": 13.067369
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      30,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.252117,
      "sharpe": 0.971645,
      "mdd": -0.4074,
      "total_return": 9.526842
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      30,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.2646,
      "sharpe": 1.043145,
      "mdd": -0.349387,
      "total_return": 10.678942
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      30,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.258522,
      "sharpe": 1.049788,
      "mdd": -0.364512,
      "total_return": 10.104469
     },
     "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": 0,
   "grid_n": 9,
   "base": {
    "params": [
     20,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.328838,
     "sharpe": 1.210022,
     "mdd": -0.307444,
     "total_return": 18.619867
    },
    "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.399923,
      "sharpe": 1.47977,
      "mdd": -0.301536,
      "total_return": 4.81865
     },
     "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.261362,
      "sharpe": 0.974537,
      "mdd": -0.307444,
      "total_return": 2.371893
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.422656,
     "sharpe": 1.472989,
     "mdd": -0.294833,
     "total_return": 39.037362
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 11.66,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋短期反轉",
   "start": "2016-04-01",
   "above_base": 0,
   "halves_above_base": [
    true,
    false
   ],
   "differs_from_base": 0.4638
  },
  "long-term-reversal": {
   "param_names": [
    "回看 L 月",
    "持股 N"
   ],
   "center": [
    36,
    10
   ],
   "grid": [
    {
     "params": [
      24,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.243299,
      "sharpe": 0.99417,
      "mdd": -0.318398,
      "total_return": 8.776034
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      24,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.250149,
      "sharpe": 1.066985,
      "mdd": -0.269647,
      "total_return": 9.354877
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      24,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.239342,
      "sharpe": 1.067181,
      "mdd": -0.258302,
      "total_return": 8.455189
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      36,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.253775,
      "sharpe": 1.013945,
      "mdd": -0.300735,
      "total_return": 9.673655
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      36,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.236394,
      "sharpe": 1.013539,
      "mdd": -0.321777,
      "total_return": 8.222326
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      36,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.222929,
      "sharpe": 1.005635,
      "mdd": -0.343609,
      "total_return": 7.223401
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      48,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.308146,
      "sharpe": 1.144784,
      "mdd": -0.378788,
      "total_return": 15.647037
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      48,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.282762,
      "sharpe": 1.122877,
      "mdd": -0.346823,
      "total_return": 12.559408
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      48,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.239878,
      "sharpe": 1.036947,
      "mdd": -0.343292,
      "total_return": 8.498085
     },
     "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": 0,
   "grid_n": 9,
   "base": {
    "params": [
     36,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.236394,
     "sharpe": 1.013539,
     "mdd": -0.321777,
     "total_return": 8.222326
    },
    "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.334082,
      "sharpe": 1.377629,
      "mdd": -0.290046,
      "total_return": 3.521704
     },
     "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.145859,
      "sharpe": 0.678722,
      "mdd": -0.321777,
      "total_return": 1.039569
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.318936,
     "sharpe": 1.290516,
     "mdd": -0.283335,
     "total_return": 17.128288
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 10.87,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋長期反轉",
   "start": "2016-04-01",
   "above_base": 0,
   "halves_above_base": [
    false,
    false
   ],
   "differs_from_base": 0.8701
  },
  "earnings-surprise": {
   "param_names": [
    "標準差 W 季",
    "持股 N"
   ],
   "center": [
    8,
    10
   ],
   "grid": [
    {
     "params": [
      4,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.398999,
      "sharpe": 1.209029,
      "mdd": -0.357971,
      "total_return": 21.72856
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      4,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.368069,
      "sharpe": 1.196464,
      "mdd": -0.331792,
      "total_return": 17.460431
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      4,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.449256,
      "sharpe": 1.426849,
      "mdd": -0.284495,
      "total_return": 30.562345
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      8,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.424468,
      "sharpe": 1.264042,
      "mdd": -0.318588,
      "total_return": 25.882092
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      8,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.440396,
      "sharpe": 1.367697,
      "mdd": -0.291728,
      "total_return": 28.812072
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      8,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.468021,
      "sharpe": 1.477836,
      "mdd": -0.278112,
      "total_return": 34.575114
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      12,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.483471,
      "sharpe": 1.389534,
      "mdd": -0.350242,
      "total_return": 38.21446
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      12,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.458429,
      "sharpe": 1.411866,
      "mdd": -0.343913,
      "total_return": 32.470364
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    },
    {
     "params": [
      12,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.479054,
      "sharpe": 1.520929,
      "mdd": -0.274134,
      "total_return": 37.141491
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2026-10-30",
      "cagr": 0.230039,
      "sharpe": 1.130918,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    }
   ],
   "grid_wins": 9,
   "grid_n": 9,
   "base": {
    "params": [
     8,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.440396,
     "sharpe": 1.367697,
     "mdd": -0.291728,
     "total_return": 28.812072
    },
    "bench": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.230039,
     "sharpe": 1.130918,
     "mdd": -0.33957,
     "total_return": 5.863343
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2017-07-11",
      "end": "2022-03-04",
      "cagr": 0.467768,
      "sharpe": 1.54546,
      "mdd": -0.291728,
      "total_return": 4.947207
     },
     "bench": {
      "start": "2017-07-11",
      "end": "2022-03-04",
      "cagr": 0.161523,
      "sharpe": 0.981807,
      "mdd": -0.282177,
      "total_return": 1.005063
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2022-03-07",
      "end": "2026-10-30",
      "cagr": 0.424528,
      "sharpe": 1.252641,
      "mdd": -0.280405,
      "total_return": 4.180799
     },
     "bench": {
      "start": "2022-03-07",
      "end": "2026-10-30",
      "cagr": 0.312219,
      "sharpe": 1.298388,
      "mdd": -0.291008,
      "total_return": 2.536681
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2017-07-12",
     "end": "2026-10-30",
     "cagr": 0.537239,
     "sharpe": 1.590213,
     "mdd": -0.286557,
     "total_return": 53.548813
    },
    "bench": {
     "start": "2017-07-12",
     "end": "2026-10-30",
     "cagr": 0.230114,
     "sharpe": 1.131169,
     "mdd": -0.33957,
     "total_return": 5.863343
    },
    "win": true
   },
   "annual_turnover": 10.94,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋盈餘驚喜 SUE",
   "start": "2017-06-01",
   "above_base": 3,
   "halves_above_base": [
    true,
    false
   ],
   "differs_from_base": 0.7168
  },
  "value-composite": {
   "param_names": [
    "盈餘與現金流 q 季",
    "持股 N"
   ],
   "center": [
    4,
    10
   ],
   "grid": [
    {
     "params": [
      2,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.418945,
      "sharpe": 1.515732,
      "mdd": -0.325987,
      "total_return": 37.994976
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      2,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.40204,
      "sharpe": 1.550247,
      "mdd": -0.281848,
      "total_return": 33.396465
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      2,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.382881,
      "sharpe": 1.547732,
      "mdd": -0.295307,
      "total_return": 28.781874
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.414606,
      "sharpe": 1.543148,
      "mdd": -0.280005,
      "total_return": 36.764548
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.363601,
      "sharpe": 1.474265,
      "mdd": -0.249993,
      "total_return": 24.710685
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.328867,
      "sharpe": 1.42309,
      "mdd": -0.251212,
      "total_return": 18.6244
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.38829,
      "sharpe": 1.496407,
      "mdd": -0.303293,
      "total_return": 30.02432
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.375516,
      "sharpe": 1.531017,
      "mdd": -0.265941,
      "total_return": 27.162537
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.344163,
      "sharpe": 1.48022,
      "mdd": -0.269894,
      "total_return": 21.122385
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     4,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.363601,
     "sharpe": 1.474265,
     "mdd": -0.249993,
     "total_return": 24.710685
    },
    "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.490755,
      "sharpe": 1.97391,
      "mdd": -0.241972,
      "total_return": 7.086159
     },
     "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.247292,
      "sharpe": 1.038342,
      "mdd": -0.249993,
      "total_return": 2.179592
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.453461,
     "sharpe": 1.76127,
     "mdd": -0.229877,
     "total_return": 49.100648
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 10.93,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋價值綜合",
   "start": "2016-04-01",
   "above_base": 6,
   "halves_above_base": [
    true,
    false
   ],
   "differs_from_base": 0.8929
  },
  "quality-minus-junk": {
   "param_names": [
    "成長 G 年",
    "持股 N"
   ],
   "center": [
    3,
    10
   ],
   "grid": [
    {
     "params": [
      2,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.357658,
      "sharpe": 1.192133,
      "mdd": -0.452442,
      "total_return": 12.330762
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      2,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.346538,
      "sharpe": 1.238233,
      "mdd": -0.375905,
      "total_return": 11.433671
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      2,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.345965,
      "sharpe": 1.284373,
      "mdd": -0.331808,
      "total_return": 11.388956
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      3,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.329513,
      "sharpe": 1.13229,
      "mdd": -0.386015,
      "total_return": 10.163217
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": false
    },
    {
     "params": [
      3,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.33768,
      "sharpe": 1.21499,
      "mdd": -0.35636,
      "total_return": 10.757618
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      3,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.335979,
      "sharpe": 1.257468,
      "mdd": -0.288855,
      "total_return": 10.631573
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      4,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.366279,
      "sharpe": 1.243629,
      "mdd": -0.39143,
      "total_return": 13.065102
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      4,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.354677,
      "sharpe": 1.27868,
      "mdd": -0.358461,
      "total_return": 12.084868
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    },
    {
     "params": [
      4,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.315624,
      "sharpe": 1.221965,
      "mdd": -0.320865,
      "total_return": 9.213004
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2026-10-30",
      "cagr": 0.250196,
      "sharpe": 1.18249,
      "mdd": -0.33957,
      "total_return": 5.629667
     },
     "win": true
    }
   ],
   "grid_wins": 8,
   "grid_n": 9,
   "base": {
    "params": [
     3,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.33768,
     "sharpe": 1.21499,
     "mdd": -0.35636,
     "total_return": 10.757618
    },
    "bench": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.250196,
     "sharpe": 1.18249,
     "mdd": -0.33957,
     "total_return": 5.629667
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2018-05-11",
      "end": "2022-08-05",
      "cagr": 0.167078,
      "sharpe": 0.742762,
      "mdd": -0.35358,
      "total_return": 0.923973
     },
     "bench": {
      "start": "2018-05-11",
      "end": "2022-08-05",
      "cagr": 0.13318,
      "sharpe": 0.784579,
      "mdd": -0.282177,
      "total_return": 0.698167
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2022-08-05",
      "end": "2026-10-30",
      "cagr": 0.533221,
      "sharpe": 1.635027,
      "mdd": -0.278326,
      "total_return": 5.111114
     },
     "bench": {
      "start": "2022-08-05",
      "end": "2026-10-30",
      "cagr": 0.379295,
      "sharpe": 1.512115,
      "mdd": -0.27485,
      "total_return": 2.904013
     },
     "win": true
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2018-05-14",
     "end": "2026-10-30",
     "cagr": 0.425628,
     "sharpe": 1.454573,
     "mdd": -0.317202,
     "total_return": 19.105149
    },
    "bench": {
     "start": "2018-05-14",
     "end": "2026-10-30",
     "cagr": 0.248847,
     "sharpe": 1.176668,
     "mdd": -0.33957,
     "total_return": 5.557343
    },
    "win": true
   },
   "annual_turnover": 10.71,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋品質減垃圾 QMJ",
   "start": "2018-04-01",
   "above_base": 0,
   "halves_above_base": [
    false,
    false
   ],
   "differs_from_base": 0.8291
  },
  "low-turnover": {
   "param_names": [
    "回看 L 日",
    "持股 N"
   ],
   "center": [
    60,
    10
   ],
   "grid": [
    {
     "params": [
      20,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.327122,
      "sharpe": 1.502553,
      "mdd": -0.24362,
      "total_return": 18.356165
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      20,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.328999,
      "sharpe": 1.603682,
      "mdd": -0.211037,
      "total_return": 18.644744
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      20,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.327051,
      "sharpe": 1.694418,
      "mdd": -0.220357,
      "total_return": 18.345327
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      60,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.245612,
      "sharpe": 1.125312,
      "mdd": -0.293566,
      "total_return": 8.968107
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      60,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.287918,
      "sharpe": 1.344534,
      "mdd": -0.233847,
      "total_return": 13.140943
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      60,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.27056,
      "sharpe": 1.344956,
      "mdd": -0.227398,
      "total_return": 11.268208
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      120,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.290371,
      "sharpe": 1.227774,
      "mdd": -0.262616,
      "total_return": 13.425539
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      120,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.260563,
      "sharpe": 1.190017,
      "mdd": -0.278297,
      "total_return": 10.294406
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      120,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.286647,
      "sharpe": 1.34166,
      "mdd": -0.258575,
      "total_return": 12.995511
     },
     "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": 7,
   "grid_n": 9,
   "base": {
    "params": [
     60,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.287918,
     "sharpe": 1.344534,
     "mdd": -0.233847,
     "total_return": 13.140943
    },
    "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.277223,
      "sharpe": 1.428738,
      "mdd": -0.233847,
      "total_return": 2.59983
     },
     "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.298702,
      "sharpe": 1.287669,
      "mdd": -0.206436,
      "total_return": 2.928225
     },
     "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.375036,
     "sharpe": 1.678267,
     "mdd": -0.213219,
     "total_return": 27.035342
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 11.2,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋低換手率",
   "start": "2016-04-01",
   "above_base": 3,
   "halves_above_base": [
    false,
    false
   ],
   "differs_from_base": 0.8921
  },
  "cash-flow-yield": {
   "param_names": [
    "現金流 q 季",
    "持股 N"
   ],
   "center": [
    4,
    10
   ],
   "grid": [
    {
     "params": [
      2,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.518036,
      "sharpe": 1.691427,
      "mdd": -0.290571,
      "total_return": 78.057013
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      2,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.497405,
      "sharpe": 1.750267,
      "mdd": -0.251246,
      "total_return": 67.50501
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      2,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.469128,
      "sharpe": 1.751322,
      "mdd": -0.262193,
      "total_return": 55.109546
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.393063,
      "sharpe": 1.436847,
      "mdd": -0.340808,
      "total_return": 31.159373
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.407497,
      "sharpe": 1.550292,
      "mdd": -0.29864,
      "total_return": 34.824266
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      4,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.391774,
      "sharpe": 1.565251,
      "mdd": -0.260606,
      "total_return": 30.849221
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.43051,
      "sharpe": 1.536331,
      "mdd": -0.305419,
      "total_return": 41.453855
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.419246,
      "sharpe": 1.588326,
      "mdd": -0.285335,
      "total_return": 38.081832
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      8,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.395723,
      "sharpe": 1.582577,
      "mdd": -0.277725,
      "total_return": 31.808066
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     4,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.407497,
     "sharpe": 1.550292,
     "mdd": -0.29864,
     "total_return": 34.824266
    },
    "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.512609,
      "sharpe": 1.944648,
      "mdd": -0.265721,
      "total_return": 7.726259
     },
     "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.309689,
      "sharpe": 1.201045,
      "mdd": -0.29864,
      "total_return": 3.105341
     },
     "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.499613,
     "sharpe": 1.822785,
     "mdd": -0.259043,
     "total_return": 68.49281
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 10.82,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋現金流殖利率",
   "start": "2016-04-01",
   "above_base": 9,
   "halves_above_base": [
    true,
    false
   ],
   "differs_from_base": 0.8748
  },
  "magic-formula": {
   "param_names": [
    "市值前 M 大",
    "持股 N"
   ],
   "center": [
    500,
    10
   ],
   "grid": [
    {
     "params": [
      300,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.226632,
      "sharpe": 1.011593,
      "mdd": -0.372979,
      "total_return": 7.487835
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      300,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.287896,
      "sharpe": 1.262891,
      "mdd": -0.308943,
      "total_return": 13.138409
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      300,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.269593,
      "sharpe": 1.231096,
      "mdd": -0.302523,
      "total_return": 11.170829
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      500,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.171025,
      "sharpe": 0.800362,
      "mdd": -0.357727,
      "total_return": 4.222238
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      500,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.223318,
      "sharpe": 1.033522,
      "mdd": -0.319927,
      "total_return": 7.250827
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      500,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.24228,
      "sharpe": 1.141239,
      "mdd": -0.303087,
      "total_return": 8.692441
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      800,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.19725,
      "sharpe": 0.849367,
      "mdd": -0.376581,
      "total_return": 5.585073
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      800,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.206218,
      "sharpe": 0.923166,
      "mdd": -0.285621,
      "total_return": 6.120204
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      800,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.215322,
      "sharpe": 0.992314,
      "mdd": -0.264465,
      "total_return": 6.703322
     },
     "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": 2,
   "grid_n": 9,
   "base": {
    "params": [
     500,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.223318,
     "sharpe": 1.033522,
     "mdd": -0.319927,
     "total_return": 7.250827
    },
    "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.233363,
      "sharpe": 1.122411,
      "mdd": -0.275756,
      "total_return": 1.998064
     },
     "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.213355,
      "sharpe": 0.957298,
      "mdd": -0.29267,
      "total_return": 1.752052
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.3011,
     "sharpe": 1.321224,
     "mdd": -0.26373,
     "total_return": 14.720553
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 10.46,
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋神奇公式",
   "start": "2016-04-01",
   "above_base": 0,
   "halves_above_base": [
    false,
    false
   ],
   "differs_from_base": 0.8945
  },
  "graham-defensive": {
   "param_names": [
    "PE×PB 上限",
    "持股 N"
   ],
   "center": [
    22.5,
    10
   ],
   "grid": [
    {
     "params": [
      15,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.47213,
      "sharpe": 1.353671,
      "mdd": -0.400115,
      "total_return": 37.94827
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      15,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.505357,
      "sharpe": 1.503872,
      "mdd": -0.361512,
      "total_return": 47.115765
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      15,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.457867,
      "sharpe": 1.459379,
      "mdd": -0.349552,
      "total_return": 34.517806
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      22.5,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.448113,
      "sharpe": 1.341448,
      "mdd": -0.420609,
      "total_return": 32.329939
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      22.5,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.472359,
      "sharpe": 1.463569,
      "mdd": -0.358188,
      "total_return": 38.00578
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      22.5,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.427204,
      "sharpe": 1.414829,
      "mdd": -0.389477,
      "total_return": 28.041452
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      30,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.463175,
      "sharpe": 1.409854,
      "mdd": -0.398611,
      "total_return": 35.761386
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      30,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.472936,
      "sharpe": 1.48295,
      "mdd": -0.34704,
      "total_return": 38.150728
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    },
    {
     "params": [
      30,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.447554,
      "sharpe": 1.485383,
      "mdd": -0.362444,
      "total_return": 32.208409
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2026-10-30",
      "cagr": 0.233857,
      "sharpe": 1.15225,
      "mdd": -0.33957,
      "total_return": 6.316413
     },
     "win": true
    }
   ],
   "grid_wins": 9,
   "grid_n": 9,
   "base": {
    "params": [
     22.5,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.472359,
     "sharpe": 1.463569,
     "mdd": -0.358188,
     "total_return": 38.00578
    },
    "bench": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.233857,
     "sharpe": 1.15225,
     "mdd": -0.33957,
     "total_return": 6.316413
    },
    "win": true
   },
   "halves": [
    {
     "strategy": {
      "start": "2017-05-11",
      "end": "2022-01-26",
      "cagr": 0.368963,
      "sharpe": 1.257335,
      "mdd": -0.358188,
      "total_return": 3.391942
     },
     "bench": {
      "start": "2017-05-11",
      "end": "2022-01-26",
      "cagr": 0.180468,
      "sharpe": 1.082335,
      "mdd": -0.282177,
      "total_return": 1.185282
     },
     "win": true
    },
    {
     "strategy": {
      "start": "2022-02-07",
      "end": "2026-10-30",
      "cagr": 0.579238,
      "sharpe": 1.639263,
      "mdd": -0.24018,
      "total_return": 7.66502
     },
     "bench": {
      "start": "2022-02-07",
      "end": "2026-10-30",
      "cagr": 0.289938,
      "sharpe": 1.226111,
      "mdd": -0.322779,
      "total_return": 2.330395
     },
     "win": true
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2017-05-12",
     "end": "2026-10-30",
     "cagr": 0.573104,
     "sharpe": 1.693883,
     "mdd": -0.334217,
     "total_return": 71.912051
    },
    "bench": {
     "start": "2017-05-12",
     "end": "2026-10-30",
     "cagr": 0.234273,
     "sharpe": 1.153896,
     "mdd": -0.33957,
     "total_return": 6.335591
    },
    "win": true
   },
   "annual_turnover": 11.29,
   "pass": {
    "neighbors": true,
    "halves": true,
    "cost": true,
    "all": true,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋葛拉漢防禦型",
   "start": "2017-04-01",
   "above_base": 4,
   "halves_above_base": [
    false,
    true
   ],
   "differs_from_base": 0.1583
  },
  "canslim": {
   "param_names": [
    "成長門檻 g",
    "持股 N"
   ],
   "center": [
    0.25,
    10
   ],
   "grid": [
    {
     "params": [
      0.2,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.371516,
      "sharpe": 1.220615,
      "mdd": -0.349722,
      "total_return": 26.31685
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.2,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.375192,
      "sharpe": 1.287474,
      "mdd": -0.330146,
      "total_return": 27.093254
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.2,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.376219,
      "sharpe": 1.326281,
      "mdd": -0.377992,
      "total_return": 27.313607
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.25,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.322824,
      "sharpe": 1.104441,
      "mdd": -0.348361,
      "total_return": 17.709874
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": false
    },
    {
     "params": [
      0.25,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.372753,
      "sharpe": 1.274002,
      "mdd": -0.372535,
      "total_return": 26.575856
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.25,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.372866,
      "sharpe": 1.314346,
      "mdd": -0.419504,
      "total_return": 26.599701
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.3,
      8
     ],
     "avg_holdings": 8.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.379546,
      "sharpe": 1.232703,
      "mdd": -0.396456,
      "total_return": 28.038392
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.3,
      10
     ],
     "avg_holdings": 10.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.371966,
      "sharpe": 1.266308,
      "mdd": -0.389069,
      "total_return": 26.410857
     },
     "bench": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.242275,
      "sharpe": 1.214963,
      "mdd": -0.33957,
      "total_return": 8.692042
     },
     "win": true
    },
    {
     "params": [
      0.3,
      12
     ],
     "avg_holdings": 12.0,
     "strategy": {
      "start": "2016-05-11",
      "end": "2026-10-30",
      "cagr": 0.365144,
      "sharpe": 1.292198,
      "mdd": -0.409715,
      "total_return": 25.016967
     },
     "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,
   "grid_n": 9,
   "base": {
    "params": [
     0.25,
     10
    ],
    "avg_holdings": 10.0,
    "strategy": {
     "start": "2016-05-11",
     "end": "2026-10-30",
     "cagr": 0.372753,
     "sharpe": 1.274002,
     "mdd": -0.372535,
     "total_return": 26.575856
    },
    "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.381818,
      "sharpe": 1.384153,
      "mdd": -0.372535,
      "total_return": 4.435351
     },
     "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.363747,
      "sharpe": 1.186774,
      "mdd": -0.273036,
      "total_return": 4.073427
     },
     "bench": {
      "start": "2021-08-05",
      "end": "2026-10-30",
      "cagr": 0.269285,
      "sharpe": 1.187025,
      "mdd": -0.33957,
      "total_return": 2.484241
     },
     "win": false
    }
   ],
   "zero_cost": {
    "strategy": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.460643,
     "sharpe": 1.500238,
     "mdd": -0.291038,
     "total_return": 51.753257
    },
    "bench": {
     "start": "2016-05-12",
     "end": "2026-10-30",
     "cagr": 0.242444,
     "sharpe": 1.215616,
     "mdd": -0.33957,
     "total_return": 8.700146
    },
    "win": true
   },
   "annual_turnover": 10.43,
   "pass": {
    "neighbors": true,
    "halves": false,
    "cost": true,
    "all": false,
    "beats_base": false,
    "new_strategy": false
   },
   "title": "月營收動能＋CANSLIM 台股版",
   "start": "2016-04-01",
   "above_base": 0,
   "halves_above_base": [
    false,
    false
   ],
   "differs_from_base": 0.4961
  }
 },
 "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
     }
    ]
   }
  },
  "2017-04-01": {
   "8": {
    "strategy": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.483553,
     "sharpe": 1.364665,
     "mdd": -0.404458,
     "total_return": 40.906327
    },
    "bench": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.233857,
     "sharpe": 1.15225,
     "mdd": -0.33957,
     "total_return": 6.316413
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.417447,
       "sharpe": 1.268809,
       "mdd": -0.362897,
       "total_return": 4.174595
      },
      "bench": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.180468,
       "sharpe": 1.082335,
       "mdd": -0.282177,
       "total_return": 1.185282
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.547744,
       "sharpe": 1.439166,
       "mdd": -0.305141,
       "total_return": 6.878245
      },
      "bench": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.289938,
       "sharpe": 1.226111,
       "mdd": -0.322779,
       "total_return": 2.330395
      },
      "win": true
     }
    ]
   },
   "10": {
    "strategy": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.494069,
     "sharpe": 1.466381,
     "mdd": -0.355509,
     "total_return": 43.805319
    },
    "bench": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.233857,
     "sharpe": 1.15225,
     "mdd": -0.33957,
     "total_return": 6.316413
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.397346,
       "sharpe": 1.275872,
       "mdd": -0.355509,
       "total_return": 3.83782
      },
      "bench": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.180468,
       "sharpe": 1.082335,
       "mdd": -0.282177,
       "total_return": 1.185282
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.592915,
       "sharpe": 1.630359,
       "mdd": -0.240114,
       "total_return": 8.02541
      },
      "bench": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.289938,
       "sharpe": 1.226111,
       "mdd": -0.322779,
       "total_return": 2.330395
      },
      "win": true
     }
    ],
    "zero_cost": {
     "strategy": {
      "start": "2017-05-12",
      "end": "2026-10-30",
      "cagr": 0.599564,
      "sharpe": 1.695402,
      "mdd": -0.343803,
      "total_return": 84.385052
     },
     "bench": {
      "start": "2017-05-12",
      "end": "2026-10-30",
      "cagr": 0.234273,
      "sharpe": 1.153896,
      "mdd": -0.33957,
      "total_return": 6.335591
     },
     "win": true
    }
   },
   "12": {
    "strategy": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.474373,
     "sharpe": 1.477971,
     "mdd": -0.342578,
     "total_return": 38.514018
    },
    "bench": {
     "start": "2017-05-11",
     "end": "2026-10-30",
     "cagr": 0.233857,
     "sharpe": 1.15225,
     "mdd": -0.33957,
     "total_return": 6.316413
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.407818,
       "sharpe": 1.347293,
       "mdd": -0.342578,
       "total_return": 4.011035
      },
      "bench": {
       "start": "2017-05-11",
       "end": "2022-01-26",
       "cagr": 0.180468,
       "sharpe": 1.082335,
       "mdd": -0.282177,
       "total_return": 1.185282
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.543504,
       "sharpe": 1.593237,
       "mdd": -0.230399,
       "total_return": 6.776762
      },
      "bench": {
       "start": "2022-02-07",
       "end": "2026-10-30",
       "cagr": 0.289938,
       "sharpe": 1.226111,
       "mdd": -0.322779,
       "total_return": 2.330395
      },
      "win": true
     }
    ]
   }
  },
  "2017-06-01": {
   "8": {
    "strategy": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.488361,
     "sharpe": 1.368691,
     "mdd": -0.404458,
     "total_return": 39.433692
    },
    "bench": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.230039,
     "sharpe": 1.130918,
     "mdd": -0.33957,
     "total_return": 5.863343
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.403685,
       "sharpe": 1.236421,
       "mdd": -0.362897,
       "total_return": 3.833188
      },
      "bench": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.161523,
       "sharpe": 0.981807,
       "mdd": -0.282177,
       "total_return": 1.005063
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.581632,
       "sharpe": 1.496767,
       "mdd": -0.305141,
       "total_return": 7.425888
      },
      "bench": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.312219,
       "sharpe": 1.298388,
       "mdd": -0.291008,
       "total_return": 2.536681
      },
      "win": true
     }
    ]
   },
   "10": {
    "strategy": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.492959,
     "sharpe": 1.457862,
     "mdd": -0.355509,
     "total_return": 40.610764
    },
    "bench": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.230039,
     "sharpe": 1.130918,
     "mdd": -0.33957,
     "total_return": 5.863343
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.388116,
       "sharpe": 1.250416,
       "mdd": -0.355509,
       "total_return": 3.589122
      },
      "bench": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.161523,
       "sharpe": 0.981807,
       "mdd": -0.282177,
       "total_return": 1.005063
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.616896,
       "sharpe": 1.675702,
       "mdd": -0.240114,
       "total_return": 8.33547
      },
      "bench": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.312219,
       "sharpe": 1.298388,
       "mdd": -0.291008,
       "total_return": 2.536681
      },
      "win": true
     }
    ],
    "zero_cost": {
     "strategy": {
      "start": "2017-07-12",
      "end": "2026-10-30",
      "cagr": 0.598329,
      "sharpe": 1.685709,
      "mdd": -0.343803,
      "total_return": 77.377671
     },
     "bench": {
      "start": "2017-07-12",
      "end": "2026-10-30",
      "cagr": 0.230114,
      "sharpe": 1.131169,
      "mdd": -0.33957,
      "total_return": 5.863343
     },
     "win": true
    }
   },
   "12": {
    "strategy": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.471297,
     "sharpe": 1.464282,
     "mdd": -0.342578,
     "total_return": 35.320667
    },
    "bench": {
     "start": "2017-07-11",
     "end": "2026-10-30",
     "cagr": 0.230039,
     "sharpe": 1.130918,
     "mdd": -0.33957,
     "total_return": 5.863343
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.392596,
       "sharpe": 1.305441,
       "mdd": -0.342578,
       "total_return": 3.658341
      },
      "bench": {
       "start": "2017-07-11",
       "end": "2022-03-04",
       "cagr": 0.161523,
       "sharpe": 0.981807,
       "mdd": -0.282177,
       "total_return": 1.005063
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.564595,
       "sharpe": 1.636499,
       "mdd": -0.230399,
       "total_return": 7.012155
      },
      "bench": {
       "start": "2022-03-07",
       "end": "2026-10-30",
       "cagr": 0.312219,
       "sharpe": 1.298388,
       "mdd": -0.291008,
       "total_return": 2.536681
      },
      "win": true
     }
    ]
   }
  },
  "2018-04-01": {
   "8": {
    "strategy": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.440025,
     "sharpe": 1.260615,
     "mdd": -0.404458,
     "total_return": 20.955253
    },
    "bench": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.250196,
     "sharpe": 1.18249,
     "mdd": -0.33957,
     "total_return": 5.629667
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.299381,
       "sharpe": 0.983416,
       "mdd": -0.362897,
       "total_return": 2.031982
      },
      "bench": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.13318,
       "sharpe": 0.784579,
       "mdd": -0.282177,
       "total_return": 0.698167
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.595892,
       "sharpe": 1.516814,
       "mdd": -0.305141,
       "total_return": 6.241222
      },
      "bench": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.379295,
       "sharpe": 1.512115,
       "mdd": -0.27485,
       "total_return": 2.904013
      },
      "win": true
     }
    ]
   },
   "10": {
    "strategy": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.465143,
     "sharpe": 1.384567,
     "mdd": -0.355494,
     "total_return": 24.418712
    },
    "bench": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.250196,
     "sharpe": 1.18249,
     "mdd": -0.33957,
     "total_return": 5.629667
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.336707,
       "sharpe": 1.108331,
       "mdd": -0.355494,
       "total_return": 2.418379
      },
      "bench": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.13318,
       "sharpe": 0.784579,
       "mdd": -0.282177,
       "total_return": 0.698167
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.605919,
       "sharpe": 1.649364,
       "mdd": -0.240114,
       "total_return": 6.435897
      },
      "bench": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.379295,
       "sharpe": 1.512115,
       "mdd": -0.27485,
       "total_return": 2.904013
      },
      "win": true
     }
    ],
    "zero_cost": {
     "strategy": {
      "start": "2018-05-14",
      "end": "2026-10-30",
      "cagr": 0.56923,
      "sharpe": 1.609309,
      "mdd": -0.343803,
      "total_return": 44.293479
     },
     "bench": {
      "start": "2018-05-14",
      "end": "2026-10-30",
      "cagr": 0.248847,
      "sharpe": 1.176668,
      "mdd": -0.33957,
      "total_return": 5.557343
     },
     "win": true
    }
   },
   "12": {
    "strategy": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.447222,
     "sharpe": 1.393969,
     "mdd": -0.342564,
     "total_return": 21.902322
    },
    "bench": {
     "start": "2018-05-11",
     "end": "2026-10-30",
     "cagr": 0.250196,
     "sharpe": 1.18249,
     "mdd": -0.33957,
     "total_return": 5.629667
    },
    "win": true,
    "halves": [
     {
      "strategy": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.346451,
       "sharpe": 1.169449,
       "mdd": -0.342564,
       "total_return": 2.525173
      },
      "bench": {
       "start": "2018-05-11",
       "end": "2022-08-05",
       "cagr": 0.13318,
       "sharpe": 0.784579,
       "mdd": -0.282177,
       "total_return": 0.698167
      },
      "win": true
     },
     {
      "strategy": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.555536,
       "sharpe": 1.609993,
       "mdd": -0.230399,
       "total_return": 5.496793
      },
      "bench": {
       "start": "2022-08-05",
       "end": "2026-10-30",
       "cagr": 0.379295,
       "sharpe": 1.512115,
       "mdd": -0.27485,
       "total_return": 2.904013
      },
      "win": true
     }
    ]
   }
  }
 }
}