Polymarket套利策略全解析:从理论到实践的深度指南

洒脱喜2天前

原文作者:@RohOnChain;

原文链接:https://x.com/RohOnChain/status/2017314080395296995

翻译、注释与改写:@MrRyanChi

序言

在创立@insidersdotbot的过程中,我与许多高频做市团队和套利团队进行了深入交流,其中最大的需求之一就是如何制定套利策略。

我们的用户、朋友和合作伙伴都在探索Polymarket套利这一复杂且多维度的交易路线。如果你是一个推特的活跃用户,相信你也曾刷到过“我通过XX套利策略,从预测市场上赚了多少钱”的推文。

然而,大部分文章都过度简化了套利的底层逻辑,让套利变成了“我上我也行”、“用Clawdbot就能解决”的交易模式,而并没有详细解释如何系统性地理解和开发属于自己的套利系统。

如果你想理解Polymarket上的套利工具是如何赚钱的,@RohOnChain的这篇文章是我目前看到的最完整解读。

跟我的上一篇文章一样,由于英文原文有很多过于技术性、需要进一步研究的部分,我为大家进行了重构和补充,方便大家只需要阅读这一篇文章,不需要停下来查资料,就可以理解全部重点内容。

Polymarket套利并不是简单的数学问题

你在Polymarket上看到一个市场:

YES价格$0.62,NO价格$0.33。

你心想:0.62 + 0.33 = 0.95,不到1块钱,有套利空间!同时买YES和NO,花$0.95,无论结果如何都能拿回$1.00,净赚$0.05。

你是对的。

但问题是——当你还在手动算这道加法题的时候,量化系统已经在做一件完全不同的事。

它们在同时扫描17,218个条件,跨越2^63种可能的结果组合,在毫秒级别内找到所有定价矛盾。等你下完两笔订单,价差已经消失了。系统早就在几十个相关市场里找到了同样的漏洞,算好了考虑订单簿深度和手续费之后的最优仓位大小,并行执行了所有交易,然后把资金转向了下一个机会[1]。

差距不只是速度。是数学基础设施。

第一章:为什么”加法”不够用——边际多面体问题

单一市场谬误

先看一个简单的例子。

市场A:“特朗普会赢下宾夕法尼亚洲的选举吗?”

YES价格$0.48,NO价格$0.52。加起来正好$1.00。

看起来完美,没有套利空间,对吧?

错。

加一个市场,问题就来了

再看市场B:“共和党会在宾夕法尼亚洲超越对手5个百分点以上吗?”

YES价格$0.32,NO价格$0.68。加起来也是$1.00。

两个市场各自都”正常”。但这里有一个逻辑依赖关系:

美国总统大选不是全国一起数票,而是按州计票。每个州是一个独立的”战场”,谁在这个州拿到更多选票,谁就赢走这个州所有的选举人票(赢者通吃)。特朗普是共和党候选人。所以”共和党在宾夕法尼亚赢”和”特朗普在宾夕法尼亚赢”——是同一件事。如果共和党赢了对手5个百分点以上,那不仅意味着特朗普赢了宾夕法尼亚,而且赢得很大。

换句话说,市场B的YES(共和党大胜)是市场A的YES(特朗普获胜)的一个子集——大胜一定意味着获胜,但获胜不一定意味着大胜。

而这种逻辑依赖,就创造了套利机会。

这就像是你在赌两件事——“明天会下雨吗”和”明天会有雷暴吗”。如果有雷暴,那一定在下雨(雷暴是下雨的子集)。所以”雷暴YES”的价格不可能比”下雨YES”的价格高。如果市场定价违反了这个逻辑,你就可以同时买低卖高,赚到”无风险利润”。这就是套利。

指数爆炸:为什么暴力搜索行不通

对于任何有n个条件的市场,理论上有2^n种可能的价格组合。

听起来还行?来看一个真实案例。

2010年NCAA锦标赛市场[2]:63场比赛,每场有赢/输两种结果。可能的结果组合数是2^63 = 9,223,372,036,854,775,808——超过9百亿亿种。市场上有5000多个盘口。

2^63这个数字有多大?如果你每秒检查10亿种组合,需要大约292年才能全部检查完。这就是为什么”暴力搜索”在这里完全行不通。

逐一检查每种组合?计算上不可能。

再看2024年美国大选。研究团队发现了1,576对可能存在依赖关系的市场对[2]。如果每对市场各有10个条件,那每对需要检查2^20 = 1,048,576种组合。乘以1,576对。你的笔记本电脑算完的时候,选举结果早就出来了。

整数规划:用约束代替枚举

量化系统的解决方案不是”更快地枚举”,而是根本不枚举。

它们用整数规划(Integer Programming)[3]来描述”哪些结果是合法的”。

来看一个真实例子。Duke对Cornell的比赛市场:每支球队有7个盘口(0到6场胜利),总共14个条件,2^14 = 16,384种可能组合。

但有一个约束:它们不可能都赢5场以上,因为那样它们会在半决赛相遇(只有一个能晋级)。

整数规划怎么处理?三条约束就够了:

  • 约束一: Duke的7个盘口里,恰好有一个为真(Duke只能有一个最终胜场数)。

  • 约束二: Cornell的7个盘口里,恰好有一个为真。

  • 约束三: Duke赢5场 + Duke赢6场 + Cornell赢5场 + Cornell赢6场 ≤ 1(它们不能同时赢那么多)。

三条线性约束,替代了16,384次暴力检查。

WZ840wErrd4acvr210mZQADgmD60AbTuA0g35PZe.jpeg

暴力搜索 vs 整数规划

换言之,暴力搜索就像是把字典里的每个单词都读一遍来找一个词。整数规划就像是直接翻到那个字母开头的页面。你不需要检查所有可能性,你只需要描述”合法答案长什么样”,然后让算法去找违反规则的定价。

真实数据:41%的市场存在套利

原文中提到,研究团队分析了2024年4月到2025年4月的数据[2]:

• 检查了17,218个条件

• 其中7,051个条件存在单一市场套利(占41%)

• 中位数定价偏差:$0.60(应该是$1.00)

• 13对确认的跨市场可利用套利

中位数偏差$0.60意味着市场经常性地偏离40%。这不是”接近有效”,这是”大规模可利用”。

第二章:Bregman投影——怎么算出最优套利交易

发现套利是一个问题。算出最优的套利交易是另一个问题。

你不能简单地”取个平均”或者”微调一下价格”。你需要把当前的市场状态投影到无套利的合法空间上,同时保留价格里的信息结构。

为什么”直线距离”不行

最直觉的想法是:找到离当前价格最近的”合法价格”,然后交易差价。

用数学语言说,就是最小化欧几里得距离:||μ - θ||²

但这有一个致命问题:它把所有价格变动当成一样的。

从$0.50涨到$0.60,和从$0.05涨到$0.15,都是涨了10美分。但它们的信息含量完全不同。

为什么?因为价格代表的是隐含概率。从50%变到60%,是一个温和的观点调整。从5%变到15%,是一个巨大的信念翻转——一个几乎不可能的事件突然变成了”有点可能”。

想象你在称体重。从70公斤变到80公斤,你会说”胖了一点”。但从30公斤变到40公斤(如果你是成年人),那就是”从濒死变成了严重营养不良”。同样是10公斤的变化,意义完全不同。价格也是一样——越接近0或1的价格变动,信息量越大。

Bregman散度:正确的”距离”

Polymarket的做市商使用的是LMSR(对数市场评分规则),价格本质上代表概率分布。

在这种结构下,正确的距离度量不是欧几里得距离,而是Bregman散度。

对于LMSR,Bregman散度就变成了KL散度(Kullback-Leibler散度)——一个衡量两个概率分布之间”信息论距离”的指标。

你不需要记住公式。你只需要理解一件事:

KL散度会自动给”极端价格附近的变动”更高的权重。从$0.05到$0.15的变动,在KL散度下比从$0.50到$0.60的变动”更远”。这正好符合我们的直觉——极端价格的变动意味着更大的信息冲击。

一个比较好的例子,就是上次@zachxbt的预测市场中,Axiom在最后关头反超Meteora,也是以极端价格变动,作为一切变化的。

ooDQrHukL3g7x54XXro75nAAQQlmoAJwihRciVyR.jpeg

Bregman投影 vs 欧几里得投影

套利利润 = Bregman投影的距离

这是原文作者参考整篇论文最核心的结论之一:任何交易能获得的最大保证利润,等于当前市场状态到无套利空间的Bregman投影距离。

换人话说:市场价格偏离”合法空间”越远,能赚的钱越多。而Bregman投影会告诉你:

  1. 该买卖什么(投影方向告诉你交易方向)

  2. 该买卖多少(考虑订单簿深度)

  3. 能赚多少(投影距离就是最大利润)

排名第一的套利者一年赚了$2,009,631.76。他的策略就是比所有人更快、更准地解这道优化题。

TC8fYBEML5grn9whQYcrroOYTU1BDi2Bji4WtefU.jpeg

边际多面体与套利

打个比方来说,想象你站在一座山上,山脚下有一条河(无套利空间)。你现在的位置(当前市场价格)离河有一段距离。

Bregman投影就是帮你找到”从你的位置到河边的最短路径”——但不是直线距离,而是考虑了地形(市场结构)之后的最短路径。这条路径的长度,就是你能赚到的最大利润。

第三章:Frank-Wolfe算法——让理论变成可执行的代码

好,现在你知道了:要算最优套利,就要做Bregman投影。

但问题是——直接计算Bregman投影是不可行的。

为什么?因为无套利空间(边际多面体M)有指数级多的顶点。标准的凸优化方法需要访问完整的约束集,也就是枚举每一个合法结果。我们刚才说了,这在规模化场景下是不可能的。

Frank-Wolfe的核心思想

Frank-Wolfe算法的天才之处在于:它不试图一次性搞定整个问题,而是一步一步逼近答案。

它的工作方式是这样的:

  • 第一步: 从一个小的已知合法结果集合开始。

  • 第二步: 在这个小集合上做优化,找到当前最优解。

  • 第三步: 用整数规划找到一个新的合法结果,加入集合。

  • 第四步: 检查是否足够接近最优解。如果不够,回到第二步。

每一轮迭代,集合只增加一个顶点。即使跑了100轮,你也只需要追踪100个顶点——而不是2^63个。

lUS75Zc9paNTJ5KENNkL7cVwPd1ExbhmOiuGp0Js.jpeg

Frank-Wolfe迭代过程

想象你在一个巨大的迷宫里找出口。

暴力方法是把每条路都走一遍。Frank-Wolfe的方法是:先随便走一条路,然后在每个岔路口问一个”向导”(整数规划求解器):“从这里开始,哪个方向最可能通向出口?”然后朝那个方向走一步。你不需要探索整个迷宫,只需要在每个关键节点做出正确的选择。

整数规划求解器:每一步的”向导”

Frank-Wolfe的每一轮迭代都需要解一个整数线性规划问题。这在理论上是NP困难的(也就是”没有已知的快速通用算法”)。

但现代求解器,比如Gurobi[8],对于结构良好的问题可以高效求解。

研究团队用的是Gurobi 5.5。实际求解时间:

• 早期迭代(少量比赛已结束):不到1秒

• 中期(30-40场比赛已结束):10-30秒

• 后期(50+场比赛已结束):不到5秒

为什么后期反而更快? 因为随着比赛结果确定,可行解空间在缩小。变量更少,约束更紧,求解更快。

梯度爆炸问题和Barrier Frank-Wolfe

标准的Frank-Wolfe有一个技术问题:当价格接近0的时候,LMSR的梯度会趋向负无穷。这会导致算法不稳定。

解决方案是Barrier Frank-Wolfe:不在完整的多面体M上优化,而是在一个稍微”收缩”的版本M’上优化。收缩参数ε会随着迭代自适应地减小——开始时离边界远一点(稳定),后来逐渐逼近真实边界(精确)。

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代币币情的观点或立场