{
 "run_date": "2026-11-01",
 "finlab_version": "2.2.26",
 "data_end": "2026-10-30",
 "designs": {
  "S4a": {
   "title": "恢復後上漲買進",
   "x_name": "反應門檻 θ（%）",
   "y_name": "持有 H（交易日）",
   "x": [
    0,
    5,
    10
   ],
   "y": [
    5,
    10,
    20
   ],
   "base": [
    5,
    10
   ],
   "grid": [
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.105632,
      "sharpe": -0.472768,
      "mdd": -0.77005,
      "total_return": -0.693128
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 5,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.1368,
      "avg_holdings": 1.23
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.007784,
      "sharpe": 0.101259,
      "mdd": -0.72359,
      "total_return": -0.079365
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 10,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.2589,
      "avg_holdings": 1.3
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.018223,
      "sharpe": 0.224481,
      "mdd": -0.803341,
      "total_return": 0.210575
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 20,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.4508,
      "avg_holdings": 1.5
     }
    },
    {
     "strategy": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": -0.050879,
      "sharpe": -0.236383,
      "mdd": -0.63385,
      "total_return": -0.419823
     },
     "bench": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": 0.238061,
      "sharpe": 1.197693,
      "mdd": -0.33957,
      "total_return": 8.266273
     },
     "win": false,
     "x": 5,
     "y": 5,
     "pos": {
      "events": 43,
      "buys_per_year": 4.1,
      "invested": 0.0728,
      "avg_holdings": 1.16
     }
    },
    {
     "strategy": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": 0.025501,
      "sharpe": 0.227185,
      "mdd": -0.560404,
      "total_return": 0.300219
     },
     "bench": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": 0.238061,
      "sharpe": 1.197693,
      "mdd": -0.33957,
      "total_return": 8.266273
     },
     "win": false,
     "x": 5,
     "y": 10,
     "pos": {
      "events": 43,
      "buys_per_year": 4.1,
      "invested": 0.1424,
      "avg_holdings": 1.19
     }
    },
    {
     "strategy": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": 0.080787,
      "sharpe": 0.416279,
      "mdd": -0.778606,
      "total_return": 1.247843
     },
     "bench": {
      "start": "2016-05-27",
      "end": "2026-10-30",
      "cagr": 0.238061,
      "sharpe": 1.197693,
      "mdd": -0.33957,
      "total_return": 8.266273
     },
     "win": false,
     "x": 5,
     "y": 20,
     "pos": {
      "events": 43,
      "buys_per_year": 4.1,
      "invested": 0.2577,
      "avg_holdings": 1.31
     }
    },
    {
     "strategy": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": -0.019018,
      "sharpe": -0.10698,
      "mdd": -0.429587,
      "total_return": -0.160371
     },
     "bench": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": 0.234399,
      "sharpe": 1.141455,
      "mdd": -0.33957,
      "total_return": 5.800655
     },
     "win": false,
     "x": 10,
     "y": 5,
     "pos": {
      "events": 13,
      "buys_per_year": 1.4,
      "invested": 0.0271,
      "avg_holdings": 1.08
     }
    },
    {
     "strategy": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": 0.042136,
      "sharpe": 0.33553,
      "mdd": -0.488413,
      "total_return": 0.456034
     },
     "bench": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": 0.234399,
      "sharpe": 1.141455,
      "mdd": -0.33957,
      "total_return": 5.800655
     },
     "win": false,
     "x": 10,
     "y": 10,
     "pos": {
      "events": 13,
      "buys_per_year": 1.4,
      "invested": 0.0533,
      "avg_holdings": 1.1
     }
    },
    {
     "strategy": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": 0.037707,
      "sharpe": 0.282691,
      "mdd": -0.68501,
      "total_return": 0.400669
     },
     "bench": {
      "start": "2017-09-22",
      "end": "2026-10-30",
      "cagr": 0.234399,
      "sharpe": 1.141455,
      "mdd": -0.33957,
      "total_return": 5.800655
     },
     "win": false,
     "x": 10,
     "y": 20,
     "pos": {
      "events": 13,
      "buys_per_year": 1.4,
      "invested": 0.0935,
      "avg_holdings": 1.26
     }
    }
   ],
   "grid_wins": 0,
   "base_default_cost": {
    "strategy": {
     "start": "2016-05-27",
     "end": "2026-10-30",
     "cagr": 0.025501,
     "sharpe": 0.227185,
     "mdd": -0.560404,
     "total_return": 0.300219
    },
    "bench": {
     "start": "2016-05-27",
     "end": "2026-10-30",
     "cagr": 0.238061,
     "sharpe": 1.197693,
     "mdd": -0.33957,
     "total_return": 8.266273
    },
    "win": false,
    "x": 5,
    "y": 10,
    "pos": {
     "events": 43,
     "buys_per_year": 4.1,
     "invested": 0.1424,
     "avg_holdings": 1.19
    }
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-05-27",
      "end": "2021-08-13",
      "cagr": 0.177415,
      "sharpe": 0.901632,
      "mdd": -0.337554,
      "total_return": 1.342863
     },
     "bench": {
      "start": "2016-05-27",
      "end": "2021-08-13",
      "cagr": 0.200764,
      "sharpe": 1.21878,
      "mdd": -0.282177,
      "total_return": 1.595385
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-08-13",
      "end": "2026-10-30",
      "cagr": -0.106813,
      "sharpe": -0.369309,
      "mdd": -0.560404,
      "total_return": -0.44503
     },
     "bench": {
      "start": "2021-08-13",
      "end": "2026-10-30",
      "cagr": 0.276517,
      "sharpe": 1.211217,
      "mdd": -0.33957,
      "total_return": 2.570288
     },
     "win": false
    }
   ],
   "base_zero_cost": {
    "strategy": {
     "start": "2016-05-31",
     "end": "2026-10-30",
     "cagr": 0.047694,
     "sharpe": 0.325051,
     "mdd": -0.541933,
     "total_return": 0.62456
    },
    "bench": {
     "start": "2016-05-31",
     "end": "2026-10-30",
     "cagr": 0.2373,
     "sharpe": 1.193927,
     "mdd": -0.33957,
     "total_return": 8.185569
    },
    "win": false
   },
   "equal_weight_same_window": {
    "start": "2016-05-27",
    "end": "2026-10-30",
    "cagr": 0.134203,
    "sharpe": 0.736956,
    "mdd": -0.356888,
    "total_return": 2.716991
   },
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false
   }
  },
  "S4b": {
   "title": "恢復後下跌買進",
   "x_name": "反應門檻 θ（%）",
   "y_name": "持有 H（交易日）",
   "x": [
    0,
    5,
    10
   ],
   "y": [
    5,
    10,
    20
   ],
   "base": [
    5,
    10
   ],
   "grid": [
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.156455,
      "sharpe": -0.818587,
      "mdd": -0.849782,
      "total_return": -0.834769
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 5,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.1333,
      "avg_holdings": 1.26
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.17744,
      "sharpe": -0.740881,
      "mdd": -0.905248,
      "total_return": -0.873433
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 10,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.2516,
      "avg_holdings": 1.34
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.229627,
      "sharpe": -0.822851,
      "mdd": -0.937412,
      "total_return": -0.936746
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 20,
     "pos": {
      "events": 87,
      "buys_per_year": 8.2,
      "invested": 0.4415,
      "avg_holdings": 1.53
     }
    },
    {
     "strategy": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": -0.169939,
      "sharpe": -0.950723,
      "mdd": -0.846816,
      "total_return": -0.821668
     },
     "bench": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": 0.230427,
      "sharpe": 1.131035,
      "mdd": -0.33957,
      "total_return": 5.817364
     },
     "win": false,
     "x": 5,
     "y": 5,
     "pos": {
      "events": 46,
      "buys_per_year": 5.0,
      "invested": 0.0803,
      "avg_holdings": 1.27
     }
    },
    {
     "strategy": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": -0.215109,
      "sharpe": -0.974643,
      "mdd": -0.924661,
      "total_return": -0.893761
     },
     "bench": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": 0.230427,
      "sharpe": 1.131035,
      "mdd": -0.33957,
      "total_return": 5.817364
     },
     "win": false,
     "x": 5,
     "y": 10,
     "pos": {
      "events": 46,
      "buys_per_year": 5.0,
      "invested": 0.1557,
      "avg_holdings": 1.31
     }
    },
    {
     "strategy": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": -0.256518,
      "sharpe": -1.005784,
      "mdd": -0.950415,
      "total_return": -0.935673
     },
     "bench": {
      "start": "2017-07-28",
      "end": "2026-10-30",
      "cagr": 0.230427,
      "sharpe": 1.131035,
      "mdd": -0.33957,
      "total_return": 5.817364
     },
     "win": false,
     "x": 5,
     "y": 20,
     "pos": {
      "events": 46,
      "buys_per_year": 5.0,
      "invested": 0.2882,
      "avg_holdings": 1.42
     }
    },
    {
     "strategy": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": -0.073688,
      "sharpe": -0.916691,
      "mdd": -0.495908,
      "total_return": -0.471388
     },
     "bench": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": 0.255996,
      "sharpe": 1.199815,
      "mdd": -0.33957,
      "total_return": 5.674656
     },
     "win": false,
     "x": 10,
     "y": 5,
     "pos": {
      "events": 8,
      "buys_per_year": 1.0,
      "invested": 0.0173,
      "avg_holdings": 1.14
     }
    },
    {
     "strategy": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": -0.116734,
      "sharpe": -1.096946,
      "mdd": -0.66983,
      "total_return": -0.644352
     },
     "bench": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": 0.255996,
      "sharpe": 1.199815,
      "mdd": -0.33957,
      "total_return": 5.674656
     },
     "win": false,
     "x": 10,
     "y": 10,
     "pos": {
      "events": 8,
      "buys_per_year": 1.0,
      "invested": 0.0345,
      "avg_holdings": 1.14
     }
    },
    {
     "strategy": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": -0.084466,
      "sharpe": -0.60135,
      "mdd": -0.572896,
      "total_return": -0.520484
     },
     "bench": {
      "start": "2018-07-02",
      "end": "2026-10-30",
      "cagr": 0.255996,
      "sharpe": 1.199815,
      "mdd": -0.33957,
      "total_return": 5.674656
     },
     "win": false,
     "x": 10,
     "y": 20,
     "pos": {
      "events": 8,
      "buys_per_year": 1.0,
      "invested": 0.0685,
      "avg_holdings": 1.15
     }
    }
   ],
   "grid_wins": 0,
   "base_default_cost": {
    "strategy": {
     "start": "2017-07-28",
     "end": "2026-10-30",
     "cagr": -0.215109,
     "sharpe": -0.974643,
     "mdd": -0.924661,
     "total_return": -0.893761
    },
    "bench": {
     "start": "2017-07-28",
     "end": "2026-10-30",
     "cagr": 0.230427,
     "sharpe": 1.131035,
     "mdd": -0.33957,
     "total_return": 5.817364
    },
    "win": false,
    "x": 5,
    "y": 10,
    "pos": {
     "events": 46,
     "buys_per_year": 5.0,
     "invested": 0.1557,
     "avg_holdings": 1.31
    }
   },
   "halves": [
    {
     "strategy": {
      "start": "2017-07-28",
      "end": "2022-03-14",
      "cagr": -0.082496,
      "sharpe": -0.245306,
      "mdd": -0.519464,
      "total_return": -0.32859
     },
     "bench": {
      "start": "2017-07-28",
      "end": "2022-03-14",
      "cagr": 0.153134,
      "sharpe": 0.931328,
      "mdd": -0.282177,
      "total_return": 0.93337
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2022-03-15",
      "end": "2026-10-30",
      "cagr": -0.32865,
      "sharpe": -1.80402,
      "mdd": -0.844062,
      "total_return": -0.841767
     },
     "bench": {
      "start": "2022-03-15",
      "end": "2026-10-30",
      "cagr": 0.318942,
      "sharpe": 1.322803,
      "mdd": -0.291008,
      "total_return": 2.599812
     },
     "win": false
    }
   ],
   "base_zero_cost": {
    "strategy": {
     "start": "2017-07-31",
     "end": "2026-10-30",
     "cagr": -0.196663,
     "sharpe": -0.870749,
     "mdd": -0.911722,
     "total_return": -0.868037
    },
    "bench": {
     "start": "2017-07-31",
     "end": "2026-10-30",
     "cagr": 0.230735,
     "sharpe": 1.131619,
     "mdd": -0.33957,
     "total_return": 5.821554
    },
    "win": false
   },
   "equal_weight_same_window": {
    "start": "2017-07-28",
    "end": "2026-10-30",
    "cagr": 0.129467,
    "sharpe": 0.696806,
    "mdd": -0.356888,
    "total_return": 2.086256
   },
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false
   }
  },
  "C4": {
   "title": "恢復後上漲＋放量",
   "x_name": "反應門檻 θ（%）",
   "y_name": "持有 H（交易日）",
   "x": [
    0,
    5,
    10
   ],
   "y": [
    5,
    10,
    20
   ],
   "base": [
    5,
    10
   ],
   "grid": [
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.076974,
      "sharpe": -0.739123,
      "mdd": -0.602268,
      "total_return": -0.571549
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 5,
     "pos": {
      "events": 40,
      "buys_per_year": 3.8,
      "invested": 0.0702,
      "avg_holdings": 1.1
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.069121,
      "sharpe": -0.461665,
      "mdd": -0.606194,
      "total_return": -0.531366
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 10,
     "pos": {
      "events": 40,
      "buys_per_year": 3.8,
      "invested": 0.1353,
      "avg_holdings": 1.15
     }
    },
    {
     "strategy": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": -0.050786,
      "sharpe": -0.204847,
      "mdd": -0.52467,
      "total_return": -0.423933
     },
     "bench": {
      "start": "2016-03-31",
      "end": "2026-10-30",
      "cagr": 0.230416,
      "sharpe": 1.168263,
      "mdd": -0.33957,
      "total_return": 7.972447
     },
     "win": false,
     "x": 0,
     "y": 20,
     "pos": {
      "events": 40,
      "buys_per_year": 3.8,
      "invested": 0.2516,
      "avg_holdings": 1.23
     }
    },
    {
     "strategy": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": -0.003988,
      "sharpe": -0.054466,
      "mdd": -0.188993,
      "total_return": -0.03997
     },
     "bench": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": 0.228129,
      "sharpe": 1.151242,
      "mdd": -0.33957,
      "total_return": 7.144914
     },
     "win": false,
     "x": 5,
     "y": 5,
     "pos": {
      "events": 11,
      "buys_per_year": 1.1,
      "invested": 0.0221,
      "avg_holdings": 1.0
     }
    },
    {
     "strategy": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": -0.014712,
      "sharpe": -0.167677,
      "mdd": -0.285033,
      "total_return": -0.140394
     },
     "bench": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": 0.228129,
      "sharpe": 1.151242,
      "mdd": -0.33957,
      "total_return": 7.144914
     },
     "win": false,
     "x": 5,
     "y": 10,
     "pos": {
      "events": 11,
      "buys_per_year": 1.1,
      "invested": 0.0442,
      "avg_holdings": 1.0
     }
    },
    {
     "strategy": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": -0.006317,
      "sharpe": -0.011378,
      "mdd": -0.360685,
      "total_return": -0.062635
     },
     "bench": {
      "start": "2016-08-15",
      "end": "2026-10-30",
      "cagr": 0.228129,
      "sharpe": 1.151242,
      "mdd": -0.33957,
      "total_return": 7.144914
     },
     "win": false,
     "x": 5,
     "y": 20,
     "pos": {
      "events": 11,
      "buys_per_year": 1.1,
      "invested": 0.0884,
      "avg_holdings": 1.0
     }
    },
    {
     "strategy": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": 0.001205,
      "sharpe": 0.057219,
      "mdd": -0.077665,
      "total_return": 0.010308
     },
     "bench": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": 0.25296,
      "sharpe": 1.194866,
      "mdd": -0.33957,
      "total_return": 5.821952
     },
     "win": false,
     "x": 10,
     "y": 5,
     "pos": {
      "events": 2,
      "buys_per_year": 0.2,
      "invested": 0.0048,
      "avg_holdings": 1.0
     }
    },
    {
     "strategy": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": -0.015357,
      "sharpe": -0.288011,
      "mdd": -0.179609,
      "total_return": -0.123462
     },
     "bench": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": 0.25296,
      "sharpe": 1.194866,
      "mdd": -0.33957,
      "total_return": 5.821952
     },
     "win": false,
     "x": 10,
     "y": 10,
     "pos": {
      "events": 2,
      "buys_per_year": 0.2,
      "invested": 0.0096,
      "avg_holdings": 1.0
     }
    },
    {
     "strategy": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": -0.003853,
      "sharpe": -0.037445,
      "mdd": -0.190596,
      "total_return": -0.032339
     },
     "bench": {
      "start": "2018-04-25",
      "end": "2026-10-30",
      "cagr": 0.25296,
      "sharpe": 1.194866,
      "mdd": -0.33957,
      "total_return": 5.821952
     },
     "win": false,
     "x": 10,
     "y": 20,
     "pos": {
      "events": 2,
      "buys_per_year": 0.2,
      "invested": 0.0193,
      "avg_holdings": 1.0
     }
    }
   ],
   "grid_wins": 0,
   "base_default_cost": {
    "strategy": {
     "start": "2016-08-15",
     "end": "2026-10-30",
     "cagr": -0.014712,
     "sharpe": -0.167677,
     "mdd": -0.285033,
     "total_return": -0.140394
    },
    "bench": {
     "start": "2016-08-15",
     "end": "2026-10-30",
     "cagr": 0.228129,
     "sharpe": 1.151242,
     "mdd": -0.33957,
     "total_return": 7.144914
    },
    "win": false,
    "x": 5,
    "y": 10,
    "pos": {
     "events": 11,
     "buys_per_year": 1.1,
     "invested": 0.0442,
     "avg_holdings": 1.0
    }
   },
   "halves": [
    {
     "strategy": {
      "start": "2016-08-15",
      "end": "2021-09-22",
      "cagr": 0.01772,
      "sharpe": 0.266715,
      "mdd": -0.166146,
      "total_return": 0.093782
     },
     "bench": {
      "start": "2016-08-15",
      "end": "2021-09-22",
      "cagr": 0.17802,
      "sharpe": 1.094861,
      "mdd": -0.282177,
      "total_return": 1.307372
     },
     "win": false
    },
    {
     "strategy": {
      "start": "2021-09-22",
      "end": "2026-10-30",
      "cagr": -0.046112,
      "sharpe": -0.670724,
      "mdd": -0.234049,
      "total_return": -0.214098
     },
     "bench": {
      "start": "2021-09-22",
      "end": "2026-10-30",
      "cagr": 0.280369,
      "sharpe": 1.219454,
      "mdd": -0.33957,
      "total_return": 2.529953
     },
     "win": false
    }
   ],
   "base_zero_cost": {
    "strategy": {
     "start": "2016-08-16",
     "end": "2026-10-30",
     "cagr": -0.008472,
     "sharpe": -0.080291,
     "mdd": -0.246307,
     "total_return": -0.083151
    },
    "bench": {
     "start": "2016-08-16",
     "end": "2026-10-30",
     "cagr": 0.228883,
     "sharpe": 1.154382,
     "mdd": -0.33957,
     "total_return": 7.19149
    },
    "win": false
   },
   "equal_weight_same_window": {
    "start": "2016-08-15",
    "end": "2026-10-30",
    "cagr": 0.128964,
    "sharpe": 0.710382,
    "mdd": -0.356888,
    "total_return": 2.448975
   },
   "pass": {
    "neighbors": false,
    "halves": false,
    "cost": false
   }
  }
 },
 "descriptive": {
  "events": 311,
  "stocks": 253,
  "events_by_year": {
   "2016": 14,
   "2017": 28,
   "2018": 23,
   "2019": 29,
   "2020": 42,
   "2021": 36,
   "2022": 12,
   "2023": 17,
   "2024": 35,
   "2025": 48,
   "2026": 27
  },
  "up_by_year": {
   "2016": 9,
   "2017": 19,
   "2018": 10,
   "2019": 14,
   "2020": 27,
   "2021": 25,
   "2022": 10,
   "2023": 9,
   "2024": 17,
   "2025": 25,
   "2026": 10
  },
  "calendar_days": {
   "0": 1,
   "1": 246,
   "2": 4,
   "3": 49,
   "4": 6,
   "5": 2,
   "6": 1,
   "12": 2
  },
  "one_trading_day": 304,
  "by_market": {
   "上市證券": 200,
   "上櫃股票": 111
  },
  "liquid_share": 0.5595,
  "resume_day": {
   "mean": 0.01732,
   "median": 0.01709,
   "excess_mean": 0.01351,
   "max": 0.10115,
   "min": -0.1,
   "limit_up": 95,
   "limit_down": 36,
   "one_price": 100,
   "next_day_one_price": 56,
   "up": 187,
   "down": 116,
   "hist_edges": [
    -0.105,
    -0.095,
    -0.085,
    -0.075,
    -0.065,
    -0.055,
    -0.045,
    -0.035,
    -0.025,
    -0.015,
    -0.005,
    0.005,
    0.015,
    0.025,
    0.035,
    0.045,
    0.055,
    0.065,
    0.075,
    0.085,
    0.095,
    0.105
   ],
   "hist": [
    36,
    2,
    5,
    8,
    10,
    11,
    10,
    8,
    10,
    9,
    22,
    21,
    21,
    14,
    5,
    8,
    6,
    6,
    2,
    2,
    95
   ]
  },
  "reaction_counts": {
   "up0": 175,
   "up5": 111,
   "up10": 35,
   "down0": 136,
   "down5": 66,
   "down10": 16
  },
  "study": {
   "up": {
    "5": {
     "n": 43,
     "mean_excess": -0.00145,
     "median_excess": -0.01385,
     "hit_rate": 0.4186,
     "t_month": -0.16,
     "mean_excess_0050": -0.00127
    },
    "10": {
     "n": 43,
     "mean_excess": 0.03036,
     "median_excess": -0.02698,
     "hit_rate": 0.4186,
     "t_month": 0.65,
     "mean_excess_0050": 0.03301
    },
    "20": {
     "n": 43,
     "mean_excess": 0.03611,
     "median_excess": -0.01371,
     "hit_rate": 0.4186,
     "t_month": 0.79,
     "mean_excess_0050": 0.03149
    },
    "40": {
     "n": 43,
     "mean_excess": 0.08646,
     "median_excess": -0.02325,
     "hit_rate": 0.4419,
     "t_month": 1.02,
     "mean_excess_0050": 0.06109
    },
    "60": {
     "n": 43,
     "mean_excess": 0.13899,
     "median_excess": -0.03845,
     "hit_rate": 0.4419,
     "t_month": 0.91,
     "mean_excess_0050": 0.10158
    }
   },
   "down": {
    "5": {
     "n": 46,
     "mean_excess": -0.0457,
     "median_excess": -0.02733,
     "hit_rate": 0.3696,
     "t_month": -2.1,
     "mean_excess_0050": -0.04475
    },
    "10": {
     "n": 46,
     "mean_excess": -0.05877,
     "median_excess": -0.02691,
     "hit_rate": 0.3913,
     "t_month": -1.98,
     "mean_excess_0050": -0.06686
    },
    "20": {
     "n": 46,
     "mean_excess": -0.08446,
     "median_excess": -0.02952,
     "hit_rate": 0.2826,
     "t_month": -3.63,
     "mean_excess_0050": -0.09241
    },
    "40": {
     "n": 46,
     "mean_excess": -0.08304,
     "median_excess": -0.07464,
     "hit_rate": 0.2609,
     "t_month": -2.29,
     "mean_excess_0050": -0.09278
    },
    "60": {
     "n": 45,
     "mean_excess": -0.0693,
     "median_excess": -0.09841,
     "hit_rate": 0.3778,
     "t_month": -1.7,
     "mean_excess_0050": -0.10504
    }
   },
   "up_volume": {
    "5": {
     "n": 11,
     "mean_excess": 0.00384,
     "median_excess": 0.0049,
     "hit_rate": 0.5455,
     "t_month": 0.29,
     "mean_excess_0050": 0.01022
    },
    "10": {
     "n": 11,
     "mean_excess": -0.01799,
     "median_excess": -0.00132,
     "hit_rate": 0.4545,
     "t_month": -0.83,
     "mean_excess_0050": -0.00906
    },
    "20": {
     "n": 11,
     "mean_excess": 0.0007,
     "median_excess": -0.01371,
     "hit_rate": 0.3636,
     "t_month": 0.03,
     "mean_excess_0050": -0.00489
    },
    "40": {
     "n": 11,
     "mean_excess": 0.01451,
     "median_excess": -0.01013,
     "hit_rate": 0.3636,
     "t_month": 0.34,
     "mean_excess_0050": -0.01124
    },
    "60": {
     "n": 11,
     "mean_excess": -0.04379,
     "median_excess": -0.05629,
     "hit_rate": 0.2727,
     "t_month": -1.65,
     "mean_excess_0050": -0.08678
    }
   },
   "all": {
    "5": {
     "n": 174,
     "mean_excess": -0.0161,
     "median_excess": -0.00986,
     "hit_rate": 0.4368,
     "t_month": -2.19,
     "mean_excess_0050": -0.01616
    },
    "10": {
     "n": 174,
     "mean_excess": -0.00898,
     "median_excess": -0.00957,
     "hit_rate": 0.431,
     "t_month": -0.46,
     "mean_excess_0050": -0.01196
    },
    "20": {
     "n": 174,
     "mean_excess": -0.01693,
     "median_excess": -0.02298,
     "hit_rate": 0.3563,
     "t_month": -1.07,
     "mean_excess_0050": -0.02645
    },
    "40": {
     "n": 174,
     "mean_excess": -0.006,
     "median_excess": -0.03686,
     "hit_rate": 0.3908,
     "t_month": -0.47,
     "mean_excess_0050": -0.02876
    },
    "60": {
     "n": 171,
     "mean_excess": 0.0151,
     "median_excess": -0.03845,
     "hit_rate": 0.4327,
     "t_month": -0.05,
     "mean_excess_0050": -0.02758
    }
   }
  },
  "curves": {
   "up": {
    "offset": [
     -20,
     -19,
     -18,
     -17,
     -16,
     -15,
     -14,
     -13,
     -12,
     -11,
     -10,
     -9,
     -8,
     -7,
     -6,
     -5,
     -4,
     -3,
     -2,
     -1,
     0,
     1,
     2,
     3,
     4,
     5,
     6,
     7,
     8,
     9,
     10,
     11,
     12,
     13,
     14,
     15,
     16,
     17,
     18,
     19,
     20,
     21,
     22,
     23,
     24,
     25,
     26,
     27,
     28,
     29,
     30,
     31,
     32,
     33,
     34,
     35,
     36,
     37,
     38,
     39,
     40,
     41,
     42,
     43,
     44,
     45,
     46,
     47,
     48,
     49,
     50,
     51,
     52,
     53,
     54,
     55,
     56,
     57,
     58,
     59,
     60
    ],
    "mean": [
     -0.08538,
     -0.08737,
     -0.1017,
     -0.10826,
     -0.1094,
     -0.10668,
     -0.10215,
     -0.09974,
     -0.10221,
     -0.10144,
     -0.09839,
     -0.09165,
     -0.08762,
     -0.08997,
     -0.08733,
     -0.08215,
     -0.07968,
     -0.0805,
     -0.07931,
     -0.08294,
     0.0,
     0.02835,
     0.0199,
     0.02136,
     0.03546,
     0.03082,
     0.02981,
     0.02772,
     0.03333,
     0.04135,
     0.05472,
     0.06621,
     0.07509,
     0.08831,
     0.10347,
     0.12198,
     0.11079,
     0.09996,
     0.08499,
     0.07875,
     0.07542,
     0.07493,
     0.0796,
     0.08273,
     0.08428,
     0.10015,
     0.10412,
     0.09007,
     0.08964,
     0.09178,
     0.103,
     0.10618,
     0.11956,
     0.13456,
     0.13983,
     0.1413,
     0.14886,
     0.16056,
     0.16765,
     0.15887,
     0.13528,
     0.13083,
     0.13481,
     0.15503,
     0.17838,
     0.18484,
     0.19653,
     0.18287,
     0.16711,
     0.18415,
     0.18317,
     0.19422,
     0.2113,
     0.22686,
     0.25141,
     0.27436,
     0.2971,
     0.29856,
     0.27521,
     0.24035,
     0.21107
    ],
    "n": [
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43,
     43
    ]
   },
   "down": {
    "offset": [
     -20,
     -19,
     -18,
     -17,
     -16,
     -15,
     -14,
     -13,
     -12,
     -11,
     -10,
     -9,
     -8,
     -7,
     -6,
     -5,
     -4,
     -3,
     -2,
     -1,
     0,
     1,
     2,
     3,
     4,
     5,
     6,
     7,
     8,
     9,
     10,
     11,
     12,
     13,
     14,
     15,
     16,
     17,
     18,
     19,
     20,
     21,
     22,
     23,
     24,
     25,
     26,
     27,
     28,
     29,
     30,
     31,
     32,
     33,
     34,
     35,
     36,
     37,
     38,
     39,
     40,
     41,
     42,
     43,
     44,
     45,
     46,
     47,
     48,
     49,
     50,
     51,
     52,
     53,
     54,
     55,
     56,
     57,
     58,
     59,
     60
    ],
    "mean": [
     0.02531,
     0.03695,
     0.03574,
     0.04054,
     0.0537,
     0.05048,
     0.05539,
     0.05964,
     0.06557,
     0.06794,
     0.07088,
     0.06733,
     0.07504,
     0.07475,
     0.08168,
     0.0779,
     0.07864,
     0.08346,
     0.08774,
     0.08857,
     0.0,
     -0.02902,
     -0.04201,
     -0.04849,
     -0.05269,
     -0.0601,
     -0.07091,
     -0.07371,
     -0.07589,
     -0.08453,
     -0.08481,
     -0.0824,
     -0.07898,
     -0.08432,
     -0.08905,
     -0.09712,
     -0.10069,
     -0.09986,
     -0.10468,
     -0.10491,
     -0.1066,
     -0.10836,
     -0.10272,
     -0.1062,
     -0.10904,
     -0.10911,
     -0.11063,
     -0.10737,
     -0.11251,
     -0.11228,
     -0.1139,
     -0.10788,
     -0.10782,
     -0.11202,
     -0.11238,
     -0.10654,
     -0.10376,
     -0.1042,
     -0.10352,
     -0.10909,
     -0.10267,
     -0.10681,
     -0.10709,
     -0.10534,
     -0.09677,
     -0.09679,
     -0.09744,
     -0.10011,
     -0.09814,
     -0.09865,
     -0.10029,
     -0.09912,
     -0.10222,
     -0.0981,
     -0.09468,
     -0.09737,
     -0.09789,
     -0.09811,
     -0.09461,
     -0.09465,
     -0.09218
    ],
    "n": [
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     46,
     45,
     45,
     45,
     45,
     45,
     45,
     45,
     45,
     45,
     45
    ]
   },
   "up_volume": {
    "offset": [
     -20,
     -19,
     -18,
     -17,
     -16,
     -15,
     -14,
     -13,
     -12,
     -11,
     -10,
     -9,
     -8,
     -7,
     -6,
     -5,
     -4,
     -3,
     -2,
     -1,
     0,
     1,
     2,
     3,
     4,
     5,
     6,
     7,
     8,
     9,
     10,
     11,
     12,
     13,
     14,
     15,
     16,
     17,
     18,
     19,
     20,
     21,
     22,
     23,
     24,
     25,
     26,
     27,
     28,
     29,
     30,
     31,
     32,
     33,
     34,
     35,
     36,
     37,
     38,
     39,
     40,
     41,
     42,
     43,
     44,
     45,
     46,
     47,
     48,
     49,
     50,
     51,
     52,
     53,
     54,
     55,
     56,
     57,
     58,
     59,
     60
    ],
    "mean": [
     -0.10221,
     -0.10775,
     -0.11132,
     -0.11253,
     -0.11267,
     -0.1092,
     -0.11584,
     -0.10498,
     -0.1102,
     -0.09565,
     -0.08685,
     -0.07783,
     -0.06663,
     -0.07123,
     -0.06941,
     -0.07351,
     -0.07673,
     -0.07277,
     -0.07066,
     -0.07138,
     0.0,
     -0.00931,
     -0.02445,
     -0.02902,
     -0.02119,
     -0.01306,
     -0.00556,
     -0.0153,
     -0.01764,
     -0.02307,
     -0.02628,
     -0.02796,
     -0.02299,
     -0.02068,
     -0.0105,
     -0.01334,
     -0.00752,
     -0.00209,
     -0.00252,
     -0.01212,
     -0.00995,
     -0.00807,
     -0.00411,
     0.00986,
     0.01174,
     0.01995,
     0.03255,
     0.02971,
     0.03643,
     0.03928,
     0.03408,
     0.03897,
     0.03718,
     0.03799,
     0.02595,
     0.02034,
     0.01817,
     0.02526,
     0.02523,
     0.02618,
     0.01546,
     0.00616,
     -0.00267,
     -0.01189,
     -0.02199,
     -0.03054,
     -0.03724,
     -0.02745,
     -0.03875,
     -0.04162,
     -0.05078,
     -0.05131,
     -0.04822,
     -0.05195,
     -0.05068,
     -0.04572,
     -0.05576,
     -0.05049,
     -0.05361,
     -0.05659,
     -0.05365
    ],
    "n": [
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11,
     11
    ]
   },
   "all": {
    "offset": [
     -20,
     -19,
     -18,
     -17,
     -16,
     -15,
     -14,
     -13,
     -12,
     -11,
     -10,
     -9,
     -8,
     -7,
     -6,
     -5,
     -4,
     -3,
     -2,
     -1,
     0,
     1,
     2,
     3,
     4,
     5,
     6,
     7,
     8,
     9,
     10,
     11,
     12,
     13,
     14,
     15,
     16,
     17,
     18,
     19,
     20,
     21,
     22,
     23,
     24,
     25,
     26,
     27,
     28,
     29,
     30,
     31,
     32,
     33,
     34,
     35,
     36,
     37,
     38,
     39,
     40,
     41,
     42,
     43,
     44,
     45,
     46,
     47,
     48,
     49,
     50,
     51,
     52,
     53,
     54,
     55,
     56,
     57,
     58,
     59,
     60
    ],
    "mean": [
     -0.02013,
     -0.01741,
     -0.02259,
     -0.02221,
     -0.01885,
     -0.01857,
     -0.01669,
     -0.01467,
     -0.01324,
     -0.01256,
     -0.00896,
     -0.00856,
     -0.0058,
     -0.00584,
     -0.0038,
     -0.0026,
     -0.00216,
     -0.00097,
     0.00336,
     0.00204,
     0.0,
     -0.00189,
     -0.00911,
     -0.01161,
     -0.01073,
     -0.01317,
     -0.01629,
     -0.01515,
     -0.01479,
     -0.01316,
     -0.01048,
     -0.00747,
     -0.0055,
     -0.00322,
     0.00082,
     0.00395,
     -0.00134,
     -0.00436,
     -0.01013,
     -0.01307,
     -0.01448,
     -0.01469,
     -0.01141,
     -0.01253,
     -0.01173,
     -0.00775,
     -0.00709,
     -0.00976,
     -0.00985,
     -0.00932,
     -0.01106,
     -0.00797,
     -0.00672,
     -0.00396,
     -0.00315,
     -0.00229,
     0.00129,
     0.00304,
     0.00428,
     0.00148,
     -0.001,
     -0.00274,
     -0.00051,
     0.00634,
     0.01253,
     0.0129,
     0.0161,
     0.01313,
     0.0091,
     0.01298,
     0.01322,
     0.01751,
     0.01975,
     0.0232,
     0.02964,
     0.03419,
     0.0392,
     0.0394,
     0.03513,
     0.02824,
     0.02514
    ],
    "n": [
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     174,
     173,
     172,
     172,
     172,
     172,
     172,
     172,
     172,
     172,
     171
    ]
   }
  }
 }
}