
「想要高報酬,就要承擔高風險。」這是每本教科書都寫的鐵律。但把它拿到台股實測 18 年,結果並不成立。
結論先講三件事。第一,低波動異象在台股確實存在:每月買波動率最低的 30 檔股票年化 4.9%,買最高的 30 檔反而年化 -5.1%、最大回撤高達 -90%。第二,但純低波動年化只有 4.9%,其實是輸給含息 0050 的 14.8% 的,光是「買得穩」並不會贏過大盤。第三,真正有用的做法是改選「風險調整報酬」最高的股票,再加上品質與動能篩選,年化拉到 33.3%、日夏普 1.13、回撤收斂到 -38%,這時候才真正勝過 0050。
真實回測結果
下表是同一段視窗(2008-01 至 2026-06)、同一組成本設定(手續費 0.1425%、證交稅 0.3%)下的實測,含息 0050 基準採 etl:adj_close 還原股價買進持有。
| 策略 | 年化報酬率 | 日夏普 | 最大回撤 | 總報酬率 |
|---|---|---|---|---|
| 純低波動(最低 30 檔,月換股) | 4.9% | 0.45 | -42.3% | 140% |
| 純高波動(最高 30 檔,月換股) | -5.1% | -0.09 | -89.9% | -62% |
| 風險調整報酬(前 15,季換股) | 22.1% | 0.78 | -59.2% | 3711% |
| 風險調整優化版(最終) | 33.3% | 1.13 | -38.2% | 3765% |
| 含息 0050 買進持有 | 14.8% | 0.74 | -52.4% | 1181% |
低波動異象:低波動贏高波動
Ang et al. (2006) 發現一個違反直覺的現象:波動率高的股票,未來報酬反而更差,這被稱為低波動異象,存在於全球多數市場。我們用 finlab 在台股驗證:
- 低波動組:每月選過去 60 天波動率最低的 30 檔。
- 高波動組:每月選過去 60 天波動率最高的 30 檔。
18 年下來,低波動組年化 4.9%、高波動組年化 -5.1%,差距 10 個百分點。回撤的差距更可怕:低波動最大回撤 -42%,高波動 -90%,意思是在最高點買進高波動組,最慘時帳上只剩一成本金。

為什麼高波動股票報酬反而差
幾個行為金融學的解釋已被廣泛討論:
- 彩票效應:投資人偏好「類彩票」的高波動股票,願意為小機率的大獲利付出溢價,把高波動股的價格推高、未來報酬壓低。
- 機構限制:Baker, Bradley & Wurgler (2011) 指出,基金經理要跟大盤比績效,傾向追逐高 beta 股票,使低波動股長期被低估。
- 過度自信:投資人高估自己駕馭高波動股的能力,結果實際表現不如預期。
用一個比喻:高波動股像賽車場上油門踩到底的車手,看起來最快,卻最常在彎道撞車;低波動股像穩穩開的車手,單圈不亮眼,卻更常完賽。長期累積下來,少犯大錯的那一方反而跑得更遠。這就是為什麼回撤 -90% 的高波動組,18 年後幾乎血本無歸,而回撤只有 -42% 的低波動組還能維持正報酬。
但純低波動其實輸給大盤
低波動異象是「低波動贏高波動」,很多人就此以為「買低波動股票就對了」。實測打破了這個誤會:純低波動年化只有 4.9%,日夏普 0.45,這兩個數字都低於含息 0050(年化 14.8%、日夏普 0.74)。換句話說,純低波動買的是一籃債券型 ETF、特別股和穩定傳產,波動小、回撤淺,但報酬也被磨平了,長期跑不贏直接買 0050。

所以低波動真正的用法,是把波動率當成分母,去找每單位風險換到最多報酬的股票,而不是只挑波動最低的那一批。
實測篩出的純低波動標的,多半集中在幾類資產:債券型 ETF(本質就是穩定資產)、金融特別股(配息穩定、價格波動小)、營收不太受景氣影響的傳產,以及高股息 ETF。它們的共同點是波動小、配息穩,但也因為「太無聊」、缺乏成長動能,長期報酬被磨得很平。這正是純低波動跑不贏 0050 的原因:你買到的是一籃防禦性資產,守得住、卻攻不出去。低波動異象告訴我們高波動是陷阱,但它沒說「最低波動」就是最好的選擇。
風險調整報酬優化版
把選股標準從「波動率最低」換成「風險調整報酬最高」(個股 6 個月報酬除以 6 個月波動率),再加上品質與動能把關,結果完全不同。下面是核心程式碼,登入後可重跑:
顯示程式碼
import finlab
from finlab import data
from finlab.backtest import sim
finlab.login() # finlab 會自動引導登入
adj = data.get("etl:adj_close")
roe = data.get("fundamental_features:ROE稅後")
yoy = data.get("monthly_revenue:去年同月增減(%)")
ret = adj.pct_change()
ret6m = adj.pct_change(120)
vol120 = ret.rolling(120).std()
mom_3m = adj.pct_change(60)
# 風險調整報酬 = 6 月報酬 / 6 月波動
risk_adj = ret6m / vol120
# 品質與動能把關:ROE>5、營收年增 > 0、3 月與 6 月動能都為正
pool = (roe > 5) & (yoy > 0) & (mom_3m > 0) & (ret6m > 0)
position = risk_adj[pool].is_largest(15)
report = sim(position, resample="Q", fee_ratio=0.001425, tax_ratio=0.003)
report.display()這個版本年化 33.3%、日夏普 1.13、月索提諾 2.52、最大回撤 -38.2%,平均持有約 15 檔。和純低波動相比,報酬從 4.9% 拉到 33.3%,回撤反而從 -42% 略為收斂到 -38%。關鍵在於「報酬除以波動」這個比值同時獎勵高報酬與低風險,比單看波動率更貼近實際想要的東西。
要提醒的是,這個優化版其實已經偏離了「純低波動」的初衷:它的目標是風險調整後報酬最高,而非波動最低,因此持股裡會出現一些波動中等、但趨勢與基本面都強的成長股。這也呼應我們在其他因子上看到的同一個規律:單一因子,不管是純動能還是純低波動,往往打不過大盤,要靠多個條件互補,才能在報酬與風險之間取得划算的平衡。如果你想要抱得住、又不想長期落後 0050,這種風險調整加品質、動能的組合,會比單純買最穩的股票更值得參考。

互動式回測報告
下面是風險調整優化版的完整互動式回測報告,可自己看每一年的報酬、持股與交易明細,資料來源為 finlab 套件實跑:
方法揭露與風險
- 交易成本與稅:回測已內含手續費 0.1425%(雙邊)與證交稅 0.3%。優化版用季度換股,周轉與成本都比月換股低。
- 前視偏誤的處理:ROE 來自 finlab 已對齊公布日的
fundamental_features,營收年增使用月營收資料,季度換股讓進場落在財報與營收公布之後。 - 集中度與回撤:優化版只持有約 15 檔,且風險調整報酬高的常是中小型成長股,單一個股影響大;即使是優化版,最大回撤仍有 -38%。
- 牛市落後與因子擁擠:低波動或穩健類策略在大牛市可能跑輸大盤,且當太多人使用同一因子,溢酬會被稀釋。
- 樣本內結果:本文是單一視窗(2008–2026)的回測,未做樣本外切割(
in_sample_only)。「純低波輸大盤、要改用風險調整報酬」是對這段資料的觀察,過去績效不代表未來。
想看把低波動和其他因子組合的版本,可延伸看多因子選股打敗 0050,那裡把低波動當成四個因子之一。
常見問題
低波動選股有效嗎?
要看你怎麼定義有效。低波動異象成立(低波動年化 4.9% 贏過高波動的 -5.1%、回撤也淺很多),但純低波動年化 4.9% 是輸給含息 0050 的 14.8% 的。把選股標準改成風險調整報酬並加上品質與動能後,年化 33.3%、日夏普 1.13,才真正勝過大盤。
台股低波動股票有哪些?
實測篩出的低波動標的多集中在債券型 ETF、金融特別股、配息穩定的傳產與高股息 ETF。它們的共同點是價格波動小、配息穩,但也因此報酬有限。
低波動和高股息 ETF 一樣嗎?
不完全一樣。高股息 ETF 通常波動較低,但低波動選股是用波動率高低來排序,標的可能包含特別股、債券型 ETF 等非高股息資產。兩者重疊但不相等。
為什麼不直接買波動最低的股票?
因為實測顯示純低波動長期跑不贏 0050。波動最低的標的報酬也被磨平。改用「報酬除以波動」這個比值,同時要求報酬與穩定,效果好得多。
延伸閱讀
- 台股選股策略 2026:單因子全輸 0050,複合策略勝出 — 完整選股總覽,比較動能、品質、低波動等因子的並列回測
- 多因子選股打敗 0050 — 把低波動和動能、ROE 等因子合成的完整版本
- 動能策略台股 18 年回測 — 另一個「純因子輸大盤、加品質才勝出」的實測
- 月營收動能選股 — 用月營收動能選股的 11 年回測
自己重跑
本文所有數字都可下載自行重現,與互動式報告同口徑:
| 檔案 | 內容 |
|---|---|
| strategy.py | 低波動異象與風險調整優化版的完整程式 |
| data.csv | 四種策略的淨值序列 |
| report_strategy.html | 風險調整優化版互動式回測報告 |
| report_baseline.html | 純低波動版互動式回測報告 |
想用最新資料即時重算、或換成自己的條件,[用 AI 輔助流程安裝 FinLab](
用 AI 開始 FinLab
把這句話交給你的AI,它會帶你完成設定並做出第一個策略。
告訴你的AI:
幫我設定 FinLab,重現這篇文章,請讀:https://finlab.finance/setup?relatedUrl=/blog/low-volatility-strategy
)後就能直接跑。
本文由 FinLab 研究團隊撰寫,所有回測以 finlab 套件實跑、資料來源為 finlab 台股資料庫,數字可用上方下載檔自行重現。內容僅供教學與研究參考,不構成投資建議。過去績效不代表未來表現,本文策略最大回撤可能超過 38%,投資前請依個人風險承受度審慎評估。
FinLab AI
想建立自己的策略?
用自然語言描述你的選股想法,AI 自動驗證、回測、給你答案
免費開始


