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.
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 同时满足这两点——它立即执行并取消剩余数量,防止激进挂单残留在订单簿上。
执行机制(逐步说明)
- 你指示客户端或 SDK 创建一个市价单。辅助工具会对 CLOB 发出一个 FAK。
- 订单沿订单簿走动,按价格上升顺序(买入)或下降顺序(卖出)与 resting limit orders 匹配,直到目标数量成交或在允许的价格下不再存在流动性为止。
- 任何未被即时匹配的数量都会被取消(kill)。你不会留下一个未成交的激进限价单在簿上。
- 交易所对已成交数量收取 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在你的司法管辖区可能不可用。