VALYNOXSTRATEGY RESEARCH TECHNOLOGY
AlphaPrimeAlphaPrime
策略學院 / 回測與檢驗

系統品質指數(SQN):公式與分數怎麼看

系統品質指數是平均 R 倍數除以 R 倍數的離散程度,再乘以交易筆數的平方根(筆數上限為 100)。分數 2.0 至 2.5 屬平均,2.5 至 3.0 為良好,3.0 至 5.0 為優異;回測分數高於 5 時,應先檢查交易筆數與策略的挑選方式。

作者 · 發佈 · 更新於 · 編輯原則

目錄
  1. 什麼是系統品質指數?
  2. 如何用 R 倍數計算 SQN?
  3. SQN 需要多少筆交易?
  4. SQN 多少分算好?
  5. SQN 與夏普比率有什麼差別?
  6. 真實的 ES 回測,SQN 長什麼樣子?
  7. 常見問題
  8. References

什麼是系統品質指數?

系統品質指數(SQN)是 Van Tharp 設計的分數,衡量策略的交易相對於其大小有多一致。算法是平均 R 倍數除以 R 倍數的離散程度,再乘以交易筆數的平方根。穩定累積的小額獲利,得分高於少數大賺夾雜大賠。

R 倍數是一筆交易的結果除以進場時計畫承擔的風險金額。風險 $300、賺 $600 的交易是 +2R;虧掉全部計畫風險的交易是 −1R。用 R 而不用金額,無論合約或部位大小,每筆交易都落在同一把尺上。分數從交易明細讀出,交易明細通常來自把規則放到舊價格上重播、並計入成本的回測。

想像兩位外送員,每趟平均拿到的小費相同。一位幾乎每趟都有小額小費;另一位多數趟次沒有,偶爾拿到一筆大額小費。平均一樣,但第一位能規劃預算,第二位不能。SQN 獎勵的是第一位。SQN 衡量的是一致性,不是獲利;只有在交易筆數接近 100、成本已計入交易結果時,它才有意義。平均 R 相同的兩個策略,在尺度上可以相差懸殊,如圖所示。SQN 與夏普比率這類按期間計算的指標並列;夏普比率可用免費的夏普比率計算機,從權益序列算出。兩者的差別在後文說明。

兩張假設性的交易結果直方圖,各有 50 筆交易、平均 +0.4R:離散程度 1.0R 的窄分布,SQN 約 2.8;離散程度 2.5R 的寬分布,約 1.1 平均相同,SQN 不同 假設性:各 50 筆交易 窄分布 SQN ≈ 2.8 寬分布 SQN ≈ 1.1 平均 +0.4R 離散愈小,分數愈高。 結論:看一致性,不看平均。
平均 R 倍數相同、交易筆數相同,SQN 卻差距明顯。左側窄分布的得分,約為右側寬分布的兩倍半。

如何用 R 倍數計算 SQN?

計算 SQN 分四步:把每筆交易換成 R 倍數,取 R 倍數的平均,取它們的標準差,再用平均除以標準差,乘以交易筆數的平方根。標準差說明單筆結果通常離平均多遠;標準差小,代表交易集中在平均附近;標準差大,代表交易分散。

  1. 記下每筆交易的結果與計畫風險。計畫風險是進場價到初始停損的距離(以美元計)乘以口數。若交易沒有停損,就用每筆固定的美元金額當風險單位,且每筆交易套用同一金額。
  2. 每筆結果除以它的計畫風險。賺 $900、計畫風險 $300 的交易是 +3R;同樣風險下虧 $150 的交易是 −0.5R。
  3. 算出 R 倍數的平均與標準差。試算表各用一個函數就能算出。
  4. 代入公式。SQN = (平均 R ÷ R 的標準差) × √N,其中平均 R 是 R 倍數的平均值,R 的標準差是第 3 步算出的離散程度,N 是交易筆數,√N 是它的平方根。
從金額交易明細到一個 SQN 的四個步驟,以每筆交易風險 300 美元、共 64 筆的假設性策略為例:列出每筆交易與其風險,除以風險得到 R 倍數(例如 +3R),取平均 0.3R 與離散程度 1.2R,再算 0.25 乘以 64 的平方根,得到 SQN 為 2.0 從交易到一個 SQN 假設性:風險 $300,64 筆 1. 交易明細 +$900 風險300 2. 換成 R $900 ÷ $300 = +3R 3. 平均、離散 +0.3R, 1.2R 4. 公式 0.25 × √64 = 2.0 平均 ÷ 離散 × √筆數。 此例 2.0,在平均區間下緣。
從金額交易明細到一個 SQN 數字,共四步。範例數值取自下方的假設性範例。

假設性範例

某策略每筆交易風險 $300,扣除成本後有 64 筆已平倉交易。其中三列:+$900 換成 +3R,−$300 換成 −1R,+$150 換成 +0.5R。64 筆交易的平均 R 倍數為 +0.3R(平均每筆損益 $90),R 倍數的標準差為 1.2R。SQN = (0.3 ÷ 1.2) × √64 = 0.25 × 8 = 2.0。以 Van Tharp 的區間來看,這是平均區間的下緣。

平均 R 本身是以 R 為單位的每筆期望值;除以離散程度,變成一致性的比率;再乘以交易筆數的平方根,這個比率就成了帶有樣本信心加權的分數。下一節說明為何最後這個因子需要設上限。

SQN 需要多少筆交易?

SQN 約需 100 筆交易才能直接採信:不到約 30 筆時,只要兩三筆交易改變,分數就會跟著動;超過 100 筆後,平方根因子會單靠樣本變大而墊高分數,所以 Van Tharp 把平方根項的筆數上限設在 100。有了上限,400 筆交易的策略也只按 100 筆計分,策略之間比的是一致性,不是歷史有多長。

上限的存在,來自公式本身的行為。固定平均 0.25R、標準差 1.0R,只改變交易筆數:10 筆時 SQN 為 0.79,30 筆為 1.37,50 筆為 1.77,100 筆為 2.5。策略沒有任何改變,只是樣本變大。沒有上限的話,同一策略在 400 筆時會顯示 5.0,毫無交易上的理由,卻看起來極為出色。

同一策略平均 0.25R、離散程度 1.0R,SQN 由 0.79(10 筆)升到 1.37(30 筆)、1.77(50 筆)、2.5(100 筆),之後因 100 筆上限持平在 2.5;不到 30 筆時分數過於不穩,無法解讀 筆數愈多,SQN 愈高 同一策略:平均 0.25R,標準差 1.0R 筆數過少 2.5 上限 100 10 30 100 400 筆 上升來自樣本量,不是實力。 結論:約 100 筆再讀 SQN。
同一策略的交易筆數愈多,分數愈高,直到 100 筆的上限把分數壓平。不到 30 筆時,數字過於不穩,無法解讀。

對一個月只交易幾次的期貨策略,筆數不足才是較常見的問題。兩年只有 24 筆交易的波段策略,一筆大賺或大賠就能讓 SQN 移動半點。有兩個做法可行:拉長歷史,直到交易明細累積約 100 筆;或用推進分析從同一段歷史蒐集更多樣本外交易,讓你讀到的 SQN,來自參數在其資料出現之前就已選定的交易。

SQN 多少分算好?

依 Van Tharp 的區間,2.0 至 2.5 分為平均,2.5 至 3.0 為良好,3.0 至 5.0 為優異,低於 1.6 難以交易;回測分數高於 5.0,多半代表交易筆數太少,或策略是從眾多候選策略中挑出來的,而不是品質的徵兆。這些區間的前提,是手續費與滑價已計入每筆交易結果,且交易筆數接近 100。

SQN 分數Van Tharp 的評語在回測中通常代表
低於 1.6難以交易交易的離散程度相對平均過大;連續虧損期偏長
1.6 至 2.0低於平均有正向優勢,但滑價稍微增加就容易消失
2.0 至 2.5平均若交易筆數與成本計得誠實,是可交易的結果
2.5 至 3.0良好交易一致;需確認結果在樣本外仍成立
3.0 至 5.0優異單一市場的期貨策略扣除成本後少見;需確認交易筆數
5.0 至 7.0極佳在回測中,先檢查是否樣本太小,或是從眾多策略中挑出最好的
高於 7.0檢查過度最佳化幾乎都是樣本或挑選造成的結果,而非市場規律
Van Tharp 的 SQN 區間排在同一把尺上,前提為成本已計入、交易約 100 筆:低端(低於 1.6 難以交易、1.6 至 2.0 低於平均)要檢查成本;2.0 至 5.0 從平均到優異,可依區間解讀;高端(高於 5.0 與高於 7.0)要檢查樣本數與挑選過程 SQN 區間的意思 已計入成本,約 100 筆交易 1.6 2.0 2.5 3.0 5.0 7.0 低端 依區間解讀 高端 檢查成本 平均至最高 檢查樣本 兩端都值得再看一眼。 結論:低端查成本,高端查樣本。
Van Tharp 的區間排在同一把尺上。回測中兩端都值得再看一眼:低端看成本,高端看樣本數與挑選過程。

對 SQN 而言,成本比多數報表數字更重要,因為成本會拉低平均 R,卻幾乎不會縮小離散程度。以上面的假設性策略為例:若漏掉手續費與滑價,每筆交易都會等量墊高,平均 R 上升,標準差幾乎不變,分數就會跳一個區間。計算 SQN 之前,就要先把回測裡的交易成本(手續費與滑價)算進去,不是之後才補,否則區間描述的是一個無法交易的策略。

高端要做相反的檢查。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,當許多策略變體在同一段歷史上測試,即使沒有任何一個有優勢,最好的那個仍然得分亮眼,變體愈多,效應愈強。經過大規模搜尋挑出的策略,SQN 高於 5,是搜尋本身的預期結果,不是市場的證據。

SQN 與夏普比率有什麼差別?

SQN 與夏普比率都是用平均除以離散程度,但 SQN 以 R 倍數逐筆計算,並依交易筆數放大;夏普比率則以報酬逐期計算,並依一年的期數放大。因此 SQN 不計交易持有多久,夏普比率不計報酬來自多少筆交易。夏普比率的算法是:每期(一天或一個月)的平均報酬,扣掉現金利率(短期政府公債的報酬),除以各期報酬的標準差,再乘以一年期數的平方根。

簡單比喻:以每趟行程和每小時行車兩種方式衡量同一輛車的油耗,只要行程有長有短,同一輛車就會得到兩種不同的排名。SQN 是每趟的衡量,不在意一筆 +2R 的交易花了一天還是一個月。夏普比率是每小時的衡量。一個 86% 的時間都持有部位的策略,日報酬序列幾乎每根 K 棒都在變動,所以它的夏普比率反映每一天的持有風險,而 SQN 只反映交易出場。

項目SQN夏普比率
衡量單位逐筆,以 R 倍數計逐期,以報酬率百分比計
放大依據√筆數,上限 100√每年期數(日資料約 252)
對持有時間敏感否是
對交易筆數敏感是,至 100 筆為止否
現金利率不使用從報酬中扣除
需要每筆計畫風險是否
SQN 與夏普比率都是平均除以離散程度,但 SQN 逐筆計算、不計持有時間、計入交易筆數;夏普比率逐期計算、計入持有時間、不計交易筆數;在 ES 回測中,SQN 看到 129 次出場,夏普比率看到 6.5 年的每日持有風險 逐筆對逐日 都是平均除以離散程度 SQN 夏普比率 單位 逐筆 逐期 持有時間 忽略 計入 交易筆數 計入 忽略 ES 回測 出場 129 6.5 年 各自看不到對方看得到的。 結論:SQN 與夏普比率並看。
同樣是平均除以離散程度,只是單位不同。多數時間都在場內的策略,可能在一個指標排名居前,在另一個排名落後。

兩個指標在慢速策略上分歧最大。一條趨勢規則一年只交易 20 筆、一次持有數週,出場一致,SQN 可以落在平均;但它的日報酬每天隨市場起伏,夏普比率只有中等。Lo(2002)指出,夏普比率本身的估計誤差取決於期數,以及各期報酬之間的相關程度,所以兩個指標都擺脫不了樣本量的影響,只是各自計算不同的樣本。SQN 要與回測績效報表中的夏普比率、Sortino 比率與回撤數字並看,不能取而代之,因為 SQN 完全不說明回撤,也不說明帳戶有多少時間持有部位。

真實的 ES 回測,SQN 長什麼樣子?

一份真實的報表,只提供 SQN 所需三項輸入中的兩項:交易筆數與平均每筆損益;第三項,R 倍數的離散程度,必須自己從逐筆明細算出。以下這次回測由 AlphaPrime(Valynox)執行,測試 ES 日 K 棒,期間 2019-01-02 至 2025-06-30,多空皆做,一口,每筆交易手續費 $20、滑價 $25。進出場只用一條線性迴歸線與迴歸通道規則,沒有停損、沒有停利、沒有濾網。它是用標準指標做成的替身規則,不是對 SQN 本身的檢驗。這裡呈現的候選策略,是搜尋嘗試 1,024 個之後留下的那一個,依報酬相對回撤挑出。

來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。ES 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $25。

數字結果
淨利(已平倉)$88,920
最大回撤$64,710
交易筆數129
勝率55.04%
獲利因子1.331
平均每筆$689.3
在場時間86.29%
請看交易筆數與平均每筆損益:這兩項會代入 SQN。最大回撤與在場時間完全不進公式,所以 SQN 要與它們並看,不能單獨使用。
請看交易筆數與平均每筆損益:這兩項會代入 SQN。最大回撤與在場時間完全不進公式,所以 SQN 要與它們並看,不能單獨使用。 ES · 日 K 棒 · 2019-01-02 至 2025-06-30 · CPU 引擎回測

對 SQN 有三點值得注意。第一,129 筆超過 100 筆的上限,所以平方根項是 10,分數只取決於平均 R 除以離散程度。第二,這條規則沒有停損,因此沒有每筆的計畫風險;要算 R 倍數,得設定一個固定的美元風險單位,並用它去除每筆交易,平均與離散程度的比值不受影響。第三,報表上的平均每筆損益 $689.3 是以美元計的分子,但缺了離散程度:必須用逐筆明細才算得出來。AlphaPrime 在其績效報表中列出這份交易明細,與權益曲線、回撤的檢視並列,所以交易結果的標準差,從這份交易明細出發只差一個試算表步驟。

不論這份交易明細算出的 SQN 是多少,這個數字都被美化了。這個候選策略是事後從 1,024 個中依報酬相對回撤挑出的最佳者,而 Bailey 與 López de Prado(2014)指出,多次試驗中的最佳分數,會因試驗次數而向上偏誤,所以用整段歷史讀出的分數,高估了規則本身的表現。就讀者能期待重現的意義而言,這些數字並非規則與指標掙來的;搜尋找到的,只是一個貼合歷史、看起來最好的變體。在場時間 86.29% 也意味著,這次回測的夏普比率要以六年多的每日持有風險來評斷,而 SQN 只看到 129 次出場,正是前一節分歧的實例。

接下來的做法具體可行。從自己的回測匯出交易明細,設一個風險單位,算出 R 倍數與樣本內 SQN。再對同一條規則做推進分析,只用串接後的樣本外交易,重算一次 SQN。若樣本外分數掉了超過一個區間,或推進分析樣本外損益的正負號轉為負,代表樣本內分數描述的是挑選過程。若落差在一個區間之內,你就得到一個可交易的一致性分數。

常見問題

SQN 多少分算好?

依 Van Tharp 的區間,2.0 至 2.5 為平均,2.5 至 3.0 為良好,3.0 至 5.0 為優異,低於 1.6 的分數標示為難以交易。這些區間的前提,是每筆交易都已計入成本,且交易筆數接近 100。回測分數高於 5.0,更常見的原因是樣本太小,或策略是從眾多候選中挑出,而不是品質;讀區間之前,先查這兩件事。

計算 SQN 需要多少筆交易?

目標是扣除成本後約 100 筆交易。不到約 30 筆時,兩三筆交易改變,分數就可能移動半點,所以那只是提示,不是結果。超過 100 筆後,平方根項會單靠樣本變大而墊高分數,所以 Van Tharp 把它的上限設在 100。若策略產生的交易太少,可以拉長歷史,或用推進分析蒐集更多樣本外交易。

SQN 公式怎麼計算?

每筆交易的結果除以進場時計畫的風險,得到 R 倍數。取這些 R 倍數的平均與標準差。SQN 等於平均除以標準差,再乘以交易筆數的平方根,交易筆數上限為 100。試算表各用一個函數,就能算出平均與標準差。

SQN 與夏普比率有什麼差別?

兩者都是用平均除以離散程度。SQN 採用以 R 倍數表示的交易結果,並依交易筆數的平方根放大,所以不計每筆交易持續多久。夏普比率採用每日或每月的報酬,扣掉現金利率(短期政府公債的報酬),並依一年期數的平方根放大,所以計入持有部位的每一天,卻不計交易筆數。持有數週的慢速策略,可能同時在 SQN 得到平均、在夏普比率只有中等。

沒有停損的策略可以計算 SQN 嗎?

可以,選一個固定的美元金額當風險單位,用它去除每筆交易。因為平均與離散程度都除以同一個數,兩者的比值,也就是 SQN,與選哪個金額無關。代價是 R 與實際停損距離失去連結,所以 R 倍數描述的是一致性,不是每筆交易實際承擔的風險。

References

  • Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
  • Bailey, D. H., & López de Prado, M. (2014). The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality. The Journal of Portfolio Management, 40(5), 94–107.
  • Lo, A. W. (2002). The Statistics of Sharpe Ratios. Financial Analysts Journal, 58(4), 36–52.