Fill or Kill:一次性成交或彻底失效的挂单指令全解析

·

什么是 Fill or Kill

在股票、外汇乃至加密货币市场中,“Fill or Kill(FOK)”是一种极端高效的挂单方式:经纪商必须在收到指令的瞬间完成全部数量的撮合;如果做不到,该笔订单立即作废,拒绝任何“部分成交”。换句话说,FOK订单要么全吃,要么全撤,没有任何中间地带。

FOK 的诞生背景:与时间赛跑的高频需求

很多新手受影视作品影响,以为交易大厅里永远“买买买”与“卖卖卖”的嘶吼就能即刻成交。事实上,常规市价或限价单常需排队等待对手盘。Fill or Kill的出现,正是为了解决大额订单毫秒级波动环境中可能被“撕单”的风险。

👉 点击查看某次比特币闪崩中 FOK 如何保护千万级仓位。

FOK 与其他订单的“亲戚关系”

许多交易者容易把 Fill or Kill、All or None(AON)、Immediate or Cancel(IOC)混为一谈。下面用一句话厘清三者的差别:

订单类型必须立刻成交必须全部成交允许部分成交
FOK
IOC✅ 后取消余量
AON

由此可见,FOK 集成了 AON 的“一口吃”属性与 IOC 的“即刻动手”属性,是二者的“交集”。

哪些场景必须用 FOK?

  1. 大宗交易 Block Trade:单次买入 5 万股时,需要防止被拆分为数千笔小额成交导致滑点飙升。
  2. 套利窗口:跨所价差仅剩 2 秒,迟 0.5 秒就无利可图,FOK 确保一次性全仓到位。
  3. 指数调仓:某股票被移出指数,被动基金调仓时为了复制基准权重,需在集合竞价阶段启用的就是 FOK,一次性完成权重。

实战中,FOK 并非高频使用,原因有二:

👉 想了解散户如何申请 FOK 权限?这里有最新教程。

从“纸面”到“盘口”:FOK 真实案例

模拟环节:

结果:
➤ 数量不足+价格不符 → FOK 当场作废,Lindsey 避免了 200 股残单带来的风险暴露。整个过程在毫秒内完成,没有任何隐形成本。

常见问题(FAQ)

Q1:FOK 与 FAK(Fill and Kill)有何不同?
A:国内期货市场常见的 FAK 虽字面相似,但允许部分成交后立即撤单剩余量;FOK 则是全部或零

Q2:FOK 能否用在市价单?
A:不行。FOK 默认是限价单,仅接受期初指定价格,才会确保“价格+数量”双满足。

Q3:FOK 成交失败会影响账户资金吗?
A:不会失败计入交易量,亦不会占用保证金;订单失效后,资金、持仓保持原状。

Q4:为什么我交易界面找不到 FOK 选项?
A:部分券商将其隐藏于高级指令→附加条件里,亦需账户级别达到专业级或API接入才会解锁。

Q5:FOK 有无可能滑点?
A:不会。FOK 的价格字段为绝对成交/作废基准,只要市价扫到挂单即可;一旦买盘不足便直接撤销,绝无滑点发生。

Q6:FOK 占不占行情流量?
A:大幅交易会对盘口造成瞬间抽取,线缆延迟是主要瓶颈,建议在高并发柜台直连( co-location )上架设策略。

如何设置与取消 FOK?

以机构 API 为例,仅需三步:

  1. 在订单结构体中设置 TimeInForce = FOK
  2. OrderQty 填写你将“全吃”的总量;
  3. 若超时未收到“成交回报”,系统自动取消订单,无需人工撤回。

散户若想尝试,可检查券商是否提供限价+FOK组合;若不支持,可用 ICE(IOC + AON) 替代,但需接受可能留有残单

小结