DepthFeed/Both venues·数据质量

订单簿深度 vs 最新成交价:为什么大多数预测市场回测都在撒谎

最新成交价只是一个数字。订单簿才是这个数字赖以存在的流动性。建立在前者之上的回测,会悄无声息地夸大每一个结果。

DepthFeed··6 min

最新成交价是最近一笔成交的价格;订单簿深度则是买卖双方每一笔挂单的价格及其挂单量。基于最新成交价数据的回测,假设你以那个价格、零滑点完成了成交——但真实的成交会逐层吃掉订单簿,既要付出买卖价差,又要在越来越差的价位上消耗挂单量。正是这道鸿沟,让无视深度的回测系统性地高估了交易优势。

两者各自真正告诉你什么

问题最新成交价订单簿深度
最近一笔成交是什么?能(盘口 ± 成交)
此刻的买卖价差是多少?
在盘口能成交多少量?
更大的订单会付出多少滑点?
我的挂单会不会成交?能(结合排队建模)

无视深度的回测如何夸大收益

假设某个市场显示最新成交价为 0.50。基于最新成交价的回测会让你的买单成交在 0.50,卖单也成交在 0.50。而现实中订单簿可能是 0.48 买 / 0.52 卖——于是一笔吃单买入要付 0.52,一笔吃单卖出只能收到 0.48。这四美分的来回价差,对于一份最高只赔付 1.00 的合约而言极为巨大,并且会在回测的每一笔交易上层层累积。

再加上更大订单的滑点——它们会越过盘口、扎进更稀薄的价位层级,情况只会更糟。没有订单簿,这一切都无从看见,于是无视深度的回测报出的优势,会在真正以实际规模交易的那一刻烟消云散。

在 Polymarket 和 Kalshi 上,故事如出一辙

在 Polymarket 上,CLOB 为每个结果维护着一份买卖订单簿;价差与挂单量恰恰就是一笔吃单要付出和消耗的东西。在 Kalshi 上,二元合约每一侧拥有最多 100 levels 的 yes/no 订单簿;同样的价差与滑点逻辑照样适用,而且价差往往会在临近结算时扩大。

无论哪种情形,纪律都完全一致:对照录得的订单簿做回测——买卖两侧、每一层级,而不是一笔最新成交。DepthFeed 以同一套 schema 为两个场馆提供这份完整深度,因此同一份回测代码可以读取任一市场。

Key takeaways

  • 01最新成交价隐藏了价差、挂单量,以及真实订单的滑点。
  • 02吃单订单会逐层吃掉订单簿,成交价比盘口更差;唯有订单簿才能让你看见这一点。
  • 03无视深度的回测会高估优势,而且误差会在多笔交易间层层累积。
  • 04同样的逻辑既适用于 Polymarket 的 CLOB,也适用于 Kalshi 的 yes/no 订单簿。

最新成交价只是一个数字。订单簿才是这个数字赖以存在的流动性。建立在前者之上的回测,会悄无声息地夸大每一个结果。

免费开始

你的疑问,已解答。

用于绘制图表和粗略追踪概率,够用。用于回测成交,则不够:最新成交价无法告诉你价差、可成交的挂单量,以及真实订单要付出的滑点,所以任何基于它得出的盈亏估算,都在以一个未知且往往很大的幅度偏乐观。