Last Updated:

【Python量化回測】16年數據揭密:這些股票真的有季節性規律?

老兵
📂 分類:量化交易 x 季節性策略 x 數據回測

在台股投資市場中,我們常聽到許多關於「季節性」的說法,例如:「電子股元月有行情」、「五窮六絕七上吊」、「暑假是遊戲股旺季」。

作為一個習慣用程式解決問題的量化分析師,我對於這些「口耳相傳」的經驗談始終抱持保留態度。感覺是會騙人的,但數據不會。

為了驗證這些台股月曆效應,我寫了一支 Python 回測程式,撈取了台股 2000 多檔股票、過去 16 年的月度歷史資料。我的目的只有一個:將市場傳言與歷史數據直球對決,看看真相究竟長什麼樣子。

🧪 實驗設計與資料說明

  • 回測區間: 2009/01 ~ 2024/12(共 16 年)。
  • 計算方式: 月初開盤買進,月底收盤賣出。
  • 股價調整: 採用還原權值,排除除權息缺口。
  • 篩選門檻: 樣本數 > 10 年,避免新股數據偏差。

🔎 發現一:有些股票在特定月份,確實存在「高度慣性」

數據顯示,部分股票在過去 16 年中,於特定月份上漲的機率極高。這可能與該公司的營收週期、產業淡旺季,或是外資法人的固定操作節奏有關。

🔥 精選:歷史勝率 > 80% 的個股清單

我們挑選了幾檔樣本數足夠,且表現驚人的案例供參考:

月份代號名稱回測/上漲歷史勝率平均漲幅數據觀察
1月5403中菲16年/13漲81%+2.8%軟體服務業,年初表現穩定,可能有紅包行情。
2月3088艾訊16年/15漲94%+4.6%工業電腦族群,16年來僅1年下跌,慣性極強。
2月3624光頡14年/13漲93%+6.5%被動元件廠,2月份有明顯的價格支撐。
3月2414精技16年/15漲94%+2.9%電子通路商,Q1 末端股價表現規律。
5月5269祥碩13年/12漲92%+15.9%IC設計高價股。平均漲幅高但波動也大。
12月2722夏都13年/12漲92%+2.1%觀光類股,反映年底旅遊旺季效應。

註:平均漲幅為幾何平均值,僅供參考,實際波動可能極大。

🔎 發現二:數據打破迷思,許多「都市傳說」其實不存在

這是本次研究中最讓我驚訝的部分。許多投資人習以為常的觀念,在數據面前其實是站不住腳的。

❌ 迷思 1:暑假旺季,遊戲股就會漲?

市場傳言: 許多人認為 7 月放暑假,遊戲股營收好,股價會漲。

🔴 殘酷真相:
數據顯示,5、6 月漲跌互見,但 7 月往往是利多出盡。像 4946 辣椒、6169 昱泉等,7 月份下跌機率顯著高於其他月份。

❌ 迷思 2:年底作帳,人人有獎?

數據真相: 3492 長盛(過去 15 年,12 月上漲機率 0%)。

量化分析: 年底雖有作帳行情,但同時也是法人「結帳」(賣出表現不佳持股)的時刻,並非所有股票都會在 12 月上漲。

🔎 發現三:ETF 的季節性規律,反映了資金流動

ETF 的規律性通常比個股更具參考價值,更能反映整體市場的資金流向。

月份代號名稱歷史勝率平均漲幅數據觀察
1月00670LNASDAQ 正287%+4.4%(樣本8年) 美股年初資金回補,帶動科技股。
2月006201元大富櫃 5080%+2.2%(樣本15年) 台灣中小型股(櫃買)在2月相對活躍。
7月00725B國泰投資級債100%+2.1%(樣本8年) 連續8年7月全漲,推測與法人資產調整有關。
12月00646元大 S&P50090%+3.3%(樣本10年) 驗證美股「聖誕行情」確實頻繁發生。

📝 研究總結

  1. 記憶不可靠: 我們容易記住賺錢的那次,卻忘了虧錢的 9 次。數據能幫我們破除生存者偏差。
  2. 賣點比買點更清晰: 以遊戲股為例,雖然「何時起漲」不一定,但「何時該跑」(7月) 的訊號卻非常明確。
  3. 樣本數的重要性: 觀察數據時,必須確認該股票上市夠久,數據才具有參考價值。

*(免責聲明:本文僅為數據研究分享,不構成任何投資建議。投資前請自行評估風險。)*