LIVE
$7.62 的最小利润 / 每笔交易
获取机器人

市场内二元套利解析

为什么在 Polymarket 上 YES + NO 可能小于 $1.00、如何估算边际大小,以及通过 CLOB 同时买入两条腿的实用方法。

更新于 2026-04-20· 2 min
arbitrage
Polymarket
CLOB
binary

市场内二元套利解析

简要总结:当同一 Polymarket 二元市场上 YES 和 NO 的 best-ask 之和小于 $1.00 时,就会出现市场内二元套利机会。出现这种情况时,你可以同时买入两条腿并锁定等于 $1.00 减去两条 ask 的数学差额,但在称其为有利可图之前,必须考虑手续费、滑点、部分成交、结算时序和结算时的风险。

要点

  • “YES + NO < $1.00” 是产生市场内套利边际的简单条件。
  • 原始边际是 1.00 − (bestAsk(YES) + bestAsk(NO)),但手续费、滑点和成交情况常常会侵蚀它。
  • 通过 CLOB 执行两条腿;FAK(市价)订单是常用的操作工具,因为它们优先保证即时成交。
  • 根据可用深度保守定量,并始终考虑 taker fees 和 tick size。

为什么 YES + NO 会低于 $1.00

市场微观结构和人类行为会产生短暂的不一致。常见原因包括:

  • 流动性分散:不同参与者在不同一侧挂出 asks,而另一侧没有相应的对手单。
  • 延迟与过时订单:订单更新在 CLOB 与 WebSocket 中传播速率不同;best asks 可能短时间内出现偏差。
  • 报价刻度离散化:tick size(通常为 $0.01,在接近极端时收紧到 $0.001)会强制价格四舍五入,从而产生微小缺口。
  • 费用差异与激励:maker fees 为零而 taker fees 有所不同;激进的 taker 会以不同方式路由成交,有时会使一侧变薄。
  • 人为失误与人工做市:一侧错误挂出的大额限价 ask 会在另一侧创造可利用的缺口。

量化原始边际

运算很简单:Edge = 1.00 − (bestAsk(YES) + bestAsk(NO))。Edge > 0 => 理论套利存在。

  • 示例:bestAsk(YES) = 0.46,bestAsk(NO) = 0.52 → Edge = 0.02(2 美分,相当于 $1 的 2%)。
  • 但这只是“原始边际”,还未扣除手续费、滑点和执行风险。

把原始边际变成已实现盈亏的成本

始终扣除或以其他方式考虑:

  • Taker fees:Polymarket 上的 taker fees 是可变的(取决于分类,范围从 0% 到 1.8%)。如果你在两条腿上都支付 taker fees,它们可能会吞噬边际。
  • 滑点 / 部分成交:best ask 可能只对小量可用;买入更大数量会消耗更深、价格更差的报价。
  • Tick-size 四舍五入:当 tick size 为 $0.01 时,有效 best ask 是量化的;这会改变深度曲线。
  • 结算时序与决议风险:UMA 的争议可能会延迟或改变结算。
  • 智能合约与操作风险:CTF 操作、Relayer 行为和钱包状态可能增加摩擦。

估算机会大小:实用规则

  1. 从 displayed best asks 的可用深度开始。使用订单薄深度视图查看最优价格及后续价格级别的累积数量。
  2. 计算扣除手续费后的净边际。如果两条腿都适用 taker fees,则估算净边际 = Edge − fee(YES) − fee(NO)。
  3. 应用滑点缓冲。保守假设你只能以当前显示的 best ask 数量成交;超过该数量时,假设下一个价格为 +tick 或更差。

一个简单的定量工作流程:

  • 查询两条腿的 bestAsk 和可见深度。
  • 计算原始边际以及扣除手续费后的净边际。
  • 确定最大对称数量 S,使得买入每侧 S 只会消耗你愿意接受的价格级别。
  • 如果 net edge × S 超过你的最低目标,交易可能值得执行。

在 Polymarket 上的执行方法

在 CLOB 上存在两种实用的执行模式:

  • 两条腿都使用市价(FAK)订单:createMarketOrder 风格的 FAK 尝试立即成交并取消任何未成交的剩余部分。FAK 是快速、保证即时性的常用方法,但你需支付 taker fees,并承受部分成交风险。
  • 在簿上对价的限价穿越:在显示的 best ask 或者略微更激进的位置下限价单以促成成交。如果你的订单最终被 taker 吃掉,这可以使你成为 maker(零费用),但速度更慢,并且暴露于被挑选风险。

为什么经常使用 FAK

FAK 强制即时性。当你发现一个小而短暂的边际并想要最简单的操作路径时,同时下两张 FAK(一个买 YES,一个买 NO)要么让你成交(可能是部分成交),要么不成交,并且不会留下超过成交量的未平仓风险。记住 FAK 被视为 taker 订单,通常需要支付 taker fees。

一个最小的 TypeScript 顺序(概念性)

此示例勾勒了序列;根据你的 SDK 与凭证进行调整。将占位符替换为你的环境值。

// Pseudocode-like sketch using a CLOB client
// 1. Read best asks for both outcomes via CLOB read endpoints
const yesAsk = await clob.getBestAsk(marketId, 'YES')
const noAsk  = await clob.getBestAsk(marketId, 'NO')

// 2. Compute edge and decide size
const edge = 1.0 - (yesAsk.price + noAsk.price)
if (edge <= minimumNetEdge) throw new Error('No edge')

// 3. Place FAK market orders for both legs
await clob.createMarketOrder({side: 'buy', outcome: 'YES', size: size})
await clob.createMarketOrder({side: 'buy', outcome: 'NO',  size: size})

注意:CLOB 的交易端点在下单时需要 API key + HMAC。读取是公开的。不要假设同步成交;下单后始终检查订单簿状态和交易回执。

交易后:管理头寸

成交后你会持有 YES 和 NO 两种结果代币。常见的两种结算路径:

  • 对于二元市场不存在立即的 merge-and-split 经济学;你只是持有两种结果代币。当市场结算时,你可以通过 CTF redeem 将获胜代币兑换为 $1.00。
  • 如果你需要提前释放资金,可以在 CLOB 上重新挂出一项或两项结果;剩余流动性和点差通常决定你是否能获利地解仓。

风险清单 — 为什么“数学上”不等于无风险

在不列举风险的情况下永远不要称市场内套利交易为无风险。执行前需要记录的关键风险:

  • 决议风险:UMA 的争议可能会延迟或改变结算。
  • 滑点与部分成交:你可能无法以标示价格同时填满两条腿。
  • 费用:taker fees 可能会抹去边际。
  • 智能合约/操作风险:Relayer 故障、钱包部署问题或 SDK 缺陷可能中断执行。
  • 地理与合规限制:Polymarket 会阻止来自若干司法辖区的新订单;不要尝试使用 VPN 绕过。

这如何影响你的交易

对活跃交易者而言,操作手册很直接:自动监控 bestAsk(YES) 与 bestAsk(NO) 及深度,计算扣除手续费与滑点后的净边际,并按较小的可用深度进行定量。当你优先考虑即时性并准备支付 taker fees 时使用 FAK;当你可以耐心等待 maker 成交以避免 taker fees 时考虑限价下单。始终记录成交并在链上核对代币以确认你的预期敞口。

结尾段落

市场内二元套利是 Polymarket 上最清晰的微结构套利之一:条件简单(YES + NO < $1.00),执行模式也很明了。但这种简单性并不会消除真实的操作风险、费用风险和决议风险——你必须在定量与执行决策中把这些因素计入。

常见问题解答

在市场内二元套利中,“边际”到底如何定义?

边际是 1.00 − (bestAsk(YES) + bestAsk(NO))。它是 $1.00 与二元市场上两条 best asks 之和之间的原始、未扣除费用的差额。已实现利润必须扣除 taker fees、滑点和其他执行成本。

我是否应该总是使用 FAK 订单来执行两条腿?

FAK 订单优先保证即时性并被广泛使用,但它们需要支付 taker fees 并有部分成交风险。如果你可以容忍等待 maker 成交以避免 taker fees,挂限价单可能更便宜但更慢。

我如何调整套利规模以避免被留下单边头寸?

按两侧在可接受价格级别的较小可用深度来定量。计算 best asks 及后续几个 tick 的累积深度,然后选择一个只会消耗你接受级别的对称数量。保守定量可以减少部分未匹配成交的概率。

tick-size 的变化对该策略重要吗?

重要。Polymarket 通常使用 $0.01 的 tick,在极端价格附近收紧到 $0.001。tick 的离散化会影响深度并可能制造或消除小边际,因此在你的定量和滑点模型中考虑当前 tick size。

这些交易会应用 maker fees 吗?

Polymarket 的 maker fees 为零。如果你的限价单挂起并被后来吃掉,你可以避免 taker fees。但挂单会暴露于时间风险和被挑选风险。

参考术语

相关指南

仅供教育用途。非金融、法律或税务建议。Polymarket在你的司法管辖区可能不可用。