返回 López de Prado

研究評論 · 研究流程 · 研究 11

Meta-Strategy Organization

把研究當成工廠的裝配線來經營,由可分離、專精的工作站組成,共用一道驗證關卡,並記錄每一個 trial,因為隱藏嘗試次數正是把選擇變成假優勢的元兇

這是整個計畫的壓軸。López de Prado 主張,量化研究應該像工廠的裝配線那樣組織,由專精、可分離的工作站構成,而非一名孤獨的工匠,並受兩條原則約束:可分離性(沒有人既設計一個賭注又評分它)與強制揭露(每個工作站的每一個 trial 都被記錄下來,使得一個被報告的贏家可以用真實的嘗試次數 N 來 deflate)。他警告的反面模式,是那個孤獨的「Sisyphus」量化研究者,他靠著一再對同一個想法做 backtest 來尋找策略,且只報告最好的那個。整個論點最誠實的證據,就是這個計畫自己的計分卡:橫跨各項研究約評估了 98,000 個策略配置,全部以同一道 deflated 門檻把關。null 在 naive 與單一序列的各個 regime 中廣泛地成立,幾乎沒有任何一個通過。但這道關卡並非一概說不:三個受紀律約束的 regime 確實在 deflation 中存活,在每個 horizon 上以 gradient-boosted 模型做的 cross-sectional ranking、在其真正的均值回歸 spread 上的 Ornstein–Uhlenbeck/OU 交易規則,以及大型 universe 的 risk parity。它們 逼近但並未超越最佳的靜態 archetype(約 PF 1.17),而完全揭露的端到端 pipeline 在一段 held-out 窗中仍然什麼都不部署。下方的互動演示精確展示了當 N 被隱藏時,選擇能買到多少免費的 Sharpe。

即將推出

Working paper

撰稿審閱中,尚未發布

程式碼與資料

lopez-de-prado-work-review / projects / 16

the claim

López de Prado 的主張

  • 量化研究應該像工廠的裝配線那樣運作,由專精、可分離的工作站構成,資料策展者、特徵分析師、策略師、backtester 與驗證工作站、部署與部位調整、投組監督,而不是像一名什麼都做的孤獨工匠。
  • 兩條原則約束這條裝配線。可分離性:沒有人既設計一個賭注又評分它,因為建構一個策略並評斷它的人,會對它寬容以待。強制揭露:每個工作站的每一個 trial 都被記錄,因此當一個贏家被報告時,驗證工作站知道真實的 trial 次數 N,並能 deflate 該結果。
  • 警示的對象是那名孤獨的 Sisyphus 量化研究者,他靠著一再對單一想法做 backtest 並只報告最好的那個來發現策略。它之所以失敗是數學上的原因,而非意志力的問題:嘗試足夠多的配置、只報告贏家,那麼即使毫無真實優勢,贏家看起來也很強。隱藏 N 正是讓那個數字變得毫無意義之處;揭露 N 是唯一能讓任何人為此校正的辦法。

our result

我們的發現

  • 孤獨的 backtester 在 out-of-sample 什麼也賺不到。在 39 個標的上的 1,208 個 walk-forward 視窗中,每季挑出唯一最佳的 in-sample 策略並部署它,給出匯總後負 0.02 的已實現 out-of-sample Sharpe(95% 區間為負 0.21 至正 0.18)。這些挑選有著年化 3.09 的 in-sample Sharpe 中位數,因此 in-sample 到 out-of-sample 的衰減為 2.61 的 Sharpe,贏家的詛咒抹去了全部表面上的優勢。out-of-sample Sharpe 在 82% 的標的上為負,命中率中位數為 0.40,比擲硬幣還差。被揭露的流程,拒絕部署任何未通過 deflation 的單一策略,什麼都沒部署。
  • 唯有市場帶有結構之處,分散化才買得到 deflate 後的優勢。組合許多弱相關的策略,把 shortlist 內相關係數的中位數降到 0.11,並把獨立賭注的有效數目提高到約 17,但匯總後的固定政策 sleeve 仍實現了負 0.64 的 out-of-sample Sharpe。在 portfolio 層級,39 個標的中只有 3 個通過 0.95 的 Deflated Sharpe 門檻,而這三個都是寬基股票指數基金(Nasdaq-100 的 proxy,OOS Sharpe 2.50、DSR 1.00;S&P-500 的 proxy 為 1.96;small-cap 的 proxy 為 0.85)。每一個加密貨幣、FX、行業與波動率的 sleeve 都是負的。雜訊的 portfolio 仍然是雜訊。
  • 程式自己的最佳結果低於無技能的期望。以 Combinatorially-Symmetric Cross-Validation 對全程式量得的 backtest overfitting 為 0.21(加密貨幣 0.34、FX 0.11、股票 0.00)。而在 985,570 個合格配置中,觀測到的最佳年化 Sharpe 為 3.21,而在這個規模下純粹無技能 trial 的 expected maximum Sharpe 為 5.22 至 5.61。於是程式的最佳結果,孤立來看令人印象深刻,卻在搜尋被揭露後低於單憑對雜訊的選擇所能產生的水平,該曲線只在約 200 個 trial 處就越過 3.21。那道落差,坦白揭露出來,就是論點。
  • 但 null 並非絕對,在 naive 搜尋失敗之處,紀律仍能存活。三個 regime 誠實地通過了 deflation 關卡。以 gradient-boosted 模型做的 cross-sectional ranking 在 10 個持有 horizon 中的 10 個都通過 Deflated Sharpe 門檻(probability of backtest overfitting 0.10,in-sample 到 out-of-sample 的 rank 相關係數 0.78,out-of-sample 的 profit factor 中位數約 1.12),這是程式中第一個能在 DSR 下存活的 machine learning 優勢。Ornstein–Uhlenbeck/OU 的 optimal-trading-rule,在其真正的 regime(一個 cointegrated 對的殘差 spread,而非單一序列)上運行,在 5 個對中的 3 個通過 DSR,profit factor 中位數為 2.11,並在 5 個中的 4 個擊敗一個 Bollinger-band 對照組。而大型 universe 的 hierarchical risk parity (HRP) 顯示出對 equal weight 的真實 out-of-sample 變異數優勢,且隨著 breadth 增長(HRP-對-1/N 的變異數比在 25 個名稱時為 0.87,在 200 個時為 0.45)。每一個都逼近但並未超越最佳的靜態結構 archetype,約 PF 1.17,而完全揭露的端到端 pipeline 在一段 held-out 窗中仍然什麼都不部署,所以誠實的解讀是:受紀律約束的 ML 與靜態優勢打平,但並未壓倒它。

三行說清結果

E1 · 1,208 個視窗 · 39 個標的

孤獨的 backtester 在 out-of-sample 什麼也賺不到

每季挑出唯一最佳的 in-sample 策略並部署它,給出匯總後負 0.02 的已實現 out-of-sample Sharpe(95% 區間為負 0.21 至 +0.18)。這些挑選有著 3.09 的 in-sample Sharpe 中位數,因此衰減為 2.61 的 Sharpe,贏家的詛咒抹去了全部優勢。out-of-sample Sharpe 在 82% 的標的上為負;命中率中位數為 0.40。被揭露的流程,拒絕任何未通過 deflation 的單一策略,在全部 1,208 個視窗中什麼都沒部署。

E2 · 39 個標的 · 約 17 個有效賭注

唯有市場帶有結構之處,分散化才付得出報酬

組合弱相關的賭注,把 shortlist 內相關係數的中位數降到 0.11,並把有效賭注數提高到約 17,但匯總後的固定政策 sleeve 仍實現了負 0.64 的 out-of-sample Sharpe。39 個標的中只有 3 個通過 0.95 的 portfolio Deflated Sharpe 門檻,而這三個都是寬基股票指數基金(QQQ,OOS 2.50 / DSR 1.00;SPY 1.96;IWM 0.85)。每一個加密貨幣、FX、行業與波動率的 sleeve 都是負的。

E4 · 985,570 個 trial · 最佳 3.21

程式的最佳結果低於無技能的期望

全程式的 backtest overfitting 為 0.21(加密貨幣 0.34、FX 0.11、股票 0.00)。在 985,570 個合格配置中,觀測到的最佳年化 Sharpe 為 3.21,而在這個規模下純粹對雜訊的選擇被預期能產生 5.22 至 5.61。最佳結果在搜尋被揭露後低於無技能的期望;該曲線只在約 200 個 trial 處就越過 3.21。那道落差就是揭露效應,也就是論點。

紀律 · 3 個 regime 通過 DSR

但 null 並非絕對,紀律仍能存活

這道關卡並非一概說不。以 gradient-boosted 模型做的 cross-sectional ranking 在 10 個 horizon 中的 10 個都通過 Deflated Sharpe 門檻(PBO 0.10,IS→OOS rank ρ 0.78,PF 中位數約 1.12),這是程式中第一個能在 DSR 下存活的 ML 優勢。OU 在其真正的均值回歸 spread 上於 5 個 cointegrated 對中的 3 個通過 DSR(PF 中位數 2.11)。大型 universe 的 risk parity 對 1/N 的變異數優勢隨 breadth 增長(25 至 200 個名稱時由 0.87 → 0.45)。每一個都逼近但並未超越最佳的靜態 archetype(約 PF 1.17),而完全揭露的 pipeline 在 held-out 中仍然什麼都不部署。

揭露你的 trial

拖動一名研究者默默搜尋過的配置數量 N。曲線是無技能策略的 expected maximum Sharpe;在毫無真實優勢下,N 個之中最好的那個仍隨 N 上升。孤獨量化研究者的標記落在 2,500 個沉默 trial 處。這是一個教學機制,並非可交易的主張。

互動演示的重點是:除非每個 trial 都被揭露,否則選擇會偽裝成技能。把 N 往上拉,一個無優勢搜尋的 expected maximum Sharpe 會隨之上升,到了 2,500 個 trial 已接近 1.8,這個數字看起來像是一個認真的策略。一名孤獨的量化研究者若只報告這些 trial 中最好的那個並隱藏 N,就會把這個數字當作技能交到你手上。揭露 N 是唯一能讓 Deflated Sharpe Ratio 減去這個基準、並把贏家 deflate 至 0.95 機率門檻的辦法。那套揭露紀律,正是裝配線所制度化的東西。

互動演示,揭露你的 trial

拖動一名研究者默默搜尋過的配置數量 N。曲線是無技能策略的 expected maximum Sharpe(False Strategy Theorem,每個 trial 取 T = 1000 觀測):在毫無真實優勢的構造下,N 個 backtest 中最好的那個仍隨 N 上升。一名孤獨的量化研究者若只報告最好的那個並隱藏 N,就會把這個數字當作技能交到你手上。揭露 N 是唯一能讓 Deflated Sharpe Ratio 減去這個基準的辦法。

DSR · T = 1000
搜尋的 trial 數 N
101e31e51e6

N 是真正嘗試過的配置數,包含每一次沉默的重跑。

報告的最佳 Sharpe1.76
0.51.52.53.5

N 個 backtest 中唯一最好的那個(年化),也就是最終被發表的數字。

報告的最佳 Sharpe
1.76
expected max Sharpe(無技能)
1.76
無技能 TRIAL 的 EXPECTED MAX SHARPE 對 N0.00.51.01.52.02.53.03.5expected max Sharpe(年化)101001k10k100k1M搜尋的 trial 數 N(對數刻度)E[max Sharpe],無優勢被報告為優勢孤獨量化研究者,2,500 中最佳
顯著性落差
naive 解讀
看似顯著
誠實解讀(deflated)

搜尋 1.76. 個無技能配置並只報告最好的那個,光靠純粹的選擇就能買到這麼多年化 Sharpe。在 N 被揭露之前,無從把它與技能區分開來;一旦揭露,Deflated Sharpe Ratio 就會減去這個基準,贏家便 deflate 至 0.95 機率門檻。

Fig. 1:Sisyphus 陷阱。在毫無真實優勢的構造下,N 個 backtest 中最好的那個仍隨 N 上升;在 2,500 個沉默 trial 下,光靠選擇就買到約 1.8 的年化 Sharpe。無技能策略的 Monte Carlo 點落在解析曲線上。揭露 N 讓 Deflated Sharpe Ratio 得以減去這個基準。

Sisyphus 陷阱,量化呈現

False Strategy Theorem 給出 N 個無技能 trial 的 expected maximum Sharpe,每個都在一段 T 觀測的軌跡上估計。在毫無真實優勢的 構造下,N 個 backtest 中最好的那個仍隨 N 穩步上升,而那段上升純粹是選擇。在 2,500 個沉默 trial,這個計畫每標的的加密貨幣 corpus 規模,光靠選擇就買到約 1.8 的年化 Sharpe。若那位量化研究者從不告訴你 N,你就無從得知這個 1.8 是海市蜃樓。揭露 N 正是讓 Deflated Sharpe Ratio 減去這個基準、並揭穿贏家不過是運氣的關鍵。

六個可分離工作站,一道共用關卡

此示意圖排出六個工作站,並把每項完成的研究對應到它所壓力測試的工作站:資料策展者(資訊驅動 bar、分數差分)、特徵分析師(結構性斷點與熵、微結構特徵、因果因子)、策略師(triple-barrier 與 meta-labeling、trend-scanning 標記)、backtester 與驗證(purged cross-validation、ensemble 與重要性,以及 overfitting 與 Deflated Sharpe 框架本身)、部署與部位調整(賭注大小、最佳交易規則),以及投組監督(投組建構)。沒有任何單一研究包辦一切,也沒有任何研究為自己的工作評分,因為驗證工作站是共用的,並以相同方式套用。揭露迴圈記錄每一個 trial,好讓關卡能用真實的 N 來 deflate。

Fig. 2:六個專精、可分離的工作站餵入一道共用驗證關卡,每項完成的研究對應到它所壓力測試的工作站,並有一個揭露迴圈記錄每一個 trial,好讓關卡能用真實的 N 來 deflate。其反面是那名隱藏 N、並由構造而 overfit 的孤獨量化研究者。
Fig. 3:每項研究中所評估的配置對通過 deflation 關卡的配置。naive 與單一序列搜尋幾乎沒有任何通過;三個受紀律約束的 regime, cross-sectional ranking、在其真正 spread 上的 OU、大型 universe 的 risk parity,確實通過,但逼近而非超越最佳的靜態 archetype。

計畫計分卡:關卡廣泛地擋住,但紀律通過了

每項研究中,所評估的配置對通過 deflation 關卡的配置。橫跨 naive 與單一序列研究,這條線評估了約 98,000 個配置,而幾乎沒有一個通過;92,500 個策略的 overfitting corpus 在 3 個市場中通過 0 個。但這道關卡並非一概說不。三個受紀律約束的 regime 誠實地在 deflation 中存活:以 gradient-boosted 模型做的 cross-sectional ranking 在 10 個中的 10 個 horizon 上通過 DSR(程式中第一個能在 DSR 下存活的 machine learning 優勢)、Ornstein–Uhlenbeck/OU 規則在其真正的均值回歸 spread 上於 5 個中的 3 個 cointegrated 對通過,而大型 universe 的 risk parity 對 equal weight 的 out-of-sample 變異數優勢隨 breadth 增長。每一個都逼近但並未超越最佳的靜態 archetype,約 PF 1.17。工廠從頭跑到尾,關卡對 naive 搜尋說不、只對紀律說是,這正是紀律按既定意圖運作。

把計畫當成一條裝配線,一項統合分析

每一項研究,以同一道 deflated 門檻把關

下方每一個數字都讀自各研究自己的結果表。裁決有兩面:naive 與單一序列研究,約 98,000 個配置,幾乎沒有任何通過,而三個受紀律約束的 regime 確實在同一道 deflated 門檻下存活(以 gradient-boosted 模型做的 cross-sectional ranking、在其真正均值回歸 spread 上的 Ornstein–Uhlenbeck/OU 規則,以及大型 universe 的 risk parity)。資料表徵研究(資訊驅動 bar、分數差分)與洩漏研究屬於統計性質的工作,本質上沒有成本,因此不帶任何策略層級的 deflation 關卡,被排除於 trial 總數之外並如此標示。

研究工作站trials通過 DSR>0.95主張是否重現
Backtest overfitting & DSRValidation92,5000 / 3 marketsYes, best Sharpe below the null E[max] in all 3 markets; DSR 0.00–0.03
Information-driven barsData representation, n/aYes, excess kurtosis collapses toward Gaussian in all 3 markets (property study)
Fractional differentiationData representation, n/aYes, FFD keeps ~0.98 memory while buying stationarity (property study)
Triple-barrier + meta-labelingLabeling1,1340 / 42Partly, mechanics reproduce; meta-label adds no deflated edge
Purged CV / CPCV leakageValidation, n/aYes, naive k-fold inflates the score; purging removes it (property study)
Trend-scanning labelsLabeling37819 / 42Partly, DSR hits exist but the labeller ties its fixed-horizon control (19 vs 18 of 42)
Structural breaks & entropyFeatures1080Yes as features, but not tradeable; best DSR 0.002
Microstructural featuresFeatures1440Partly, estimators cheap, but nothing tradeable after costs
Cross-sectional ML (LightGBM ranking)Model / strategy10 horizons10 / 10Yes, the program's first DSR-surviving ML edge; PBO 0.10, IS→OOS rank ρ 0.78, median PF ~1.12; approaches but does not beat the best static archetype
Ensembles & feature importanceModel / importance1,2800 / 40Yes on the science, bagging gap ~5× smaller, MDA less biased; no deflated edge
Bet sizingSizing1,3440 / 42Partly, sizing changes turnover, not deflated performance (PBO ~0.49)
Optimal trading rules (OU on a cointegrated spread)Sizing / exits5 pairs3 / 5Yes in its true regime, on the mean-reverting residual spread the OU rule clears DSR on 3 of 5 pairs (median PF 2.11) and beats the band control on 4 of 5; the single-series mesh still ties its IS-tuned control
Portfolio construction (HRP / large universe)Allocation5 sizesrankingYes on ranking, HRP's out-of-sample variance advantage over 1/N grows with breadth (HRP/1N variance 0.87 at N=25 → 0.45 at N=200); 0 clear an absolute DSR on this net-noisy panel
Causal factor investingFeatures / validation90Yes, MC reproduces the bias; no real factor survives adjustment + deflation (best DSR 0.45)

「Trials」計算所評估的策略配置;性質研究不帶策略 deflation 關卡,被排除於 naive regime 的 ~98,000 總數之外。整個計畫中唯一的合成資料,是驗證 expected-max-Sharpe 公式的那個已標示的 Monte Carlo;其餘一切皆為真實市場資料。通過關卡的受紀律約束 regime, cross-sectional ranking(10 個 horizon 中的 10 個)、在其真正 cointegrated spread 上的 OU(5 個對中的 3 個)以及大型 universe 的 risk parity,逼近但並未超越最佳的靜態 archetype,約 PF 1.17;較舊的單一序列 trend-scan 與 OU-mesh 最佳者仍與自己 in-sample 調校的對照組打平。

對程式自身 corpus 的四個實驗

約 120 萬個策略配置,橫跨 42 個標的,受審

上方的計分卡是程式在讀自己的結果表。下方的四個實驗更進一步:它們把這套組織論點當成一個受控、計入成本後的實驗,在程式自身的真實策略結果 corpus 上重新執行,約 120 萬個策略配置,橫跨 42 個標的,涵蓋加密貨幣、股票與外匯,每一條已實現的資金流都計入成本,並依構造清除 look-ahead。每個實驗回答論點所提出的一個問題,而當結果為負時,就如實報告為負。

Fig. 4:Sisyphus 對上被揭露的裝配線。左,每個標的最佳的 in-sample 挑選都遠落在無衰減線之下,把贏家的詛咒視覺化。右,孤獨 backtester 匯總後已實現的 out-of-sample 資金曲線繞了一圈回到約零,而被揭露的紀律,拒絕部署任何未通過 deflation 的單一策略,維持水平。

E1 · Sisyphus 對上被揭露的裝配線

在 39 個標的上的 1,208 個 walk-forward 視窗(一年 in-sample、一季 out-of-sample,按季推進)中,我們在同一個候選池上並排執行兩套研究流程。孤獨的 backtester 在每個視窗挑出唯一最佳的 in-sample 策略並部署它;被揭露的裝配線則針對搜尋過的全部 trial 數,以 False Strategy Theorem 的 null 來篩選候選池,且只部署通過 Deflated Sharpe 門檻的策略。

孤獨 backtester 的挑選有著年化 3.09 的 in-sample Sharpe 中位數,以及匯總後 負 0.02 的已實現 out-of-sample Sharpe(95% 區間為負 0.21 至正 0.18)。in-sample 到 out-of-sample 的平均衰減為年化 2.61 的 Sharpe,贏家的詛咒抹去了全部表面上的優勢。已實現的 out-of-sample Sharpe 在 82% 的標的上為負,命中率中位數為 0.40,比擲硬幣還差。被揭露的流程,堅持任何單一策略都須通過揭露-trial 的 null,在全部 1,208 個視窗中 什麼都沒部署;最佳單一策略的 Deflated Sharpe 在每個視窗實際上都是零(每視窗最大值 0.0001),而把門檻從 0.95 放寬到 0.60 也毫無改變。拒絕部署不是這套紀律的失敗;而是這套紀律正確地報告:一旦承認嘗試了多少次,沒有任何單一 backtest 能存活。

E2 · The meta-strategy portfolio

López de Prado 的建設性答案不是一個偉大的策略,而是把許多弱而弱相關的策略組合起來,deflate 的是整個 sleeve 而非每個部分。我們為每個標的與視窗建立分散化的 shortlist,以四種方式配置,並針對一個 portfolio 層級的 null 來 deflate 整個 sleeve。

分散化是真實的:shortlist 內絕對相關係數的中位數降到 0.11,獨立賭注的有效數目升到約 17。但組合弱賭注,多半只是組合了雜訊。匯總後的固定政策 sleeve 有著 負 0.64的已實現 out-of-sample Sharpe,而在 portfolio 層級,39 個標的中只有 3 個 通過 0.95 的 Deflated Sharpe 門檻,而這三個都是寬基股票指數基金。每一個加密貨幣、外匯、行業與波動率的 sleeve 都是負的。分散化會降低相關性、提高有效賭注數,正如所宣稱的;至於這是否買到 deflate 後的優勢,則完全取決於市場在計入成本後是否帶有持久的結構。雜訊的 portfolio 仍然是雜訊。

Fig. 5:The meta-strategy portfolio。分散化的 sleeve 在所有市場都達到低相關,但只有寬基股票指數把這一點轉化為正的 out-of-sample Sharpe。
Fig. 5b:各標的 portfolio 層級的 Deflated Sharpe;只有三個股票指數 sleeve 通過 0.95 門檻。

E2 · 唯一通過的 sleeve

三個寬基股票指數,別無其他

在 39 個標的中,只有三個通過 portfolio 層級 0.95 的 Deflated Sharpe 門檻,而這三個都是寬基股票指數基金。每一個加密貨幣、外匯、行業與波動率的 sleeve 都有負的已實現 out-of-sample Sharpe,以及在零或近零的 portfolio Deflated Sharpe。

sleeve它是什麼OOS Sharpe(年化)portfolio DSR
QQQNasdaq-100 index proxy2.501.00
SPYS&P 500 index proxy1.961.00
IWMsmall-cap (Russell 2000) proxy0.851.00

最佳 deflate 後 sleeve 的已實現 out-of-sample Sharpe,連同 portfolio 層級的 Deflated Sharpe Ratio。橫跨全部 39 個標的的匯總固定政策 sleeve 為負 0.64;portfolio Deflated Sharpe 的中位數基本上為零。存活下來的優勢是市場,而非搜尋。

Fig. 6:程式的 probability of backtest overfitting。依市場的 cross-validation out-of-sample logit 分布:股票的質量遠在右側(overfitting 接近零),而加密貨幣與外匯橫跨邊界,給出全程式 0.21 的 overfitting 機率。

E3 · 程式層級的 probability of backtest overfitting

Probability of Backtest Overfitting 問的是:在 Combinatorially-Symmetric Cross-Validation 下,最佳的 in-sample 策略有多常落在 out-of-sample 的後半段。接近 0.5 的值意味著 in-sample 排名不帶任何 out-of-sample 資訊。我們在每個標的真實的淨日 PnL 矩陣上執行它,以固定種子,每個標的抽樣至多 1,500 個經活躍度篩選的策略。

全程式的 probability of backtest overfitting 為 0.21。依市場分:加密貨幣為 0.34、外匯為 0.11、股票為 0.00。股票指數的排名在 out-of-sample 是穩定的;加密貨幣的排名接近擲硬幣;外匯則居中。這個排序重現了程式較早在較小網格上的 per-corpus 研究,而此處更大、更多元的日度 corpus 在加密貨幣與外匯上顯示出稍多的 overfitting 空間,正是搜尋空間擴大時所預期的。

E3 · 依市場的 overfitting

同一個診斷把各市場乾淨地分開

依市場的 probability of backtest overfitting,透過在真實淨日 PnL 矩陣上的 Combinatorially-Symmetric Cross-Validation 跨標的匯總。接近 0.5 的值意味著 in-sample 排名不帶任何 out-of-sample 資訊。

市場PBO解讀
Equities0.00rankings stable out of sample
Foreign exchange0.11in between
Crypto0.34close to a coin flip
Program-wide0.21pooled across all instruments

全程式的 probability of backtest overfitting 為 0.21(每標的中位數 0.22),每標的範圍從 0.00 到 0.63。backtest overfitting 是真實的,且強烈依賴市場。

E4 · 程式的最佳結果,對上無技能的期望

False Strategy Theorem 說,N 個無技能 trial 的 expected maximum Sharpe 隨 N 與 trial 之 Sharpe 的離散度而增長。我們從真實 corpus 量了這三者:trial 數、各策略 Sharpe 的經驗離散度,以及由真實相關結構的特徵值 participation ratio 得出的有效獨立 trial 數。

程式搜尋了 985,570 個合格配置。真實的相關結構很鬆(絕對相關係數中位數 0.05),因此有效的獨立 trial 數為 186,139,約為名目值的 19%。整個 corpus 觀測到的最佳年化 Sharpe 為 3.21,出現在 Nasdaq-100 的 proxy 上。在這個規模下,純粹無技能 trial 的 expected maximum Sharpe,在名目計數下為 5.61,在有效計數下為 5.22。於是這個研究中最醒目的單一數字出現了:程式自己的最佳結果,孤立來看令人印象深刻,卻 低於 一旦揭露了約一百萬個 trial 後、單憑對雜訊的選擇就被預期能產生的水平。無技能曲線只在約 200 個 trial 處就越過 3.21。在如此龐大的搜尋下,3.21 的 Sharpe 甚至跟不上純粹的機率。這就是論點,濃縮在一張圖裡。

Fig. 7:Expected maximum Sharpe 對 trial 數,由真實的策略 Sharpe 離散度與真實的有效獨立 trial 數構造。觀測到的最佳值 3.21 在程式的名目與有效 trial 計數下都低於無技能期望;該曲線只在約 200 個 trial 處就越過 3.21。

E4 · 程式最佳對上 null

觀測最佳 3.21,單憑雜訊預期為 5.22 至 5.61

程式規模的 expected-maximum-Sharpe 比較的各項要素,全部由真實 corpus 量得。觀測到的最佳值在名目與有效 trial 計數下都低於無技能期望。

數量數值備註
Eligible configurations searched985,5701.20M in total
Effective independent trials186,139~19% of nominal; median |corr| 0.05
Observed best Sharpe (ann.)3.21Nasdaq-100 proxy
E[max Sharpe], nominal N5.61skill-less expectation
E[max Sharpe], effective N5.22skill-less expectation
Trials to reach 3.21 by chance~200where the skill-less curve crosses the observed best

有效 N 由每個標的的特徵值 participation ratio 量得,並跨標的相加,把各標的視為獨立區塊,是對跨標的冗餘的一個保守偏低的估計。觀測到的最佳值 3.21 獨立地重現了程式較早的 best-of-corpus 數字。

Fig. 8:研究的裝配線串成單一、已揭露的系統,在一段從未碰過的 out-of-time 窗上只跑一次。上方:從 dollar bars 到 Deflated Sharpe deploy gate 的九個工站;揭露 162 組配置,零個 sleeves 越過 gate。下方:實現的 out-of-time equity,帶 gate 的 pipeline 持有現金(持平),Sisyphus 選擇往負向漂移,只有 buy-and-hold 上升。

整條裝配線,串成一個系統並只跑一次

前四個實驗一次解剖程式的一個工站。capstone 的最後一個測試做相反的事:把每一個工站串成單一、已揭露的系統,從頭到尾一次性地在一段調參階段從未碰過的時間窗上跑完。information-driven bars(dollar bars)餵入 triple-barrier labels;sample-uniqueness 權重把重疊事件的權重壓低;一個 bagging 樹模型加上 meta-label gate 決定何時出手;一條 bet sizing 規則調整部位大小;Hierarchical Risk Parity 在任何合格的 sleeves 之間配置;而一道設在 0.95、對照已揭露 trial 數的 Deflated Sharpe Ratio deploy gate 擁有最終決定權。六個標的,總共搜尋 162 組配置,每條序列的最後 20% 留作 held-out,每邊 7 個基點的成本。

已揭露的 pipeline 沒有 deploy 任何東西。沒有任何一個標的的調參 Deflated Sharpe 越過 0.95 這道門檻,所以 gate 持有現金,實現的報酬恰好為零。Sisyphus 選擇,那個唯一的最佳 in-sample 配置、被盲目 deploy,在 out-of-sample 虧了錢,年化 Sharpe 為 -0.83,profit factor 為 0.96。在這段 held-out 窗裡,唯一為正的實現報酬流就是單純的 buy-and-hold,達 +1.81。整套論點在這裡歸結為單一一個決定,而已揭露的 gate 做對了:它拒絕出貨那個孤獨回測者的虧損選擇。

E5 · 一條已揭露的 pipeline,在 held-out 時間上只評分一次

gate 什麼都不出貨,孤獨選擇虧損,只有 buy-and-hold 為正

在六個標的的 held-out out-of-time 窗上的彙總實現結果。帶 DSR gate 的 pipeline 是已揭露的系統;Sisyphus 選擇是孤獨回測者被盲目 deploy 的最佳 in-sample 配置;buy-and-hold 是被動基準。

流程OOS Sharpe(年化)OOS PF是否 deploy?
assembled pipeline (DSR-gated)0.00n/aNO, held cash
Sisyphus best-in-sample pick-0.830.96deploys blindly
buy and hold+1.811.06,

out-of-sample 是每條序列的最後 20%,從未用於調參;成本為每邊 7 個基點;deploy gate 是對照 162 組已揭露配置、設在 0.95 的 Deflated Sharpe Ratio。沒有任何標的越過 gate,所以 pipeline deploy 了零個 sleeves,實現為零。

調和各個切面:把揭露效應講明白

兩個都為真的陳述,乍看像是矛盾。程式的 per-instrument 計分卡報告了通過高 Deflated Sharpe 門檻的存活者,在 trend-scanning 研究中為 42 個標的中的 19 個,在 optimal-trading-rules 研究中為 42 個中的 3 個,總共 22 個。然而程式的單一最佳結果,對上完整 corpus 的 Deflated Sharpe 低於 0.03,而 E1 被揭露的流程什麼都沒部署。

兩者都對,而它們之間的落差 正是 揭露效應。per-instrument 的數字,是把每個存活者對上那個標的自己、為數不多的 trial 計數來 deflate;而程式最佳的數字,是把那唯一最佳結果對上約一百萬 trial 的完整 null 來 deflate。同一個結果,可以通過一個小的局部 null,卻在一個大的全域 null 上失敗。這正是裝配線被建造來揭示的效應:揭露每一個 trial、對上真實的 N 來 deflate 贏家,於是一個看起來像技能的數字,就被揭穿為選擇。

揭露也有其建設性的一面,而程式把它展示了出來。有兩個 regime 確實在不倚賴一個小的局部 null 之下通過了門檻:在其真正均值回歸 spread 上被 deflate 的 Ornstein–Uhlenbeck/OU 規則(5 個 cointegrated 對中的 3 個,並在 5 個中的 4 個擊敗一個 band 對照組),以及以 gradient-boosted 模型做的 cross-sectional ranking,它在全部 10 個 horizon 上以 0.10 的 probability of backtest overfitting 通過,是程式中第一個能在 DSR 下存活的 machine learning 優勢。兩者都逼近最佳的靜態 archetype,約 PF 1.17,而非超越它,所以誠實的解讀不是「什麼都行不通」,而是「紀律與靜態優勢打平,而 naive 的 Sisyphus 搜尋做不到」。

非揭露的代價

無技能 trial 的 expected maximum Sharpe 對 N

N 個無技能 trial 的年化 expected maximum Sharpe(False Strategy Theorem,每個 trial 取 T = 1000 觀測)。重點正在於此:在毫無真實優勢下,N 個 backtest 中最好的那個仍隨 N 穩步上升。這就是一個被揭露的 N 讓 Deflated Sharpe Ratio 得以減去的基準。

trials NE[max Sharpe],年化備註
100.79
1001.27
1,0001.63
2,5001.76lone quant, best of 2,500
10,0001.94
100,0002.20
1,000,0002.44

解析值來自 T = 1000 的 False Strategy Theorem。已對照一個無技能策略的 Monte Carlo 驗證,落在 Monte Carlo 誤差之內(在 N 從 10 到 5,000 之間,每觀測 Sharpe 的最大絕對差為 0.0009);Sharpe 內層迴圈經驗證與一個獨立參考逐位元相同(在 200 個隨機矩陣上最大差異為 0.0)。

方法

  • Expected-max-Sharpe 曲線:False Strategy Theorem(Bailey & López de Prado)給出 N 個獨立無技能 trial 的 E[max SR],每個都有一段 T = 1000 觀測的軌跡,且每 trial 的 Sharpe 變異數 ~1/T。曲線在 N 從 2 到 1,000,000 之間以解析方式計算,並以年化報告。
  • Monte Carlo 驗證:對於數個 N 值,我們抽取數千條獨立的零均值、單位變異數報酬流(由構造而無優勢),取每個宇宙中的最大樣本 Sharpe 並求平均。這個已標示的合成實驗,是整個計畫中唯一的合成資料。它在每一個受測的 N 上都與解析公式相符,落在 Monte Carlo 誤差之內(在 N 從 10 到 5,000 之間,每觀測 Sharpe 的最大 |Δ| 0.0009)。
  • 數值驗證:Sharpe-of-a-matrix 的內層迴圈被實作了兩次,一次以單純的陣列程式碼、一次作為編譯後的 kernel,兩者經驗證為逐位元相同(在 200 個隨機輸入矩陣上最大差異為 0.0)。在這個工作負載中,主導執行時間的是隨機抽樣而非 Sharpe 計算,所以編譯後的 kernel 是正確性的保險,而非速度上的勝利。
  • 統合分析計分卡:計畫中每項完成的研究都被對應到它所壓力測試的裝配線工作站,而它自己的結果表提供了所評估的配置與通過 Deflated Sharpe 關卡(DSR > 0.95)的數量,並以 Probability of Backtest Overfitting 與有效 trial 數作為輔助診斷。同一套驗證框架以相同方式套用於每項研究。性質研究(bar、分數差分、洩漏)不帶策略 deflation 關卡,被排除於 trial 總數之外。

備註與誠實評估

這是一項 流程與紀律的結果,而非可交易的優勢,且全篇都如此框定。expected-max-Sharpe 公式精確顯示出當 N 被隱藏時,選擇能買到多少免費的 Sharpe,且它與一個無技能的 Monte Carlo 相符,落在 Monte Carlo 誤差之內。這個計畫本身就是裝配線的實作範例:它跑遍每個工作站、記錄每一個 trial、以同一道 deflated 門檻把關一切。誠實的裁決有兩面。null 在 naive 與單一序列的各個 regime 中廣泛地成立,關卡在那裡否決了約 98,000 個配置中的幾乎全部。但這道關卡並非一概說不:三個受紀律約束的 regime 在 deflation 中存活,在每個 horizon 上以 gradient-boosted 模型做的 cross-sectional ranking、在其真正均值回歸 spread 上的 Ornstein–Uhlenbeck/OU 規則,以及大型 universe 的 risk parity,而每一個都逼近但並未超越最佳的靜態 archetype,約 PF 1.17,同時完全揭露的端到端 pipeline 在一段 held-out 窗中仍然什麼都不部署。裝配線加上強制揭露,正是把誠實研究與 Sisyphus 陷阱區分開來的東西,而其最強的證據,是一個揭露了自己的 N、並讓數字對 naive 搜尋說不、只對紀律給出有節制的是的計畫。互動演示是一個錨定於真實曲線的教學機制,並非主張其上任何一個數字是可達成的優勢。

可重現性

expected-max-Sharpe 曲線、Monte Carlo 驗證、逐位元相同的一致性檢查、統合分析計分卡與圖表都收錄於 project 16(隸屬於 lopez-de-prado-work-review)。本頁的互動演示是自包含的:真實曲線的錨點已編碼於元件之中,因此它所闡明的機制在每次載入時都精確重現。

引用

參考文獻

此處所綜整框架的主要來源:

另見

共用的驗證關卡是 Backtest Overfitting & the Deflated Sharpe Ratio 的主題,因果圖工作站是 Causal Factor Investing,同一個選擇紀律的主題貫穿 The edge is in the process,而更廣泛的工作匯集於 Research