Skip to content

预测市场的无风险套利

分类:

本文不构成投资建议,只做研究使用。

去年了解到Polymarket,年初又看了一下Kalshi。本来此事的研究到此为止了,昨晚突然想到现在在世界杯期间,那么相关盘口一定很火热,观察了一下胜率变化。观察到两个现象:一是胜率延时性、二是多市场胜率差。那么针对这两个事实,我们似乎可以进行无风险套利。

胜率延时

以下是26年美加墨世界杯巴西对挪威的胜率变化:

20260706190430.png

5点41挪威进球到5点43胜率达到顶峰,大约有三分钟的时间差,这是因为大部分用户是手动押注的,这使得挪威进球到用户手动成交订单需要一定的时间。而这两个市场都是有API接口的,那么这段时间是有操作空间。

这有点像量化交易,但是实际操作起来要简单很多。假设我们的程序在5点41收到挪威进球的事件,此时比分来到巴西比挪威,0比1,此时挪威盘口胜率还是13.5%(价格是0.135美元),如果我们此时压1000注挪威胜(即135美元),三分钟后胜率来到64.5%(此时价格是0.645美元)。如果此时卖出,毛利是645-135=510,收益率378%。

多市场胜率差

上面我们已经看到了polymarket对此事件的胜率预测,那么我们再看一下kalshi对此事件的预测:

20260706194746.png

尽管曲线差不多,但是并不完全一致。我们细看5点41与5点43的胜率就会发现差异,kalshi市场的挪威在这两个时间的胜率分别是62.4%和74.5%。可以看出kalshi用户的预测更加激进。不对,我们可以很容易发现端倪,两个市场对同一个事件在同一事件的概率预测不一致,我们以5点43为例,polymarket的挪威的胜率是64.5%,而kalshi的挪威的胜率是74.5%。居然有十个点的概率差,这意味着两个市场的对位概率之和小于100%:64.5% + 25.5% = 90% < 100%

那么存在无风险对冲套利空间。这里给出一个操作例子,我们可以在polymarket下1000注挪威胜,总价645美元,然后再kalshi下1000注挪威不胜,总价255,总成本 645 + 255 = 900 。有以下两种情况:

  • 如果挪威胜:polymarket获利1000 - 645 = 355 , kalshi亏损255 ,总毛利为100,收益率11% 。
  • 如果挪威不胜:polymarket亏损 645 ,kal获利 1000 - 255 = 745 ,总毛利为100,收益率依然是11%。

也就是说只要两个市场对同一个事件存在概率差,且概率差的获利大于手续费则可以通过此种策略实现无风险对冲套利。

注意:你不能反着买,比如在kalshi买745挪威胜,在polymarket买355挪威不胜,这会使你稳定套利变成稳定亏损。

接着我们给出完整的公式推导。我们假设在ploymarket对事件A发生的概率预测为P(p),在kalshi事件A发生的概率为P(k),手续费为,P(p) != P(k) , 忽略手续费。

如果P(p) < P(k) , 则下注N份 Yes 在polymarket,下注N份 No 在kalshi,C是总成本

C = N × P(p) + N × [1-P(k)]

如果结果为Yes 则获利结果M为:

M = N - C = N - {N × P(p) + N × [1-P(k)]} = N × [P(k) - P(p)]

如果结果为No 则获利M依然为:

M = N - C = N - {N × P(p) + N × [1-P(k)]} = N × [P(k) - P(p)]

如果P(p) > P(k) , 则下注N份 No 在polymarket,下注N份 Yes 在kalshi,C 是总成本

C = N × [1 - P(p)] + N × P(k)

如果结果为Yes 则获利结果M为:

M = N - C = N - {N × [1 - P(p)] + N × P(k)} = N × [P(p) - P(k)]

如果结果为No 则获利M依然为:

M = N - C = N - {N × [1 - P(p)] + N × P(k)} = N × [P(p) - P(k)]

风险注意:我们此处是忽略了两个市场的手续费用的,利差大于必须两个市场的手续费率之和才能稳定获利。大额押注本身会改变赔率结构,所以对称小额押注是更加稳妥合理的策略。

两个市场的API接口如下:

polymarket创建订单接口文档kalshi创建订单接口文档

实践、认识、再实践、再认识,这种形式,循环往复以至无穷,而实践和认识之每一循环的内容,都比较地进到了高一级的程度。