最近在做预测市场的项目,在调研过程中,发现Polymarket的一些套利方式,打算做个自动套利机器人,所以做了一些调研如下。

(注: 在研究结束后,发现做自动跟单机器人似乎更稳妥和简便,所以先做了个自动跟单机器人,然后再进一步做这个自动套利机器人。 - 2025/12/22)

技术建议

  • 使用Polymarket API + Polygon节点,参考开源bot(如GitHub polymarket-arbitrage-bot),参考py-clob-client。
  • 机会仍存在(2025年提取利润持续增长),但bot竞争激烈,需低延迟(自建节点或靠近服务器)、智能过滤(订单簿深度+新闻监控)、深度订单簿分析。
  • 不要轮询,Polymarkey的API支持websocket推送。轮询会有1-2秒延迟,在套利中是致命的。
  • 抢单时为了速度,可能被迫要在代码中给最高的GasFee。
  • 计算净利润时,要检查深度,然后再扣除Gas费,合约交互费,滑点等才能触发交易。

风险

  • UMA判决风险:很多时候通过文字游戏,Oracle的判决可能和大众认知不同。
  • 费用消耗风险:小心个平台的费用,以及Gas消耗,小利还可能被吃掉。补充:Polymarket赢时2%费用(仅盈利部分)。
  • 速率风险:专业的套利机器人通常运行在离节点更近的服务器上,甚至运行自己的Polygen节点,使用公共API,抢不过别人。
  • 资金重组风险:链的交易回滚也不是不存在。(Polygon回滚极少,但mempool拥堵可能导致失败)
  • USDC脱锚风险:小概率USDC不值1美元。
  • 政策风险:部分国家限制使用或访问。
  • 以及滑点,流动性不足的风险

套利方式分析

单市场二元误定价套利【建议:第一阶段,简单,作为第一开发策略】

  • 描述:当YES + NO价格 < $1时,买入等量YES和NO股份,然后立即Merge成USDC锁定利润(或等决议)。这是最纯的无风险套利,常发生在流动性低或突发新闻时。
  • 成本需求:低资金(几百USDC起)
  • 时间需求:短(分钟)
  • 建议进入的市场
    • 15-30分钟内的结算事件
    • 热门短期事件,如体育比赛结果、每日crypto价格阈值(e.g. Bitcoin > $X today)
    • 避免长周期政治市场(机会少)。
  • 风险:低
  • 技术难度:中(但竞争激烈,除了监控价格,还要计算深度)
  • 风险点:深度不足,滑点(大额交易推高价格,导致买不全);gas费(Polygon低,但高峰期涨);机会被更快bot抢走;极少市场决议争议(UMA oracle出错)。

单市场二元逆向铸造套利【建议:第一阶段,简单,作为第一开发策略】

  • 描述:当YES + NO价格 > $1时,直接将USDC进行split,得到一个YES,NO进行出售。
  • 成本需求:中资金(一般需要500-2000USDC才有意义;为100差价,可能要占用2000-5000本金)
  • 时间需求:极短(毫秒级,拼手速)
  • 建议进入的市场
    • 突发新闻导致情绪过热的市场(体育实时、crypto价格跳动、选举突发)
    • 流动性比较差的边缘市场
    • 体育即时盘(红牌 / 受伤)
  • 风险:中低(略高于 单市场二元误定价套利,机会也更少一些)
  • 技术难度:中,(或高 直接交互合约,单纯使用SDK可能不够快)
  • 风险点:卖出时需有足够深度买单(bid),否则滑点吃掉利润,甚至卖不完;或者YES和NO只能卖出一边;机会短暂(秒级)。

CLOB撮合失衡套利【建议:第一阶段,建议做成核心套利模块】

  • 描述:当BestAsk/BestBid 的深度很浅的时候,可以直接扫盘。例如:YES买价是0.52,NO的买价是0.48,原本很稳定;但发现BestYes的深度很浅,下一档Yes的价格已经是0.6,我们直接把0.52的Yes吃掉,接下来 YES+NO>1,就出现了机会。(本质是主动制造逆向套利机会)
  • 成本需求:中(需要扫盘,但资金利用率高)
  • 时间需求:极低(机会多,也不需要等待决议),微妙毫秒级
  • 建议进入的市场
    • 中低流动性但仍有连续交易的市场
    • 盘口深度断层明显的市场
    • 非主流但即将结算的事件
    • 高交易量但偶尔失衡的市场,如热门crypto hourly价格、体育实时事件、政治突发子市场。
    • 高频交易市场(Crypto价格预测、选举开票期间)
  • 风险:中
  • 技术难度:极高(需要扫描深度,有一定算法,最好有orderbook级的建模,对 扫盘成本和预期套利空间 函数要精算,要快速执行)
  • 风险点:撮合延迟;扫盘后被反向补单;被其他BOT反向夹击,被吃。

多结果市场Dutch Book套利【建议:第二阶段,不适合作为主策略】

  • 描述:多选项市场(e.g. 选举获胜者A/B/C/Other),所有选项YES价格合计 < $1时,买入所有选项等份(或NO合计 < $1时买所有NO)。决议后必有一个赢,兑$1。
  • 成本需求:中等资金(需覆盖多选项,千USDC起),机器人需扫描多市场组合。
  • 时间需求:中长(几天到几个月,等决议)。
  • 建议进入的市场
    • 多候选人选举(总统初选、地方选举)、奖项市场( Grammy/奥斯卡最佳XX)、多项体育市场(世界杯/NBA总冠军)。
    • 建议只做短期多结果市场
  • 风险:低(主要是规则风险)
  • 技术难度:中
  • 风险点:市场未完全覆盖(e.g. “Other”,“Canceled”);资金长时间锁定(机会成本);流动性低导致滑点大;黑天鹅(如候选人退出)改变互斥性;决议延迟导致的更长时间资金锁定。

跨平台套利【建议:第三阶段】

  • 描述:相同/高度相关事件在Polymarket vs Kalshi/PredictIt/Robinhood价格偏差,买低平台YES + 高平台NO(或反之),锁定利润。
  • 成本需求:高(需多平台账户+资金分散,万USDC起),机器人需多API集成;Kalshi有手续费(~0.7%)。
  • 时间需求:中长(等决议,几天到几个月)。
  • 建议进入的市场:高关注政治事件(美国选举相关)、宏观经济指标(Fed利率、CPI)、crypto价格事件(BTC年底价格)。Kalshi强于监管事件,Polymarket流动性更好。
  • 风险:中
  • 技术难度:高(多API维护;风控难度高)
  • 风险点:不同平台的决议规则细微差异(导致同一事件,一平台认为赢一平台认为输);平台费用吃掉利润;监管风险(Polymarket对某些国家限制,Kalshi只限美国);价格快速收敛(机会几分钟);平台汇率。

临近结算的尾端扫荡【建议:第二阶段,信息获取几乎无法自动】

  • 描述:事件几乎确定(概率95-99%),最后几分钟等待市场尚未来得及反应,买入高概率一方,捕捉最后1-5%确定性利润。例如:官方结果已公布,但UMA尚未裁决。
  • 成本需求:低到中,机器人监控接近决议市场。
  • 时间需求:短(几分钟就决议)。
  • 建议进入的市场:接近结束的体育赛事、选举计票后期、短期新闻事件(e.g. 法庭判决当天)。
  • 风险:中(有小概率反转,也可能信息源造假)
  • 技术难度:极高(信息获取几乎无法自动,需要外部新闻源,信息获取的速度也是问题)
  • 风险点:决议理解错误;信息源延迟或错误;黑天鹅反转(极罕见但可能);竞争激烈(大额订单常见95+)。

包含逻辑套利【建议:第三阶段,市场规则判定细节和包含逻辑难以自动化】

  • 描述:一些事件之间有逻辑包含关系的套利。例如市场A说Trump赢得大选;市场B说共和党赢得大选。而Trump是共和党人,若Trump胜出,那么共和党必然赢得大选。因此,市场A的YES价格不应当高于市场B的YES价格。所以,如果发现:Trump Yes(0.55) > 共和党 Yes(0.5),那么我们买TrumpNo,买入共和党Yes,花费应当是(1-0.55)+0.5=0.95。一旦Trump赢,我们手中的TrumpNo就归零;但是共和党Yes就成了1,决议不赚不亏;一旦Trump输了,我们手中的TrumpNo就成了1,共和党赢就归零了,决议依然不赚不亏。仅赚了0.05刀差价。类似的市场还有体育部分更多,例如“湖人进总决赛”和“谁夺冠?- 湖人”就是一堆包含逻辑。
  • 成本需求:中(需资金覆盖多市场)
  • 时间需求:高(需要等待决议)
  • 建议进入的市场
    • 体育联赛,政治等容易存在包含逻辑的市场
    • 政治超级事件(总统选举子市场,如州别赢家+整体赢家)
    • 相关crypto事件(ETH ETF批准 + ETH价格反应)。
  • 风险:中(需要仔细确认规则)
  • 技术难度:极高(需要复杂的逻辑分析,机器人需智能分组市场(NLP匹配事件))
  • 风险点:市场不完全互斥,并非100%包含关系(分辨规则的差异);决议时间可能不同;执行复杂(多交易滑点);争议决议影响多个市场。

市场做市商挂单做市

  • 描述:提供流动性赚取买卖价差。例如一个市场的YES买单最高价为0.48,卖单最低价为0.52。我们挂0.49买单,挂0.51卖单。如果有人急于交易吃单,相当于我们0.49买出0.51卖出。赚取了0.02差价。
  • 成本需求:高(要大资金维持深度,万USDC+)
  • 时间需求:持续(要持续进行)
  • 建议进入的市场
    • 交易量大、波动相对平稳的长期预测市场(如年度选举、美联储利率决议)。
    • 极高流动性市场,长期市场(BTC市场价格,大选)
  • 风险:高(需要两边做市,只成交一边就GG)
  • 技术难度:极高(必须有动态调整价差的算法,一边的单子成交后,要立刻调整另一边的价格;或去其他平台做对冲)
  • 风险点:库存风险(突发新闻导致价格单边暴涨,另一边就被迫持仓亏损);单边市场。

市场做市商LP奖励套利

  • 描述:提供流动性(挂买/卖单),赚取价差 + Polymarket LP奖励(部分市场有每日奖励或年化yield,如2028选举4%)。间接捕捉误定价再平衡。
  • 成本需求:高(需大资金维持深度,万USDC+),机器人需订单管理。
  • 时间需求:持续(长期运行)。
  • 建议进入的市场
    • 高交易量市场,如主流政治、crypto大事件、体育热门。(奖励主要针对长期市场)
  • 风险:中
  • 技术难度:中(订单的动态管理,对接平台的奖励API计算收益率)
  • 风险点:库存风险(突发新闻导致持仓亏损);竞争增加(虽目前不激烈);奖励随时变化。

深度挂单

  • 描述:我们在一个极端深度位置挂“钓鱼单”,例如在一个价格比较稳定在0.5的市场,挂一个0.05的买单,或者挂一个0.95的卖单;平常绝对没人买,但有人下错单,或BOT出了问题,或者突发新闻导致价格瞬间闪崩,导致我们的单子成交。之后,当市场恢复正常后,再以正常价格反向平仓即可。例如,一个USDC拆成一个YES一个NO,都挂0.95卖单。一个YES被卖了,得到0.95后,等市场恢复再用0.50买回来,和NO进行merge回到了1刀,就赚了0.45刀。深度单可以提供流动性顺便钓鱼,主要目的还是赚取spread奖励。
  • 成本需求:高(大资金,挂多个市场,多个钓鱼单)
  • 时间需求:高(因为概率太低,锁定了自己的资产流动性)
  • 建议进入的市场
    • 仅挂短期且很热门的事件市场,可以缩短决议之前被套的时间(例如,万一成了单边市场,就被套死了)
    • 仅挂那些认为“不可能发生”的方向挂单(例如,Trump几乎不可能被刺杀成功,就在相关市场挂极端低价买单)
  • 风险:极低 - 中
  • 技术难度:低
  • 风险点:突发新闻导致的单边市场;锁定资产流动性太严重