Skip to content
所有期權指南
回測中的資料窺探校正閱讀約12分鐘

交易規則的 White Reality Check 與 Hansen SPA 檢定

比較 Reality Check 與 SPA 如何檢驗搜尋過的交易規則組合,並了解全域虛無假設、聯合自助抽樣及結果解讀的限制。

本指南內容回測跑第一的規則為何不能當成預先指定的單一策略

簡短摘要

White 的 Reality Check(RC)和 Hansen 的 SPA(Superior Predictive Ability)檢定,會問在搜尋過的候選組合中,是否至少有一條規則勝過預先指定的基準。兩者均會考慮在同一樣本中挑出表現最佳的候選,但不會為某條個別規則背書,也不保證未來獲利。

回測跑第一的規則為何不能當成預先指定的單一策略

若你在查看數據前只定好一項策略,單一比較檢定或可切合問題。但若你先試過多條規則、看過結果,之後才把排名第一的規則當成最初唯一的候選來檢定,便忽略了整個搜尋過程。即使所有規則都沒有真正優勢,從多個帶有雜訊的估計值中挑最大一個,亦可能只因取了最大值而高於零。針對預先選定單一候選的 p 值,沒有計及同一樣本曾被反覆用作挑選勝出者。

RC 和 SPA 處理的是整個候選組合的問題:計及已嘗試過的選項後,是否有證據顯示至少一個候選在預先選定的表現指標上勝過基準?候選可以是技術交易規則、預測模型或其他策略。White 提出數據窺探檢定框架,用以測試規格搜尋中表現最佳的模型能否在預測上勝過指定基準 (White, 2000)。Sullivan、Timmermann 和 White 把此方法應用到一大組技術交易規則 (1999年研究)。校正範圍應包括曾影響最終選擇的候選,而非只剩下的勝出者。多重檢定與 FDR 指南講解相關但不同的問題。

先固定基準、候選組合和差值定義

以 k 表示候選組合 K 內的一條規則,以 t 表示所有候選與基準共同評估的日子。比較回報時,每期差值可定義為:

d(k,t) = 候選 k 的淨回報 − 基準的淨回報

正值表示候選較佳。若比較預測損失,則倒轉次序,以基準損失減去候選損失,令正值仍表示候選較佳。所有候選及日期均須採用同一正負號方向。分析前亦要固定候選組合、基準、評估日期、成本處理方式,以及「較佳」的定義。淨平均回報差本身並非風險調整回報,亦沒有直接衡量最大回撤。

以 μ(k)=E[d(k,t)] 表示候選 k 的期望差值,整個組合的假設如下:

H0: max(k∈K) μ(k) ≤ 0 H1: max(k∈K) μ(k) > 0

這是一個較弱的全域虛無假設:沒有候選擁有正的期望優勢,但個別規則的真實差值可以是負數。檢定處理的是整個候選組合的一項共同結論,不是逐一為每條規則產生互不相關的判斷。若基準或「表現較佳」的指標沒有說清楚,讀者便可能把檢定結果套用到它沒有回答的問題。

實際建立虛無分布時,不應只把觀察到的贏家抽出來重複計算。一般會按虛無假設將各候選序列中心化,並在每次重複中重新計算整個組合的最大統計量。這樣才把原先的搜尋步驟納入參考分布。中心化方式、候選欄位的聯合抽樣和區塊設計會一同決定分布;其中任何一項改變,都可能改變檢定校準。因此,應交代所用實作,而非只寫「用了 bootstrap」。

Reality Check 取整個組合中的最大值

令 d̄(k) 表示候選 k 在 n 個評估日的平均差值。採用平均差的簡單設定下,RC 統計量是:

T_RC = max(k∈K) sqrt(n) × d̄(k)

之後把這個最大值與虛無假設下建立的自助分布比較。White 的方法採用複合虛無假設中最不利的邊界:建立虛無分布時,假設每個候選的真實期望差值都是零。虛無假設其實亦容許候選的真實差值為負;全零邊界把所有候選都設成與基準打和,因此可能較保守。若組合中有很多表現弱的選項,臨界值可能提高,使檢定更難拒絕虛無假設。上列 RC 公式直接取樣本平均差值的最大值,並無額外以零截斷。

關鍵是這個最大值來自一輪搜尋。問題不是「只看排第一的一條規則,它的表現有多罕見」,而是「對整個組合做同一輪搜尋後,出現這麼大的最大值是否罕見」。若只將勝出者與預先指定單一候選的參考分布比較,便漏掉挑選過程的影響。

ω̂(k) 不只是把統計量換一個單位。若某條規則的收益差較不穩定,即使平均差偏高,估計誤差亦可能較大;標準化正是把這種不確定性納入比較。由於時間序列可能有自相關,長期標準差亦應反映跨期共變異,不能假設每天互相獨立。SPA 的實作可能報告下限、一致或上限等不同 p 值版本,分析時要說明選用了哪一種,不宜直接比較定義不同的數字。

SPA 用標準化統計量和樣本依賴的虛無分布

Hansen 的 SPA 檢定沿用相同候選組合、基準差值和全域虛無假設,但改變統計量及建立虛無分布的方法。其統計量可寫成:

T_SPA = max(0, max(k∈K) sqrt(n) × d̄(k) / ω̂(k))

ω̂(k) 估計 √n d̄(k) 的長期標準差。標準化會按平均值估計的不確定性調整不同候選的波動程度,而非只比較原始平均差值。外層的 max(0, …) 確保 SPA 統計量不會低於零,這與上面的 RC 公式沒有正部截斷不同。

另一項差異是虛無分布會依賴樣本。在一個一致版本中,樣本平均差值明顯為負的候選,建立虛無分布時仍以負值保留;數據看來合理、可能接近虛無邊界的候選則以零作中心。SPA 不會單純把表現差的規則從原來的候選組合刪除。這種做法旨在減低弱候選對分布的影響,與 RC 把所有候選真實差值設為零的最不利設定有所不同。Hansen 的論文說明,標準化及樣本依賴的虛無分布可以提高檢定力,並降低對劣勢候選的敏感度 (Hansen, 2005)。但 SPA 並非在所有資料與情況下都優於 RC。

聯合抽樣保留的不只是回報先後次序,也包括同一日各規則共同面對的市場衝擊。例如,多條移動平均規則可能在同一輪跌市同時虧損;若每欄分開抽日期,重複樣本便會拼出原序列中不存在的組合。最大統計量會受這種候選重疊程度影響。採用共同時間索引後,區塊內仍可保留局部持續性,但區塊邊界會接上不同片段,所以仍須檢查區塊長度和樣本量是否足以支撐近似。

以共同時間區塊一併重抽候選向量

不同規則在同一日面對相同市況,因此候選差值之間可能一同變動。每條規則的時間序列亦可能存在時序依賴。若每個候選欄分開抽樣,便會破壞同日的共變關係,改變最大值的虛無分布。因此,每個日期都把 d_t=(d(1,t),…,d(K,t)) 視作一個向量,對所有候選使用相同日期索引或相同的一串時間區塊。

區塊抽樣可以保留部分時序結構。例如,平穩自助法會把長度服從幾何分布的區塊接起來;Politis 和 Romano 的原始研究討論弱依賴平穩觀察值下的推論 (Politis and Romano, 1994)。但沒有一種區塊設定可以保證準確表達所有依賴關係,仍須假設過程足夠穩定、依賴程度足夠弱。若樣本期間出現結構轉折或市場狀態轉換,把整段資料當成同一穩定過程重新抽樣,問題仍然存在。區塊自助法指南另有解釋固定統計量的區塊設計。

多條路徑匯聚到山峰,旁邊有天秤、兩個抽象分佈和成排的時間區塊,畫面沒有文字。
這是策略搜尋與不確定性分佈比較的概念圖,並非任何檢定結果或實際觀察到的市場回報。

240條規則只是用來示範乘法的假設例子

以下只用假設數字示範計算候選數量:12種回看期、4種入場篩選和5種離場設定,合共 12×4×5=240 個組合。若所有組合都用相同日期和成本計算,並以一項預先指定的買入並持有策略作基準,便可逐一計算候選淨回報與基準淨回報的差值,並在全部候選中取最大值。

240只是算術例子,不代表任何實際表現。這裏沒有提供或暗示回報、p 值、檢定結果或勝出策略。真實研究或會另外嘗試不同市場、持倉期限、篩選器、回測期間、基準或費用假設。如果這些選項影響了選擇,單憑最後整理好的參數表,可能低估實際搜尋範圍。

「較佳」的標準亦要在查看結果前固定。若檢定只使用平均淨回報差,便不會同時回答波幅、最大回撤或資金佔用是否較佳。所有候選要在相同交易日期和執行規則下計算佣金、融資、借貨、資金費率及滑價,否則看似策略優勢的差異可能只是計算假設不同。

兩種方法的結果用途亦不同:FDR通常協助判斷一組個別假設中哪些結果可稱為發現;RC或SPA拒絕則表示候選組合最大值相對基準有整體證據,並不直接產生可靠排名。固定策略的區塊信賴區間估計的是一項預先選定統計量的抽樣範圍。即使區間不包括零,也不會自動回答「從240項候選中選出的第一名是否已作搜尋校正」。即使都出現 p 值或 bootstrap,所回答的推論問題仍可能不同。

這個乘法亦假設所有設定都能完整交叉:12個回看期、4個篩選器和5種離場方式均有測試,才會得出240項。如果部分組合因規則衝突而不可執行,應記錄真正跑過的版本;若研究者看過結果後再增減窗口或調整門檻,最後表格的行數未必反映曾經發生多少次搜尋。重點不是把所有想像得到的設定一概納入,而是如實交代哪些結果曾影響決策。

候選數量亦不等於互相獨立的檢定次數。例如,相鄰回看期或只差一項離場條件的規則,回報序列可能高度相關;不能因此把240個候選當成240次獨立市場實驗。共同時間抽樣會保留樣本中觀察到的部分同期關係,再以全組最大值建立參考分布。不過,若這種關係會隨市況改變,歷史樣本中的共變異未必適用於其他階段。

FDR和固定統計量的區塊信賴區間是不同問題

Benjamini–Hochberg 等假發現率(FDR)方法會處理一組個別假設的 p 值,並在其適用假設下控制被拒絕結果中錯誤發現比例的期望值。RC 和 SPA 則以整個候選組合相對基準的最大值進行一項全域檢定。兩者同樣涉及多重性,但不能互相代替。多重檢定與 FDR 指南會另外說明個別假設的 FDR 問題。

一般區塊自助信賴區間也不等於 RC 或 SPA。它可以估計一項預先固定的統計量有多少抽樣不確定性,例如單一策略的平均回報或夏普比率。但若策略是看過多個候選結果後才選出,這個單一統計量的區間不會自動校正挑選勝出者的過程。RC 和 SPA 會在整個候選組合中反覆計算最大統計量,並以符合虛無假設的分布作比較。區塊重抽樣只是處理時間依賴的一種計算方法;用了「自助法」不代表已完成搜尋校正。

p 值是在既定虛無假設、樣本和檢定設計下,衡量最大統計量有多極端;它不是策略未來虧損的機率,也不是虛無假設為真的機率。全域檢定拒絕後,如何選出個別規則仍是另一個問題。可在獨立或前瞻資料上預先設定新的選擇程序,但不能不斷以同一份確認資料調參,再把結果稱為獨立驗證。驗證能增加證據,卻不能排除市場制度轉變或執行成本的不確定性。

Purged Cross-Validation(清除式交叉驗證)處理的是另一個問題:在按時間排序的資料中,減少訓練樣本與測試樣本之間的時間資訊洩漏。它不會檢驗整個候選規則組合的最大值是否超越基準;那是 RC/SPA 的全域檢定問題。Purged CV 與 embargo 指南會說明如何處理這種時間隔離。

拒絕虛無假設不會認定勝出者或保證未來回報

若 RC 或 SPA 拒絕全域虛無假設,結論只適用於指定的候選組合、基準、評估樣本、表現指標、虛無分布設計及假設:有組合層面的證據顯示至少一個候選按所選標準勝過基準。它不會指出哪條規則的真實表現最好,不會自動證明最終選中的規則單獨顯著,更不代表所有候選都勝出。未能拒絕亦不代表已證明所有規則相同或沒有用,只表示這份樣本和這項設計未提供足夠證據。

這類檢定不是未來回報預測,也不保證回測在實際交易中重現。未記錄的嘗試、前視偏差、倖存者偏差、不切實際的成本、市場衝擊及非平穩問題仍要另行處理。若看過結果後再更改候選組合,正式檢定涵蓋的搜尋範圍亦會改變。若要判斷個別規則,須另選合適的候選層級方法,並用沒有參與篩選的資料驗證;即使如此,亦無法保證未來市況與過去相同。

解讀統計顯著性時,還要分清估計目標與操作決策:全域拒絕支持「某個候選可能勝過基準」的集合層級判斷,但實際部署仍要在規則中選擇。若再用同一份回測繼續揀參數,之後卻稱結果為確認性證據,便重新引入選擇偏差。可以預先設計另一階段的確認資料、表現指標和停止規則,並與原先探索分開記錄。即使確認結果支持候選,也只是另一份樣本和程序的證據,不能把RC或SPA變成回報保證。

記錄檢定設定,讓結果可以重現

報告應列出基準、完整候選組合及其來源、評估日期和頻率、淨回報或損失差值定義、費用、選用的標準、檢定名稱和 p 值。若用 SPA,也要說明實作版本及報告哪一種 p 值。另須交代自助法類型、區塊長度或平均長度、重複次數、共同抽取時間向量的方法,以及虛無分布的建立方式。

在選勝出者前試過哪些市場、參數、篩選器、持倉期限、費用假設和重跑方式,也應保留記錄。若最後只檢定縮窄後的候選組合,須交代如何篩選,以及篩選時用了哪些數據。讀者才能判斷檢定校正是否覆蓋真正的選擇過程。RC 或 SPA 仍然只是以所述樣本和假設為條件的組合層級證據,不能取代實際執行評估和持續觀察。

常見問題

Q1SPA是否永遠比Reality Check有更高檢定力?

不是。SPA的標準化和樣本依賴虛無分布可以減低劣勢候選的影響,亦可能提高檢定力;但結果取決於數據和假設,並無一方在所有情況下都佔優。

Q2SPA顯著是否代表我應選哪條規則?

不是。它只提供整個候選組合中至少一個候選可能勝過基準的全域證據。選擇個別規則仍須合適的候選層級方法,並用未參與篩選的數據驗證。

Q3可以把表現差的試驗從檢定組合中移除嗎?

如果你在選勝出者前已試過那些規則,移除它們可能令實際搜尋範圍看來較小。解讀校正結果前,應界定並記錄所有曾影響選擇的相關候選。 主要研究 - White, “A Reality Check for Data Snooping” (2000) - Hansen, “A Test for Superior Predictive Ability” (2005) - Sullivan, Timmermann, and White, “Data-Snooping, Technical Trading Rule Performance, and the Bootstrap” (1999) - Politis and Romano, “The Stationary Bootstrap” (1994)

資料來源與延伸閱讀

回報問題

我們會準備一封包含本文連結的電郵。寄出後,Mark 才會收到你的回報

快速檢查

讀完指南後,用 3 道題檢查一下

問題 1 / 3

問題 01

RC和SPA的全域虛無假設表示甚麼?

選擇答案即可查看解釋

期權術語表