{
  "slug": "bias-deviation-indicator-taiwan",
  "indicator": "bias",
  "data_end": "2026-09-30",
  "run_date": "2026-10-12",
  "finlab_version": "2.0.13",
  "universe": "上市櫃普通股,60 日均量 > 100 萬股、收盤價 > 10 元、60 日均成交金額前 300 名;排除 ETF(00 開頭)、權證/特別股等非 4 碼數字代號、金融保險股、處置/全額交割股(is_flagged_stock);KY 股未排除。回測區間 2015-01-01~2026-09-30。",
  "benchmark_0050": {
    "start": "2015-02-26",
    "note": "etl:adj_close 含息純算術買進持有;與策略同日(策略首個淨值日)起算;樣本外段自 2022-01-01。",
    "research": {
      "cagr": 14.7,
      "monthly_sharpe": 0.97,
      "monthly_sortino": 1.44,
      "max_drawdown": -28.22
    },
    "oos": {
      "cagr": 30.51,
      "monthly_sharpe": 1.21,
      "monthly_sortino": 2.44,
      "max_drawdown": -33.96
    },
    "full": {
      "cagr": 20.97,
      "monthly_sharpe": 1.06,
      "monthly_sortino": 1.83,
      "max_drawdown": -33.96
    }
  },
  "winner_v2": {
    "name": "bias_mom200_tech_n15",
    "strategy_rule": "品質池(站上 MA60 且剔除 60 日報酬波動最高一半)+ 200 日動能 > 0 濾網;池內取 MA60 乖離率最大 15 檔,反波動(1/vol60**0.5)加權、月再平衡;換股日收盤低於 180 日高點 − 2.5×ATR(14) 的股票不持有,其權重依反波動比例分給其他持股(整籃都跌破才轉現金);趨勢廣度 expo = clip(1 + (breadth − 0.55)/0.55, 0.40, 1.0) 減碼,不加槓桿、不用基本面。停損與減碼只在每月換股日檢查(sim resample='M'),月中跌破不會即時出場。",
    "params": {
      "top_n": 15,
      "atr_stop_mult": 2.5,
      "atr_lookback": 180,
      "breadth_center": 0.55,
      "breadth_floor": 0.4,
      "vol_keep_half": 150,
      "ivol_p": 0.5,
      "trend_filter_days": 200
    },
    "start": "2015-02-26",
    "research": {
      "cagr": 29.66,
      "monthly_sharpe": 1.21,
      "monthly_sortino": 2.16,
      "max_drawdown": -30.51
    },
    "oos": {
      "cagr": 21.77,
      "monthly_sharpe": 0.84,
      "monthly_sortino": 1.09,
      "max_drawdown": -37.73
    },
    "full": {
      "cagr": 26.27,
      "monthly_sharpe": 0.98,
      "monthly_sortino": 1.42,
      "max_drawdown": -37.73
    },
    "full_annual_vol": 29.1,
    "turnover": 8.2,
    "passes_target": false,
    "full_cagr_lead_vs_0050_pp": 5.3
  },
  "winner_v2_yearly_vs_0050": {
    "first_year_from": "2015-02-26",
    "last_year_until": "2026-09-30",
    "win_count": "7/12",
    "years": {
      "2015": {
        "strategy": 5.3,
        "tw0050": -10.9,
        "win": true
      },
      "2016": {
        "strategy": 6.0,
        "tw0050": 19.6,
        "win": false
      },
      "2017": {
        "strategy": 42.7,
        "tw0050": 18.1,
        "win": true
      },
      "2018": {
        "strategy": -6.0,
        "tw0050": -4.9,
        "win": false
      },
      "2019": {
        "strategy": 39.1,
        "tw0050": 33.5,
        "win": true
      },
      "2020": {
        "strategy": 62.1,
        "tw0050": 31.1,
        "win": true
      },
      "2021": {
        "strategy": 75.1,
        "tw0050": 21.9,
        "win": true
      },
      "2022": {
        "strategy": -34.8,
        "tw0050": -21.4,
        "win": false
      },
      "2023": {
        "strategy": 95.6,
        "tw0050": 27.5,
        "win": true
      },
      "2024": {
        "strategy": 7.1,
        "tw0050": 48.6,
        "win": false
      },
      "2025": {
        "strategy": 40.8,
        "tw0050": 36.8,
        "win": true
      },
      "2026": {
        "strategy": 31.5,
        "tw0050": 74.3,
        "win": false
      }
    }
  },
  "winner_v2_layer_uplift": {
    "naked_high_bias_ma60": {
      "research": {
        "cagr": 26.62,
        "monthly_sharpe": 1.0,
        "monthly_sortino": 1.56,
        "max_drawdown": -38.43
      },
      "full": {
        "cagr": 23.49,
        "monthly_sharpe": 0.83,
        "monthly_sortino": 1.16,
        "max_drawdown": -47.75
      }
    },
    "qpool_mom200_no_risk": {
      "research": {
        "cagr": 28.59,
        "monthly_sharpe": 1.03,
        "monthly_sortino": 1.59,
        "max_drawdown": -38.41
      },
      "full": {
        "cagr": 27.76,
        "monthly_sharpe": 0.92,
        "monthly_sortino": 1.38,
        "max_drawdown": -46.61
      }
    },
    "winner_v2_full": {
      "research": {
        "cagr": 29.66,
        "monthly_sharpe": 1.21,
        "monthly_sortino": 2.16,
        "max_drawdown": -30.51
      },
      "full": {
        "cagr": 26.27,
        "monthly_sharpe": 0.98,
        "monthly_sortino": 1.42,
        "max_drawdown": -37.73
      }
    },
    "note": "L1 univ 內 MA60 乖離 top15 等權 → L2 +品質池+200 日動能濾網(等權)→ L3 +反波動加權+ATR 停損(換股日)+趨勢廣度。"
  },
  "optim_v2_grid": {
    "axes": {
      "ma_factor_win": [
        20,
        60,
        120
      ],
      "m_atr": [
        2.0,
        2.5,
        3.0
      ]
    },
    "z_metric": "research_monthly_sharpe",
    "cells": {
      "ma20_m2.0": {
        "research_cagr": 26.9,
        "research_sharpe": 1.239,
        "oos_cagr": 20.8,
        "oos_sharpe": 0.803,
        "mdd": -38.3
      },
      "ma60_m2.0": {
        "research_cagr": 30.3,
        "research_sharpe": 1.243,
        "oos_cagr": 21.8,
        "oos_sharpe": 0.83,
        "mdd": -41.0
      },
      "ma120_m2.0": {
        "research_cagr": 30.6,
        "research_sharpe": 1.141,
        "oos_cagr": 24.9,
        "oos_sharpe": 0.844,
        "mdd": -41.5
      },
      "ma20_m2.5": {
        "research_cagr": 28.1,
        "research_sharpe": 1.284,
        "oos_cagr": 22.7,
        "oos_sharpe": 0.846,
        "mdd": -39.7
      },
      "ma60_m2.5": {
        "research_cagr": 29.7,
        "research_sharpe": 1.212,
        "oos_cagr": 21.8,
        "oos_sharpe": 0.841,
        "mdd": -37.7
      },
      "ma120_m2.5": {
        "research_cagr": 28.1,
        "research_sharpe": 1.095,
        "oos_cagr": 23.8,
        "oos_sharpe": 0.824,
        "mdd": -39.4
      },
      "ma20_m3.0": {
        "research_cagr": 29.0,
        "research_sharpe": 1.312,
        "oos_cagr": 21.4,
        "oos_sharpe": 0.819,
        "mdd": -39.2
      },
      "ma60_m3.0": {
        "research_cagr": 27.6,
        "research_sharpe": 1.198,
        "oos_cagr": 22.2,
        "oos_sharpe": 0.86,
        "mdd": -37.7
      },
      "ma120_m3.0": {
        "research_cagr": 28.0,
        "research_sharpe": 1.134,
        "oos_cagr": 23.1,
        "oos_sharpe": 0.823,
        "mdd": -39.4
      }
    },
    "default_key": "ma60_m2.5",
    "robust_cross_min_key": "ma20_m2.0",
    "robust_cross_min_sharpe": 1.141,
    "cross_min_ties": [
      "ma20_m2.0",
      "ma60_m2.0"
    ],
    "selection_rule": "cross-min:對每格取沿其列與其欄的最差研究段 Sharpe,選此最差值最高者。"
  },
  "optim_v2_neighbors": {
    "cells": {
      "default": {
        "research_cagr": 29.7,
        "research_sharpe": 1.212,
        "oos_cagr": 21.8,
        "oos_sharpe": 0.841,
        "mdd": -37.7
      },
      "top_n_14": {
        "research_cagr": 31.6,
        "research_sharpe": 1.255,
        "oos_cagr": 19.3,
        "oos_sharpe": 0.763,
        "mdd": -37.4
      },
      "top_n_16": {
        "research_cagr": 28.1,
        "research_sharpe": 1.197,
        "oos_cagr": 21.7,
        "oos_sharpe": 0.836,
        "mdd": -37.7
      },
      "center_0.52": {
        "research_cagr": 29.9,
        "research_sharpe": 1.205,
        "oos_cagr": 22.4,
        "oos_sharpe": 0.844,
        "mdd": -37.7
      },
      "center_0.56": {
        "research_cagr": 29.5,
        "research_sharpe": 1.216,
        "oos_cagr": 21.6,
        "oos_sharpe": 0.84,
        "mdd": -37.7
      },
      "m_atr_2.25": {
        "research_cagr": 30.0,
        "research_sharpe": 1.224,
        "oos_cagr": 21.9,
        "oos_sharpe": 0.841,
        "mdd": -37.7
      },
      "m_atr_2.75": {
        "research_cagr": 28.0,
        "research_sharpe": 1.188,
        "oos_cagr": 22.8,
        "oos_sharpe": 0.873,
        "mdd": -37.7
      },
      "ivol_p_0.75": {
        "research_cagr": 29.0,
        "research_sharpe": 1.205,
        "oos_cagr": 21.5,
        "oos_sharpe": 0.838,
        "mdd": -37.6
      }
    },
    "range_excl_default": {
      "research_sharpe": [
        1.188,
        1.255
      ],
      "oos_sharpe": [
        0.763,
        0.873
      ],
      "mdd": [
        -37.7,
        -37.4
      ]
    },
    "note": "其餘層固定,一次只動一個參數(檔數 14/16、廣度中心 0.52/0.56、ATR 倍數 2.25/2.75、反波動指數 0.75)。"
  },
  "naked_angles": {
    "low_bias_ma20_textbook": {
      "research": {
        "cagr": 5.4,
        "monthly_sharpe": 0.33,
        "monthly_sortino": 0.48,
        "max_drawdown": -42.73
      },
      "oos": {
        "cagr": 17.88,
        "monthly_sharpe": 0.8,
        "monthly_sortino": 1.33,
        "max_drawdown": -41.76
      },
      "full": {
        "cagr": 10.25,
        "monthly_sharpe": 0.48,
        "monthly_sortino": 0.75,
        "max_drawdown": -42.73
      }
    },
    "low_bias_ma60_textbook": {
      "research": {
        "cagr": 0.57,
        "monthly_sharpe": 0.16,
        "monthly_sortino": 0.23,
        "max_drawdown": -52.94
      },
      "oos": {
        "cagr": 10.17,
        "monthly_sharpe": 0.53,
        "monthly_sortino": 0.76,
        "max_drawdown": -44.49
      },
      "full": {
        "cagr": 4.28,
        "monthly_sharpe": 0.29,
        "monthly_sortino": 0.42,
        "max_drawdown": -52.94
      }
    },
    "high_bias_ma20_momentum": {
      "research": {
        "cagr": 11.07,
        "monthly_sharpe": 0.59,
        "monthly_sortino": 0.76,
        "max_drawdown": -51.02
      },
      "oos": {
        "cagr": 19.64,
        "monthly_sharpe": 0.78,
        "monthly_sortino": 1.32,
        "max_drawdown": -45.02
      },
      "full": {
        "cagr": 14.42,
        "monthly_sharpe": 0.63,
        "monthly_sortino": 0.94,
        "max_drawdown": -51.02
      }
    },
    "high_bias_ma60_momentum": {
      "research": {
        "cagr": 17.71,
        "monthly_sharpe": 0.83,
        "monthly_sortino": 1.24,
        "max_drawdown": -45.97
      },
      "oos": {
        "cagr": 19.11,
        "monthly_sharpe": 0.77,
        "monthly_sortino": 1.28,
        "max_drawdown": -43.18
      },
      "full": {
        "cagr": 18.22,
        "monthly_sharpe": 0.72,
        "monthly_sortino": 1.12,
        "max_drawdown": -45.97
      }
    },
    "low_bias_in_qpool": {
      "research": {
        "cagr": -3.46,
        "monthly_sharpe": -0.1,
        "monthly_sortino": -0.15,
        "max_drawdown": -44.37
      },
      "oos": {
        "cagr": 2.85,
        "monthly_sharpe": 0.28,
        "monthly_sortino": 0.47,
        "max_drawdown": -35.78
      },
      "full": {
        "cagr": -1.06,
        "monthly_sharpe": 0.05,
        "monthly_sortino": 0.08,
        "max_drawdown": -49.93
      }
    }
  },
  "long_short_spread_ineffective": {
    "research": {
      "cagr": 3.8,
      "monthly_sharpe": 0.41,
      "monthly_sortino": 0.7,
      "max_drawdown": -25.9
    },
    "oos": {
      "cagr": 0.57,
      "monthly_sharpe": 0.16,
      "monthly_sortino": 0.3,
      "max_drawdown": -19.83
    },
    "full": {
      "cagr": 2.47,
      "monthly_sharpe": 0.27,
      "monthly_sortino": 0.48,
      "max_drawdown": -25.9
    }
  },
  "decay_tracking": {
    "since": "2026-06-09",
    "until": "2026-09-30",
    "strategy_return": -17.1,
    "tw0050_return": 8.9,
    "first_partial_month": {
      "window": [
        "2026-06-09",
        "2026-06-30"
      ],
      "strategy_return": 9.4,
      "tw0050_return": 4.2,
      "note": "追蹤起點到該月月底;與其後的整月報酬連乘等於 strategy_return / tw0050_return。"
    },
    "strategy_monthly": {
      "2026-06": 6.9,
      "2026-07": -31.3,
      "2026-08": 8.6,
      "2026-09": 1.5
    },
    "tw0050_monthly": {
      "2026-06": 2.3,
      "2026-07": -4.0,
      "2026-08": 3.3,
      "2026-09": 5.5
    },
    "worst_month": {
      "month": "2026-07",
      "holdings": 15,
      "losers": 15,
      "median_holding_return": -29.8,
      "worst_holding_return": -51.8,
      "stop_breached_intramonth": 15,
      "first_breach_dates": [
        "2026-07-01",
        "2026-07-20"
      ],
      "breadth_exposure_prev_month_end": 1.0,
      "breadth_exposure_month_end": 0.4,
      "note": "該月月初建倉、月底換股的持股逐檔報酬(trades 表);月中跌破停損線的檔數與首次跌破日;月中停損不執行。"
    },
    "worst_months_by_segment": {
      "research": {
        "2018-07": -13.2,
        "2015-07": -13.1,
        "2021-05": -10.7
      },
      "oos": {
        "2026-07": -31.3,
        "2025-03": -15.6,
        "2022-09": -14.5
      }
    },
    "strategy_peak_date": "2026-07-06",
    "strategy_drawdown_at_end": -26.0,
    "oos_gate": {
      "oos_cagr_floor": 15.0,
      "oos_sharpe_floor": 1.0,
      "oos_cagr": 21.77,
      "oos_sharpe": 0.84,
      "passes": false
    },
    "same_cutoff_rerun": {
      "data_end": "2026-06-09",
      "strategy_oos": {
        "cagr": 28.8,
        "monthly_sharpe": 1.08,
        "monthly_sortino": 2.03,
        "max_drawdown": -35.99
      },
      "strategy_full": {
        "cagr": 29.21,
        "monthly_sharpe": 1.1,
        "monthly_sortino": 2.02,
        "max_drawdown": -36.69
      },
      "tw0050_full_aligned": {
        "cagr": 20.68,
        "monthly_sharpe": 1.04,
        "monthly_sortino": 1.8,
        "max_drawdown": -33.96
      },
      "tw0050_research_aligned": {
        "cagr": 14.7,
        "monthly_sharpe": 0.97,
        "monthly_sortino": 1.44,
        "max_drawdown": -28.22
      },
      "tw0050_full_from_research_start": {
        "cagr": 20.98,
        "monthly_sharpe": 1.05,
        "monthly_sortino": 1.82,
        "max_drawdown": -33.96
      },
      "tw0050_research_from_research_start": {
        "cagr": 15.29,
        "monthly_sharpe": 1.0,
        "monthly_sortino": 1.47,
        "max_drawdown": -28.22
      },
      "tw0050_return_research_start_to_first_nav": 5.6
    }
  },
  "previous_release": {
    "data_end": "2026-06-09",
    "winner_v2": {
      "research": {
        "cagr": 29.66,
        "monthly_sharpe": 1.21,
        "monthly_sortino": 2.16,
        "max_drawdown": -30.51
      },
      "oos": {
        "cagr": 28.52,
        "monthly_sharpe": 1.07,
        "monthly_sortino": 2.0,
        "max_drawdown": -35.99
      },
      "full": {
        "cagr": 29.1,
        "monthly_sharpe": 1.1,
        "monthly_sortino": 2.01,
        "max_drawdown": -36.69
      }
    },
    "benchmark_0050": {
      "research": {
        "cagr": 15.29,
        "sharpe": 1.0,
        "mdd": -28.22
      },
      "oos": {
        "cagr": 30.42,
        "sharpe": 1.18,
        "mdd": -33.96
      },
      "full": {
        "cagr": 20.98,
        "sharpe": 1.05,
        "mdd": -33.96
      }
    },
    "note": "上一版資料截止日的已發佈數字(0050 當時自 2015-01-05 起算,早於策略首個淨值日)。"
  },
  "illustration_window": {
    "ma_for_bias": 60,
    "schools": "逆勢派(負乖離<−12% 買、正乖離>+18% 賣)+ 動能派(乖離上穿 +6% 轉強買、跌回均線翻負賣)",
    "teaching_note": "2303 聯電 2022 下跌段示範逆勢派抄底反覆接刀(負乖離買後續跌);2330 / 2454 2023H2–2024H1 上升段示範動能派順勢有效、逆勢派抄不到底。",
    "stocks": {
      "2303": {
        "label": "聯電(2303)",
        "window": "2022-01-01 ~ 2022-12-31",
        "contra_buy": 9,
        "contra_sell": 1,
        "mom_buy": 2,
        "mom_sell": 8,
        "total_school_signals": 20,
        "window_return_pct": -35.8,
        "first_contra_buy_date": "2022-02-07",
        "further_drop_after_first_contra_buy_pct": -35.1
      },
      "2330": {
        "label": "台積電(2330)",
        "window": "2023-07-01 ~ 2024-06-30",
        "contra_buy": 0,
        "contra_sell": 5,
        "mom_buy": 9,
        "mom_sell": 4,
        "total_school_signals": 18,
        "window_return_pct": 66.8
      },
      "2454": {
        "label": "聯發科(2454)",
        "window": "2023-07-01 ~ 2024-06-30",
        "contra_buy": 0,
        "contra_sell": 5,
        "mom_buy": 6,
        "mom_sell": 6,
        "total_school_signals": 17,
        "window_return_pct": 102.6
      }
    }
  },
  "legacy_2026_06": {
    "winner_name": "G_ma60_L180_m30_n15",
    "winner_rule": "站上季線(close>MA60)且 60 日報酬波動最低的一半 = 品質池;池內取 MA60 乖離率(close−MA60)/MA60 最高 15 檔,固定 1/15 權重、月再平衡;個股近 180 日高點回落 > 3×ATR(14) 即該格換現金(真降曝險)。",
    "winner": {
      "research": {
        "cagr": 26.29,
        "monthly_sharpe": 1.03,
        "monthly_sortino": 1.65,
        "max_drawdown": -32.88
      },
      "oos": {
        "cagr": 28.27,
        "monthly_sharpe": 1.0,
        "monthly_sortino": 1.83,
        "max_drawdown": -39.98
      },
      "full": {
        "cagr": 26.92,
        "monthly_sharpe": 0.98,
        "monthly_sortino": 1.67,
        "max_drawdown": -39.98
      },
      "turnover": 8.1,
      "passes_target": false
    },
    "robust_breadth_version": {
      "rule": "在勝出策略上疊 bias>0 廣度 gentle 梯度(center 0.45 / floor 0.6),低廣度時線性減碼到六成曝險。",
      "research": {
        "cagr": 23.36,
        "monthly_sharpe": 1.04,
        "monthly_sortino": 1.66,
        "max_drawdown": -30.72
      },
      "oos": {
        "cagr": 23.66,
        "monthly_sharpe": 0.97,
        "monthly_sortino": 1.63,
        "max_drawdown": -33.69
      },
      "full": {
        "cagr": 23.35,
        "monthly_sharpe": 0.96,
        "monthly_sortino": 1.58,
        "max_drawdown": -34.07
      },
      "turnover": 7.5
    },
    "qpool_high_bias_no_stop": {
      "research": {
        "cagr": 26.32,
        "monthly_sharpe": 0.98,
        "monthly_sortino": 1.55,
        "max_drawdown": -37.72
      },
      "oos": {
        "cagr": 24.89,
        "monthly_sharpe": 0.9,
        "monthly_sortino": 1.64,
        "max_drawdown": -48.0
      },
      "full": {
        "cagr": 25.64,
        "monthly_sharpe": 0.89,
        "monthly_sortino": 1.5,
        "max_drawdown": -48.0
      }
    },
    "variants": {
      "ma120_fixed_stop": {
        "research": {
          "cagr": 24.4,
          "monthly_sharpe": 0.93,
          "monthly_sortino": 1.48,
          "max_drawdown": -38.99
        },
        "oos": {
          "cagr": 28.37,
          "monthly_sharpe": 1.0,
          "monthly_sortino": 1.93,
          "max_drawdown": -46.28
        },
        "full": {
          "cagr": 25.83,
          "monthly_sharpe": 0.9,
          "monthly_sortino": 1.57,
          "max_drawdown": -46.28
        }
      },
      "ma20_factor_atrstop": {
        "research": {
          "cagr": 20.2,
          "monthly_sharpe": 0.96,
          "monthly_sortino": 1.43,
          "max_drawdown": -34.8
        },
        "oos": {
          "cagr": 25.72,
          "monthly_sharpe": 0.91,
          "monthly_sortino": 2.62,
          "max_drawdown": -32.54
        },
        "full": {
          "cagr": 22.32,
          "monthly_sharpe": 0.89,
          "monthly_sortino": 1.8,
          "max_drawdown": -34.8
        }
      }
    },
    "robustness_grid": {
      "ma60_L180_m3.0_n15": {
        "research_cagr": 26.3,
        "research_sharpe": 1.03,
        "oos_cagr": 28.3,
        "oos_sharpe": 1.0,
        "mdd": -40.0
      },
      "ma60_L150_m3.0_n15": {
        "research_cagr": 24.7,
        "research_sharpe": 0.98,
        "oos_cagr": 28.3,
        "oos_sharpe": 1.0,
        "mdd": -40.0
      },
      "ma60_L180_m2.5_n15": {
        "research_cagr": 25.3,
        "research_sharpe": 1.04,
        "oos_cagr": 26.9,
        "oos_sharpe": 0.98,
        "mdd": -36.0
      },
      "ma60_L180_m3.5_n15": {
        "research_cagr": 26.3,
        "research_sharpe": 1.01,
        "oos_cagr": 28.2,
        "oos_sharpe": 1.0,
        "mdd": -41.7
      },
      "ma60_L180_m3.0_n20": {
        "research_cagr": 21.0,
        "research_sharpe": 0.93,
        "oos_cagr": 31.2,
        "oos_sharpe": 1.05,
        "mdd": -37.0
      },
      "ma60_L150_m3.0_n25": {
        "research_cagr": 18.9,
        "research_sharpe": 0.89,
        "oos_cagr": 32.3,
        "oos_sharpe": 1.09,
        "mdd": -38.9
      },
      "ma60_L180_m3.0_n30": {
        "research_cagr": 16.2,
        "research_sharpe": 0.83,
        "oos_cagr": 29.7,
        "oos_sharpe": 1.03,
        "mdd": -37.6
      },
      "ma20_L180_m3.0_n15": {
        "research_cagr": 20.2,
        "research_sharpe": 0.96,
        "oos_cagr": 25.7,
        "oos_sharpe": 0.91,
        "mdd": -34.8
      }
    },
    "fee_doubled": {
      "research_sharpe": 1.01,
      "oos_sharpe": 0.98,
      "research_cagr": 25.4
    },
    "atr_timeperiod_robustness": {
      "atrTP10": {
        "research_sharpe": 1.02,
        "oos_sharpe": 1.01
      },
      "atrTP20": {
        "research_sharpe": 1.05,
        "oos_sharpe": 1.02
      }
    },
    "yearly_vs_0050": {
      "2016": {
        "strategy": -5.4,
        "tw0050": 19.6,
        "win": false
      },
      "2017": {
        "strategy": 38.7,
        "tw0050": 18.1,
        "win": true
      },
      "2018": {
        "strategy": 1.3,
        "tw0050": -4.9,
        "win": true
      },
      "2019": {
        "strategy": 30.3,
        "tw0050": 33.5,
        "win": false
      },
      "2020": {
        "strategy": 75.0,
        "tw0050": 31.1,
        "win": true
      },
      "2021": {
        "strategy": 70.1,
        "tw0050": 21.9,
        "win": true
      },
      "2022": {
        "strategy": -29.7,
        "tw0050": -21.4,
        "win": false
      },
      "2023": {
        "strategy": 86.4,
        "tw0050": 27.5,
        "win": true
      },
      "2024": {
        "strategy": 7.2,
        "tw0050": 48.6,
        "win": false
      },
      "2025": {
        "strategy": 24.4,
        "tw0050": 36.8,
        "win": false
      },
      "2026": {
        "strategy": 70.8,
        "tw0050": 60.0,
        "win": true
      }
    },
    "yearly_win_count": "6/11",
    "optim_grid": {
      "axes": {
        "ma_win": [
          20,
          60,
          120
        ],
        "m_atr": [
          2.0,
          3.0,
          4.0
        ]
      },
      "z_metric": "research_monthly_sharpe",
      "cells": {
        "ma20_m2.0": {
          "research_sharpe": 0.98,
          "research_cagr": 18.4,
          "oos_sharpe": 0.91,
          "oos_cagr": 22.1,
          "mdd": -38.8
        },
        "ma60_m2.0": {
          "research_sharpe": 1.05,
          "research_cagr": 23.9,
          "oos_sharpe": 1.0,
          "oos_cagr": 26.0,
          "mdd": -35.9
        },
        "ma120_m2.0": {
          "research_sharpe": 0.83,
          "research_cagr": 17.8,
          "oos_sharpe": 0.94,
          "oos_cagr": 27.3,
          "mdd": -37.3
        },
        "ma20_m3.0": {
          "research_sharpe": 0.93,
          "research_cagr": 18.3,
          "oos_sharpe": 0.82,
          "oos_cagr": 21.2,
          "mdd": -40.5
        },
        "ma60_m3.0": {
          "research_sharpe": 1.03,
          "research_cagr": 26.3,
          "oos_sharpe": 1.0,
          "oos_cagr": 28.3,
          "mdd": -40.0
        },
        "ma120_m3.0": {
          "research_sharpe": 0.97,
          "research_cagr": 24.7,
          "oos_sharpe": 0.95,
          "oos_cagr": 29.4,
          "mdd": -40.7
        },
        "ma20_m4.0": {
          "research_sharpe": 0.92,
          "research_cagr": 18.7,
          "oos_sharpe": 0.82,
          "oos_cagr": 21.2,
          "mdd": -43.7
        },
        "ma60_m4.0": {
          "research_sharpe": 1.0,
          "research_cagr": 26.3,
          "oos_sharpe": 0.95,
          "oos_cagr": 27.3,
          "mdd": -44.8
        },
        "ma120_m4.0": {
          "research_sharpe": 0.96,
          "research_cagr": 26.3,
          "oos_sharpe": 0.94,
          "oos_cagr": 29.2,
          "mdd": -45.1
        }
      }
    },
    "optim_default": {
      "ma_win": 60,
      "m_atr": 3.0,
      "research_sharpe": 1.03,
      "oos_sharpe": 1.0,
      "research_cagr": 26.3,
      "oos_cagr": 28.3,
      "mdd": -40.0
    },
    "optim_robust": {
      "ma_win": 60,
      "m_atr": 3.0,
      "is_same_as_default": true,
      "selection_rule": "取「沿自身列與自身欄的最差表現都最高」的格(cross-min):參數真穩健,須單獨擾動均線窗或停損倍數任一軸都還站得住,而非只在某條線上強。此法在本網格選到 MA60 季線一帶——與預設一致,代表沒有靠調參偷到自由午餐。",
      "research_sharpe": 1.03,
      "oos_sharpe": 1.0,
      "research_cagr": 26.3,
      "oos_cagr": 28.3,
      "mdd": -40.0
    },
    "fundamental_combo": {
      "alignment_note": "monthly_revenue 的 index 為財報公布日,index_str_to_date 後 reindex 交易日再 ffill,只用當期(含)已公布的營收,避免前視。",
      "baseline_winner": {
        "research_sharpe": 1.03,
        "oos_sharpe": 1.0,
        "research_cagr": 26.3,
        "oos_cagr": 28.3,
        "full_cagr": 26.9,
        "mdd": -40.0
      },
      "revenue_yoy_positive_filter": {
        "research_sharpe": 1.05,
        "oos_sharpe": 1.03,
        "research_cagr": 26.9,
        "oos_cagr": 30.8,
        "full_cagr": 28.3,
        "mdd": -34.1
      },
      "revenue_yoy_quantile_w0.5": {
        "research_sharpe": 0.81,
        "oos_sharpe": 0.93,
        "research_cagr": 19.8,
        "oos_cagr": 26.2,
        "full_cagr": 22.2,
        "mdd": -42.4
      },
      "verdict": "在 MA60 乖離動能勝出策略上加月營收 YoY:YoY>0 過濾把研究段 Sharpe 1.03→1.05、研究段年化 26.3%→26.9%,樣本外 Sharpe 1.0→1.03;營收動能分位各半複合則為研究段 Sharpe 0.81、樣本外 0.93。整體營收 YoY 在此屬「研究段小幅加分、樣本外無顯著增益」的中性結果——純技術面的乖離動能已吃下多數訊號,如實揭露不誇大。"
    },
    "optim_v2": {
      "selection_note": "深度優化結論(純技術路線):在 MA60 乖離動能選股之上,以『200 日動能 > 0』純價格濾網取代上一版的月營收 YoY,並把單一固定權重 + 單層 ATR 停損,升級成「反波動加權 + 緊一點的 ATR 現金停損 + 趨勢廣度 gentle 梯度減碼」的多層不加槓桿風控。研究段月 Sharpe 從 1.03 拉過 1.2 硬門檻、年化拉到 29.66%,樣本外同步小升(Sharpe 1.00 → 1.07),全期 MDD 由 -39.98% 收斂到 -36.7%,且完全不吃任何財報資料。勝出設定為 top15 × 反波動加權(p=0.5)× ATR(L180, m2.5) 現金停損 × 趨勢廣度(center 0.55 / floor 0.40)。持有檔數(14–16)、廣度中心(0.52–0.56)、ATR 倍數(2.25–2.75)、反波動指數(0.5–1.0)鄰格整片成立,非單一孤峰。",
      "neighbors": {
        "n15_c55_m25_p05": {
          "research_cagr": 29.66,
          "research_sharpe": 1.212,
          "oos_cagr": 28.52,
          "oos_sharpe": 1.07,
          "mdd": -36.7
        },
        "n15_c52_m25_p05": {
          "research_cagr": 29.9,
          "research_sharpe": 1.205,
          "oos_cagr": 29.2,
          "oos_sharpe": 1.063,
          "mdd": -37.4
        },
        "n15_c56_m25_p05": {
          "research_cagr": 29.5,
          "research_sharpe": 1.216,
          "oos_cagr": 28.3,
          "oos_sharpe": 1.071,
          "mdd": -36.5
        },
        "n15_c55_m225_p05": {
          "research_cagr": 30.0,
          "research_sharpe": 1.224,
          "oos_cagr": 28.0,
          "oos_sharpe": 1.05,
          "mdd": -36.6
        },
        "n15_c55_m25_p075": {
          "research_cagr": 29.0,
          "research_sharpe": 1.205,
          "oos_cagr": 28.1,
          "oos_sharpe": 1.066,
          "mdd": -36.6
        },
        "n16_c55_m25_p05": {
          "research_cagr": 28.1,
          "research_sharpe": 1.197,
          "oos_cagr": 29.0,
          "oos_sharpe": 1.081,
          "mdd": -33.7
        }
      },
      "ablation_note": "貢獻拆解:反波動加權 + 緊 ATR 停損是把研究段 Sharpe 推過 1.2 的關鍵;200 日動能濾網確認半年趨勢向上,把抄反向接刀的負乖離部位排除;乖離率仍是 alpha 來源(把因子反向取低乖離,績效大幅崩壞)。此版本完全不使用基本面,證明乖離率技術面本身即可建構過門檻的策略。",
      "vs_revenue_yoy_version": "對照上一版以『月營收 YoY > 0』為輔助濾網的設定(研究段 27.75% / Sharpe 1.21、樣本外 29.35% / 1.05、MDD -36.7):改用純價格的『200 日動能 > 0』後,研究段 CAGR 升到 29.66%、樣本外 Sharpe 升到 1.07,MDD 持平,且論述更貼合『純技術指標』主題、不需任何財報資料。",
      "incumbent_winner_for_compare": {
        "name": "G_ma60_L180_m30_n15(既有文章 winner)",
        "research_cagr": 26.29,
        "research_sharpe": 1.03,
        "oos_cagr": 28.27,
        "oos_sharpe": 1.0,
        "full_mdd": -39.98,
        "passes_target": false
      },
      "benchmark_0050_full": {
        "cagr": 20.98,
        "monthly_sharpe": 1.05,
        "max_drawdown": -33.96
      }
    },
    "optim_v2_grid_first_release": {
      "axes": {
        "ma_factor_win": [
          20,
          60,
          120
        ],
        "m_atr": [
          2.0,
          2.5,
          3.0
        ]
      },
      "z_metric": "research_monthly_sharpe",
      "cells": {
        "ma20_m2.0": {
          "research_sharpe": 1.239,
          "oos_sharpe": 0.96,
          "research_cagr": 26.9,
          "oos_cagr": 25.6,
          "mdd": -38.3
        },
        "ma60_m2.0": {
          "research_sharpe": 1.243,
          "oos_sharpe": 1.012,
          "research_cagr": 30.3,
          "oos_cagr": 27.5,
          "mdd": -42.4
        },
        "ma120_m2.0": {
          "research_sharpe": 1.141,
          "oos_sharpe": 1.051,
          "research_cagr": 30.6,
          "oos_cagr": 33.0,
          "mdd": -41.6
        },
        "ma20_m2.5": {
          "research_sharpe": 1.284,
          "oos_sharpe": 1.018,
          "research_cagr": 28.1,
          "oos_cagr": 28.2,
          "mdd": -39.7
        },
        "ma60_m2.5": {
          "research_sharpe": 1.212,
          "oos_sharpe": 1.07,
          "research_cagr": 29.7,
          "oos_cagr": 28.5,
          "mdd": -36.7
        },
        "ma120_m2.5": {
          "research_sharpe": 1.095,
          "oos_sharpe": 1.046,
          "research_cagr": 28.1,
          "oos_cagr": 32.3,
          "mdd": -38.0
        },
        "ma20_m3.0": {
          "research_sharpe": 1.312,
          "oos_sharpe": 0.99,
          "research_cagr": 29.0,
          "oos_cagr": 26.7,
          "mdd": -39.2
        },
        "ma60_m3.0": {
          "research_sharpe": 1.198,
          "oos_sharpe": 1.103,
          "research_cagr": 27.6,
          "oos_cagr": 29.3,
          "mdd": -34.9
        },
        "ma120_m3.0": {
          "research_sharpe": 1.134,
          "oos_sharpe": 1.06,
          "research_cagr": 28.0,
          "oos_cagr": 31.7,
          "mdd": -37.5
        }
      },
      "default_key": "ma60_m2.5",
      "robust_cross_min_key": "ma20_m2.0",
      "is_robust_same_as_default": false,
      "selection_rule": "cross-min(交叉最小值)準則:對每格取『沿其列與其欄的最差研究段 Sharpe』,選此最差值最高者。參數要被選上,必須單獨擾動均線窗或 ATR 倍數任一軸都還站得住,而非只在某條線上強。",
      "note": "固定 winner_v2 的其餘層(top15、反波動加權 p=0.5、180 日 ATR 回看、趨勢廣度 center0.55/floor0.40、200 日動能濾網),只掃『算乖離均線窗 × ATR 停損倍數』兩個關鍵參數,各格真跑 h.evaluate。"
    },
    "note": "2026-06 首發前的 v1 策略(G_ma60_L180_m30_n15)與深度優化過程的舊鍵,資料截至 2026-06-09;文章已不引用,保留供考古,數字不代表本次刷新。"
  }
}