跳至主要內容

夏普比率是什麼?怎麼算、多少算好(附即時台股/ETF 查詢)

用一個分數同時看報酬和波動。圖解公式,再用計算器與台股資料查實際數字。

Sharpe Ratio (報酬 - 基準)/ 波動 分子看多賺多少,分母看過程的波折。

夏普比率是什麼?

夏普比率(Sharpe Ratio)是在問:每承受 1 單位波動,策略多換回多少報酬。 它把「報酬扣掉基準後剩下多少」除以「報酬每天上下波折的幅度」,得到一個可以比較不同策略的分數。William F. Sharpe 在 1966 年提出這個指標,後來成為比較投資組合、基金、量化策略時最常見的風險調整後報酬指標。

SR=μRfσSR=\frac{\mu-R_f}{\sigma}

其中 μ\mu 是策略的(年化)平均報酬、RfR_f 是無風險利率、σ\sigma 是報酬的(年化)標準差。分子是超額報酬,也就是策略報酬扣掉無風險利率後的差額。分母是日報酬上下波折的程度。假設兩套策略都多賺 10%,一套每天大概在正負 1% 內擺動,另一套常常正負 3% 亂跳,前者的分母比較小,夏普比率就會比較高。

兩套策略都年化 12%,但 A 策略每年最糟只跌 8%,B 策略中途可能跌 35%。光看 12% 會把兩者當成一樣,夏普比率會把 B 的顛簸放進分母,提醒你 A 的 12% 其實比較厲害。

想了解夏普比率在整個量化框架裡的位置,可以從量化交易是什麼這篇入門指南讀起;如果你正在比較不同的選股方法,夏普比率通常是排序候選策略的第一道篩子。

夏普比率讀數表

你想知道 判讀
它在算什麼 報酬扣掉基準後,除以每天上下波折的幅度
公式 (年化報酬 - 無風險利率)/ 年化波動度;日資料年化時常乘根號 252
多少算好 台股實務 0.4~0.7 已屬合理;長期 >1 少見,>2 要檢查過擬合
無風險利率取哪個 對應回測年代的台灣定存或短期公債利率,不是套今天的數字
波動度怎麼想 若日波動是 1%,可以粗略理解成多數日子的漲跌會落在平均值附近正負 1% 以內
最大盲點 它把上漲與下跌的波動一視同仁;市場也常出現少數極端大跌,讓夏普失真
真實台股錨點 FinLab 投信+營收策略 年化 31.68%、夏普 0.99(見下文,附來源)

同樣報酬,路徑越平順,夏普越高

夏普比率把「平均多賺多少」除以「每日波動」。黑線和灰線最後都往上,但黑線路徑比較平順;在最後報酬接近時,黑線通常會有更高的夏普。

同報酬、不同波動的夏普差異黑線比較平順,灰線的波動會隨滑桿變大或變小;報酬接近時,平順路徑的夏普較高。
1.0%
中等波動 年化夏普 0.79
「日波動 1%」白話是什麼?

可以粗略想成:如果市場真的像鐘形曲線,多數日子的漲跌會落在平均值附近正負 1% 以內。真實市場會有肥尾,所以右邊特別留了一顆遠離中心的點,提醒你極端日仍會發生。

-1% 平均 +1%

夏普比率怎麼算?三個輸入值、一條公式、一個年化範例

拆開來看,夏普比率只需要三個輸入值:

輸入 數學符號 意思 白話
報酬 μ\mu 策略一段期間的平均報酬率 你拿到的平均成績
無風險利率 RfR_f 不冒風險也拿得到的利率(定存、短期公債) 扣掉「放著也有」的利息
波動度 σ\sigma 報酬的標準差 日報酬大概會離平均值多遠;1% 可粗略想成多數日子在平均值附近正負 1% 內

把三者代進 SR=(μRf)/σSR=(\mu-R_f)/\sigma 就得到夏普比率。但實務上有兩個細節決定數字可不可信:年化差額報酬

回測資料怎麼代進公式

回測時我們手上有的是一段歷史報酬序列,所以算的是「事後夏普比率」的估計值。設 Dt=Rp,tRb,tD_t = R_{p,t}-R_{b,t} 為第 tt 期的差額報酬(策略報酬減去基準報酬),則:

SR^=DˉσD,Dˉ=1Tt=1TDt, σD=1T1t(DtDˉ)2\widehat{SR}=\frac{\bar{D}}{\sigma_D},\quad \bar D=\frac1T\sum_{t=1}^T D_t,\ \sigma_D=\sqrt{\frac{1}{T-1}\sum_t (D_t-\bar D)^2}

Dˉ\bar D 是差額報酬的平均、σD\sigma_D 是它的樣本標準差、TT 是樣本期數。注意分母用的是 T1T-1(樣本標準差,無偏修正)。這條式子和開頭的 (μRf)/σ(\mu-R_f)/\sigma 是同一件事,只是把「基準」一般化成 Rb,tR_{b,t}。基準可以是無風險利率,也可以是 0050 或加權報酬指數,下一節會說明差別。

年化這一步最常被做錯

回測通常用日報酬計算,但跨策略比較要對齊到年化。在報酬獨立同分布(IID)的假設下,年化公式是:

SR=252SR=12SRSR_{\text{年}}=\sqrt{252}\,SR_{\text{日}}=\sqrt{12}\,SR_{\text{月}}

IID 的意思是「每一天的報酬像獨立抽球」:今天抽到漲跌多少,不會影響明天;而且每天用的是同一個抽球規則。這個假設不一定符合市場,但它讓我們可以用國中程度的平方根規則換算:報酬隨時間大致線性累積(乘 TT),波動度只隨時間的平方根累積(乘 T\sqrt{T}),所以夏普比率年化時是乘 T\sqrt{T}。台股一年約 252 個交易日(不同年份在 240~250 餘之間,慣例用 252),月頻則用 12\sqrt{12}

提醒:這條 252\sqrt{252} 只在報酬 IID 時嚴格成立。Lo(2002)證明:若報酬有自相關(多數策略都有),正確的年化係數不是 T\sqrt{T},盲目乘 252\sqrt{252} 會高估或低估夏普比率,後面「進階」一節會展開。

一個帶真實數字的年化範例

假設某策略的日均(超額)報酬 = 0.05%日報酬標準差 = 1%。標準差 1% 的白話是:多數日子的報酬會圍繞平均值上下約 1% 擺動,但極端行情仍可能超過這個範圍。

日頻夏普比率:

SR=0.05%1%=0.00050.01=0.05SR_{\text{日}}=\frac{0.05\%}{1\%}=\frac{0.0005}{0.01}=0.05

年化(IID 假設下乘 252\sqrt{252}):

SR=0.05×2520.05×15.870.79SR_{\text{年}}=0.05\times\sqrt{252}\approx 0.05\times 15.87\approx 0.79

所以年化夏普約 0.79。一個日均只多賺 0.05%、看起來很小的策略,年化後夏普接近 0.8,在台股實務裡已經是合理水準(見下文分級表)。日頻夏普不能拿來和年頻夏普相比,兩者差了快 16 倍。

如果你想看 FinLab 怎麼把這些頻率、基準、成本一併揭露,台股選股回測多因子打敗 0050這兩篇示範了一份把條件講清楚的回測長什麼樣。

夏普比率計算器

拖拉數值看結果怎麼變。報酬固定時,波動拉高,夏普會立刻下降。

公式 (15.0 - 1.5) / 20.0
夏普比率 0.68
可比較
超額報酬 13.5%
95% 信賴區間 0.60 ~ 0.75
P(真實夏普 > 0) 87.9%
P(真實夏普 > 1) 28.7%

策略平均一年賺多少

%
-20.0% 60.0%

定存或短期公債利率

%
0.00% 8.00%

過程上下波折多大

%
1.00% 60.0%

樣本越長,信賴區間越窄

1.00年 20.0年

PSR 在此以常態假設計算,實務上仍需檢查偏態、峰態、交易成本與過擬合。本工具僅供教學,不構成投資建議。


無風險利率怎麼取?(以及為什麼基準不一定是無風險利率)

無風險利率 RfR_f 是「不冒風險也拿得到的報酬」,台灣最常用兩個來源:

  • 銀行一年期定存利率:最貼近散戶的「無風險選項」,2024–2025 約落在 1.5%~1.7% 區間。
  • 短期政府公債殖利率(如 1 年期中央公債):機構慣用,與定存接近。

兩個務必避開的錯誤:

  1. 不要套今天的利率去算十年前的數據。 無風險利率會隨升降息循環變化。近十多年很多投資人習慣低利率,所以常把 RfR_f 近似為 0;但這只是剛好活在低利率週期。以美國 3 個月國庫券為例,FRED 資料顯示 1981 年曾經到 16% 左右,若當時還把無風險利率當 0,夏普會被嚴重高估。台灣近年一年期定存約 1%~2%,看起來影響小,但不同時代的利率水準完全不同。正確做法是讓 RfR_f 對應回測的那段期間(理想上逐期對齊當期利率)。
  2. 不要把日頻報酬減掉年化利率。 頻率要一致:日報酬要減的是「日化」的無風險利率(年利率 ÷ 252),否則分子會被嚴重扭曲。

基準可以是定存,也可以是 0050

Sharpe 本人在 1994 年的論文〈The Sharpe Ratio〉做了一個重要釐清:夏普比率的分子應該用差額報酬序列 Dt=Rp,tRb,tD_t=R_{p,t}-R_{b,t} 整段去算它的平均與標準差,而不是把「報酬」和「利率」當成兩個獨立數字隨意相減。更關鍵的是,這個 Rb,tR_{b,t} 不一定要是無風險利率,它可以是任何基準(benchmark)。

這帶來兩個實務含義:

  • 當基準 Rb,t=RfR_{b,t}=R_f(無風險),算出來是傳統的夏普比率。
  • 當基準換成某個指數(例如含息 0050、加權報酬指數),分子就變成「相對基準的超額報酬」,分母是「追蹤誤差」。這其實就是後面會提到的資訊比率(Information Ratio),也就是把夏普比率的基準換成指數。

所以下次有人問「你的夏普比率減的是什麼?」這是個好問題。減無風險利率、減 0050、減 0,算出來的數字意義不同,比較時口徑要一致。


夏普比率多少算好?(分級表 + 台股實務)

下面這張分界線只能當讀數表,不是保證。市場、策略類型、回測區間一變,合理區間也會跟著變;把同一把尺套到所有策略,反而容易誤判。

夏普比率區間 粗略解讀(僅供參考)
小於 0 報酬還不如無風險利率,冒了險卻沒換到回報
0 ~ 1 普通,多數樸素策略落在這區
1 ~ 2 不錯,風險調整後表現相對好
大於 2 少見,要檢查是不是前視偏誤或過度最佳化

但要特別提醒:這張表是「年化、長樣本」的通則,套到台股單一策略容易失望。 在台股實務上,一套真實、扣掉交易成本、沒有過度最佳化的選股策略,長期年化夏普能穩定落在 0.4~0.7 就已經很合理;能站上 0.8~1.0 的(如下文的法人策略)已屬少數;宣稱長期夏普 2 以上的台股策略,多半要檢查是回測期間太短、未扣成本、或對歷史過度配適。

幾個務必放在心上的點:

  • 夏普比率是回測數字,不是未來的承諾,回測漂亮不代表上線後也漂亮。
  • 區間越短、樣本越少,夏普比率越不穩定,容易被運氣灌水。同一套策略換個三年區間,夏普可能差很多;這背後有統計原因(估計誤差),後面 Lo 的信賴區間一節會量化它。
  • 數字異常高時,要檢查是不是前視偏誤、忽略交易成本、或對歷史過度最佳化造成的假象,而不是急著開心。

關於「漂亮數字背後是不是真的有效」,FinLab 有專文從回測過擬合機率的角度說明:當你試了幾百組參數,總會撞到一組夏普很高的,但那往往是運氣而非規律。判斷因子是否真有預測力,也可以搭配資訊係數 IC一起看,避免只憑單一夏普下定論。


真實 finlab 台股實例:法人策略的夏普比率為 0.99

光講公式容易抽象,用一個真實、可驗證的台股回測來看會清楚很多。FinLab 在逆向外資策略失敗!真正有效的法人跟單術這篇裡,比較了幾套「跟法人」的選股邏輯,過程剛好把夏普比率的用法示範得很完整(回測區間 2015–2025,使用 finlab 套件,benchmark 與成本已於原文揭露)。

策略 年化報酬率(CAGR) 夏普比率 最大回撤(MDD) 簡單解讀
逆向外資 -11.2% 0.15 未揭露 報酬與風險調整後都差,方向假設不成立
純投信買超 17.5% 0.6 未揭露 有效但不夠好
投信買超 + 營收動能 31.68% 0.99 -45.47% 報酬與夏普同步拉高

幾個值得注意的地方:

  • 「逆向外資」這套,年化報酬率為 -11.2%、夏普比率僅 0.15。不只賠錢,連風險調整後也接近零,等於冒了險卻沒換到回報。夏普在這裡點出「這套策略的報酬配不上它的波動」。
  • 改成順著投信買超後,年化拉到 17.5%、夏普比率約 0.6,有改善但仍普通,正好落在前面說的台股實務合理區間。
  • 再加上「營收創 12 個月新高、年增率大於 20%」的基本面篩選,年化報酬率達 31.68%、夏普比率為 0.99。報酬與夏普同步往上,代表多出來的報酬來自條件篩選提高策略品質,而非單純加大波動。

不過同一篇也揭露了夏普比率看不到的東西:這套策略的最大回撤達 -45.47%。也就是說,夏普比率 0.99 看起來不錯,但最差時帳面仍可能接近腰斬。夏普要搭配 MDD、成交量、交易成本與流動性一起看。FinLab 回測系統已經處理交易成本、下市櫃股票等生存者偏差問題;完整數字、Python 程式碼與風險揭露都在原文,數據來源見逆向外資策略失敗!真正有效的法人跟單術

查一檔個股 / 一套策略的夏普比率

想知道某一檔台股、某一套策略在指定期間的夏普比率是多少?下面這個工具使用 finlab 的台股資料即時計算,輸入股票代號就能查:

查任何台股 / ETF 的即時夏普比率

搜尋代號或名稱,立即算出近一年的夏普、索提諾、卡瑪與最大回撤——以 還原權值股價(含息)計算,已自動處理除權息與分割。

提醒:個股的夏普比率對「期間」極度敏感。同一檔股票,2020–2021 多頭算出來可能很漂亮,拉長到含 2022 空頭就完全不同。查出來的數字請務必對照它的回測區間,別把短期僥倖當成穩定能力。

想把這類風險調整後的比較延伸到更多因子,可以看三因子分析多因子打敗 0050;如果你關心的是「程式怎麼把這些算出來」,程式交易是什麼會帶你從 pip install finlab 開始。


台股 ETF 夏普比率排行

對多數人來說,最實際的問題是「我買的 ETF,夏普比率到底好不好?」下面的排行用 finlab 的台股 ETF 資料即時排序,讓你一眼看出 0050、0056、00878 等熱門 ETF 在指定期間誰的風險調整後報酬比較高:

台股熱門 ETF 夏普比率排行

資料:2026-06-09|近一年(trailing 250 交易日)|還原權值股價(含息總報酬)

點欄位標題可重新排序。夏普/索提諾/卡瑪/最大回撤皆以近一年區間計算,僅為該區間快照,非未來保證

#ETF
100881 國泰台灣科技龍頭3.866.7910.29100.3%25.8%-9.7%
200850 元大臺灣ESG永續3.696.248.4581.3%21.9%-9.6%
3006208 富邦台503.666.478.1786.5%23.6%-10.6%
400692 富邦公司治理3.626.367.9281.3%22.3%-10.3%
50050 元大台灣503.566.447.7984.4%23.6%-10.8%
600891 中信關鍵半導體3.485.898.6190.8%26%-10.6%
70051 元大中型1003.194.746.7570.9%22.1%-10.5%
800878 國泰永續高股息3.145.276.1951.8%16.5%-8.4%
90056 元大高股息2.874.566.0649%17%-8.1%
1000919 群益台灣精選高息2.774.415.5941.6%15%-7.5%
1100929 復華台灣科技優息2.493.976.0856.8%22.7%-9.4%
1200646 元大S&P5002.383.723.9529.3%12.3%-7.4%
1300940 元大台灣價值高息2.363.445.1635.6%15%-6.9%
1400713 元大台灣高息低波1.772.553.7818%10.1%-4.8%
1500751B 元大AAA至A公司債1.372.052.8012.1%8.7%-4.3%
1600757 統一FANG+1.321.981.4628.2%21.3%-19.3%
1700679B 元大美債20年1.041.541.4910.2%9.8%-6.9%

夏普比率為近一年區間快照,會隨市場與測量期間大幅變動,不代表未來表現;本表僅供教學,不構成投資建議。

看這張表時請記住三件事:

  1. 比較要同期間。 上市較晚的 ETF(如部分高股息、主題型 ETF)樣本短,夏普容易偏高也偏不穩,不能和 0050 這種長天期 ETF 並列下定論。這是「區間越短越不穩」在 ETF 上的具體表現。
  2. 要用含息(總報酬)。 高股息 ETF 若只看收盤價,不把配息加回去,報酬會被嚴重低估,夏普跟著失真。正確做法是用調整後價格或含息總報酬序列算夏普,不能拿普通收盤價算。FinLab 的回測用 etl:adj_close 還原息值。
  3. 夏普高不等於適合你。 夏普衡量的是風險調整後報酬的「效率」,但你還要看絕對報酬、最大回撤、配息穩定度。一檔夏普 0.6 但波動低的債券 ETF,和一檔夏普 0.6 但回撤 -40% 的股票 ETF,體驗完全不同。

夏普比率的盲點(這些是競品最常漏掉的)

夏普比率好用,但遠非萬能。下面這些結構性盲點,多數「夏普比率是什麼」的文章只講前一兩個,這裡一次補齊。

1. 好壞波動不分(可改看 Sortino)。 分母是總波動度,對「往上跳」和「往下殺」一視同仁。可是上漲的波動是好事,下跌的波動才是真痛。一套常常大漲、偶爾小回的策略,可能因為「上漲波動大」被夏普扣分。索提諾比率(Sortino)就是為此而生,它只把下檔波動放進分母(公式見下方家族對照表)。

2. 報酬不是鐘形曲線,遇到肥尾會失真。 課本上的常態分布像一座鐘,中間多、兩邊少;如果日波動是 1%,你會直覺以為正負 3% 以外很少發生。市場常不是這樣,它會有肥尾:平常看起來很穩,但少數日子突然跌 5%、10%,甚至更多。這些尾端大跌次數不多,卻最傷本金。夏普用標準差概括風險,容易低估這種「平常沒事、一次很痛」的風險,所以要搭配最大回撤(MDD)與單筆交易分析,例如 MAE & MFE 分析補上「每筆交易過程中承受多少帳面虧損」這塊夏普看不到的細節。

3. 對時間區間極度敏感。 同一套策略,挑不同的起訖點,夏普可能從 0.3 跳到 1.2。報的人只要選一段漂亮的區間,數字就好看。判讀任何夏普,第一個要問的是「哪一段期間、多長」。

4. 忽略相關性(單看一檔會誤判組合)。 夏普是「單一資產/策略」的指標,但投資組合的真實風險取決於資產間的相關性。兩檔各自夏普 0.5、但走勢負相關的資產,組合起來的夏普可能遠高於 0.5。只盯個別夏普、忽略相關性,會錯失分散化的好處。

5. 用收盤價 vs 調整後價格。 算夏普應該用調整後價格或含息總報酬。對高股息股票/ETF,只用普通收盤價,除息那天價格下來會被當成「真的虧損」,配息又沒有加回去,報酬會被系統性低估,夏普也會被扭曲。台股配息頻繁,這個錯誤特別致命。

6. 生存者偏差。 回測股票池若只含「現在還存在」的股票,等於事後排除了下市、地雷股,報酬會被高估、波動會被低估,夏普虛胖。FinLab 內部已驗證過,在美股回測中,如果沒有考慮生存者偏差,年化報酬率可能被多算 5%~10%,但那不是策略能力,只是資料庫把失敗樣本藏起來。FinLab 的回測資料會納入下市櫃股票,所以使用 FinLab 回測時不用擔心這個問題。

7. 負夏普比較陷阱。 當夏普為負時,比較會違反直覺:在報酬為負的情況下,波動度越大,夏普比率反而越「不那麼負」(越大)。 所以兩套都在虧的策略,不能用夏普高低判斷誰比較好。這時夏普已經失去原本「風險調整」的意義,要改看其他指標。

8. 槓桿不變性(看起來像優點,其實是限制)。 對策略加無風險槓桿,理論上不改變夏普比率(報酬和波動同比例放大,比值不變)。這代表夏普無法區分「沒上槓桿的策略」和「上了槓桿的同一策略」。但實單上槓桿會帶來爆倉、追繳、融資成本等夏普完全看不到的尾端風險。延伸閱讀:融資維持率與 0050 擇時

9. 估計誤差隨夏普變大(Lo 信賴區間)。 夏普比率本身是個估計值,有不確定性。Lo(2002)給出它的標準誤:夏普越高,估計誤差的絕對值反而越大(見進階一節的信賴區間公式)。一個「點估計」夏普 1.5 的策略,真實夏普的 95% 信賴區間可能寬到涵蓋 0.5~2.5,沒那麼篤定。

10. 多重測試 / 過擬合(DSR)。 這是量化最致命的盲點:當你試了幾百、幾千組參數,光憑運氣就能撞出一組夏普很高的。López de Prado 等人提出的緊縮夏普比率(Deflated Sharpe Ratio, DSR)正是為了校正「試了很多次」這件事。它把試驗次數納入,告訴你眼前這個高夏普有多少是真本事、多少是過擬合的僥倖。詳見回測過擬合機率。名詞定義想查得更完整,可到 /glossary 看 FinLab 跨全站口徑一致的標準定義。


風險調整指標家族對照表

夏普比率不是唯一的風險調整後報酬指標。實務上把它和「兄弟指標」並排看,能補上各自的盲點。

指標 衡量什麼 公式 何時用
夏普比率 Sharpe 每單位「總波動」的超額報酬 (平均報酬 - 無風險利率)/ 總波動度 通用第一道篩子
索提諾比率 Sortino 每單位「下檔波動」的超額報酬 (平均報酬 - 最低可接受報酬)/ 下檔波動度 在乎下跌風險、報酬偏態大時
卡瑪比率 Calmar 每單位「最大回撤」的報酬 CAGR / 最大回撤絕對值 在乎「最痛的那一刀」有多深
資訊比率 IR 每單位「追蹤誤差」的超額報酬 相對基準的平均超額報酬 / 追蹤誤差 評估相對某指數的主動管理能力

其中索提諾比率的下檔標準差定義為(MAR 為最低可接受報酬,常設為 0 或無風險利率):

Sortino=RˉMARσD,σD=1Tt[min(RtMAR,0)]2\text{Sortino}=\frac{\bar R-\text{MAR}}{\sigma_D^{-}},\quad \sigma_D^{-}=\sqrt{\tfrac1T\sum_t[\min(R_t-\text{MAR},0)]^2}

Sortino 與 Price 在 1994 年正式提出這個衍生指標,主張用「目標報酬以下的波動」取代總波動,更貼近投資人真正在乎的下跌風險。實務上把夏普與索提諾並排,能很快看出一套策略的波動到底是上漲貢獻的還是下跌貢獻的:若 Sortino 明顯高於 Sharpe,代表它的波動大多來自「好的(上漲)波動」。

注意資訊比率 IR 其實就是把夏普公式裡的基準從「無風險利率」換成「某個指數」。這正呼應前面 Sharpe 1994 的觀點:夏普比率是一個可以替換基準的通用框架。


如何提高夏普比率?

提高夏普比率不外乎「分子變大」或「分母變小」。實務上有四個方向:

  1. 加入高夏普資產 / 因子。 在組合裡納入本身夏普就高、且邏輯獨立的訊號(如品質、低波動因子)。每個因子的夏普都要單獨驗證,別把一堆低夏普訊號硬湊。
  2. 靠資產配置降低相關性(最划算的一招)。 加入與現有部位低相關甚至負相關的資產,組合波動會下降、但報酬幾乎不變,分母變小、夏普上升,這是分散化的免費午餐。這也是為什麼「忽略相關性」是盯單一夏普的大忌。
  3. 控制下檔(降回撤)。 用波動或回撤控制機制(如停損、波動度目標、通道指標)削掉大跌的尾巴。像肯特納通道與 ATR這類關注波動與回撤的方法,能在不大幅犧牲報酬下壓低分母。
  4. 降低週轉與交易成本。 高週轉率(turnover)會被手續費、證交稅、滑價持續侵蝕報酬,分子縮水、夏普下降。降低換股頻率、設緩衝區(避免在門檻邊緣反覆進出),往往比硬加訊號更有效。

要警惕的是:靠「過度最佳化參數」把回測夏普拉高,只是在製造過擬合,不能算穩健提升。 真正穩健的提升,要能通過下一節的統計檢定與回測過擬合機率的考驗。


進階:年化的陷阱、信賴區間與「這個夏普統計上 > 0 嗎?」

夏普比率不只是一個數字,它是個有不確定性的統計估計量。下面幾個工具是用來回答:「這個高夏普,是真的穩,還是樣本太短、剛好運氣好?」

Lo(2002):自相關下年化不是乘 √T

前面說年化要乘 252\sqrt{252},但 Lo(2002)〈The Statistics of the Sharpe Ratio〉指出:這只在報酬獨立同分布(IID)時成立。IID 可想成「每天重新抽籤,而且每次抽籤規則一樣」。真實策略的報酬常有自相關(例如動能策略報酬正自相關、均值回歸策略負自相關),這時正確的年化係數不再是 T\sqrt{T},而要用考慮自相關結構的修正係數。

實務含義:正自相關的策略,盲目乘 252\sqrt{252} 會高估年化夏普;負自相關的策略則會低估。 這也是為什麼不同平台算同一策略的「年化夏普」可能不一樣:年化方式不同。

夏普比率的信賴區間(它真的 > 0 嗎?)

夏普比率本身是估計值,Lo(2002)給出它在 IID 假設下的近似 95% 信賴區間:

SR^±1.961+12SR^2T\widehat{SR}\pm 1.96\sqrt{\frac{1+\tfrac12\widehat{SR}^2}{T}}

這條式子有兩個重要啟示:

  • 樣本期數 TT 越小,區間越寬。 三年(約 36 個月)的回測,信賴區間寬到可能無法斷言夏普顯著大於 0;要縮小不確定性,樣本要夠長。這量化了前面「區間越短越不穩」的直覺。
  • 夏普越高,標準誤的絕對值越大(式中 SR^2\widehat{SR}^2 項)。所以一個點估計很高的夏普,本身的不確定性也更大,不能照單全收。

順帶一提,夏普比率和它的 t 統計量有個漂亮的恆等式:

t=SR^Tt=\widehat{SR}\sqrt{T}

也就是說「夏普乘上根號樣本數」就是檢定「夏普是否顯著大於 0」的 t 值。問題會變成:這個夏普在統計上顯著嗎?

怎麼判斷高夏普是不是運氣?

Bailey 與 López de Prado 提出的機率化夏普比率(Probabilistic Sharpe Ratio, PSR)更進一步,回答「眼前這個夏普,在統計上超過某個門檻 SRSR^*(例如 0 或 1)的機率有多大」。它也納入報酬的偏態峰態,用來修正「報酬不是完美鐘形曲線」的問題。

偏態是在看報酬分布往哪邊歪:左偏代表少數大跌把左尾拉長,PSR 會變差;右偏代表少數大漲把右尾拉長,PSR 會相對好一些。峰態是在看尾巴厚不厚:峰態越高,代表極端漲跌比常態分布更常出現,PSR 會更保守,因為高夏普可能只是還沒遇到那次大跌。

PSR^(SR\*)=Φ ⁣[(SR^SR\*)T11γ^3SR^+γ^414SR^2]\widehat{PSR}(SR^\*)=\Phi\!\left[\frac{(\widehat{SR}-SR^\*)\sqrt{T-1}}{\sqrt{1-\hat\gamma_3\widehat{SR}+\frac{\hat\gamma_4-1}{4}\widehat{SR}^2}}\right]

其中 Φ\Phi 是標準常態的累積分布函數。PSR(0)PSR(0) 接近 1 代表「夏普顯著大於 0」很有把握;PSR(1)PSR(1) 高代表「這真的是一套夏普 > 1 的好策略」。在它之上的緊縮夏普比率(DSR)再扣掉「你試了幾百次」的多重測試效應,是對抗過擬合的工具。細節見回測過擬合機率

DSR 會估計「如果你測了 NN 組沒能力的策略,純靠運氣最好的那組夏普大概會多高」,把這個門檻記成 SR0SR_0,再把 PSR 的比較門檻從 0 或 1 換成 SR0SR_0

DSR^=Φ ⁣[(SR^SR0)T11γ^3SR^+γ^414SR^2]\widehat{DSR}=\Phi\!\left[\frac{(\widehat{SR}-SR_0)\sqrt{T-1}}{\sqrt{1-\hat\gamma_3\widehat{SR}+\frac{\hat\gamma_4-1}{4}\widehat{SR}^2}}\right]

其中 SR0SR_0 可用 Bailey 與 López de Prado 的近似式:

SR0=V[SR^n]((1γ)Φ1(11N)+γΦ1(11Ne))SR_0=\sqrt{V[\widehat{SR}_n]}\left((1-\gamma)\Phi^{-1}\left(1-\frac1N\right)+\gamma\Phi^{-1}\left(1-\frac1{Ne}\right)\right)

NN 是你測過的獨立策略數,V[SR^n]V[\widehat{SR}_n] 是這些試驗夏普的橫斷面變異,γ0.5772\gamma\approx0.5772 是 Euler-Mascheroni 常數。測越多組,SR0SR_0 越高,代表「要超過運氣」的門檻越高。

因此,報夏普時最好同時交代樣本長度、測試過多少組參數、是否扣掉成本、是否納入偏態與峰態;只報一個漂亮數字,資訊是不夠的。


常見問題(FAQ)

0050 的夏普比率大約多少?

含息(總報酬)的 0050 長期年化夏普大致落在 0.4~0.7 區間,會隨選取的回測期間明顯波動。含 2020、2024 多頭的區間偏高,含 2022 空頭的區間偏低。這也是為什麼任何 ETF 夏普都要標明「哪一段期間」才有意義。你可以用本頁上方的 ETF 夏普排行,在指定期間即時查 0050 與其他 ETF 的相對位置。

ETF 的夏普比率怎麼查?

關鍵是用含息總報酬、對齊同一段期間。多數看盤軟體只給價格報酬,對高股息 ETF 會嚴重低估。本頁的「台股 ETF 夏普排行」使用 finlab 的還原息值資料計算,輸入或挑選 ETF 即可比較;想自己用程式算,程式交易是什麼示範了從 pip install finlab 取資料的流程。

夏普比率多少算好?

沒有放諸四海皆準的標準。通則是 <0 差、0~1 普通、1~2 不錯、>2 少見且要警覺過擬合;但在台股實務上,長期、扣成本、無過度最佳化的策略能穩定維持 0.4~0.7 就算合理。數字異常高時要檢查前視偏誤或過度配適,而不是把它當成好策略。

夏普比率怎麼年化?日資料怎麼換算?

在報酬 IID 假設下:年化夏普 = 日頻夏普 × 252\sqrt{252} = 月頻夏普 × 12\sqrt{12}。例如日均超額報酬 0.05%、日標準差 1%,日頻夏普 = 0.05,年化後約 0.05×2520.790.05\times\sqrt{252}\approx 0.79。但要注意 Lo(2002)的提醒:報酬若有自相關,這個 252\sqrt{252} 會失準,正確係數要考慮自相關結構。

夏普比率是負的代表什麼?

代表這段期間策略的報酬還不如無風險利率,超額報酬是負的,等於冒了風險卻沒換到相對應的回報。文中的逆向外資策略,年化 -11.2%、夏普僅 0.15,就是典型「方向假設不成立」的案例。要特別小心負夏普的比較陷阱:報酬為負時,波動越大夏普反而越大,所以兩套都在虧的策略不能用夏普高低判斷優劣。負值也可能只是區間太短、剛好遇逆風,需拉長樣本再判斷。

如何提高夏普比率?

四個方向:(1) 加入本身夏普高且邏輯獨立的因子;(2) 用低相關/負相關資產做配置,降低組合波動(最划算);(3) 控制下檔、削掉大跌尾巴(停損、波動度目標、通道指標);(4) 降低週轉率與交易成本。切忌靠過度最佳化參數把回測夏普「調」高,那是製造過擬合,過不了樣本外考驗。

夏普比率和索提諾比率差在哪?

兩者分子都是超額報酬,差別在分母。夏普用「總波動度」,上漲與下跌一視同仁;索提諾只把「下檔波動」放進分母,不懲罰上漲。若一套策略的波動主要來自大漲,索提諾通常會比夏普好看。把兩者並排,就能看出波動到底是漲出來還是跌出來的。

只看夏普比率夠不夠用來選策略?

不夠。夏普看不到下檔分布(可看 Sortino)、最大回撤(可看 Calmar)、相關性、肥尾風險與容量限制,也會被過擬合灌水。建議至少再看最大回撤、索提諾比率,確認策略在不同期間都站得住,並用回測過擬合機率資訊係數 IC交叉檢驗因子是否真有預測力,再決定要不要相信它。


相關閱讀


引用文獻

  • Sharpe, William F. (1966). "Mutual Fund Performance." Journal of Business, 39(1), 119–138. 夏普比率的原始出處,Sharpe 用「報酬與變異的比值」(reward-to-variability ratio)評比共同基金績效,奠定風險調整後報酬這個概念。
  • Sharpe, William F. (1994). "The Sharpe Ratio." Journal of Portfolio Management, 21(1), 49–58. Sharpe 本人三十年後的修訂版,明確指出分子應使用「策略與基準的差額報酬序列」整段去算其平均與標準差,且基準不必是無風險利率。這正是本文「差額報酬」與「資訊比率是夏普推廣」兩段的依據。
  • Lo, Andrew W. (2002). "The Statistics of the Sharpe Ratio." Financial Analysts Journal, 58(4), 36–52. 把夏普比率當成統計估計量處理,給出其標準誤與信賴區間,並證明 T\sqrt{T} 年化只在報酬 IID 時成立。本文「進階」一節的年化陷阱與信賴區間皆源於此。
  • Bailey, David H., & López de Prado, Marcos (2012). "The Sharpe Ratio Efficient Frontier." Journal of Risk, 15(2), 3–44. 提出機率化夏普比率(PSR)與夏普比率效率前緣,本文 PSR 段落的樣本長度、偏態、峰態修正源於此。
  • Bailey, David H., & López de Prado, Marcos (2014). "The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality." Journal of Portfolio Management, 40(5), 94–107. 提出緊縮夏普比率(DSR),把多重測試與非正態報酬納入,用來判斷高夏普是否只是大量回測後挑中的幸運結果。
  • Sortino, Frank A., & Price, Lee N. (1994). "Performance Measurement in a Downside Risk Framework." Journal of Investing, 3(3), 59–64. 提出索提諾比率,主張用「目標報酬以下的下檔波動」取代總波動,修正夏普「不分好壞波動」的盲點。
  • Federal Reserve Bank of St. Louis FRED, 3-Month Treasury Bill Secondary Market Rate. 本文用 1981 年美國 3 個月國庫券殖利率曾達 16% 左右,說明無風險利率不能永遠近似為 0。

免責聲明:本文所有內容僅供教學與研究用途,不構成投資建議。文中所有回測數字均為歷史結果,過去績效不代表未來表現;投資一定有風險,請審慎評估自身風險承受能力後再做決策。

最後更新:2026-06|作者:FinLab 量化研究團隊