Skip to main content
同一事件、不同平台、低买高卖——这种经典套利的窗口期在缩短。做市商和量化团队反应越来越快,纯粹靠价差吃饭的空间已经不大了。 但这不意味着套利死了。几种更高阶的玩法仍然有效,只是门槛更高、需要更多工具和思考。
本文假设你已经读过基础套利教程,熟悉跨平台价差套利的基本逻辑。如果还没有,先去看那篇。
合规提醒:Polymarket 不支持中国大陆、新加坡、法国等地区用户。在使用任何套利策略前,请确认你所在地区的法律规定。套利涉及多平台操作,可能触及不同司法管辖区的监管要求。

多市场相关性套利

基础套利盯的是同一个事件在不同平台的价差。相关性套利盯的是不同事件之间的逻辑矛盾

什么叫定价不一致

举个具体的例子。假设 Polymarket 上同时存在两个市场:
  • 市场 A:“X 会赢得总统大选吗?“——YES 价格 $0.62
  • 市场 B:“X 所在的党会赢得大选吗?“——YES 价格 $0.48
逻辑上,如果 X 赢了大选(概率 62%),那 X 所在的党一定赢了。所以”党赢”的概率至少应该等于”X 赢”的概率,也就是至少 62%。但市场 B 给出的只有 48%。 这就是一个定价矛盾。

怎么操作

  1. 买入市场 B 的 YES(价格偏低,$0.48)
  2. 卖出/做空市场 A 的 YES,或者买入市场 A 的 NO
这样你实际上在押注”市场 B 的价格会向市场 A 收敛”。不需要猜测选举结果本身——你赌的是这两个市场之间的定价关系会修复。

寻找相关性套利的方向

常见的关联市场组合:
  • 候选人 vs 政党:个人胜选概率 vs 政党胜选概率
  • 时间维度:“X 年底前发生” vs “X 上半年发生”(后者的概率不应超过前者)
  • 包含关系:“GDP 增长超过 3%” vs “GDP 增长超过 2%“(前者概率不能大于后者)
  • 因果关系:某政策通过 vs 该政策产生的具体影响
相关性套利的核心是找逻辑漏洞,不是猜结果。你需要对事件之间的逻辑关系有清晰判断。纯粹看价格是找不到这类机会的。

注意事项

相关性套利有一个隐藏的坑:结算规则不同 两个市场看起来相关,但结算条件可能有微妙差别。“X 赢得大选” vs “X 的党赢得大选”——如果 X 中途退选但替补候选人赢了,市场 A 结算为 NO,市场 B 结算为 YES。这时你的对冲就会同时亏损。 做相关性套利之前,一定要把两个市场的结算规则逐字读完。

事件对冲策略

套利追求无风险利润,对冲追求降低已有头寸的风险。两件事目标不同,但工具相似。

跨资产对冲

你持有加密资产,同时在 Polymarket 上关注政策市场——这两件事可以联动。 场景:你持有大量 ETH。Polymarket 上有一个市场:“美国是否会在 2026 年通过加密货币全面监管法案?”
  • 如果法案通过(严格监管),ETH 可能短期下跌
  • 你可以在 Polymarket 买入”法案通过”的 YES 份额
这样,如果法案真的通过导致 ETH 下跌,你在 Polymarket 的盈利可以部分对冲 ETH 的损失。

对冲比例怎么算

假设你持有价值 10,000ETH,估计严格监管法案通过后ETH会下跌1510,000 的 ETH,估计严格监管法案通过后 ETH 会下跌 15%(即损失 1,500)。 Polymarket 上”法案通过”的 YES 价格是 $0.35。 要完全对冲 $1,500 的潜在损失:
需要买入的份额数 = 预期损失 / (1 - YES价格)
                  = 1500 / (1 - 0.35)
                  = 1500 / 0.65
                  ≈ 2308 份
对冲成本 = 份额数 × YES价格
         = 2308 × 0.35
         = $808
如果法案通过:你的 Polymarket 盈利 = 2308 × 0.65=0.65 = 1,500,刚好覆盖 ETH 的损失。对冲成本是 $808。 如果法案没通过:ETH 不受影响,但你损失了 $808 的对冲成本。
对冲不是免费午餐。它的本质是花钱买保险——你付出确定的成本(对冲费用),换取不确定风险的保护。

同平台多市场对冲

你也可以在 Polymarket 内部进行对冲。比如你重仓买了”A 候选人赢得初选”的 YES,可以同时小仓位买入”B 候选人赢得大选”的 YES 作为保护。如果 A 输了初选,B 可能因此受益,你的对冲头寸可以减少损失。 这种操作更灵活,但需要你对事件之间的关联性有准确判断。

API 自动化套利

手动盯盘找套利机会效率太低。用 API 监控价格、发现机会后自动提醒(或自动下单),是进阶玩家的标配。

基础架构

一个最小可用的套利监控系统需要三部分:
  1. 数据采集:定时拉取市场价格
  2. 信号判断:检测价差是否超过阈值
  3. 通知/执行:发送提醒或自动下单

价格监控脚本

下面是一个用 Python 写的简单监控脚本,定时检查两个相关市场的价格关系:
import time
import requests

CLOB_HOST = "https://clob.polymarket.com"
GAMMA_HOST = "https://gamma-api.polymarket.com"

# 两个相关市场的 condition_id
MARKET_A_ID = "你的市场A的condition_id"
MARKET_B_ID = "你的市场B的condition_id"

# 套利阈值(价差超过这个值才提醒)
THRESHOLD = 0.05

def get_market_price(condition_id):
    """获取市场当前中间价"""
    url = f"{CLOB_HOST}/midpoint?token_id={condition_id}"
    resp = requests.get(url)
    if resp.status_code == 200:
        data = resp.json()
        return float(data.get("mid", 0))
    return None

def check_arbitrage():
    """检查两个市场之间的价差"""
    price_a = get_market_price(MARKET_A_ID)
    price_b = get_market_price(MARKET_B_ID)

    if price_a is None or price_b is None:
        print("获取价格失败,跳过本轮")
        return

    spread = price_a - price_b
    print(f"市场A: {price_a:.4f} | 市场B: {price_b:.4f} | 价差: {spread:.4f}")

    # 如果 A 的概率逻辑上应该 <= B,但实际 A > B + 阈值
    if spread > THRESHOLD:
        print(f"发现套利机会!价差 {spread:.4f} 超过阈值 {THRESHOLD}")
        send_alert(price_a, price_b, spread)

def send_alert(price_a, price_b, spread):
    """发送通知(可以接入 Telegram、微信、邮件等)"""
    message = f"套利提醒:市场A={price_a:.4f}, 市场B={price_b:.4f}, 价差={spread:.4f}"
    print(f"[ALERT] {message}")
    # 这里可以加入你的通知逻辑
    # 比如 Telegram Bot、钉钉 Webhook、邮件等

if __name__ == "__main__":
    print("套利监控启动...")
    while True:
        try:
            check_arbitrage()
        except Exception as e:
            print(f"出错了: {e}")
        time.sleep(30)  # 每 30 秒检查一次

批量扫描多个市场

实际操作中你会同时监控很多市场。可以用 Gamma API 一次性拉取所有活跃市场,然后筛选出有关联的市场组合:
import requests

def get_active_markets():
    """获取所有活跃市场"""
    url = "https://gamma-api.polymarket.com/markets?closed=false&limit=100"
    resp = requests.get(url)
    if resp.status_code == 200:
        return resp.json()
    return []

def find_related_markets(markets):
    """
    按关键词寻找可能存在关联的市场对
    这里用的是最简单的关键词匹配,实际可以更精细
    """
    pairs = []
    for i, m1 in enumerate(markets):
        for m2 in markets[i+1:]:
            q1 = m1.get("question", "").lower()
            q2 = m2.get("question", "").lower()
            # 检查是否包含相同的关键实体
            # 实际使用时可以用更智能的匹配方式
            common_words = set(q1.split()) & set(q2.split())
            # 过滤掉常见词,只保留有意义的重叠
            stopwords = {"will", "the", "a", "in", "by", "be", "to", "of", "and", "or", "is"}
            meaningful = common_words - stopwords
            if len(meaningful) >= 2:
                pairs.append((m1, m2, meaningful))
    return pairs

markets = get_active_markets()
related = find_related_markets(markets)
for m1, m2, words in related[:10]:  # 只看前 10 对
    print(f"可能关联:")
    print(f"  - {m1['question']}")
    print(f"  - {m2['question']}")
    print(f"  重叠词: {words}")
    print()

自动下单(谨慎使用)

如果你想让系统自动下单,需要用到 CLOB 客户端。参考 API 下单教程,核心逻辑是:
from py_clob_client.client import ClobClient
from py_clob_client.clob_types import OrderArgs, OrderType
from py_clob_client.order_builder.constants import BUY

client = ClobClient(
    host="https://clob.polymarket.com",
    key="你的私钥",
    chain_id=137,
    signature_type=1,  # 根据你的登录方式选择
    funder="你的代理地址"
)
client.set_api_creds(client.create_or_derive_api_creds())

def place_buy_order(token_id, price, size):
    """下一个限价买单"""
    order_args = OrderArgs(
        price=price,
        size=size,
        side=BUY,
        token_id=token_id,
    )
    signed_order = client.create_order(order_args)
    resp = client.post_order(signed_order, OrderType.GTC)
    return resp
自动下单有真金白银的风险。在部署自动交易之前:
  • 先用极小金额($1-5)测试整个流程
  • 设置严格的单笔金额上限
  • 加入熔断机制(比如连续 3 次交易亏损后暂停)
  • 不要把大量资金放在 API 可直接操作的账户里

套利收益计算实例

用一个完整的数字例子走一遍相关性套利的全过程。

场景设定

Polymarket 上有两个市场:
  • 市场 A:“Z 候选人会赢得 2026 年州长选举?“——YES @ $0.55
  • 市场 B:“Z 候选人会获得本党提名?“——YES @ $0.70
逻辑上,赢得大选的前提是先获得党内提名。所以”赢大选”的概率不可能高于”获提名”的概率。这里的定价是合理的(0.55 < 0.70)。 但如果定价反过来呢?假设某个时刻:
  • 市场 A(赢大选)YES @ $0.58
  • 市场 B(获提名)YES @ $0.50
这就不对了。赢大选的概率(58%)比获提名的概率(50%)还高,逻辑上不可能。

操作步骤

第一步:买入被低估的市场 B(获提名)YES
  • 买入 1000 份 YES @ $0.50
  • 成本 = 1000 × 0.50=0.50 = **500**
第二步:买入市场 A(赢大选)NO
  • 买入适量的 NO 来对冲
  • NO 价格 = 1 - 0.58 = $0.42
  • 买入 700 份 NO @ $0.42
  • 成本 = 700 × 0.42=0.42 = **294**
总投入 = 500+500 + 294 = $794

结果分析

情况一:Z 获得提名并赢得大选
  • 市场 B(YES):1000 × 1.00=1.00 = 1,000
  • 市场 A(NO):归零,损失 $294
  • 总回收 = $1,000
  • 净利润 = 1,0001,000 - 794 = +$206
情况二:Z 获得提名但没赢大选
  • 市场 B(YES):1000 × 1.00=1.00 = 1,000
  • 市场 A(NO):700 × 1.00=1.00 = 700
  • 总回收 = $1,700
  • 净利润 = 1,7001,700 - 794 = +$906
情况三:Z 没获得提名(也就不可能赢大选)
  • 市场 B(YES):归零
  • 市场 A(NO):700 × 1.00=1.00 = 700
  • 总回收 = $700
  • 净利润 = 700700 - 794 = -$94
三种情况里两种盈利、一种小亏。而且情况三的亏损幅度远小于情况一和二的盈利幅度。只要你判断定价矛盾确实存在,这就是一个正期望值的交易。
注意:上面的计算没有扣除手续费。Polymarket 对 taker 有手续费,具体费率参考交易费用说明。实际操作时需要把手续费算进成本。

进阶套利的风险管理

进阶套利的风险比基础套利高得多。以下是你必须考虑的几类风险。

滑点风险

你看到的价格和你实际成交的价格之间可能有差距。特别是:
  • 流动性薄的市场,大单会推动价格
  • 两个市场下单有时间差,第二笔单的价格可能已经变了
  • 市场波动剧烈时滑点更大
应对:使用限价单而非市价单。可以接受成交速度慢一些,但价格有保障。

执行风险

套利需要在两个市场同时操作。但实际上你做不到真正的同时——总有一条腿先执行。如果第一条腿成交了,第二条腿的价格变了或者没成交,你就暴露在单边风险中。 应对
  • 先在流动性差的市场下单(因为这条腿更难成交)
  • 确认第一条腿成交后,立刻执行第二条腿
  • 用 API 来缩短两条腿之间的时间差

结算风险

预测市场的结算依赖于规则解读。两个看起来矛盾的市场,可能因为结算规则的细微差异而同时结算为 YES 或同时结算为 NO,打破你的套利逻辑。 应对:逐字阅读结算规则。如果规则表述模糊,放弃这个机会。

相关性崩塌

你认为两个市场相关,但实际上这种相关性不是绝对的。突发事件可能打破你预设的关联逻辑。 应对:不要假设任何两个市场 100% 相关。留出安全边际,控制单笔交易的资金比例。
套利不是”稳赚不赔”的买卖。进阶策略尤其如此。在你完全理解所有风险之前,只用小资金练手。亏得起的钱才能放进去。

套利工具推荐

API 和数据源

工具用途链接
Polymarket CLOB API获取实时价格、下单API 文档
Gamma API获取市场列表和元数据Gamma 文档
Polygonscan查看链上交易记录polygonscan.com
Dune Analytics社区数据仪表板dune.com

开发环境

  • Python 3.10+:推荐使用 py-clob-client
  • 虚拟环境:用 venvconda 隔离依赖
  • 定时任务:用 cron(Linux/Mac)或云函数(AWS Lambda、Cloudflare Workers)跑监控脚本

通知渠道

  • Telegram Bot:最方便,免费,延迟低
  • 钉钉/飞书 Webhook:国内用户首选
  • 邮件:延迟高,但作为备份通知可以

电子表格模板

建一个简单的 Google Sheet 或 Excel 表格来追踪你的套利交易:
日期市场A市场B买入价A买入价B投入结果回收净利润备注
3/10选举YES提名YES0.580.50$794情况二$1,700+$906结算正常
每笔交易都记录。不记录就没法复盘,策略也就没法迭代。

常见问题

相关性套利和普通套利有什么区别?

普通套利盯的是同一事件在不同平台的价差——逻辑简单,机会少,竞争激烈。相关性套利盯的是不同事件之间的逻辑矛盾——需要更多思考和判断,但机会更多,竞争相对少。两者的共同点是都不依赖预测事件结果本身。

进阶套利需要多少资金?

看你的时间成本。纯手动操作的话,资金至少 $5,000 以上才有意义,因为进阶套利的利润率通常在 5-15%,太小的资金赚到的钱覆盖不了你花的时间。如果你搭建了自动化系统,资金门槛可以低一些,因为边际时间成本接近零。

API 自动化套利需要什么技术基础?

能写基础的 Python 脚本就够了。具体来说:会用 requests 库调 API、会写 while 循环做定时任务、会处理 JSON 数据。不需要机器学习、不需要高频交易架构。参考 API 下单教程 从零开始搭建。

对冲成本太高怎么办?

对冲成本取决于市场价格(也就是概率)。如果一个事件的 YES 价格是 $0.80,你买 YES 来对冲另一个头寸的成本就很高。两个办法:一是只做部分对冲(不追求完全覆盖),二是等价格更有利时再建立对冲头寸。要记住对冲是买保险,保险从来不便宜。

Polymarket 会限制套利交易者吗?

Polymarket 是去中心化的,不像传统博彩公司那样会封禁套利账户。你的交易都在链上执行,没有人能阻止你下单。但要注意 API 有速率限制,短时间内请求太多会被临时限制。另外,大额交易可能影响市场价格,等于自己吃掉了套利空间。
准备好实战了?先用小资金跑通整个流程,再逐步加仓。还没有帐户的话,可以先 注册 Polymarket

延伸阅读

基础套利教程

跨平台价差套利入门,从这里开始

API 下单教程

用代码提交你的第一笔订单

赔率和概率怎么看

理解价格背后的含义

交易费用说明

了解手续费对套利利润的影响