分類
績效
難度
進階
適用情境
EA 評估回測

夏普比率

夏普比率:一項風險調整後的報酬指標——超額報酬除以報酬率的標準差。它獎勵平滑的資金曲線,因此可以一路吹捧一個馬丁格爾 EA,直到它爆倉的那一刻。

亦稱:夏普, Sharpe

更新於

一句話講清

相對於這一路有多顛簸,策略賺到了多少報酬?它獎勵穩步的爬升,懲罰鋸齒狀的爬升,即使鋸齒狀的那條最終更高。請把它讀成平滑度評分,而不是獲利評分。

為什麼重要

對於一個你打算無人看管地放著跑的 EA,資金曲線的形狀和它最終落在哪裡同樣重要,因為正是劇烈的擺盪會讓交易者在最糟的時刻出手干預。夏普比率是把這個形狀變成一個數字的標準做法——同時也是對那些風險尚未兌現的策略產生誤判的標準途徑。

  • 它把兩個報酬完全相同的策略區分開。一個靠小額而規律的獲利一點一點磨出來,另一個在單獨一個爆發月裡做出同樣的總額,這是兩種不同的產品,而只有風險調整後的數字才會這樣說。
  • 它是 EA 賣家引用最多的數字,所以知道它怎麼算本身就是一種防禦:換一個取樣頻率,同一個策略就會給出不同的夏普,而底層交易一點都沒變。
  • 它有一個眾所周知、在 EA 行銷裡極常見的盲點——它看不見尚未平倉的風險,而那恰恰是馬丁格爾或網格所背負的風險。

如何計算

夏普比率 =(平均報酬率 − 無風險利率)÷ 報酬率的標準差
平均報酬率
在所用取樣週期內的平均報酬率——每筆交易、每日或每月。
無風險利率
不承擔市場風險即可獲得的報酬,通常是短期國庫券。它是衡量策略的基準——沒有任何交易策略是無風險的,而這正是這項比較值得做的原因。在 EA 回測中通常被設為零。
報酬率的標準差
報酬率圍繞自身平均值分散得有多寬,向上與向下的偏離同等計入。

分母才是全部論點所在。波動率隨測量頻率而變,所以按每筆交易、按日、按月計算出的夏普,對同一個策略而言是三個不同的數字。年化數值按慣例來自月報酬率;而 MetaTrader 5 的策略測試器並不是這麼算的。

多少算高、多少算低

  • 低於 0.5 波動並沒有付錢給你
  • 0.5–1.0 作為投資組合中的一條腿可以接受,單獨使用則不行
  • 1.0–2.0 紮實——大多數可信策略都住在這裡
  • 高於 2.0 對零售 EA 回測來說好得可疑——在有前推測試之前先假定過度擬合

需要一起看的指標

單一數字無法描述一套策略。下列指標會改變這個數字的讀法。

範例

兩個 EA 在同一年裡都賺了 30 %。第一個穩步上行;第二個橫盤顛簸了十一個月,然後一躍而起。夏普把第一個排在前面,因為這個排序講的是報酬率的離散程度,而不是它們的總和。

EA A —— 年度報酬
+30 %
EA A —— 月報酬率的標準差
10 %
無風險利率為零時夏普 3.0。
EA B —— 年度報酬
+30 %
EA B —— 月報酬率的標準差
30 %
無風險利率為零時夏普 1.0。

這裡沒有任何一句話說 EA B 不賺錢——只是說它是透過一條寬了三倍的路交出同樣的結果。

計算 30 ÷ 10 = 3.0 · 30 ÷ 30 = 1.0

結果 同樣的利潤,風險調整後的品質相差三倍

怎麼讀這個數字

在你知道取樣頻率、樣本長度以及產出它的工具之前,一個夏普數字不攜帶任何資訊。先把這三樣確定下來,再去讀這個數。

區間 含義
來自 MetaTrader 5 的策略測試器 由測試器自己的報酬序列算出,因此與用年化月報酬率手工計算的夏普並不吻合。那條熟悉的「高於 2.0 就是優秀」的階梯並不能套到它身上。
由月報酬率年化而來 公開基準線所依據的慣例基礎,也是那些基準線唯一應當被對照閱讀的基礎。
在不足約一年的區間上量測 統計上雜訊很大。一個耀眼的三個月數值,在整整一年的尺度上常常腰斬,而策略本身什麼都沒變。
用在一個把虧損單掛著不平的策略上 具有主動誤導性。未實現虧損從不會進入已實現報酬序列,所以曲線之所以看起來平滑,恰恰是因為風險還沒有被承擔。
  • 除非兩個數字出自同一工具、同一取樣頻率、同一時間跨度,否則永遠不要用夏普給兩個 EA 排名。
  • 這個公式假定報酬率大致服從常態分布。馬丁格爾和網格的報酬率恰恰相反——長時間的平靜之間點綴著罕見的巨額虧損——所以夏普會系統性地低估它們的尾部風險。
  • 把它和最大回撤並排放,後者回答夏普無法回答的問題:最糟的那個坑到底有多深?
  • 如果大幅獲利的月份正在被扣分,那就改讀索提諾比率——它只除以下行偏差。

mt5depot 的 EA 頁面會寫明每個數字來自哪一次測試執行、涵蓋哪個視窗,因此本站公開的兩個數字彼此之間是可比的。

常見誤解

相信馬丁格爾或網格 EA 的高夏普

這類策略會展示近乎垂直的資金曲線,已實現波動率極小,因為每一筆虧損部位都被掛著攤低成本而不是平掉。夏普只看見那條平滑的已實現曲線並為之加分——一直到這一籃子部位無法挽回、一次平倉抹掉數月獲利的那一刻。

比較用不同取樣頻率算出的數字

波動率隨測量頻率而變,所以日報酬率的夏普和月報酬率的夏普是兩種不同的動物。策略沒有變,變的只是分母。

把短樣本的夏普讀成策略的屬性

它是從一個樣本中抽出的統計量。三個月的報酬率幾乎可以產生任何數值,而視窗越短,這個數描述的就越是運氣而非設計。

把夏普當成一份完整的風險評估

它對最糟的單筆虧損隻字未提,對一段下跌持續了多久隻字未提,對尾部風險也隻字未提。它的位置在回撤和回復因子旁邊,而不是取代它們。

常見問題

夏普比率越高就一定越好嗎?
不是。更高的夏普意味著單位波動下的報酬更平滑,但它對最糟的虧損隻字未提,而且可以被那些藏起未實現風險的策略鑽空子。一個回撤很淺的 1.3 夏普,可能描述的是比建立在馬丁格爾之上的 2.5 安全得多的 EA。
MT5 EA 的夏普比率多少算好?
對於涵蓋有意義週期的年化數值,1.0 到 2.0 是紮實且可信的區間。零售 EA 回測中任何高於 2.0 的數值,在前推測試確認之前,都應當被當作過度擬合的紅旗。
為什麼 MetaTrader 5 的夏普和我自己算的對不上?
因為 MT5 是從策略測試器的報酬序列算出來的,而不是從年化月報酬率。兩種方法使用的分母不同,所以數值理所當然會有差異。只比較以同樣方式產生的夏普值。
夏普比率和索提諾比率有什麼區別?
夏普除以全部報酬率的標準差,因此既懲罰大幅虧損的月份,也懲罰大幅獲利的月份。索提諾只除以下行偏差,這樣策略就不會因為交易者本來就想要的那種波動而被扣分。

相關文章