Polymarket套利策略全解析:从理论到实践的深度指南
原文作者:@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次暴力检查。

暴力搜索 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,也是以极端价格变动,作为一切变化的。

Bregman投影 vs 欧几里得投影
套利利润 = Bregman投影的距离
这是原文作者参考整篇论文最核心的结论之一:任何交易能获得的最大保证利润,等于当前市场状态到无套利空间的Bregman投影距离。
换人话说:市场价格偏离”合法空间”越远,能赚的钱越多。而Bregman投影会告诉你:
-
该买卖什么(投影方向告诉你交易方向)
-
该买卖多少(考虑订单簿深度)
-
能赚多少(投影距离就是最大利润)
排名第一的套利者一年赚了$2,009,631.76。他的策略就是比所有人更快、更准地解这道优化题。

边际多面体与套利
打个比方来说,想象你站在一座山上,山脚下有一条河(无套利空间)。你现在的位置(当前市场价格)离河有一段距离。
Bregman投影就是帮你找到”从你的位置到河边的最短路径”——但不是直线距离,而是考虑了地形(市场结构)之后的最短路径。这条路径的长度,就是你能赚到的最大利润。
第三章:Frank-Wolfe算法——让理论变成可执行的代码
好,现在你知道了:要算最优套利,就要做Bregman投影。
但问题是——直接计算Bregman投影是不可行的。
为什么?因为无套利空间(边际多面体M)有指数级多的顶点。标准的凸优化方法需要访问完整的约束集,也就是枚举每一个合法结果。我们刚才说了,这在规模化场景下是不可能的。
Frank-Wolfe的核心思想
Frank-Wolfe算法的天才之处在于:它不试图一次性搞定整个问题,而是一步一步逼近答案。
它的工作方式是这样的:
-
第一步: 从一个小的已知合法结果集合开始。
-
第二步: 在这个小集合上做优化,找到当前最优解。
-
第三步: 用整数规划找到一个新的合法结果,加入集合。
-
第四步: 检查是否足够接近最优解。如果不够,回到第二步。
每一轮迭代,集合只增加一个顶点。即使跑了100轮,你也只需要追踪100个顶点——而不是2^63个。

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.本文版权归属原作所有,仅代表作者本人观点,不代币币情的观点或立场
首页
快讯