研究 / 工作論文 · 2026 年 5 月修訂

Predictive Value of Within-Strategy Permutation Tests for Forward Selection

Evidence from Over 6 Billion Strategy-Level Permutations Across Three Asset Classes

一項大規模實證測試,檢驗策略內蒙地卡羅置換檢定,量化策略開發中的一道標準驗證步驟,是否真能改善前瞻性的策略選擇。橫跨 437,911 種策略配置,於 九種工具(涵蓋加密、外匯與大宗商品)、160 個滾動前推視窗,以及 端到端 265 億次置換,答案是否定的,但原因不同於本論文 2026 年 3 月草稿所主張的。在檢定有良好定義的、真正路徑依賴的統計量上,MC 過濾所產生的提升與零無法區分;在以求和為基礎的統計量上,先前報告的負提升結果被重新歸因於浮點求和順序的人為偽影。

三項發現

發現 1

你最常用的選擇指標對檢定不可見。

在固定的逐筆交易名目部位設定下,標準的實務情境,總 ROI、逐筆交易層級的 Sharpe,以及獲利因子,各自僅為逐筆交易報酬多重集的函數。它們的 MC 排名分布依構造為退化。你在這些指標上看到的任何左移,都是向量化程式碼中浮點求和順序的人為偽影,而非資料的某項性質。

發現 2

在檢定有良好定義的指標上,訊號就是雜訊。

最大回撤、Calmar 與 Ulcer 指數是真正的路徑依賴統計量。它們的 MC 排名在每種工具上都群聚於 50% 隨機重新洗牌基準的幾個百分點之內。在一道簡單的 IS 獲利因子 > 1 門檻上加入 MC 過濾器,於九種工具間移動 OOS 獲利能力不到 ±0.5 pp。

發現 3

在投資組合層級,訊號朝錯誤的方向預測。

將策略合併為 10 策略等權投資組合,會在 MC-MDD 排名上產生一個清晰的右移,偵測到真實的路徑依賴。但同一排名作為前推 OOS 選擇器時失靈:按樣本內 MC-MDD 居前十分位的投資組合,彙總後較居後十分位表現低 −3.48 pp。MC 偵測路徑依賴;它並不預測績效。

摘要

策略內蒙地卡羅置換檢定,打亂一個策略的逐筆交易報酬以評估顯著性,建立在一個可交換性假設之上,而金融時間序列違反該假設。該檢定在可交換性下的診斷性質已有充分確立。尚未被評估的是:依檢定輸出採取行動是否真能改善前瞻性的策略選擇。

我們在 437,911 種策略配置(8 個指標族;族內逐 bar PnL 相關性平均僅 |ρ̄| = 0.031,駁斥了參數變體間報酬流近乎重複的常見假設)、橫跨三類資產的九種工具,加密永續合約(BTC、DOGE、BNB、SOL)、外匯主流(EUR/USD、USD/JPY、EUR/GBP),以及大宗商品(XAU/USD、WTI Oil),與 160 個滾動前推視窗上進行評估。此流程產生 6,629,125 個策略視窗觀測值,以及端到端約 265 億次置換:66.3 億次策略內 MC 置換、199 億次區塊置換執行,外加一條黃金標準的 bar 置換流程(約 2.07 億次完整策略重新執行,Aronson/Masters 構造)作為獨立的、保留依賴性的檢核。

在路徑依賴統計量(最大回撤、Calmar、Ulcer 指數,策略內置換檢定在數學上有良好定義的指標)上,在一道簡單的樣本內獲利門檻(IS 獲利因子 > 1)之上加入 MC 過濾,所產生的 增量提升與零無法區分,日曆季群集自助法(橫跨九種工具的 61 個群集)給出彙總 MC-MDD p50 提升為 +0.34 pp [+0.07, +0.62],在六個 MC 變體所構成的族上,這無法通過 Bonferroni 校正。本論文一份先前流傳的草稿曾報告一個 以求和為基礎的統計量上的負提升結果(ROI / Sharpe / 獲利因子);該結果在 2026 年 5 月修訂版中被重新歸因於向量化置換程式碼中的浮點求和順序偽影,而非資料的某項性質。

兩項獨立檢核強化了修正後的虛無結果。對該人為偽影過濾器所做的安慰劑檢定,在各資產類別間產生符號反轉的提升(加密與黃金為負,三個外匯配對為正),沒有任何實質性的非可交換性理論能預測這種模式,但浮點求和陷阱可以。而一個黃金標準的 bar 置換蒙地卡羅(對 bar 報酬進行平穩自助法重抽樣並完整重新執行策略,橫跨九種工具約 2.07 億次執行)證實了真正的樣本內 bar 層級優勢,卻重現了同樣的前推選擇虛無結果。

Fig. 1:在修正後的路徑依賴(MDD)排名下,MC 過濾器提升的自助法分布。除 WTI 外(+0.20 pp,p=0.007),每個資產的逐工具 95% CI 都橫跨零。彙總群集自助法的點估計為 +0.34 pp [+0.07, +0.62],低於任何實際可操作的門檻,且對多重檢定校正不穩健。

示範:看著浮點移位出現

將同一個逐筆交易報酬多重集洗牌數千次。每一次洗牌都應產生相同的和,數學上確實如此。但在批次向量化求和的 IEEE-754 嚴格大於下,你會看到某一次洗牌以不容忽視的頻率「勝過」另一次。排名分布塌縮至約 37 ± 2%,恰好是 2026 年 3 月草稿誤認為非可交換性證據的左移。切換求和程序,看著偽影出現又消失。

切換到中位排名平手處理:排名分布立刻回到以 50% 為中心的均勻虛無。切換到 Kahan 補償求和:它塌縮為靠近 0 的一條細片。資料並未改變,只是浮點數相加的順序改變了。

為何如此

兩個結構性原因與一個數值陷阱:

  1. 標準的實務指標對置換不變。 在固定的逐筆交易名目部位設定下,標準的實務情境,總 ROI、逐筆交易層級的 Sharpe,以及獲利因子,各自僅為逐筆交易報酬多重集的函數。它們在每一種重新洗牌下都取相同值,且依構造對 MC 檢定不可見(附錄 A4 中的命題,延伸了經典的 PF 不變性結果)。在這些指標上的策略內 MC 檢定,無論資料生成過程具有何種性質,在結構上都無資訊量。
  2. 在檢定有良好定義的路徑依賴指標上,已實現的交易順序在樣本外無法區分贏家與輸家。 最大回撤、Calmar 與 Ulcer 是交易順序的真正函數,會產生一個非退化的 MC 虛無分布。但在實證上,已實現的順序在統計上與隨機重新洗牌無法區分,平均排名在每種工具上都落在 50% 基準的幾個百分點之內,而過濾器的殘餘提升至多只有一個百分點的零頭。
  3. 浮點求和順序的人為偽影誇大了先前的數字。 向量化置換程式碼以不同於已實現順序的求和順序累加成批被洗牌的交易報酬,在兩個數學上相等的和之間,產生一小部分但非零比例的 IEEE-754 嚴格大於比較。先前在以求和為基礎的統計量上報告的負提升訊號,幾乎全是這個偽影。2026 年 5 月修訂版記錄了此陷阱,附上一個自包含的重現程式,並提出三種修補(路徑依賴統計量、中位排名平手處理,或精確精度求和)。
  4. 尾部分位數估計中的抽樣雜訊。 即便在路徑依賴統計量上,MC 排名也是對某個未知虛無分布尾部分位數的雜訊估計。雜訊沿流程累積,並主導了在上述兩道結構性障礙後所剩的任何殘餘訊號。

示範:挑一個指標,看 MC 能否為其排名

選擇任一選擇指標。我們會將一個固定的 PnL 多重集洗牌 1,000 次,並繪製指標值的分布。任何塌縮為單一點的指標,對策略內 MC 檢定都不可見,無論多少次置換,都無法為數學上恆定的東西排名。

獲利因子、ROI、逐筆交易層級 Sharpe、勝率與 Sortino 全都塌縮。最大回撤、Calmar 與 Ulcer 指數分布於一個非平凡的範圍。檢定僅在第二組上有良好定義,而在真實資料上,那些排名以接近 50% 為中心。

Fig. 2:在修正後(路徑依賴)程序下,橫跨九種工具、按滾動前推視窗的平均 MC-MDD 排名。虛線為隨機重新洗牌的期望(50%)。平均值在基準附近徘徊,視窗內變異高,且跨視窗無一致訊號,在視覺上與預測力虛無假設一致,並顯示該結果並非由少數市場狀態子集所驅動。
Fig. 3:已知基準真相下的合成驗證。在路徑依賴統計量上,三個訊號層級(純虛無、已知優勢、對抗性)的 MC 排名分布。當資料生成過程注入真正的路徑依賴時,檢定會將其偵測為一個小幅左移;在真實資料上,同樣的指標產生一個以 50 為中心的平坦分布,因此實證上訊號的缺席是一個真正的虛無,而非低統計檢定力。

示範:偵測不是預測

挑選一種工具,並將每個投資組合的策略數 K 由 1 滑動到 10。看著樣本內 MC-MDD 排名分布漂移至 50 的右側,檢定正確地偵測到已實現的投資組合回撤幾何優於典型置換所暗示的。然後檢視下一視窗的 OOS 面板。

在彙總的 9 工具結果上,那個在樣本內漂移至 50 右側的同一排名,作為預測器卻反轉:樣本內最平滑的投資組合在樣本外較最嘈雜者表現低 −3.48 pp。MC 檢定偵測到真實的路徑依賴,並與你對賭。

Fig. 4:隨著策略被合併為 10 策略等權投資組合,投資組合 MC-MDD 排名右移(樣本內偵測到真實的路徑依賴),然而同一排名作為預測器卻反轉:按樣本內 MC-MDD 居前十分位的投資組合,在下一視窗 OOS 獲利能力上,於九種工具彙總後較居後十分位的投資組合表現低 −3.48 pp。偵測不是預測。

實務後果

逐策略的 MC 排名訊號不攜帶任何正向的前推選擇內容;它增加了計算時間和一道額外的心智步驟,卻不移動 OOS 分布。在投資組合層級,圖像更為鮮明:合併策略會在 MDD 排名上產生一個右移(實際的投資組合回撤幾何優於典型置換所暗示的),但前推 OOS 測試顯示該訊號均值回歸,按樣本內 MC-MDD 排名居前十分位的投資組合,在下一個滾動前推視窗中,於九種工具彙總後較居後十分位的投資組合表現低 −3.48 pp。投資組合層級的 MC 是路徑依賴的偵測器,而非未來獲利能力的預測器。

在投資組合層級,等權分散勝過過濾器選擇:來自分散的 53–62pp 改善,相對於來自最佳過濾器的 3–5pp。等權多策略投資組合達到 89–98% 的 OOS 獲利能力,無論過濾器的選擇為何,與關於樸素 1/N 投資組合的更廣泛文獻一致(DeMiguel et al., 2009)。

一個在策略層級小到無法偵測的共享訊號,為何在投資組合層級成為一個有把握的訊號,是 訊號是集體的 的主題。該專案及本研究室更廣泛研究計畫背後的生產工作,使用的是相同的 Daru Finance 專有過濾器,一種與本論文所評估的對照過濾器不同的構造。

示範:移動滑桿,看著什麼都沒發生

對虛無發現的常見實務反應是收緊過濾器。將 MC 百分位門檻由 p0 拖到 p99,並觀察 OOS 提升的信賴區間。無論你挑哪一個路徑依賴統計量,CI 帶都不會離開零附近 ±1 pp 的範圍。

Demo: Threshold lift

Sweep the MC percentile threshold and the metric. The OOS top-bottom decile lift CI never leaves the ±1 pp band, while the IS PF > 1 gate alone delivers +4.54 pp.

Paper Table 15 · cal-cluster
percentile threshold (p)50
MC metric
point estimate
+0.34 pp
95% CI
[+0.07, +0.62]
bonferroni
does not survive
IS PF>1 alone
+4.54 pp
OOS top−bottom decile lift vs MC threshold -20+2+4+6±1 pp bandIS PF>1 alone (+4.54)p50: +0.34 ppp0p25p50p75p99MC percentile threshold · drag or hover to scrub

The whole curve is the story: drag across every threshold and the selected metric, plus the faint trails of the others, stays pinned inside the ±1 pp band. The IS PF > 1 gate alone delivers +4.54 pp (the dashed line far above), so MC filtering adds noise around zero no matter which path-dependent statistic you pick. The MC-ROI* artefact curve drifts above zero only because the floating-point summation pitfall sign-flips on forex pairs (paper §8.4).

現在單獨檢視 IS PF > 1 門檻,這個單一的布林過濾器交付了 +4.54 pp 的 OOS 提升。收緊 MC 門檻只增添了計算時間和零附近的雜訊;發揮作用的是樣本內獲利門檻。

方法論摘要

  • 嚴格的滾動前推最佳化:加密採用 10,000 根 K 棒的樣本內視窗(外匯/大宗商品約 10,000 個時鐘小時),每 5,000 根 K 棒/小時前進一次,OOS 評估期間不調整參數。
  • 真實的交易成本:加密永續合約 0.16% 來回(滑點 + 手續費 + 資金費),外匯主流 1.4 pip,大宗商品採用各工具特定的點差。
  • 每個策略視窗對進行 1,000 次策略內 MC 置換(總計約 66.3 億次),於路徑依賴統計量(MDD、Calmar、Ulcer)上;b ∈ {2, 3, 5, 10, 20} 的區塊置換組在投資組合層級增添約 199 億次執行;一條黃金標準的 bar 置換流程(對 bar 報酬進行平穩自助法重抽樣並完整重新執行策略,Aronson/Masters 構造)於九種工具增添約 2.07 億次完整重新執行,作為獨立的、保留依賴性的檢核。端到端約 265 億次置換。
  • §3.4 中的對照過濾器:在匹配的門檻條件下,一個確定性的穩健性組(成本 +50%、時點 ±1 bar、參數 ±1 步)。投資組合分析(§6)涵蓋視窗內 MC、前推 OOS 十分位,以及橫跨約 160,000 個投資組合的 top-N-by-IS-PF 構建。

可重現性與揭露

該儲存庫僅附帶分析腳本,論文中的每一張圖、每一個表,以及每一項內文統計量,都能透過對任何符合所記錄結構描述的策略視窗輸出執行已釋出的流程來重現。程式碼橫跨三種語言:Python(13 個腳本,編排、圖、表,以及一個自包含的浮點求和順序陷阱重現程式),Rust(7 個以 Rayon 平行化的 crate,四個新的路徑依賴 crate mc_path_ranks、block_perm_path、portfolio_mc_path、portfolio_mc_oos,外加舊有的 block_perm、相關性張量,以及合成流程),以及 R(5 個腳本以另一種語言獨立重新推導關鍵統計主張,作為方法論交叉驗證)。所有腳本均使用固定隨機種子(42);自助法 CI 使用 10,000 次重抽樣;提升估計在三個獨立的種子序列間穩定(平均提升變動小於 0.05 pp)。

該套件明確說明哪些 隨附:原始 bar/trade 資料與 437,911 種策略配置仍為專有。讀者透過將腳本指向自己的 bar 層級資料與策略宇宙來重現;產生流程所消耗交易流的策略回測器,於 github.com/DaruFinance/quant-research-framework-rs 開源。另外,Daru Finance 的生產過濾器,用於顧問工作與本研究室更廣泛的研究計畫,是一種與此處所評估對照過濾器不同的構造,且非本論文的主題。

實務者檢查清單

一份八項稽核,在信任你自己的 MC 流程輸出之前先對其執行。最昂貴的錯誤列於下方。

  • 01

    先檢查你的部位規模假設。

    多重集不變性命題假設固定的逐筆交易名目部位規模。在 Kelly、固定比例,或按波動率縮放的部位規模下,結構不變性會破裂,但首先激發該檢定的大部分實務文獻也會一併破裂。請明確說明你處於哪一種情境。

  • 02

    在你的 MC 計數器上使用中位排名平手處理。

    以中位排名平手校正取代嚴格大於計數:rank = (count_strict_less + 0.5 × count_equal) / B。這一項改變即可移除 IEEE-754 求和雜訊在置換不變指標上所產生的左移。

  • 03

    或改用補償/精確求和。

    Python 中的 math.fsum 或任何語言中的 Kahan 求和,能將殘存的捨入誤差壓到偽影可使排名符號反轉的門檻之下。每次呼叫較慢,但消除了這一類錯誤。

  • 04

    使用路徑依賴統計量,而非以求和為基礎的統計量。

    若你的選擇指標屬於多重集不變族(ROI、Sharpe、獲利因子、勝率、Sortino),則策略內 MC 檢定無論實作為何,在結構上都無資訊量。若你想讓置換虛無有意義,請改用 MDD、Calmar 或 Ulcer。

  • 05

    至少使用 B = 1,000 次置換。

    低於此數,虛無的尾部過於嘈雜而無法可靠排名,你會看到由抽樣雜訊驅動的任意左移或右移。本論文全程使用 B = 1,000。

  • 06

    按日曆期間群集你的標準誤。

    樸素的 i.i.d. 標準誤會讓你相信並不存在的效應:在 9 工具 × 160 視窗的面板上,設計效應約為 18×。請使用日曆季群集自助法(約 61 個群集),這是論文中頭條 CI 的來源。

  • 07

    不要以 MC 排名作為前推選擇器來過濾。

    將 MC 檢定用作路徑依賴的偵測器,而非前推預測器。投資組合層級的結果顯示,即使 MC 偵測到真實的路徑依賴,該排名作為 OOS 預測器仍會反轉約 −3.5 pp。

  • 08

    將區塊置換視為偵測,而非預測。

    區塊置換保留局部自相關,並產生一個略窄於 i.i.d. 變體的虛無。它不會產生正向的前推選擇訊號。用它來刻劃依賴結構,而非挑選策略。

一項值得標示的旁觀觀察

族內逐 bar PnL 相關性在整個樣本上平均僅 |ρ̄| = 0.031,駁斥了「單一指標族的參數變體會產生近乎重複的報酬流」這一常見假設。即便在第 99 百分位的配對,平均 |ρ| 也僅為 0.224,遠低於「近乎重複」直覺所預期的 |ρ| > 0.7 水準。這意味著這個 437,911 策略的宇宙,所攜帶的獨立資訊遠多於隨意一讀所會假定的。

Fig. 5:浮點求和順序的人為偽影,分三個面板呈現。向量化置換程式碼以不同於已實現順序的求和順序累加成批被洗牌的交易報酬。約有 1.1% 的洗牌,IEEE-754 在兩個數學上相等的和之間報告嚴格大於(差距 ≤ 5×10⁻¹⁵);約 28.6% 報告完全相等;僅其餘約 70.3% 因實質原因而嚴格更大。在典型 MC 程式碼所用的嚴格大於計數下,排名分布在 i.i.d. 資料上橫跨各策略塌縮至約 37 ± 2%,恰好吻合先前被詮釋為非可交換性證據的左移。
Fig. 6:橫跨九種工具的黃金標準 bar 置換蒙地卡羅。上排:樣本內 PF 排名 vs 50% 隨機重新洗牌基準(加密與大宗商品上存在真實優勢)。下排:相對於 bar 置換虛無的前推 OOS 提升。加密與大宗商品落在零的 ±0.75 pp 之內;外匯表面上的提升在一併報告的安慰劑對照下塌縮。

即便黃金標準的 bar 置換 MC 也產生虛無

此時一個合理的質疑:『策略內逐筆交易洗牌 MC 是廉價版本,Aronson 與 Masters 那個保留依賴性的 bar 置換 MC,才是我真正信任的。』本論文也大規模地執行了那個程序:對 bar 報酬進行平穩自助法重抽樣並完整重新執行策略,橫跨九種工具約 2.07 億次執行。它偵測到真正的樣本內 bar 層級優勢,加密與大宗商品上的 PF 排名 80–86。它產生同樣的前推選擇虛無結果。

安慰劑對照才是讓這個結論滴水不漏的關鍵。同一個人為偽影的過濾器,原本看似能增添價值,其提升卻在各資產類別間翻轉符號,加密與黃金為負,三個外匯對為正,這種模式沒有任何真正不可置換性的理論能預測,但浮點求和的陷阱卻能精確重現。一旦修正該偽影,外匯表面上的優勢也隨之塌縮,加密與大宗商品落定在零的 ±0.75 個百分點之內。因此,在決策時刻唯一重要的問題上,黃金標準程序與廉價版本一致:它確認樣本內確有真實的 bar 層級結構可尋,也確認該結構不會延續到下一個滾動前推視窗。偵測不是預測,而為最昂貴的置換檢定付費,買到的是一個更可信的虛無,而非一個不同的虛無。

常見問題

這適用於股票策略嗎?
本論文的實證範圍是四個加密永續合約、三個外匯主流,以及兩個大宗商品。結構性論證(多重集不變性、浮點陷阱、日曆群集 CI)是實作語言層面的特性,不取決於資產類別。我們尚未在股票上執行該程序;這是 §10 中標示的一項刻意的範圍限制。
那 Kelly/固定比例/按波動率縮放的部位規模呢?
依淨值決定的部位規模會破壞多重集不變性命題,在 Kelly 下,交易到達的順序會改變逐筆交易的名目額,因而改變 ROI 與 Sharpe。所以結構性論證比激發該檢定的實務文獻更為狹窄。實務上,大多數已發表的 MC 置換檢定假設固定部位規模,因為這才使虛無易於處理;本論文的批判正是針對那一批工作。
那我應該改用什麼?
有兩種程序能通過同樣的前推 OOS 稽核,且在方法論上恰當。bar 層級的平穩自助法重抽樣並完整重新執行策略(Aronson/Masters 構造)檢定一個有意義的、保留依賴性的虛無。組合式淨化交叉驗證(López de Prado)檢定一個不同的問題。在這裡的資料上,兩者都產生與策略內檢定相同的前推選擇虛無結果;兩者皆記錄於 §10。
你們測試過像 White's Reality Check 這類宇宙虛無方法嗎?
超出範圍。White's Reality Check、Hansen's SPA,以及 Romano-Wolf StepM 處理的是跨策略多重比較假設,而非策略內置換假設。它們可以用本論文引入的同一套前推提升方法論來評估;我們將其留作後續工作。
程式碼在哪裡,我如何重現浮點示範?
完整流程位於 github.com/DaruFinance/Monte-Carlo-paper。自包含的浮點重現程式(python/fp_pitfall_demo.py)在不依賴外部資料下於 30 秒內執行完畢,並重現論文所記錄的同樣約 37% 平均排名。
為何 2026 年 5 月修訂版撤回了 2026 年 3 月草稿的一項發現?
3 月草稿報告了橫跨九種工具約 −1.2 pp 的一致負 MC 提升。該結果由向量化求和程式碼所驅動,該程式碼在 IEEE-754 嚴格大於下比較兩個數學上相等的浮點數。一經修正,透過中位排名平手、精確求和,或改用真正路徑依賴的統計量,該左移便消失。修訂版記錄了此錯誤、附上一個公開重現程式,並在同樣的規模上執行了修正後的分析。

引用本論文

另見

想看一篇較不正式的姊妹篇,逐步走過更廣泛的實證圖景,並展示一旦撇開策略內置換檢定後,在一個 533,638 策略的族群中優勢實際藏在何處(在於 對族群的選擇,可由已實現每日 PnL 重現),閱讀《優勢在於流程》