【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 月份下跌機率顯著高於其他月份。
數據顯示,5、6 月漲跌互見,但 7 月往往是利多出盡。像 4946 辣椒、6169 昱泉等,7 月份下跌機率顯著高於其他月份。
❌ 迷思 2:年底作帳,人人有獎?
數據真相: 3492 長盛(過去 15 年,12 月上漲機率 0%)。
量化分析: 年底雖有作帳行情,但同時也是法人「結帳」(賣出表現不佳持股)的時刻,並非所有股票都會在 12 月上漲。
🔎 發現三:ETF 的季節性規律,反映了資金流動
ETF 的規律性通常比個股更具參考價值,更能反映整體市場的資金流向。
| 月份 | 代號 | 名稱 | 歷史勝率 | 平均漲幅 | 數據觀察 |
|---|---|---|---|---|---|
| 1月 | 00670L | NASDAQ 正2 | 87% | +4.4% | (樣本8年) 美股年初資金回補,帶動科技股。 |
| 2月 | 006201 | 元大富櫃 50 | 80% | +2.2% | (樣本15年) 台灣中小型股(櫃買)在2月相對活躍。 |
| 7月 | 00725B | 國泰投資級債 | 100% | +2.1% | (樣本8年) 連續8年7月全漲,推測與法人資產調整有關。 |
| 12月 | 00646 | 元大 S&P500 | 90% | +3.3% | (樣本10年) 驗證美股「聖誕行情」確實頻繁發生。 |
📝 研究總結
- 記憶不可靠: 我們容易記住賺錢的那次,卻忘了虧錢的 9 次。數據能幫我們破除生存者偏差。
- 賣點比買點更清晰: 以遊戲股為例,雖然「何時起漲」不一定,但「何時該跑」(7月) 的訊號卻非常明確。
- 樣本數的重要性: 觀察數據時,必須確認該股票上市夠久,數據才具有參考價值。
*(免責聲明:本文僅為數據研究分享,不構成任何投資建議。投資前請自行評估風險。)*