- FOK (Fill or Kill):必须全部成交,否则一笔都不成交。
- FAK (Fill and Kill):能成交多少就成交多少,剩余的立即取消。
下面我们来深入拆解。

核心概念:立即执行或取消
在理解 FOK 和 FAK 之前,首先要明白它们都属于 IOC (Immediate or Cancel) 订单。
IOC 订单的核心思想是:
- 立即:订单一旦发出,就立刻进入市场进行撮合。
- 执行或取消:在当前市场价位下,订单只能部分或全部成交。任何无法立即成交的部分,都会被系统立即取消,并且不会留在订单簿里等待后续成交。
FOK 和 FAK 都是 IOC 订单的子集,它们对“执行”的条件提出了更严格的要求。
FOK (Fill or Kill) - 全部成交或立即取消
FOK 是最严格的订单类型之一,它追求的是“要么全有,要么全无”。

定义
当您提交一个 FOK 订单时,它必须在当前市场价位下,一次性全部成交,如果由于市场流动性不足,无法满足您订单的全部数量,那么整个订单将一笔都不会成交,并且会被系统立即取消。
工作机制
- 检查流动性:系统首先检查当前买一/卖一价位的挂单数量。
- 判断能否全部成交:
- 可以:如果您的订单数量小于或等于当前价位上的挂单数量,您的订单会全部成交。
- 不可以:如果您的订单数量大于当前价位上的挂单数量,您的订单一笔都不会成交,直接被取消。
- 结果:没有部分成交的可能性。
适用场景
FOK 订单适合对交易确定性要求极高,且不希望有任何剩余头寸的投资者。
- 大额平仓:您持有大量期货合约,希望在不影响市场太多的情况下,一次性全部平仓,如果市场流动性不足,宁愿等待更好的时机或拆分订单,也不愿意留下部分头寸。
- 精确套利:在进行跨期、跨市套利时,需要确保所有相关的头寸(如买入A合约,卖出B合约)同时建立或了结,以规避价差变动带来的风险。
- 避免滑点:当您以市价单(Market Order)下单时,如果订单量很大,会依次吃掉多个价位的挂单,导致成交价格不理想(即滑点),FOK 订单确保您只在当前最优价位成交,如果无法满足,则放弃,从而避免了滑点。
举例
假设您想 买入 100 手 某股指期货,当前市场卖盘情况如下:
-
卖一价:4500点,挂单量:50手
-
卖二价:4501点,挂单量:80手
-
卖三价:4502点,挂单量:100手
-
如果您下 FOK 买单:
- 系统检查卖一价,只有50手,无法满足您100手的需求。
- 结果:您的 FOK 订单一笔都不会成交,被系统取消。
FAK (Fill and Kill) - 部分成交并取消剩余
FAK 订单相对灵活一些,它追求的是“有多少要多少,剩下的不要了”。
定义
当您提交一个 FAK 订单时,它会立即在市场上尝试成交,所有能够立即成交的部分都会被成交,而任何无法立即成交的剩余部分,会被系统立即取消。
工作机制
- 立即成交部分:系统会以当前最优的挂单价格,尽可能多地成交您的订单。
- 取消剩余部分:一旦市场上没有足够的对手方来满足您订单的全部数量,剩余未成交的部分会立刻从订单簿中消失。
- 结果:只会有部分成交,没有剩余订单。
适用场景
FAK 订单非常适合希望快速成交一部分订单,并且不希望订单挂在盘口上等待的投资者。
- 快速入场/出场:您想快速建立或减少头寸,但对成交数量没有严格要求,只要能成交一部分就可以。
- 利用市场短暂流动性:您观察到某个价位有短暂的、大量的挂单,想快速吃掉这部分流动性,但又不希望把整个大订单都挂在盘口上,暴露自己的意图。
- 避免被动等待:与限价单不同,FAK 订单不会在盘口上留下“尾巴”,如果无法全部成交,它会主动取消,而不是被动等待价格回到您的限价。
举例
使用同样的市场情况:
-
卖一价:4500点,挂单量:50手
-
卖二价:4501点,挂单量:80手
-
卖三价:4502点,挂单量:100手
-
如果您下 FAK 买单:
- 系统会以4500点的价格,吃掉卖一的50手。
- 您的订单还剩下50手未成交。
- 系统会继续尝试以4501点的价格成交,但市场上卖二只有80手,可以满足您剩下的50手。
- 结果:您的 FAK 订单全部成交了100手(50手@4500, 50手@4501)。(注:这个例子中 FAK 和 FOK 结果相同,但逻辑不同,如果卖二只有30手,FAK 会成交80手,剩余20手被取消。)
再看一个更能体现区别的例子:
-
卖一价:4500点,挂单量:30手
-
卖二价:4501点,挂单量:20手
-
如果您下 FOK 买单:
- 需要买100手,但卖一只有30手,无法满足。
- 结果:一笔都不成交。
-
如果您下 FAK 买单:
- 系统会以4500点价格吃掉30手。
- 剩下的70手无法在最优价位成交,这部分会被取消。
- 结果:成功成交30手,剩余70手被取消。
FOK vs. FAK 核心区别总结
| 特性 | FOK (Fill or Kill) | FAK (Fill and Kill) |
|---|---|---|
| 核心要求 | 必须全部成交,否则全部取消 | 能成交多少就成交多少,剩余取消 |
| 成交结果 | 要么100%成交,要么0%成交 | 部分成交(0% - 100%),无剩余 |
| 严格程度 | 更严格,确定性更高 | 更灵活,适应性更强 |
| 适用场景 | 大额平仓、精确套利、避免滑点 | 快速成交、利用短暂流动性、避免被动等待 |
| 对流动性要求 | 极高,要求市场深度足够 | 相对较低,能接受部分成交 |
使用注意事项
- 并非所有平台都支持:FOK 和 FAK 是交易所提供的特殊订单类型,但并非所有的期货交易软件或券商都支持这两个功能,下单前请确认您的交易平台是否提供。
- 理解滑点:虽然 FOK 和 FAK 都有助于控制滑点,但 FAk 在部分成交时,成交价格可能不是一个单一价格(如上述例子中的4500和4501),这也会产生一定的价格差异。
- 与市价单的区别:普通的市价单是“尽力成交”,它会依次吃掉多个价位的挂单,直到全部成交或达到交易所规定的最大成交量限制,剩余部分会变成限价单挂在盘口上,而 FOK/FAK 是“立即执行或取消”,没有剩余订单。
希望这个详细的解释能帮助您彻底理解 FOK 和 FAK 的区别和应用!
标签: 期货FOK与FAK区别 FOK和FAK订单类型对比 交易中FOK和FAK应用差异