IOC 立即或取消订单:机制与用法
1246 阅读 · 更新时间 2026年3月19日
立即或取消订单(IOC)是一种买卖证券的订单,该订单会立即执行全部或部分交易,然后取消任何未成交的部分。IOC 订单是几种 “持续时间” 或有效期订单之一,投资者可以使用这些订单来指定订单在市场中保持活跃的时间以及在何种条件下取消订单。其他常用的持续时间订单类型包括全部成交否则取消订单(FOK)、全有或全无订单(AON)和有效期至取消订单(GTC)。大多数在线交易平台允许手动下达 IOC 订单或将其编程到自动交易策略中。
核心描述
- 立即或取消订单(Immediate Or Cancel Order,常缩写为 IOC 订单)是一种有效期(time-in-force)指令,尝试以你的价格(或更优价格)立刻成交,并取消任何无法立即成交的部分。
- 它适用于更看重成交速度与可控敞口,而不是一次性完成全部委托数量的交易者。
- 立即或取消订单的核心取舍很直接:更确定 “现在能成交一部分”,但更不确定 “能否全部成交”。
定义及背景
立即或取消订单(Immediate Or Cancel Order,简称 IOC 订单)是一种买入或卖出订单,只在进入交易场所后进行一次 “立即撮合尝试” 时有效。订单到达交易场所后,撮合引擎会在你设定的约束条件下,与对手方流动性进行匹配:
- 若为限价 IOC,将以不高于限价(买入)/ 不低于限价(卖出)的价格成交,即 “限价或更优价格”。
- 若为市价 IOC(仅在部分市场/平台支持),将以当时可获得的最佳价格成交,但同样只进行这一次即时撮合。
任何在这次撮合过程中未成交的股票或合约数量,都会被自动取消,而不是挂在订单簿里。因此,立即或取消订单常被概括为:“能成交多少就立刻成交,剩下的全部取消。”### 为什么 “有效期(time-in-force)” 很重要
“有效期” 用于告诉交易场所:你的订单允许在市场中停留多久。IOC 是限制最严格的选项之一。不同于 DAY 或 GTC 订单,立即或取消订单并不是为了等待未来出现流动性,而是为了抓取当下可成交的流动性(若存在),然后立刻退出市场。
IOC 在电子化市场中普及的原因
现代电子市场使用标准化的订单指令,以便撮合引擎按确定性的规则运行。随着交易从人工撮合转向电子化限价订单簿,IOC 成为广泛支持的选项,原因包括:
- 订单生命周期可预测;
- 降低订单 “挂在簿上” 带来的不确定性;
- 便于智能路由与算法拆单等需要即时性的交易方式。
核心成交机制(通俗版)
立即或取消订单与订单簿的交互大致如下:
- 订单到达交易场所;
- 系统检查满足你价格规则的对手方挂单;
- 立刻成交尽可能多的数量;
- 未成交的剩余数量立即取消。
定义很简单,但结果高度依赖流动性、买卖价差、深度以及你设定的限价。
计算方法及应用
可量化的指标(不过度复杂化)
立即或取消订单更强调可衡量的成交结果,而不是复杂公式。在交易与执行分析中,常用两项实用指标:
成交率(实际成交了多少)
成交率用于量化你的 立即或取消订单在所选价格下抓取流动性的效果。
\[\text{Fill Rate}=\frac{\text{Executed Quantity}}{\text{Submitted Quantity}}\]
- 若你提交 10,000 股,成交 6,500 股,则成交率为 0.65(65%)。
- 在流动性较薄的订单簿中,IOC 策略往往接受成交率显著低于 100%。
取消剩余量(有多少被取消)
由于 立即或取消订单会取消未成交部分,跟踪剩余数量对风险控制与后续决策很关键。
\[\text{Canceled Quantity}=\text{Submitted Quantity}-\text{Executed Quantity}\]
这个数在操作层面很重要:它表示你没有获得的敞口(或没有完成的平仓数量),从而提示你下一步可能需要采取什么动作。
立即或取消订单的典型用途
立即或取消订单是一个兼顾速度与流动性的工具,常用于以下场景:
抓取可见流动性,但不留下挂单
当你看到订单簿上短暂出现一段可用数量,希望立刻参与,同时不想留下任何残留指令时,立即或取消订单会尝试吃掉这部分流动性,然后消失。
降低 “之后才成交” 的时间暴露
普通限价挂单可能在更晚的时候才成交,而届时市场条件可能已变化。使用 立即或取消订单时,若能成交则发生在当下(若不能则取消),从而降低非预期的延后成交概率,但这并不等于消除市场风险。
“探测” 某个价位可成交的规模
交易者有时会用 立即或取消订单测试在某个价位附近到底有多少真实可成交流动性。即时成交(或不成交)的结果能提供快速反馈,适合节奏较快的决策过程。
算法拆单(概念性应用)
执行算法可能把更大的目标拆成多次小额尝试,通过提交 立即或取消订单来控制在市时间。其目标不是一次完成,而是让每次尝试都短、可控、可评估。
一个简单的数字示例(假设情景,不构成投资建议)
假设某股票的最优卖价及附近深度如下:
| 卖价(Ask Price) | 可用股数(显示) |
|---|---|
| $25.00 | 1,200 |
| $25.01 | 2,000 |
| $25.02 | 3,500 |
你提交一个 买入 限价 立即或取消订单,数量 10,000 股,限价 $25.01。
- 在你的限价范围内可成交:1,200 @ $25.00 + 2,000 @ $25.01 = 3,200 股
- 剩余股数(10,000 − 3,200)会立即取消
这就是 立即或取消订单的核心行为:立即部分成交,剩余自动取消。
优势分析及常见误区
IOC 与其他有效期指令的对比
下面的对比有助于理解 立即或取消订单的特点:
| 订单类型 | 允许部分成交? | 必须立即? | 未成交部分如何处理? |
|---|---|---|---|
| 立即或取消订单(IOC) | 是 | 是 | 取消 |
| 全部成交否则取消订单(FOK) | 否 | 是 | 若无法全部立刻成交则整笔取消 |
| 全有或全无订单(AON) | 否 | 否(可能挂单等待) | 通常挂到全部成交或撤单 |
| 有效期至取消订单(GTC) | 视规则而定 | 否 | 一直有效,直到成交、撤单或按规则到期 |
立即或取消订单的优势
对 “时间敞口” 的控制更强
立即或取消订单不会在订单簿中停留,有助于降低相较于挂单的时间暴露;但仍可能在执行过程中遭遇不利价格变化。
允许部分成交(不同于 FOK)
当 “现在先成交一部分” 也有价值时,立即或取消订单比 FOK 更灵活。
订单簿足迹更干净
剩余数量自动取消,避免留下明显的挂单,从而减少向市场暴露持续交易意图。
需要预先考虑的限制与成本
最终成交量不确定
主要的操作性缺点是:你可能只成交到比预期更小的数量,甚至完全不成交。
可能产生更多成交笔数与跟踪复杂度
立即或取消订单可能在多个价位(不超过你的限价)成交,形成多笔成交回报。这会增加平均成交价统计与成交跟踪的复杂度,并可能因场所与券商规则带来更多与笔数相关的费用。
在低流动性市场不一定合适
当价差很宽、深度很薄时,立即或取消订单更容易频繁取消。在这类环境下,可能需要更有耐心的方式(如 DAY、GTC),或调整价格策略。
常见误区(以及正确理解)
“立即或取消订单保证成交”
不保证。立即或取消订单只保证:如果成交,就在当下这次撮合中发生。若你的价格范围内流动性不足,剩余会取消,甚至整笔 0 成交并取消。
“被取消代表出错或被拒单”
不一定。对 立即或取消订单而言,未成交部分被取消是正常机制,不代表拒单。应查看成交回报/执行报告,确认已成交数量后再决定是否补单。
“IOC 就是 FOK”
并不相同。立即或取消订单允许部分成交;FOK 不允许。若部分成交会导致你处于不理想的风险状态(例如对冲不完整),IOC 可能并不适合。
“限价越紧越安全”
更紧的限价能降低滑点风险,但在 立即或取消订单下,也会降低成交概率。IOC 没有时间等待价格来找你。
实战指南
什么时候考虑使用立即或取消订单
通常在以下情况下会考虑 立即或取消订单:
- 相比全量完成,更在意成交时点;
- 希望快速获取当前可成交流动性的信息;
- 不希望任何剩余订单挂在簿上;
- 能够在流程与风险上接受部分成交。
如果必须一次性全部成交,IOC 的行为可能与你的目标冲突。
可用于多数平台的操作清单
下单前先明确目标
先明确你要实现什么:
- 是要快速降低敞口?
- 是要在某个价位抓取显示的挂单数量?
- 还是要测试订单簿可成交规模?
如果必须全量完成,立即或取消订单可能不是合适选择。
多数非紧急场景优先使用 IOC 限价单
市价类 IOC(若支持)在流动性较薄或订单簿快速变化时,可能出现不利成交价格。很多交易者更偏好 限价 立即或取消订单来限定最差价格,但限价并不保证成交。
用盘口而不是最新成交价来设定限价
最新成交价可能滞后。对 立即或取消订单而言,关键是当前买一/卖一与深度:
- 若价差较宽,限价靠近最新成交价可能导致 0 成交;
- 若需要更高成交概率,限价通常要更接近对手价位,同时仍需遵守你的风险控制。
事先决定 “多少部分成交才值得”
过小的成交量可能带来操作成本。下 立即或取消订单前先决定:
- 若只成交 5% 到 10%,是否仍要继续?
- 是否更适合把委托拆得更小?
为被取消的剩余数量准备下一步方案
由于剩余会立刻取消,你的计划不应止于提交订单。提前决定你将:
- 以同样价格再试一次;
- 调整限价;
- 切换有效期;
- 在流动性/波动变化时暂停并重新评估。
案例(假设情景,不构成投资建议)
某交易者在盘中波动较快时想买入 5,000 股美股。某一刻,卖盘挂单如下:
| 卖价(Ask Price) | 股数 |
|---|---|
| $10.00 | 200 |
| $10.01 | 300 |
| $10.02 | 700 |
| $10.05 | 2,500 |
交易者提交 买入 限价 立即或取消订单:
- 数量:5,000 股
- 限价:$10.01
- 有效期:IOC
可能发生的情况:
- 成交 200 股 @ $10.00 + 300 股 @ $10.01 = 500 股成交
- 剩余 4,500 股立即取消
交易者如何使用结果:
- 已成交的 500 股说明在目标价位附近存在一定流动性;
- 立即取消避免订单在之后以交易者不希望的时点成交;
- 交易者可选择上调限价、等待流动性刷新、或更换策略。后续决策需要同时考虑执行风险与市场风险。
多次 IOC 尝试的实用风控
如果你手动或系统化地反复提交 立即或取消订单,可考虑设置:
- 最大重试次数;
- 允许的最大限价漂移幅度(价格偏离);
- 波动放大后的冷却时间;
- 累计提交名义金额上限。
这些约束更多是为了在市场不稳定时控制操作风险,而不是预测价格。
资源推荐
交易所与交易场所规则手册
订单类型在细节上可能存在差异(例如停牌、集合竞价、特殊时段的处理)。最可靠的 立即或取消订单定义来源于交易所规则与技术规范。
券商订单类型说明
券商可能会实现不同的路由逻辑,仅在特定场所支持某些有效期设置,或以特定方式展示部分成交。建议阅读券商文档,确认:
- 你交易的品种是否支持 IOC;
- 部分成交如何回报;
- 是否会在不超过限价的情况下扫多个价位;
- 是否存在相关费用规则。
若文档或示例中出现 Longbridge,应翻译为 长桥证券。
FIX 协议参考(进阶)
若想了解机构层面的传输方式,可参考 FIX 文档中关于 time-in-force 的标准字段与取消语义。
市场微观结构书籍
若希望理解为何即时成交可能付出价差与冲击成本,以及为何会出现部分成交,市场微观结构相关资料能提供更深入的解释。
执行质量与事后分析
若你交易较频繁,可学习复盘:
- 成交率;
- 取消剩余量;
- 实际成交价格相对限价的表现;
- 是否频繁出现碎片化小成交;
- 不同时间段与波动状态下的差异。
常见问题
用一句话解释什么是立即或取消订单?
立即或取消订单是一种买卖订单,尝试以你的价格(或更优价格)立刻成交,并取消任何无法立即成交的部分。
立即或取消订单部分成交后,剩余会怎样?
未成交的剩余数量会被自动取消。只有已成交的数量会影响你的最终持仓变化。
立即或取消订单会不会 0 成交?
会。如果在满足你约束条件的价格范围内没有可用流动性(例如限价过紧),该订单可能整笔取消且不成交。
立即或取消订单与全部成交否则取消订单(FOK)一样吗?
不一样。FOK 必须立刻全部成交,否则整笔取消。立即或取消订单允许部分成交,只取消未成交的剩余部分。
“被取消” 是不是代表出问题了?
不一定。对 立即或取消订单而言,未成交部分被取消是正常结果。你应查看成交确认,确认成交数量后再决定是否补单。
应该用 IOC 市价还是 IOC 限价?
很多交易者更偏好 IOC 限价来控制价格。IOC 市价(若支持)可能提高立刻成交概率,但在流动性较薄或盘口快速变化时,可能出现不利价格。
为什么我会收到很多小额成交?
因为订单可能在多个价位或多个场所(在不超过限价的前提下)匹配,且流动性可能较分散,从而产生多笔成交与剩余取消。
使用立即或取消订单最大的实务风险是什么?
最大风险是成交量低于预期,需要后续补单,进而增加操作复杂度与总体交易成本。
总结
立即或取消订单可以理解为一种纪律化的 “现在就执行,否则就取消” 的指令:它在你设定的价格规则下尽可能立即成交可用数量,然后自动取消剩余部分。当你更重视成交时点与敞口控制,而不强求一次性完成全部数量时,它会很有用。要更有效地使用 立即或取消订单,应关注合理的限价设置,接受部分成交的可能,并提前规划未成交部分被取消后的下一步操作。
