比特幣滾動樣本外驗證實驗室
把比特幣週價格歷史切成一連串前後相接的測試折(fold),每一折只用之前的資料擬合冪律模型。平衡(Balanced)策略會在每一折重新從頭執行,並和相同現金流的定期定額(DCA)比較,讓你看出策略是否只在某一段行情有效。
這個研究實驗室的互動介面目前以簡體中文提供;下方說明涵蓋所有輸入、方法與限制。
輸入項目
- 第一折之前的最少訓練年數(3–10;預設 5)
- 每折測試月數(3–36;預設 12)
- 折間步長(3–36 個月;預設 12)
- 最多折數(2–24;預設 10;保留最近的幾折)
- 固定策略:百分位 ≤ 25 時買進(50% 現金)、≥ 90 時賣出(25% BTC),資金 $10,000、每月投入 $500、手續費 10 bps、滑價 5 bps
輸出結果
- 有效測試折數
- 跑贏 DCA 的折數與比例
- 相對 DCA 超額的中位數與 P25–P75 區間,以及最差一折的超額
- 逐折表格:訓練截止日、測試區間、策略價值、DCA、超額、最大回撤、交易次數
- 逐折 CSV 匯出(含投入報酬率)與建立永久快照
使用步驟
- 選擇最少訓練年數,讓模型在第一折之前有足夠資料。
- 設定每折測試長度與折間步長。
- 限制最多折數;工具會保留最近的幾折。
- 看跑贏 DCA 的比例、中位數與最差一折,而不是全期合併的單一結果。
- 匯出 CSV 或建立快照保存驗證結果。
計算公式
第一折起點 = 第一筆觀測 + 最少訓練年數;之後每隔一個步長(1 個月 = 30.4375 天)開始下一折,每折長度為測試月數。每一折從折起點執行冪律回測到折終點,模型每月只用之前的全部資料重新擬合。超額 = 策略折末價值 − DCA 折末價值。週觀測少於 8 筆的折會被略過,至少需要 2 個有效折。
計算範例
假設 6 折的超額(USD)為:+1,200、−300、+450、+2,100、−800、+150。跑贏 DCA = 4/6 ≈ 66.7%。排序後:−800、−300、150、450、1,200、2,100 → 中位數 = (150 + 450) / 2 = 300;最差一折 = −800。
如何解讀
- 跑贏比例高、最差一折虧損不深,代表結果不是只來自單一行情。
- 如果大部分優勢都來自某一折,全期合併的結果可能誤導。
- 步長短於每折長度時,各折會重疊,彼此並不完全獨立。
注意事項
- 樣本外驗證能降低、但無法消除過度擬合;折數、視窗長度與市場結構變化都會影響結果。
- 每一折都從 $10,000 與每月 $500 重新開始,各折的金額不會累加。
- 策略參數固定為 Balanced;在回測器修改參數不會影響本頁。
常見問題
什麼是滾動樣本外驗證(Walk-Forward)?
在一連串前後相接的歷史區間上測試策略,每個測試區間只用它之前的資料擬合模型,模擬在不知道未來的情況下做決策。
為什麼顯示歷史資料不足?
至少需要 160 筆週觀測與 2 個有效折。可以降低最少訓練年數、縮短每折長度或縮小步長。
訓練資料是固定長度滑動的嗎?
不是,訓練視窗是擴張式的:每一折都使用從第一筆觀測到該折起點前的全部資料。