订单如何撮合:价格-时间优先与集合竞价
了解撮合引擎在连续交易中如何为订单排序,以及集合竞价如何找到使成交量最大化的单一价格。
你将学到什么
- 价格-时间优先如何决定哪一笔挂单先成交。
- 一笔进入的订单以什么价格成交,以及何时能获得价格改善。
- 按比例分配与时间优先有何不同。
- 如何根据订单列表逐步计算集合竞价价格。
讲解
撮合引擎是交易场所的软件,按照固定且公开的规则撮合进入的订单与挂单。集合竞价的时间安排已在课程“股票与基本面分析”中介绍,并将在第 8 课再次出现;这里我们关注计算过程。
连续交易:价格-时间优先
在价格-时间优先原则下,撮合引擎对挂单排序:
- 价格优先:较高的买价排在较低的买价之前;较低的卖价排在较高的卖价之前。
- 时间其次:在同一价格上,先到达的订单先成交。这就是你在队列中的位置。
在 Xetra 上,市价单排在限价单之前。修改订单价格或增加数量通常会使订单获得新的时间戳;减少数量通常不会。
以什么价格成交?
连续交易中的成交以挂单的价格进行。如果你以 €20.03 发出买入限价单,而最优卖价是 €20.02,你就以 €20.02 买入,比你的限价好一分。这就是相对于你的限价的价格改善。
在部分成交时,未成交的剩余部分会留在订单簿中或被撤销,取决于有效期。
按比例分配
一些期货市场(主要是某些利率合约)改用按比例(pro-rata)分配:进入的订单按数量比例分配给最优价格上的所有挂单。数量比速度更重要;有些交易场所将两种方法结合使用。
集合竞价
在集合竞价中,订单在集合申报阶段(call phase)被收集,期间不进行成交。交易场所通常会显示一个参考成交价(indicative price)。在 Xetra 上,集合申报阶段在一个短时段内的随机时刻结束,因此没有人能确定地在最后一秒下单。随后撮合引擎确定一个单一价格,所有被执行的订单都以该价格成交(撮合出清,uncrossing)。
Xetra 的规则依次为:
- 选择可成交量最大的价格。
- 如果多个价格并列,选择剩余量最小(该价格上未匹配的数量)的价格。
- 如果仍然并列:若所有候选价格上的剩余量都在买方,取最高价;若都在卖方,取最低价。
- 否则由参考价格(最新成交价)决定:若它等于或高于最高候选价,取最高价;若等于或低于最低候选价,取最低价;若介于两者之间,则取参考价格。
对于每个候选价格,需求 = 市价买单 + 限价不低于该价格的买入限价单;供给 = 市价卖单 + 限价不高于该价格的卖出限价单。可成交量 = 两者中的较小值。
计算示例
假设示例 1(连续交易):€20.02 上挂有两笔卖单:订单 A,300 股(先挂入),订单 B,500 股。你发出一笔 600 股、限价 €20.03 的买单。结果:先从 A 以 €20.02 买入 300 股,再从 B 以 €20.02 买入 300 股。B 仍有 200 股留在订单簿中。价格改善:相对于你的限价为 €0.01 × 600 = €6.00。
按比例分配:最优价格上有 600 股和 400 股的挂单,进入的订单为 500 股:500 × 600/1,000 = 300,500 × 400/1,000 = 200。
假设示例 2(集合竞价):市价买单 100 股,市价卖单 100 股,另有以下限价单。
| 价格 | 买入限价单 | 卖出限价单 | 需求 | 供给 | 可成交量 | 剩余量 |
|---|---|---|---|---|---|---|
| €10.05 | 300 | 500 | 400 | 1,800 | 400 | 1,400 卖方 |
| €10.04 | 200 | 400 | 600 | 1,300 | 600 | 700 卖方 |
| €10.03 | 400 | 300 | 1,000 | 900 | 900 | 100 买方 |
| €10.02 | 300 | 300 | 1,300 | 600 | 600 | 700 买方 |
| €10.01 | 500 | 200 | 1,800 | 300 | 300 | 1,500 买方 |
验算 €10.03:需求 = 100 + 300 + 200 + 400 = 1,000;供给 = 100 + 200 + 300 + 300 = 900。最大可成交量 900 股只在 €10.03 达到,因此集合竞价价格为 €10.03。全部 900 股都以 €10.03 成交,即使对于限价为 €10.05 的买家也是如此。€10.03 的买入限价单只获得其 400 股中的 300 股。未计入:费用。
常见错误
练习
假设一场没有市价单的集合竞价。买入限价单:€5.10 × 400,€5.09 × 300,€5.08 × 500,€5.07 × 600。卖出限价单:€5.07 × 300,€5.08 × 400,€5.09 × 500,€5.10 × 600。参考价格为 €5.12。
- 计算每个价格上的需求、供给、可成交量和剩余量。
- 使用上述规则确定集合竞价价格。
显示答案
1. €5.10:需求 400,供给 1,800,可成交 400,剩余 1,400 卖方。€5.09:需求 700,供给 1,200,可成交 700,剩余 500 卖方。€5.08:需求 1,200,供给 700,可成交 700,剩余 500 买方。€5.07:需求 1,800,供给 300,可成交 300,剩余 1,500 买方。
2. 最大可成交量:€5.08 和 €5.09 均为 700。两者剩余量都是 500,因此规则 2 无法决定。剩余量在 €5.08 位于买方、在 €5.09 位于卖方(混合),因此规则 3 也无法决定。参考价格 €5.12 高于最高候选价,因此集合竞价价格为 €5.09。
局限:这些是简化形式的 Xetra 规则;其他交易场所使用类似但并不完全相同的规则。
要点总结
- 连续交易先按价格、再按时间对订单排序;成交以挂单的价格进行。
- 按比例分配奖励的是数量而不是速度,在一些期货市场中使用。
- 集合竞价先选可成交量最大的价格,再看剩余量最小,然后依据并列处理规则。
- 集合竞价中所有被执行的人都以同一价格成交。
下一步
下一课将转向执行成本:滑点和市场冲击,并附有计算示例。
自测
回答问题后核对答案。你可以随意重试多次。
供您自行复习的自动自测。您的答案在浏览器中核对,我们不会查看或评估。这不是考试,也不是资格证书。
您的进度
“已完成”仅表示您将本课标记为已学完,并不是对您理解程度的测试。 学习进度和笔记仅保存在此设备的此浏览器中,而非账户中。