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

FAK order explained: how Fill-And-Kill works on Polymarket

A deep-dive for active traders into how a FAK order works on Polymarket, execution mechanics, edge cases, and practical tactics for intra-market arb and tight markets.

更新于 2026-04-20· 2 min
FAK
CLOB
trading
arbitrage

FAK order explained: how Fill-And-Kill works on Polymarket

简短回答:在 Polymarket 上,FAK 订单(Fill-And-Kill)是一种类市价指令,它尝试立即在 CLOB 上成交并取消任何未成交的剩余数量。本指南面向主动交易者,解释了执行机制、FAK 在 tick 级别的行为、常见失败模式,以及用于 intra-market 套利和窄价差市场的实用策略。

要点总结

  • FAK 会立即针对 Polymarket 的 CLOB 上的挂单执行,并取消任何剩余数量;把它当作带有自动取消残量的市价单。
  • SDK 中的 CLOB 辅助工具暴露了一个 createMarketOrder 工具,它表现出 FAK 行为;与简单的市价成交相比,FAK 内建了滑点保护。
  • 接近 tick 阶段和 tick 尺寸变化($0.01 vs $0.001)会改变实际执行效果。在路由 FAK 之前务必检查 tick 大小和 midpoint。
  • FAK 消除了做市方风险,但会让你面临部分成交、滑点、吃单费用、结算和预言机争议风险——在未列出这些风险时,切勿称 FAK 执行为“无风险”。
  • 对于 intra-market 套利,FAK 有助于捕捉瞬时边际,但你必须为部分成交、费用和结算时序留出预算。

Polymarket 使用 FAK 的实用理由

Polymarket 的 CLOB 支持限价单和一个表现为 FAK 的市价单辅助工具。该设计符合交易所的无 gas、以用户体验为先的思路:大多数用户在选择类市价路由时希望得到即时成交,但协议也必须避免激进市价单留下无限期挂单的情况。FAK 同时满足这两点——它立即执行并取消剩余数量,防止激进挂单残留在订单簿上。

执行机制(逐步说明)

  1. 你指示客户端或 SDK 创建一个市价单。辅助工具会对 CLOB 发出一个 FAK。
  2. 订单沿订单簿走动,按价格上升顺序(买入)或下降顺序(卖出)与 resting limit orders 匹配,直到目标数量成交或在允许的价格下不再存在流动性为止。
  3. 任何未被即时匹配的数量都会被取消(kill)。你不会留下一个未成交的激进限价单在簿上。
  4. 交易所对已成交数量收取 taker 费用。你击中的挂单作为 maker,maker 费用为零。

Tick 大小及其对 FAK 的影响

Polymarket 使用动态 tick 大小。通常为 $0.01,但当价格接近极端(高于 0.96 或低于 0.04)时,tick 会收紧到 $0.001。两个实际后果:

  • 在走簿时你可能跨越的价格步长会改变。tick 收紧时,FAK 可以在更细的价格点上执行,从而降低非常单边市场的滑点。
  • 当 tick 大小时,你的 midpoint 和感知到的 edge 可能会发生移动。在定小 FAK 前务必检查当前的 tick。

滑点、部分成交与 SDK 辅助工具的作用

FAK 的设计目标是不留下未成交数量,但它并不保证完全成交。当提交时,若挂单簿深度不足以填满你的大小,就会发生部分成交。SDK 的 createMarketOrder 辅助工具通常会返回已成交数量和平均价格,便于你在程序上作出反应。

交易者常用的两种模式:

  • 小尺寸、重复 FAK:将一个大目标拆成许多小 FAK 并快速连续提交,以消耗可见流动性,同时降低单笔订单的价格冲击。
  • 激进单笔 FAK:需要即时敞口时使用,接受较大的滑点和 taker 费用。

费用与经济学

Polymarket 按分类收取 taker 费用(可变,目前在 0% 到 1.8% 范围内)。maker 费用为零。对于薄利的短期套利,请在计算边际时明确计入 taker 费用。如果你通过 Builder 路由订单,builder 费用(以基点计)和 Builder Program 的等级也会影响经济性。

你必须考虑的风险

在未列出下列风险时,切勿称 FAK 执行为“无风险”:

  • 结算和预言机争议:UMA 的争议可能暂停结算并改变已实现 P&L 的时序。
  • 滑点与部分成交:FAK 可能部分成交或以差于预期的价格成交,同时取消剩余数量。
  • 费用变动与 builder 费用:taker 费用和 builder 费用会降低实际边际收益。
  • 结算时序与 split/merge/redeem 延迟:代币是 ERC-1155,需要通过 CTF 操作来创建和赎回完整集合。
  • 智能合约与操作风险:尽管 Polymarket 通过 Relayer 赞助 gas,智能合约漏洞或 relayer 中断仍属协议级风险。

常见失败模式及如何检测

  • 立即部分成交:返回的执行量小于请求量——通过程序逻辑处理,重新评估剩余目标。
  • 零成交:在你提交前订单簿已移动。使用 Market WS 或 CLOB 读取检查 best_bid_ask 和 last_trade_price,并考虑重试逻辑。
  • 意外的 tick 变化:如果在你的策略假设 $0.01 步长时 tick 收紧,预期的滑点曲线可能失效。在 Market WS 上订阅 tick_size_change 事件来监控。

套利与窄价差市场的实用策略

  • 对于 intra-market 二元套利(当 Σ bestAsk < $1.00 时买入两边),优先对两个腿同时提交小额 FAK,以避免一腿成交而另一腿未成交。如果一腿部分成交,你可能会被留下净多或净空仓——要准备对冲或平仓。
  • 离线监控订单簿:使用 Market WS 的 best_bid_ask 和 last_trade_price,确保在发送 FAK 之前预期的流动性仍在。
  • 在接近结算或非常紧的点差交易时,减小订单尺寸并提高频率。流动市场中的价差是短暂的,可能在几秒内消失。
  • 在计算 edge 时将 taker 费用和 builder 费用考虑在内。名义上的 edge 在计入费用和部分成交风险后可能消失。

这对你的交易有何影响

如果你频繁交易或运行套利机器人,将 FAK 视为在 Polymarket 上的默认市价执行原语。它的即时取消行为防止你在簿上留下被动且价格激进的挂单,但它也带来了执行不确定性。构建逻辑以:

  • 在每次 FAK 前立即检查 tick 大小和 best_bid_ask。
  • 将订单尺寸限制为相对于可见深度的合理值;当簿薄时,优先使用许多小 FAK 而非单笔大单。
  • 记录已成交数量和平均价格以便事后核算;SDK 辅助工具会返回这些值。
  • 在盈利性检测中始终包含 taker 和 builder 费用,并在事后对账时考虑结算和赎回风险。

资源与后续阅读

  • Polymarket CLOB explainer: /guides/polymarket-clob-explained
  • Intra-market arbitrage mechanics: /guides/intra-market-binary-arbitrage-explained
  • Full arbitrage primer: /guides/polymarket-arbitrage-complete-guide

结语

FAK 订单简明解释:它是在 Polymarket 的 CLOB 上立即执行并取消任何剩余数量的类市价 FAK。用它来捕捉瞬时边际,但要围绕部分成交、tick 变化和费用来设计策略。

常见问题

Polymarket 上的 FAK 与普通市价单有何区别?

Polymarket 暴露了一个实现 Fill-And-Kill 语义的市价单辅助工具:它会立即针对 resting liquidity 执行并取消任何未成交的剩余数量。实际上,这意味着在提交后你不会在簿上留下激进的限价单;剩余数量会被取消。SDK 的 createMarketOrder 会返回已成交数量和平均价格,便于你处理部分成交情况。

我应如何为套利调整 FAK 的尺寸?

按可见簿深度调整 FAK 尺寸。在点差很薄时,将目标拆成多个小 FAK 以减少每笔订单的价格冲击。对于二元 intra-market 套利,同时以你合理预期顶端簿能成交的尺寸提交两腿;如果一腿只部分成交,须准备对冲。

FAK 订单支付 maker 还是 taker 费用?

FAK 成交被视为 taker 成交,需按 Polymarket 的 taker 费用(按分类可变)支付。静态挂单的 maker 费用为零。如果你通过 Builder 路由,可能还需支付以基点计的 builder 费用。

如果 UMA 对结局提出争议,FAK 的执行会被撤销吗?

不会——UMA 的争议影响的是交易完成后的结算和赎回时序。使用 FAK 执行的交易在链上是最终的;不过,结局争议可能会延迟 redeem/settle 操作,从而影响已实现 P&L 的时间。

在发送 FAK 前如何检测 tick 大小的变化?

订阅 Market WS (wss://ws-subscriptions-clob.polymarket.com/ws/market) 并监听 tick_size_change 事件。也可查询 CLOB 的公共读取以获取当前 tick 元数据。在 tick 从 $0.01 收紧到 $0.001 时,调整你的尺寸和滑点预期。

参考术语

相关指南

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