{
  "window": "2019-02-11/2026-10-30",
  "window_exact": {
    "start": "2019-02-11",
    "end": "2026-10-30"
  },
  "star": "現金股利調高優先",
  "variants": {
    "現金股利調高優先": {
      "start": "2019-02-11",
      "end": "2026-10-30",
      "cagr": 0.59916,
      "total_return": 36.418024,
      "daily_sharpe": 1.830756,
      "monthly_sharpe": 1.552043,
      "monthly_sortino": 4.111401,
      "annual_vol": 0.288659,
      "max_drawdown": -0.278492,
      "yearly": {
        "2019": 0.032159,
        "2020": 1.61454,
        "2021": 0.687167,
        "2022": -0.103979,
        "2023": 0.762523,
        "2024": 0.63385,
        "2025": 0.768889,
        "2026": 0.800591
      },
      "worst_year": -0.103979,
      "mdd_peak": "2021-04-09",
      "mdd_trough": "2021-05-17",
      "mdd_recovered": "2021-12-06",
      "avg_holdings": 10.0
    },
    "月營收動能原版": {
      "start": "2019-02-11",
      "end": "2026-10-30",
      "cagr": 0.542828,
      "total_return": 27.373956,
      "daily_sharpe": 1.524621,
      "monthly_sharpe": 1.301462,
      "monthly_sortino": 2.77803,
      "annual_vol": 0.330836,
      "max_drawdown": -0.354559,
      "yearly": {
        "2019": -0.055823,
        "2020": 1.804289,
        "2021": 0.291728,
        "2022": -0.027034,
        "2023": 0.439186,
        "2024": 0.86703,
        "2025": 0.572288,
        "2026": 1.018248
      },
      "worst_year": -0.055823,
      "mdd_peak": "2021-04-06",
      "mdd_trough": "2021-05-17",
      "mdd_recovered": "2023-03-03",
      "avg_holdings": 10.0
    }
  },
  "benchmark_0050": {
    "start": "2019-02-11",
    "end": "2026-10-30",
    "cagr": 0.285066,
    "total_return": 5.924511,
    "daily_sharpe": 1.295804,
    "monthly_sharpe": 1.201675,
    "monthly_sortino": 2.439006,
    "annual_vol": 0.219734,
    "max_drawdown": -0.33957,
    "yearly": {
      "2019": 0.301099,
      "2020": 0.31139,
      "2021": 0.219233,
      "2022": -0.213747,
      "2023": 0.275152,
      "2024": 0.48644,
      "2025": 0.368321,
      "2026": 0.632301
    },
    "worst_year": -0.213747,
    "mdd_peak": "2022-01-17",
    "mdd_trough": "2022-10-25",
    "mdd_recovered": "2024-02-15"
  },
  "validation": {
    "grid": [
      {
        "W": 20,
        "N": 8,
        "sharpe": 1.451504,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.372695,
        "beats_base": true
      },
      {
        "W": 20,
        "N": 10,
        "sharpe": 1.666466,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.524621,
        "beats_base": true
      },
      {
        "W": 20,
        "N": 12,
        "sharpe": 1.584824,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.561704,
        "beats_base": true
      },
      {
        "W": 60,
        "N": 8,
        "sharpe": 1.706373,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.372695,
        "beats_base": true
      },
      {
        "W": 60,
        "N": 10,
        "sharpe": 1.830756,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.524621,
        "beats_base": true
      },
      {
        "W": 60,
        "N": 12,
        "sharpe": 1.921409,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.561704,
        "beats_base": true
      },
      {
        "W": 120,
        "N": 8,
        "sharpe": 1.641687,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.372695,
        "beats_base": true
      },
      {
        "W": 120,
        "N": 10,
        "sharpe": 1.68544,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.524621,
        "beats_base": true
      },
      {
        "W": 120,
        "N": 12,
        "sharpe": 1.674334,
        "bench_sharpe": 1.295804,
        "win": true,
        "base_sharpe": 1.561704,
        "beats_base": true
      }
    ],
    "grid_wins": 9,
    "grid_beats_base": 9,
    "grid_n": 9,
    "pass": {
      "grid": true,
      "halves": true,
      "cost": true,
      "all": true,
      "beats_base": true
    },
    "halves": [
      {
        "start": "2019-02-11",
        "end": "2022-12-21",
        "sharpe": 1.42055,
        "bench_sharpe": 0.774524,
        "base_sharpe": 1.150838
      },
      {
        "start": "2022-12-21",
        "end": "2026-10-30",
        "sharpe": 2.269755,
        "bench_sharpe": 1.741644,
        "base_sharpe": 1.893032
      }
    ],
    "zero_cost_sharpe": 2.069726,
    "zero_cost_cagr": 0.70511
  },
  "trades": {
    "strategy": 930,
    "baseline": 929,
    "by_flag": {
      "False": {
        "n": 459,
        "mean_return": 0.036856,
        "win_rate": 0.4205
      },
      "True": {
        "n": 471,
        "mean_return": 0.049802,
        "win_rate": 0.5732
      }
    },
    "flag_share": 0.5065,
    "flag_share_by_entry_month": {
      "1": 0.2029,
      "2": 0.3205,
      "3": 0.925,
      "4": 1.0,
      "5": 1.0,
      "6": 1.0,
      "7": 0.875,
      "8": 0.1125,
      "9": 0.1,
      "10": 0.1375,
      "11": 0.1429,
      "12": 0.1739
    },
    "baseline_by_flag": {
      "False": {
        "n": 854,
        "mean_return": 0.040497,
        "win_rate": 0.4262
      },
      "True": {
        "n": 75,
        "mean_return": 0.055355,
        "win_rate": 0.4933
      }
    }
  },
  "raise_events": 4675,
  "data_facts": {
    "annual_board_month_share": {
      "1": 0.0025,
      "2": 0.1274,
      "3": 0.7247,
      "4": 0.0926,
      "5": 0.0503,
      "6": 0.001,
      "7": 0.0007,
      "8": 0.0004,
      "9": 0.0002,
      "10": 0.0001,
      "12": 0.0001
    },
    "board_to_ex_announcement_days": {
      "n": 11002,
      "median": 104.0,
      "p25": 86.0,
      "p75": 127.0
    },
    "pre_2023_11_rows_written_2023_12_01": 0.7914
  },
  "run_date": "2026-10-31",
  "finlab_version": "2.2.24",
  "generated_by": "research/tw-dividend-signals-2026-10/build_strategy.py"
}