哪些是电子金融交易最常用的订单匹配算法?

Kin*_*ull 52 algorithm finance

哪些是电子金融交易最常用的订单匹配算法?某处有订单匹配算法列表吗?

Eug*_*sky 68

一般来说,有两组匹配算法,一组针对每个市场状态:

  • 持续交易
  • 拍卖

拍卖交易有很多种算法,在市场开盘前,市场收盘时等都会使用.但大多数时候,市场会持续交易.因此,我会在这里进入后一类.

最常用的是价格/时间优先Pro-Rata.两者都针对各种类型的产品和用例进行了调整和扩展,但为了简洁起见,我将仅在此解释基础知识.


价格/时间优先级,即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                       
Run Code Online (Sandbox Code Playgroud)

注意:按时间排序的顺序是买方订单的升序和卖方订单的降序,因此优先级最高的订单始终位于中心,优先级向外递减(向上或向下,取决于方面) .

现在假设有一个新的限价单" 以20.35买入250股 ",然后按顺序填写:

  1. 20.25股100股(第2号)
  2. 在20.30(订单#1)100股
  3. 在20.30(订单#3)50股

这使订单簿处于以下状态:

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                       
Run Code Online (Sandbox Code Playgroud)


Pro-Rata忽略订单下达的时间,并根据相对数量以价格水平向所有订单填充数量.再拍上面的初始订单,让我们匹配相同的" 买250@20.35 "订单.

填充将是:

  1. 100 @20.25(订单#2,离开150)
  2. 50@20.30(订单#1,150 x 1/3 = 50)
  3. 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                       
Run Code Online (Sandbox Code Playgroud)


CME组提供了他们使用的匹配算法列表,以及每个算法的描述链接.

有关更多信息,您可能还想查看Rajeev页面上的"订单匹配"相关文档.

  • 我同意,时间排序有点令人困惑.我在回答中添加了以下注释:`NB:按时间排序的顺序是卖方订单的升序和买方订单的降序,因此优先级最高的订单始终位于中心,优先级向外递减(向上或向下,取决于侧面).` (2认同)

ale*_*nis 5

通常,他们使用先进先出算法,因为它们使有效订单数最大化。

每个交易所都有自己的一套规则,这些规则在其网站上进行了说明。这一次在这里就是一个例子。