開始使用
策略 Edge 驗證器 — 回測過擬合檢測器

策略 Edge 驗證器 — 回測過擬合檢測器

漂亮的回測不等於真的有 edge。多數散戶「會賺」的策略其實是過擬合——那個 Sharpe 是掃了一堆參數挑出來最好的、是停損停利湊出來的假象、或只是運氣好的一段區間。 策略 Edge 驗證器用一整套統計檢定,幫你分辨「真訊號」還是「資料探勘出的雜訊」,全部只跑在你自己的報酬序列或權益曲線上: • 平穩 Bootstrap — 這條曲線跟零 edge 的雜訊分得出來嗎? • Deflated Sharpe — 扣掉「掃 N 組挑最佳」的選擇偏差後還站得住嗎? • PBO / CSCV — 回測期最強的參數,樣本外還是最強嗎? • Hansen SPA & Romano-Wolf StepM — 一籃子規則裡的贏家撐得過 data-snooping 嗎? • Bar-permutation MCPT — 利潤是訊號賺的,還是出場路徑湊的? • 樣本外分割 — 多少 edge 撐得過 holdout? 命令列 + JSON 輸出、自帶測試、標註學術出處。不需市場數據源、不需 API 金鑰、不需你的策略邏輯——你的數字全程不離開你的電腦。
#研究#分析#工程
評分
需要更多評價
已售出
4
使用方式
下載

你的回測是真 edge,還是很貴的幻覺?

會賺的回測曲線不等於有 edge。多數散戶「跑得動」的策略其實是過擬合:那個 Sharpe 是掃了一堆參數挑出來最好的、是停損停利湊出來的假象、或只是運氣好的一段區間。拿去實盤,它會安靜地慢慢失血。

策略 Edge 驗證器幫你跑一整套統計檢定,把「真訊號」跟「資料探勘出的雜訊」分開——全部只跑在你自己的報酬序列或權益曲線上。不需市場數據源、不需 API 金鑰、不需揭露你的策略邏輯。你的數字全程不離開你的電腦。


它驗哪 7 關

關卡 它回答的問題
平穩 Bootstrap 這條曲線跟零 edge 的隨機序列分得出來嗎?(考慮自相關)
Deflated Sharpe 你掃了 N 組參數挑最佳——扣掉選擇偏差後,Sharpe 還剩多少是真的?
PBO / CSCV 回測期最強的參數,到樣本外還是最強,還是直接崩?
Hansen SPA 一籃子規則裡,控制了 data-snooping 後,贏家真的贏 benchmark 嗎?
Romano-Wolf StepM 校正 family-wise error 後,具體哪幾條存活?
Bar-permutation MCPT 利潤是訊號賺的,還是出場路徑(停損停利)湊的?
樣本外分割 多少 edge 撐得過 holdout?

驗證是路由器,不是單一招:不同策略死在不同關,過了一關不代表其他關也過。


快速上手

pip install numpy scipy arch          # arch 選配(只有 SPA/StepM 才需要)

# 單一權益曲線(每期一列報酬,或有 return 欄)
python3 scripts/cli.py --returns my_backtest.csv

# 手上是權益/淨值曲線?會自動差分
python3 scripts/cli.py --equity my_nav.csv

# 依你掃過的參數數量扣選擇偏差
python3 scripts/cli.py --returns my_backtest.csv --trial-sharpes all_trials.csv

# 一籃子候選(PBO + SPA/StepM)
python3 scripts/cli.py --matrix candidates.csv --benchmark bench.csv

# Bar-permutation MCPT
python3 scripts/cli.py --mcpt bars.csv --market-col mkt_ret --position-col pos

# 年化 Sharpe + JSON 輸出
python3 scripts/cli.py --returns my_backtest.csv --periods-per-year 252 --json

輸出範例

 STRATEGY EDGE VALIDATOR — overfitting battery
[PBO OK] pbo=0.041  IS-best median OOS quantile=1.000  (M=8 strategies, 12870 combinations)
[SPA beats benchmark] p_consistent=0.0088
[StepM] candidates beating benchmark (FWER<=5%): [4]
 VERDICT: LIKELY REAL EDGE  (2/2 gates passed)

怎麼讀判決

  • 全關通過 — 歷史數據能給的最強證據。上真錢前仍請先 shadow 前測。
  • DSR/PBO 過但 MCPT 掛 — edge 在你的出場邏輯、不在訊號,不會複製到未來。
  • SPA/StepM 沒有存活者 — 「最佳規則」是探勘出來的,一條都別交易。
  • 任何一關掛 — NO-GO,或降級去前測。別因為其他關漂亮就放行。

它不做的事

  • 它不模擬交易成本、滑點、容量、實盤成交——這些要另外驗。
  • 統計過關是把門檻拉高,不能取代樣本外的前測績效。最後一關永遠是真實時間。
  • MCPT 是固定倉位版,無法偵測同棒 look-ahead——這點請用 lag-1 訊號另外查。

完整方法數學與已知限制都寫在內附的 references/methods.md,而且工具自帶測試(tests/)——一個你可以驗證的驗證器。

常見問題

我需要交出我的策略嗎? 不用。只跑你的報酬/權益數字,什麼都不上傳。

輸入什麼格式? 每期報酬 CSV、權益/淨值曲線、候選矩陣,或對齊的市場/倉位兩欄。範例檔已內附。

基於哪些來源? Bailey & López de Prado、Hansen、Romano-Wolf、Politis-Romano、Masters,全部標註出處。