在高频市场,每毫秒都决定利润。成交或取消指令(Fill-or-Kill, FOK) 正是为这种“争分夺秒”而生。本文一次性拆解 FOK 的底层逻辑、适用场景、典型误区以及与 IOC 指令的直观对比,帮助你把自动化交易的效能真正转化为收益。
什么是成交或取消指令?
成交或取消指令是一种“一次性全数成交,否则立即取消”的自动委托协议。通俗讲:
- 成交:交易所必须在你设定的价格 且一次性数量全部成交;
- 取消:只要任何条件(价格或数量)不达标,整笔订单就瞬间撤销,不留下任何部分成交。
核心关键词
成交或取消指令、FOK 订单、FOK 与 IOC 对比、高频交易策略、交易滑点、大宗交易、市场流动性、风险控制、自动委托协议
适用场景:谁该用 FOK?
1. 高频 & 量化交易者
日内高频策略对滑点容忍度极低。一笔上千手的委托若因价格差或挂单不足导致部分成交,后续可能引发连锁亏损。FOK 把“不满意”直接过滤掉。
2. 机构大额交易
基金公司或 Prop Trading Desk 每天需要在固定价格区间一次性吃进或抛出万手级别仓位。FOK 把交易风险锁死在“全部达成”或零仓位之间,省下后续对冲成本。
3. 流动性极高的盘口
如外汇直盘 EUR/USD、纳指期货主力合约、A50 股指等等。这些盘口的挂单深度足够,FOK 提高“瞬时吃满”的概率。
👉 一秒钟搞懂「FOK 指令暴跌行情该如何避险」实战技巧
FOK 触发原理图示化
触发 FOK 订单:
│
├─ 检查 ① 价格 >= 设定价?
│ ├─ 是 ─→ 检查 ② 数量 >= 设定手数?
│ │ ├─ 是 ─→ 全部成交 ✅
│ │ └─ 否 ─→ 全部取消 ❌
│ └─ 否 ─→ 全部取消 ❌真实案例:200 万股谷歌大宗卖单
背景:投资者 X 需要在 50 美元处一次性卖出 200 万股。
| 盘口情况 | FOK 结果 | 原因说明 |
|---|---|---|
| 买单总量 100 万股 @50 美元 | 订单取消 | 数量不足 |
| 买单总量 200 万股 @50.5 美元 | 订单取消 | 价格不达标 |
| 买单总量 220 万股 @50 美元 | 全部成交 | 价格+数量全达标 |
结论:无论行情如何波动,唯有两项同时“一次到位”才生效。投资者避免拆单造成的二次滑点、先后成交差异与时间成本。
和 IOC 的直观差异
| 维度 | FOK | IOC |
|---|---|---|
| 部分成交 | ❌ 不允许 | ✅ 允许 |
| 成交概率 | 低 | 高 |
| 适用盘况 | 深度充足的高流动性盘口 | 中浅盘口 |
| 运行风格 | 极端、稳妥 | 灵活、进取 |
一句话总结:FOK 是“全或无”,IOC 则是“见缝就钻”。后者适合对价格有底线、但对数量可容忍部分缺失的交易者。
FOK 风险清单
- 取消笔数多:在深盘里,FOK 也会因为数量差点被系统自动撤销,机会成本不可忽视。
- 交易所差异:部分交易所对 FOK 的支持有最小手数限制,务必提前阅读撮合细则。
- 极端行情:一旦盘口瞬间被“打空”,FOK 会加速订单作废,可能出现高开低走无人接盘的尴尬。
常见问题 FAQ
Q1:FOK 可以用于所有品种吗?
A:理论上只要交易所支持即可,但高流动性股票、外汇、主流期货合约才是最优选。冷门品种更容易因挂单不足被全单作废。
Q2:挂单时间有限制吗?
A:FOK 属于即时触发类型,从下单那一刻即与柜台撮合,不设“挂起时段”,所以不存在 GTC(取消前有效)那样的延时。
Q3:能否与止盈/止损混用?
A:可以。你可将止损价预设为触发条件,再挂上 FOK,形成双重保险。但注意止盈止损触发→FOK 价格验证仍然是瞬间执行,若盘口不匹配即作废。
Q4:如何计算 FOK 的执行概率?
A:用盘口深度和最近 5 分钟的挂单均值做简易统计:
执行概率 ≈ (买一 / 卖一量 ≥ 你的订单量) 的分钟占比 × 成交价差 ≤ 你的容忍价的分钟占比。
Q5:为何我的 FOK 刚下单就被撤?
A:检查两个变量:① 当前盘口的最优价与挂单价差;② 挂单量是否持续>=你的需求数量。其中任何一项刚达标又瞬间失衡,都会被系统判定执行失败。
Q6:多笔 FOK 会自动排队吗?
A:不会。多笔 FOK 互不影响,柜台一次性撮合;第二笔 FOK 也不会等待首笔撤单后占用剩余挂单。
场景延伸:自动协控策略
除独立使用外,FOK 命令还能作为跨品种套利链的一环:
- 步骤 1:现货买入 500 BTC FOK @30,200 美元;
- 步骤 2:同时在季度合约卖出 500 BTC FOK @30,230 美元;
- 步骤 3:若两条 FOK 均以“成功”标记,则用程序对冲锁定价差 30 美元/枚,并考虑手续费。
若任意一端失败,剩余资金在毫秒级内撤回,把价差变负的可能化为零。
👉 掌握「毫秒级套利」背后的 FOK 与算法组合打法
结论:把风险交给指令,把思考留给策略
FOK 不是万能的,它消灭的是不确定性。把“价格 ± 数量”变为量化条件放进自动化指令里,你便能将更多精力放在策略本身:市场趋势、风控纪律、仓位分配与利润率测算。真正的利润,往往来自系统纪律而非一次侥幸。