最佳的 Kalshi 订单簿数据,以及如何挑选
你能找到的大多数 Kalshi 数据,都是每小时采样一次的最新价——画个走势图够用,做回测却毫无价值。下面讲清楚:到底是什么,把一个真正能拿来交易的 Kalshi 数据源,和一个只是"看起来像数据"的来源区分开来。
决定数据能否回测的五大标准
1. 精度:事件驱动,而非按固定间隔采样
按固定时钟采集的快照——每小时、每分钟、每隔几百毫秒——会漏掉每两次采样之间发生的一切。Kalshi 的短期市场在 5 到 60 分钟内就会结算,因此按间隔采样在整个市场生命周期里只能捕捉到寥寥几帧。
DepthFeedDepthFeed 在每一次订单簿与价格变动事件发生时即时记录——在 Polymarket 上中位交付约 10ms,在 Kalshi 上持续进行全深度轮询——因此两次采样之间的内容不会有任何丢失。
2. 深度,而非最新价
一个最新成交价(或单一中间价)掩盖了价差,也掩盖了每一档上挂着的挂单数量。没有完整的盘口阶梯,你就无法衡量滑点,而一个假定你以中间价成交的回测,就是一个会骗人的回测。
DepthFeedDepthFeed 提供完整的买卖盘订单簿,双边、每一档俱全——在 Kalshi 上每侧最多 100 levels——因此成交是按当时真实存在的流动性来撮合的。
3. 覆盖范围:一套 schema,覆盖每个场所与每种资产
单一场所的数据集,逼着你为每个市场拼凑出不同的格式,每新增一个就得重写一遍加载器。资产覆盖不全,则悄悄限定了你究竟能测试哪些策略。
DepthFeedDepthFeed 以一套稳定的列式 schema 提供 Polymarket、Kalshi 与 Limitless 的数据,覆盖七种资产——BTC、ETH、SOL、XRP、DOGE、BNB、HYPE——因此同一套代码就能读取每一个场所。
4. 交付方式:实时 API 与数据流,而非静态文件
一个可下载的 CSV 或 Parquet 文件是一份冻结的快照——它会过期,你得重新下载,而且它永远不会变成你真正用来交易的东西。研究用的格式和生产用的格式最终各不相同,于是为了上线,你得把一切重新打通。
DepthFeedDepthFeed 是一个用于历史数据的计量 REST API,以及一个用于当下行情的实时 WebSocket 流,两者推送完全相同的 JSON。先回测,再把同一套代码指向实时数据流去交易。
5. 值得信赖的真实成交
回测的全部意义,就在于弄清一个策略当时究竟能否成交、以及以什么价格成交。只有当你重放该策略当时真正会去成交的那本订单簿、并以足够精细的时间戳与驱动行情的那波波动对齐时,这个答案才存在。
DepthFeed每一份 DepthFeed 快照都带有以 epoch-millis 表示的交易所时间戳与接收时间戳,并关联到一条高频的标的价格,因此盘口状态能与现货行情逐 tick 对齐。
常见选项的不足之处
人们寻找 Kalshi 数据时,通常会想到四类东西。每一类都有各自的用处——但没有一类是你用来回测的订单簿。
你的疑问,已解答。
最佳来源应当:记录每一次订单簿变动(而非按固定间隔采样),提供双边完整的买卖盘阶梯(而非仅有最新价),以一套 schema 覆盖你所交易的场所与资产,并以相同格式交付历史数据与实时数据,让你能用回测过的那套代码直接交易。DepthFeed 正是为 Kalshi 做到这一切而打造的:在 Polymarket 上中位实时交付约 10ms,对 Kalshi 进行持续的全深度采集。