电子金融交易所最常用的订单匹配算法有哪些?某处是否有订单匹配算法列表?
问问题
26768 次
2 回答
84
一般来说,有两组匹配算法,一组用于市场的每个状态:
- 持续交易
- 拍卖
竞价交易的算法种类繁多,在开市前、收市时等使用,但大多数情况下,市场是连续交易的。因此,我将在这里进入后一类。
最常用的是价格/时间优先和按比例。两者都针对各种类型的产品和用例进行了调整和扩展,但为简洁起见,我将在这里只解释基础知识。
价格/时间优先,又名FIFO,确保
同一价位的所有订单均按时间优先成交;价格水平的第一个订单是第一个匹配的订单。
说订单簿,按价格和时间排序,如下所示:
Id Side Time Qty Price Qty Time Side
---+------+-------+-----+-------+-----+-------+------
#3 20.30 200 09:05 SELL
#1 20.30 100 09:01 SELL
#2 20.25 100 09:03 SELL
#5 BUY 09:08 200 20.20
#4 BUY 09:06 100 20.15
#6 BUY 09:09 200 20.15
注意:按时间排序的顺序是买方订单升序,卖方订单降序,因此优先级最高的订单始终在中心,优先级向外递减(向上或向下,取决于侧面) .
现在想象一个新的限价单“在 20.35 买入 250 股”进来,然后它会被执行,顺序如下:
- 20.25 100 股(订单#2)
- 20.30 100 股(订单#1)
- 20.30 50 股(订单#3)
这使订单簿处于以下状态:
Id Side Time Qty Price Qty Time Side
---+------+-------+-----+-------+-----+-------+------
#3 20.30 150 09:05 SELL
#5 BUY 09:08 200 20.20
#4 BUY 09:06 100 20.15
#6 BUY 09:09 200 20.15
Pro-Rata忽略下订单的时间,并根据订单的相对数量将成交数量分配给一个价格水平的所有订单。再拿上面的初始订单簿,让我们匹配相同的“ buy 250@20.35 ”订单。
填充物是:
- 100@20.25(订单#2,留下150)
- 50@20.30(订单 #1,150 x 1/3 = 50)
- 100@20.30(订单 #3,150 x 2/3 = 100)
像这样留下以下订单:
Id Side Time Qty Price Qty Time Side
---+------+-------+-----+-------+-----+-------+------
#3 20.30 100 09:05 SELL
#1 20.30 50 09:01 SELL
#5 BUY 09:08 200 20.20
#4 BUY 09:06 100 20.15
#6 BUY 09:09 200 20.15
CME 小组提供了他们使用的匹配算法的列表,以及每个算法的描述链接。
更多信息,您可能还想查看Rajeev 页面上的“订单匹配”相关文档。
于 2013-08-30T03:03:55.873 回答
6
通常他们使用先进先出的算法,因为它们最大化有效订单的数量。
每个交易所都有自己的一套规则,这些规则在他们的网站上进行了解释。这是一个例子。
于 2012-10-28T19:48:20.400 回答