網格的回測比大多數策略更容易騙人,原因很具體:它的關鍵參數就是價格區間,而用歷史資料挑一個剛好包住歷史價格的區間,必然賺錢。 這不是回測,是把答案抄進題目。理解這個結構性問題,比學會任何回測工具都重要。


八個陷阱

一、區間的後視選擇(look-ahead bias)。

拿最近 30 天的高低點畫區間,然後回測那 30 天——結果必然是「從未突破區間、穩定獲利」。這是網格回測最常見也最致命的錯誤,而且它常常是無意識的:任何用歷史資料選參數再測同一段歷史的流程,都犯了這個錯。

二、忽略手續費。

s。間距 0.5%、費率 0.1% 時,手續費吃掉 40%;間距 0.3% 時吃掉 67%。不含費的回測不只是高估,它會直接反轉結論——一個「年化 80%」的細網格,含費後可能是負的。

三、忽略資金費率(合約)。

基準 0.03%/日、極端 0.3%/日。長時間持倉的網格對此極度敏感,30 天可以累積 0.9%–9% 的名目成本。多數簡易回測工具完全不模擬這一項。

四、忽略滑價與部分成交。

回測假設每張限價單都在網格線上完全成交。實際上快速行情會跳過整格(gap through,價格一次穿過三格但只成交一格),慢速行情會部分成交。這兩者都讓實際來回次數低於 σ²T/s² 的理論值。

五、只測一種行情。

一個策略至少要在三種制度下驗證:持續趨勢區間震盪波動衝擊。網格在第二種裡表現極好,這正是為什麼只測震盪期的回測毫無資訊量。加密市場可用的壓力測試期包括 2020 年 3 月、2021 年 5 月、2022 年 5 月與 11 月、2024 年 8 月——任何回測若不涵蓋至少兩段這類期間,不構成驗證。

六、用「年化報酬」外推。

平台顯示的年化通常是 (已實現網格利潤 / 本金) × (365 / 已運行天數)。運行 3 天賺 1% → 顯示 121% 年化。這在數學上沒有意義:收益不是線性累積的,樣本期太短,而且尾部還沒實現。

七、只看網格利潤、忽略浮動虧損。

總收益 = 網格利潤 + 浮動盈虧。網格利潤永遠是正的,浮動盈虧可以非常負。只報告前者的回測(與平台介面)在結構上是誤導的。

八、標的的存活者偏誤。

拿今天還在交易的幣做回測,忽略了那些已經下市或歸零的。網格是「跌越多買越多」的策略,在歸零資產上的表現是 −100%——而這些案例被系統性地排除在樣本外。


一套可執行的驗證流程

第一步:樣本外分割。 用前段資料選參數,用後段驗證。網格的情況下,「前段選參數」尤其要注意——你選的是區間,而區間的合理性應該來自波動率(一個相對穩定的統計量),而不是來自高低點(一個極值統計量)。用 σ × k 定區間比用歷史高低點定區間更不容易過擬合。

第二步:參數敏感度掃描。 把區間寬度、格數各在 −20%、−10%、基準、+10%、+20% 掃一遍。業界的經驗法則是:Sharpe 或獲利因子若能維持在基準值的 70% 以上,代表這是結構性的邊際優勢,而不是記憶。 若只有一組參數賺錢,你沒有策略,你有一段被背下來的歷史。

第三步:蒙地卡羅路徑。 用歷史波動率生成隨機路徑(務必用厚尾分布,不要用常態),看損益分布的整體形狀而不只是均值。網格的均值好看、尾部難看——你要看的正是尾部:5% 分位數的損益是多少?最大回撤的分布長什麼樣?

第四步:前推測試(walk-forward)。 滾動地重選參數、往前測、再重選。這模擬的是你實際的使用方式(每隔一段時間調整參數),比一次性的樣本外分割更接近真實。

第五步:模擬盤或小額實盤。 平台的撮合邏輯、部分成交規則、API 延遲、快速行情時是否跳格——這些回測都模擬不出來。至少跑一個完整的波動週期再放大資金。


一個殺手級檢查

把回測區間往前或往後平移 30 天,重跑。

若結論翻轉,你測的是那一段行情,不是策略。這個檢查只要一分鐘,卻能淘汰掉絕大多數看起來很棒的參數組合。

變體:把同一組參數套到另一個相關性高的標的上(ETH 的參數套到 SOL)。若完全失效,代表參數是標的特定的過擬合,而不是機制。


平台的「AI 參數」屬於哪一類

各家的 AI 參數推薦本質上都是「把剛剛發生的行情外推」:

  • OKX:明確說明其 AI 參數基於該交易對近一週的回測。這是一個很短的窗口,且不是完整的回測工具(沒有讓使用者自選期間重放策略的功能)。
  • Pionex:依歷史波動率建議區間與格數。
  • 3Commas:AI Optimization 由歷史市場分析產生現成設定。

它們在做的事,正好是「陷阱一」(後視選區間)的自動化版本。 一個具體的檢查:看 AI 給的區間是不是剛好包住最近 7 天的高低點。 如果是,它幾乎必然是後視的。

這不代表它們沒用——它們算波動率比你手算快,可以當成「當前波動率的量化參考」。但上下限、槓桿與停損必須自己決定,因為只有你知道自己能承受多少虧損。詳見 監控與調整


回測之外:期望值計算才是主菜

網格有一個大多數策略沒有的優勢:它的期望值可以用解析式估算,不必完全依賴回測。

期望值 = P(留在區間內) × (C·σ²T/R × (1 − 2f/s))
       + P(突破) × (突破後的處置損益)

其中突破機率可以用 2Φ(−x/(σ√T)) 估、收益可以用 C·σ²T/R 估、手續費用 2f/s 折減(全部見 收益與風險數學)。

這個計算不會過擬合,因為它不挑歷史。 它只需要兩個輸入:波動率的估計,與你對突破後處置損益的假設。用它來做主要決策、用回測來檢查是否有你沒想到的失效模式,比反過來安全得多。


相關