> ## Documentation Index
> Fetch the complete documentation index at: https://polymarketcn.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Polymarket 进阶套利策略：跨市场对冲与 API 自动化【2026】

> Polymarket 进阶套利教程：多市场相关性套利、事件对冲策略、API 自动化套利系统搭建。附 Python 代码示例、收益计算和风险管理实战指南。

同一事件、不同平台、低买高卖——这种经典套利的窗口期在缩短。做市商和量化团队反应越来越快，纯粹靠价差吃饭的空间已经不大了。

但这不意味着套利死了。几种更高阶的玩法仍然有效，只是门槛更高、需要更多工具和思考。

<Callout type="success">
  本文假设你已经读过[基础套利教程](/trading/polymarket-arbitrage/)，熟悉跨平台价差套利的基本逻辑。如果还没有，先去看那篇。
</Callout>

<Warning>
  **合规提醒**：Polymarket 不支持中国大陆、新加坡、法国等地区用户。在使用任何套利策略前，请确认你所在地区的法律规定。套利涉及多平台操作，可能触及不同司法管辖区的监管要求。
</Warning>

## 多市场相关性套利

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

### 什么叫定价不一致

举个具体的例子。假设 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 该政策产生的具体影响

<Info>
  相关性套利的核心是找逻辑漏洞，不是猜结果。你需要对事件之间的逻辑关系有清晰判断。纯粹看价格是找不到这类机会的。
</Info>

### 注意事项

相关性套利有一个隐藏的坑：**结算规则不同**。

两个市场看起来相关，但结算条件可能有微妙差别。"X 赢得大选" vs "X 的党赢得大选"——如果 X 中途退选但替补候选人赢了，市场 A 结算为 NO，市场 B 结算为 YES。这时你的对冲就会同时亏损。

做相关性套利之前，一定要把两个市场的结算规则逐字读完。

## 事件对冲策略

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

### 跨资产对冲

你持有加密资产，同时在 Polymarket 上关注政策市场——这两件事可以联动。

**场景**：你持有大量 ETH。Polymarket 上有一个市场："美国是否会在 2026 年通过加密货币全面监管法案？"

* 如果法案通过（严格监管），ETH 可能短期下跌
* 你可以在 Polymarket 买入"法案通过"的 YES 份额

这样，如果法案真的通过导致 ETH 下跌，你在 Polymarket 的盈利可以部分对冲 ETH 的损失。

### 对冲比例怎么算

假设你持有价值 $10,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 = $1,500，刚好覆盖 ETH 的损失。对冲成本是 \$808。

如果法案没通过：ETH 不受影响，但你损失了 \$808 的对冲成本。

<Info>
  对冲不是免费午餐。它的本质是花钱买保险——你付出确定的成本（对冲费用），换取不确定风险的保护。
</Info>

### 同平台多市场对冲

你也可以在 Polymarket 内部进行对冲。比如你重仓买了"A 候选人赢得初选"的 YES，可以同时小仓位买入"B 候选人赢得大选"的 YES 作为保护。如果 A 输了初选，B 可能因此受益，你的对冲头寸可以减少损失。

这种操作更灵活，但需要你对事件之间的关联性有准确判断。

## API 自动化套利

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

### 基础架构

一个最小可用的套利监控系统需要三部分：

1. **数据采集**：定时拉取市场价格
2. **信号判断**：检测价差是否超过阈值
3. **通知/执行**：发送提醒或自动下单

### 价格监控脚本

下面是一个用 Python 写的简单监控脚本，定时检查两个相关市场的价格关系：

```python theme={null}
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 一次性拉取所有活跃市场，然后筛选出有关联的市场组合：

```python theme={null}
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 下单教程](/api-tutorial/first-order/)，核心逻辑是：

```python theme={null}
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
```

<Warning>
  自动下单有真金白银的风险。在部署自动交易之前：

  * 先用极小金额（\$1-5）测试整个流程
  * 设置严格的单笔金额上限
  * 加入熔断机制（比如连续 3 次交易亏损后暂停）
  * 不要把大量资金放在 API 可直接操作的账户里
</Warning>

## 套利收益计算实例

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

### 场景设定

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 = **$500\*\*

**第二步：买入市场 A（赢大选）NO**

* 买入适量的 NO 来对冲
* NO 价格 = 1 - 0.58 = \$0.42
* 买入 700 份 NO @ \$0.42
* 成本 = 700 × $0.42 = **$294\*\*

**总投入 = $500 + $294 = \$794**

### 结果分析

**情况一：Z 获得提名并赢得大选**

* 市场 B（YES）：1000 × $1.00 = $1,000
* 市场 A（NO）：归零，损失 \$294
* 总回收 = \$1,000
* 净利润 = $1,000 - $794 = **+\$206**

**情况二：Z 获得提名但没赢大选**

* 市场 B（YES）：1000 × $1.00 = $1,000
* 市场 A（NO）：700 × $1.00 = $700
* 总回收 = \$1,700
* 净利润 = $1,700 - $794 = **+\$906**

**情况三：Z 没获得提名（也就不可能赢大选）**

* 市场 B（YES）：归零
* 市场 A（NO）：700 × $1.00 = $700
* 总回收 = \$700
* 净利润 = $700 - $794 = **-\$94**

三种情况里两种盈利、一种小亏。而且情况三的亏损幅度远小于情况一和二的盈利幅度。只要你判断定价矛盾确实存在，这就是一个正期望值的交易。

<Info>
  注意：上面的计算没有扣除手续费。Polymarket 对 taker 有手续费，具体费率参考[交易费用说明](/trading/trading-fees/)。实际操作时需要把手续费算进成本。
</Info>

## 进阶套利的风险管理

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

### 滑点风险

你看到的价格和你实际成交的价格之间可能有差距。特别是：

* 流动性薄的市场，大单会推动价格
* 两个市场下单有时间差，第二笔单的价格可能已经变了
* 市场波动剧烈时滑点更大

**应对**：使用限价单而非市价单。可以接受成交速度慢一些，但价格有保障。

### 执行风险

套利需要在两个市场**同时**操作。但实际上你做不到真正的同时——总有一条腿先执行。如果第一条腿成交了，第二条腿的价格变了或者没成交，你就暴露在单边风险中。

**应对**：

* 先在流动性差的市场下单（因为这条腿更难成交）
* 确认第一条腿成交后，立刻执行第二条腿
* 用 API 来缩短两条腿之间的时间差

### 结算风险

预测市场的结算依赖于规则解读。两个看起来矛盾的市场，可能因为结算规则的细微差异而同时结算为 YES 或同时结算为 NO，打破你的套利逻辑。

**应对**：逐字阅读结算规则。如果规则表述模糊，放弃这个机会。

### 相关性崩塌

你认为两个市场相关，但实际上这种相关性不是绝对的。突发事件可能打破你预设的关联逻辑。

**应对**：不要假设任何两个市场 100% 相关。留出安全边际，控制单笔交易的资金比例。

<Warning>
  套利不是"稳赚不赔"的买卖。进阶策略尤其如此。在你完全理解所有风险之前，只用小资金练手。亏得起的钱才能放进去。
</Warning>

## 套利工具推荐

### API 和数据源

| 工具                  | 用途         | 链接                                                  |
| ------------------- | ---------- | --------------------------------------------------- |
| Polymarket CLOB API | 获取实时价格、下单  | [API 文档](/api-tutorial/first-order/)                |
| Gamma API           | 获取市场列表和元数据 | [Gamma 文档](/api-tutorial/gamma-structure/overview/) |
| Polygonscan         | 查看链上交易记录   | polygonscan.com                                     |
| Dune Analytics      | 社区数据仪表板    | dune.com                                            |

### 开发环境

* **Python 3.10+**：推荐使用 `py-clob-client` 库
* **虚拟环境**：用 `venv` 或 `conda` 隔离依赖
* **定时任务**：用 `cron`（Linux/Mac）或云函数（AWS Lambda、Cloudflare Workers）跑监控脚本

### 通知渠道

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

### 电子表格模板

建一个简单的 Google Sheet 或 Excel 表格来追踪你的套利交易：

| 日期   | 市场A   | 市场B   | 买入价A | 买入价B | 投入    | 结果  | 回收      | 净利润    | 备注   |
| ---- | ----- | ----- | ---- | ---- | ----- | --- | ------- | ------ | ---- |
| 3/10 | 选举YES | 提名YES | 0.58 | 0.50 | \$794 | 情况二 | \$1,700 | +\$906 | 结算正常 |

每笔交易都记录。不记录就没法复盘，策略也就没法迭代。

## 常见问题

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

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

### 进阶套利需要多少资金？

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

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

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

### 对冲成本太高怎么办？

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

### Polymarket 会限制套利交易者吗？

Polymarket 是去中心化的，不像传统博彩公司那样会封禁套利账户。你的交易都在链上执行，没有人能阻止你下单。但要注意 API 有[速率限制](/api-tutorial/rate-limits/)，短时间内请求太多会被临时限制。另外，大额交易可能影响市场价格，等于自己吃掉了套利空间。

<Callout type="success">
  准备好实战了？先用小资金跑通整个流程，再逐步加仓。还没有帐户的话，可以先 [注册 Polymarket](https://polymarket.com/?r=2026VIP)。
</Callout>

## 延伸阅读

<CardGroup cols={2}>
  <Card title="基础套利教程" icon="arrows-rotate" href="/trading/polymarket-arbitrage/">
    跨平台价差套利入门，从这里开始
  </Card>

  <Card title="API 下单教程" icon="code" href="/api-tutorial/first-order/">
    用代码提交你的第一笔订单
  </Card>

  <Card title="赔率和概率怎么看" icon="chart-line" href="/other/how-to-read-polymarket-odds/">
    理解价格背后的含义
  </Card>

  <Card title="交易费用说明" icon="dollar-sign" href="/trading/trading-fees/">
    了解手续费对套利利润的影响
  </Card>
</CardGroup>
