期货交易中的 FAK、FOK 是什么?哪些指令能一起用?

在期货交易中,FAK 和 FOK 是两种常见的“订单执行策略”。但你经常会看到这样的描述:

“支持 FAK / FOK,但不支持 TAS”

或者:

“套利指令支持 FAK / FOK”

这两句话并不矛盾。今天这篇文章,我们就彻底讲清楚:

  • FAK 和 FOK 是什么?
  • TAS 是什么?为什么不能和 FAK/FOK 一起用?
  • 套利指令是什么?可以和 FAK/FOK 一起用吗?

一、FAK 和 FOK:两种“订单执行策略”

在交易下单时,你可以控制订单是“部分成交”还是“全部成交”,这就是 FAKFOK 的作用。

1. FAK(Fill and Kill)

立即成交剩余撤销

  • 订单进入市场后,能成交多少就成交多少
  • 剩下没成交的部分,立刻自动撤销
  • 适合不想挂单等待、希望快速处理剩余订单的场景。

✅ 例子:
你买入 10 手,市场上只有 6 手可成交。
→ 成交 6 手,剩下 4 手自动撤单

2. FOK(Fill or Kill)

全部成交否则撤销

  • 订单必须完全成交
  • 如果市场上无法一次性全部匹配,整笔订单立即撤销,一笔都不成交。

✅ 例子:
你买入 10 手,市场上只有 6 手。
→ 订单完全失败,0 手成交。


二、TAS 指令:为什么不能和 FAK/FOK 一起用?

TAS 是什么?

TAS(Trade at Settlement) = 结算价交易。

  • 你下单时不知道成交价
  • 最终成交价 = 当天的结算价
  • 结算价要到收盘后才能算出来

为什么不能和 FAK/FOK 一起用?

FAK / FOK 的要求 TAS 的实际情况
判断能否成交 下单时立即判断 收盘后才知道价格
剩余部分处理 立即撤单或全撤 无法立即判断

FAK 和 FOK 都要求下单瞬间就知道“能成交多少”或“能否全部成交”。
但 TAS 的价格是收盘后才确定的,交易所无法在当下做出判断。
因此 TAS 不支持 FAK / FOK

✅ 结论:TAS ❌ 不支持 FAK / FOK


三、套利指令:可以和支持 FAK/FOK 一起用

套利指令是什么?

套利指令 = 两条腿同时成交的订单。

  • 跨期套利:如买入 au2607 / 卖出 au2609
  • 跨品种套利:如买入 au2607 / 卖出 ag2607

关键特点:两条腿的价格都是实时市场价,下单时就能判断能否成交。

为什么可以和 FAK / FOK 一起用?

因为套利指令的成交价是当前市场价,交易所可以:

  • 立即检查两条腿各自的盘口深度
  • 判断能匹配多少对
  • 按 FAK 或 FOK 规则执行

套利 + FAK 的例子

你下套利单:买入 au2607 / 卖出 au2609,数量 10 手,FAK

  • au2607 买盘可匹配 10 手 ✅
  • au2609 卖盘可匹配 6 手 ✅(只有 6 手对手盘)

→ 成交 6 对,剩余 4 对立即撤销
→ 两条腿是成对成交的,不会出现单腿挂单

套利 + FOK 的例子

你下套利单:买入 au2607 / 卖出 au2609,数量 10 手,FOK

  • 情况A:两条腿都能匹配 10 手 ✅ → 全部成交
  • 情况B:只有 6 手可匹配 ❌ → 整笔撤销,0 对成交

✅ 结论:套利指令 ✅ 支持 FAK / FOK


四、总结

指令类型 是否支持 FAK / FOK 原因
普通市价/限价 ✅ 支持 单腿,实时价格,逻辑简单
TAS ❌ 不支持 价格是未来的结算价,无法立即判断
套利指令 ✅ 支持 实时价格,可立即判断,成对处理

五、常见误区澄清

误区1:套利是两条腿,所以不能部分成交?

错。 套利虽然是两条腿,但交易所是按“对”来处理的。
FAK 可以成交部分“对”,剩下撤单,不会出现单腿成交。

误区2:TAS 和套利都不能和 FAK/FOK 一起用?

部分错。

  • TAS ❌ 不能
  • 套利 ✅ 能

两者不能混为一谈。

误区3:FAK 和 FOK 是一回事?

不是。

  • FAK:能成交多少算多少,剩下撤单
  • FOK:要么全成,要么全撤

六、速查表

组合 是否支持
普通订单 + FAK
普通订单 + FOK
TAS + FAK / FOK
套利指令 + FAK
套利指令 + FOK
套利指令 + 市价

七、一句话总结

FAK 和 FOK 是“立即执行”策略,能否使用取决于成交价是否当下可知。

  • TAS 价格在未来 → 不支持
  • 套利价格在当下 → 支持

八、写在最后(给开发 / 产品同学)

如果你在对接上期所、能源中心或 CTP 网关,请牢记:

  • 普通订单 ✅ 可带 FAK / FOK
  • TAS 订单 ❌ 不可带 FAK / FOK
  • 套利订单 ✅ 可带 FAK / FOK
  • 套利订单 ❌ 不可带市价属性
  • 代码中要做好指令互斥校验
posted @ 2026-05-25 17:33  morty-root  阅读(140)  评论(0)    收藏  举报