DepthFeed/Both venues·回測

如何在 Polymarket 與 Kalshi 上回測預測市場策略

回測預測市場不同於回測股票。合約結算為 $0 或 $1,時間窗口以分鐘計,委託簿在接近收盤時愈來愈薄。以下是如何誠實地進行。

DepthFeed··9 min

誠實地回測預測市場策略,需要重播每個市場實際交易的記錄委託簿、以真實掛單的流動性對每筆成交定規模,並以真實的 $0/$1 結果結算每個部位。在 DepthFeed 上,您可以透過兩種方式做到這點——在 Backtest Lab 中無需程式碼,或透過資料 API 在自己的工具鏈中執行——然後以模擬交易在實盤委託簿上向前測試存活策略。

預測市場回測的特殊之處

預測市場合約不是股票或永續合約。每個結果以 0 到 1 報價——其隱含機率——結算時一方價值恰好 $1,另一方為 $0。加密貨幣漲跌合約在 5 到 60 分鐘內針對參考價格結算,價差在接近收盤時擴大、深度變薄,而一個市場的完整生命週期可能短於普通圖表上的單一 K 線。

這種形態改變了回測的需求。每分鐘取樣一次最後成交價,會錯過五分鐘市場的大部分過程;忽視委託簿隱藏了決定損益的價差,而一份合約最多支付一美元;錯誤標記結算會將贏家變成輸家。本指南其餘部分說明如何正確處理上述每個問題。

步驟 1 — 從真實委託簿開始

回測的誠實程度取決於其資料。您需要完整的委託簿——每個掛單的買價和賣價及其規模,兩側皆需——在每次變化時捕獲,而非按固定時鐘取樣,因為事件驅動捕獲是看到短期合約完整弧線的唯一方式。Polymarket 和 Kalshi 均不提供其歷史委託簿深度,因此重播委託簿的原始狀態需要持續捕獲它的提供商。

DepthFeed 以一套統一的 Schema 為兩個交易所提供這些資料:Polymarket 透過 CLOB WebSocket 事件驅動捕獲,Kalshi 以完整深度持續輪詢(每側最多 100 檔),每個快照包含毫秒時間戳和關聯的底層加密貨幣參考價格。單一 Loader 可讀取任一交易所的資料。

步驟 2 — 依據深度而非中間價建模成交

這是區分可實際交易的回測與說謊的回測的關鍵步驟。市價單遍歷委託簿——先成交最佳檔位,再到下一檔,因此當其消耗超過頂部檔位時,平均成交價比觸價更差。掛單加入隊列,只有當市場以足夠的規模穿越其價格時才成交。以零滑點在中間價成交一切——大多數隨意回測的預設做法——會系統性地高估優勢。

無論您採用哪種路徑,都要堅持使用深度感知成交。在一份最多支付一美元的合約上,四分錢的往返價差意味著中間價成交與真實成交之間的差異巨大——而且這個差異在每筆交易中都會累積。

步驟 3 — 以真實結果結算

由於報酬是二元的,結算不是四捨五入的細節——它是損益的主要部分。Polymarket 漲跌合約以開盤時設定的「目標價格」對照收盤時的最終參考價格結算;Kalshi 合約以到期時公布的參考價格結算是/否。以真實結算進行回測,而非假設,並進行合理性檢驗:在我們捕獲的已結算加密貨幣漲跌合約中,結果接近拋硬幣,因此任何結算嚴重偏離這一比例的回測,可能是在錯誤標記贏家。

步驟 4 — 選擇工作流程:無程式碼或 API

在 DepthFeed 上執行上述所有操作有兩種方式。無程式碼路徑是 Backtest Lab:選擇幣種和時間窗口、選擇預設策略或撰寫簡短規則、選擇成交模型,它就在瀏覽器中重播已結算市場並為您結算——深度感知 VWAP 成交已包含在內,無需建立任何資料管線。

API 路徑適合需要大規模自訂研究的用戶:透過 REST API 拉取完整深度快照,在自己的工具鏈中重建委託簿,並執行您喜歡的任何模型。由於歷史 REST API 和實盤 WebSocket 發出完全相同的 JSON,您撰寫的用於重播歷史的 Loader 可以不加修改地讀取實盤資料流——您以完全相同的程式碼進行真實交易。

步驟 5 — 在承擔風險前進行向前測試

回測無論多麼輕微都是對過去的擬合,因此最後一步是在沒有人知道結果的市場上向前執行存活策略。將規則部署至模擬交易——或透過 Webhook 以您自己的機器人驅動——它以虛擬資金在實盤委託簿上交易,以真實買/賣價成交並在結算時自動結算。它建立的資金曲線是回測無法給您的向前證據。

這完成了整個循環:資料→誠實的回測→向前測試。在歷史資料上低成本地淘汰想法,將存活策略升至實盤模擬委託簿,然後才考慮真實資金。

常見陷阱

  • 最後成交價或每小時資料:隱藏價差,錯過 5 至 60 分鐘合約的完整生命週期。
  • 中間價成交:假設零滑點嚴重高估優勢,尤其對最多支付 $1 的合約而言。
  • 假設結算:以真實參考價格標記贏家,而非猜測——這是損益的主要部分。
  • 未來偏差:僅對接收時間戳等於或早於決策時間的資料作出反應。
  • 跳過向前測試:只存在於已結算歷史中的優勢,可能無法在實盤市場中存活。

Key takeaways

  • 01預測市場在數分鐘內結算為 $0/$1,因此深度、時機和結算比任何普通圖表都更加重要。
  • 02針對真實記錄的委託簿進行回測——兩側、每個檔位——在每次變化時捕獲,而非取樣。
  • 03依據深度建模成交(遍歷委託簿);對最多支付 $1 的合約而言,中間價成交會悄悄高估優勢。
  • 04以真實結算結算,並驗證接近拋硬幣的分布;錯誤標記結算會翻轉贏家。
  • 05在 Backtest Lab 中無程式碼執行或透過 API 執行,然後以模擬交易在實盤委託簿上向前測試存活策略。

回測預測市場不同於回測股票。合約結算為 $0 或 $1,時間窗口以分鐘計,委託簿在接近收盤時愈來愈薄。以下是如何誠實地進行。

免費開始

問題,一一解答。

重播每個市場實際交易的記錄委託簿,以真實掛單流動性(而非中間價)對成交定規模,並以真實的 $0/$1 結果結算每個部位。在 DepthFeed 上,您可以在 Backtest Lab 中無需程式碼地執行,或透過資料 API 在自己的工具鏈中執行,然後以模擬交易在實盤委託簿上向前測試結果。