《市场接入系统及方法.pdf》由会员分享,可在线阅读,更多相关《市场接入系统及方法.pdf(16页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103380438 A (43)申请公布日 2013.10.30 CN 103380438 A *CN103380438A* (21)申请号 201280009891.6 (22)申请日 2012.02.21 2011200733 2011.02.21 AU G06Q 40/04(2006.01) (71)申请人 索莫亚私人有限公司 地址 澳大利亚新南威尔士州 (72)发明人 马修查普曼 (74)专利代理机构 北京律诚同业知识产权代理 有限公司 11006 代理人 王玉双 (54) 发明名称 市场接入系统及方法 (57) 摘要 本发明涉及一种经纪人市场接入系统, 用于。
2、 处理订单以传输至市场交易所。经纪人市场接入 系统通常以具有适当的操作系统和应用软件的通 用计算机系统实现。在本发明中, 市场接入系统 由例如场可编程逻辑装置的可编程逻辑装置形式 的专用硬件实现, 以便加快客户订单的处理速度。 在一实施方式中, 专用硬件包括一架构, 该架构包 括被设置成并行处理多个客户订单的订单处理引 擎。 (30)优先权数据 (85)PCT申请进入国家阶段日 2013.08.21 (86)PCT申请的申请数据 PCT/AU2012/000154 2012.02.21 (87)PCT申请的公布数据 WO2012/113013 EN 2012.08.30 (51)Int.Cl.。
3、 权利要求书 2 页 说明书 10 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图3页 (10)申请公布号 CN 103380438 A CN 103380438 A *CN103380438A* 1/2 页 2 1. 一种用于将市场订单传输至市场交易所的市场接入系统, 所述市场接入系统包括专 用硬件, 所述专用硬件被设置成接收和处理来自客户的客户订单, 以发送至所述市场交易 所。 2. 根据权利要求 1 所述的系统, 其中所述专用硬件包括被设置成处理所述客户订单的 订单处理引擎。 3. 根据权利要求 2 所述的系统, 其中所述。
4、订单处理引擎被设置成根据验证标准来验证 客户订单。 4. 根据权利要求 2 或权利要求 3 所述的系统, 其中所述订单处理引擎被设置成将所述 客户订单格式化为适当的形式, 以便发送至所述市场交易所。 5.根据权利要求2至4中任意一项所述的系统, 其中所述客户订单包括多个部分, 并且 所述订单处理引擎被设置成当所述客户订单的一部分或多个部分正被接收或仍在等待接 收时, 处理所述客户订单的另一部分或另多个部分。 6. 根据权利要求 2 至 5 中任意一项所述的系统, 其中所述专用硬件包括多个所述订单 处理引擎, 每个订单处理引擎被设置成并行操作以便并行处理多个客户订单。 7. 根据权利要求 2 至。
5、 6 中任意一项所述的系统, 其中所述专用硬件还包括与每个订单 处理引擎相关联的发出消息队列, 并且所述发出消息队列被设置成接收经处理的订单以便 暂时存储和发送至所述市场交易所。 8. 根据前述权利要求中任意一项所述的系统, 还包括传输管理装置, 所述传输管理装 置被设置成接收经处理的订单以便传输至所述市场交易所。 9. 根据权利要求 8 所述的系统, 其中所述传输管理装置被设置成根据预定的规则, 对 所述经处理的订单进行排序以便传输。 10.根据权利要求8或权利要求9所述的系统, 其中所述传输管理装置被设置成对多个 经处理的订单进行聚集以便传输至所述证券交易所。 11. 根据权利要求 8、 。
6、9 或 10 所述的系统, 其中所述传输管理装置被设置成传输订单的 一部分或多个部分, 而同时所述订单的另一部分或另多个部分正被处理或仍在等待处理。 12. 根据权利要求 8 至 11 中的任意一项所述的系统, 其中所述传输管理装置包括缓存 器, 所述缓存器被设置成存储经处理的订单以便传输。 13. 根据权利要求 8 至 12 中的任意一项所述的系统, 其中所述传输管理装置被设置成 并行接收经处理的订单并且将它们串行排列, 以便传输至所述证券交易所。 14. 根据权利要求 8 至 13 中的任意一项所述的系统, 其中所述传输管理装置包括专用 硬件。 15. 根据前述权利要求中任意一项所述的系统。
7、, 其中所述专用硬件为被编程以处理所 述客户订单的可编程逻辑装置。 16. 根据权利要求 15 所述的系统, 其中所述专用硬件为可编程门阵列。 17. 根据权利要求 16 所述的系统, 其中所述专用硬件为场可编程门阵列。 18. 一种在市场交易所中处理用于交易的订单的方法, 包括步骤 : 接收所述订单, 以硬 件速度或接近硬件速度处理所述订单, 以及将经处理的订单传输至所述市场交易所。 19. 根据权利要求 18 所述的方法, 其中处理所述订单的步骤包括并行处理多个所述订 单。 权 利 要 求 书 CN 103380438 A 2 2/2 页 3 20.根据权利要求18或19所述的方法, 其中。
8、处理所述订单的步骤包括处理所述订单的 一部分或多个部分, 而同时所述订单的另一部分或另多个部分正被接收或仍在等待接收。 21.根据权利要求18、 19或20所述的方法, 包括如下步骤, 即传输所述订单的一部分或 多个部分, 而同时所述订单的另一部分或另多个部分正被处理或仍在等待处理。 22. 一种用于市场接入系统中以便将客户订单传输至市场交易所的传输器, 所述传输 器包括传输管理装置, 所述传输管理装置被设置成当客户订单的一部分或多个部分正在被 处理时, 传输所述客户订单的另一部分或另多个部分。 23. 根据权利要求 22 所述的传输器, 所述传输管理装置被设置成同时或近乎同时地接 收并行格式。
9、的多个经处理的客户订单, 并且对所述多个经处理的客户订单进行聚集以便以 串行格式传输。 24. 一种对客户订单进行排列以传输至市场交易所的方法, 包括步骤 : 当客户订单的 一部分或多个部分正被接收时, 接收所述客户订单的另一部分或另多个部分并且传输所述 客户订单的另一部分或另多个部分。 25. 根据权利要求 24 所述的方法, 其中接收所述客户订单的步骤包括步骤 : 同时或近 乎同时地接收并行格式的多个客户订单, 并且将所述多个客户订单处理成串行格式以便传 输。 26. 一种计算机程序, 包括用于控制可编程硬件以实现根据权利要求 1 至 17 中任意一 项的系统的指令。 27. 一种提供根据。
10、权利要求 26 的计算机程序的计算机可读介质。 28. 一种数据信号, 包括根据权利要求 26 的计算机程序。 29.一种计算机程序, 包括用于控制可编程硬件以实现根据权利要求22或23的传输器 的指令。 30. 一种计算机可读介质, 提供根据权利要求 29 的计算机程序。 31. 一种数据信号, 包括根据权利要求 29 的计算机程序。 权 利 要 求 书 CN 103380438 A 3 1/10 页 4 市场接入系统及方法 技术领域 0001 本发明一般地涉及一种市场接入 (market access) 系统, 具体但非排他地涉及一 种用于处理订单 (orders) 和将订单传输给诸如证券。
11、交易所这样的市场交易所的市场接入 系统。 背景技术 0002 诸如股票交易所和证券交易所这样的市场交易系统为人们所熟知。与市场交易 系统的大量交互是由诸如经纪人这样的市场参与者来完成的, 经纪人被安排为接收来自 希望在市场交易所进行交易的客户的订单、 处理订单以确保订单具有正确的形式、 以及 将订单传输给市场交易所以便所述订单能够被办理 (transacted) 。在很多司法管辖区 (jurisdictions) 中, 不允许客户自己直接在市场交易所进行交易, 而必须通过诸如经纪人 这样的获准的市场参与者来接入交易所。 0003 近来, 大量的市场交易以电子方式完成。经纪人通过他们的 “市场接。
12、入系统” 以电 子方式接收来自客户计算机的客户订单, 然后以电子方式将那些订单 (经过处理之后) 发送 给市场交易所。市场交易所通常是诸如电子证券交易所这样的自动交易所, 被设置为接收 诸如证券、 股票以及其它上市票据 (listed instruments) (债券、 衍生物等) 的买入或卖出 订单这样的特定的交易请求。每个经纪人可拥有多个可能希望进行交易的客户。这些客户 可能希望在短时间内做出多笔订单。 这可能导致来自多个客户的大量订单需要被处理和传 输至市场交易所。 0004 在市场交易中, 经纪人 (以及交易所) 的订单处理速度十分重要。价格优先 (Price Priority) 和时。
13、间优先 (Time Priority) 是执行交易中的两个重要的因素。价格优先是指 希望以最低价格卖出或者希望以最高价格买入的人将被给予交易优先权。时间优先是指, 在有两位卖家或两位买家处于相同的价格的情况下, 那么首先到达市场交易所的卖家或买 家将 (通常) 先执行交易。因此, 处理速度至关重要。 0005 因此, 经纪人的客户期望他们的订单以尽可能最小的延迟 (等待时间 (latency)) 进行处理并传输至交易所。因此, 大量的客户订单同时到达与客户对及时的订单处理和转 发的期望相结合, 就要求经纪人必须对信息技术基础设施进行投资以便提供客户可接受的 订单处理等待时间和总处理能力 (th。
14、roughput) 。 等待时间是指当客户的订单由经纪人处理 并转发至交易所时该订单所遭受的延迟。 总处理能力是指可以从客户处接收订单的速率以 及经处理的订单可以被提交至交易所的速率。 0006 如果经纪人系统的等待时间过长, 客户的订单将滞后, 并且经纪人的客户将冒着 错过优选的交易时机的风险。与此相似的, 如果经纪人的市场接入系统的总处理能力不能 满足由经纪人的客户在任意特定时刻提交的订单量, 那么当客户的订单在经纪人的市场接 入系统中排队等待处理时, 订单将受到延迟或者被放弃, 这对每个客户的交易具有潜在的 不利后果。在每种情形中 (等待时间高得无法接受或者总处理能力低得无法接受) , 。
15、经纪人 都将处于竞争劣势。 说 明 书 CN 103380438 A 4 2/10 页 5 0007 目前, 市场接入系统 (对于经纪人以及其他市场参与者而言) 是基于通用计算机系 统 (GPC) , 并且通常在通用操作系统上执行。GPC 的模块及分层特性以及由 GPC 所必然导致 的订单处理的串行特性, 将为订单处理引入至少数百微秒 (microseconds) 、 通常为数百毫 秒 (milliseconds) 的等待时间。 发明内容 0008 根据第一方面, 本发明提供一种用于将市场订单传输至市场交易所的市场接入系 统, 所述市场接入系统包括专用硬件, 所述专用硬件被设置用于接收和处理来。
16、自客户的客 户订单以发送至所述市场交易所。 0009 在实施方式中, 所述专用硬件可以是诸如场可编程逻辑装置这样的、 被编程以处 理客户订单的可编程逻辑装置。 在一实施方式中, 所述专用硬件可以是诸如定制 (bespoke) 集成电路这样的、 被设计用于处理客户订单的集成电路。 0010 本发明的实施方式的至少一优点是专用硬件能够以比 GPC 快很多的速度处理客 户订单。等待时间可以达到较低的微秒级甚至纳秒 (nanoseconds) 级。 0011 在一实施方式中, 所述专用硬件包括被设置用于处理客户订单的订单处理引擎。 所述处理可包括根据预定标准验证客户订单。这可包括确定所接收的订单消息 。
17、(message) 是否被破坏, 是否是错误的, 以及是否可成功地解码成有效的客户订单。 所述处理可包括例 如通过确认所述订单是否具有逻辑意义、 是否符合由客户、 经纪人、 交易所或任何其它管理 机构制定的风险限度、 规定和规则来确认所述订单是否能够由经纪人执行。在一实施方式 中, 所述订单处理引擎被设置为在必要时对所述客户订单进行变换 (transform) , 以使得所 述客户订单具有能够被交易所识别的格式。 0012 在一实施方式中, 客户订单可包括多个部分, 例如包括多个字。在一实施方式中, 所述专用硬件被设置用于当订单的多个部分正被接收或等待被接收时对所述订单的另多 个部分执行处理。。
18、这具有如下优点, 即与 GPC 处理的情形不同, 由于不需要在开始处理之前 等待整个客户订单被接收, 所以提高了处理速度。 0013 在一实施方式中, 所述专用硬件包括多个订单处理引擎, 每个订单处理引擎被设 置用于并行处理相应的多个订单。这具有进一步提高处理速度的优点。在一实施方式中, 每个处理引擎与其它所述处理引擎独立且同时地操作。在一实施方式中, 有很多订单处理 引擎, 从而实现大规模并行处理。这样就可以设计成实现非常低的等待时间。在一实施方 式中, 可具有数千个订单处理引擎。 0014 在一实施方式中, 所述专用硬件还包括传输管理装置, 所述传输管理装置被设置 成接收经过处理的订单, 。
19、以便传输至市场交易所。 在一实施方式中, 所述传输管理装置被设 置成根据预定规则, 例如预定的商业规则, 对所述经处理的订单进行排序 (order) 。 例如, 所 述传输管理装置可对所述经处理的订单进行排序以便对客户给予比经纪人内部订单更高 的优先权。 0015 在一实施方式中, 所述传输管理装置被设置成在完成对客户订单的处理之前开始 传输所述客户订单。当订单的多个部分仍然在被处理时, 同一订单的其它多个部分就可被 传输至所述交易所。这有利地进一步提高了处理速度。 0016 在一实施方式中, 所述传输管理装置被设置成并行地接收多个经处理的订单, 并 说 明 书 CN 103380438 A 。
20、5 3/10 页 6 且对所述多个经处理的订单进行排列以便它们可被依次传输。 0017 本发明的实施方式至少具有如下优点, 即所述市场接入系统具有低等待时间和较 高的总处理能力。 0018 根据第二方面, 本发明提供一种在市场交易所中处理交易订单的方法, 包括如下 步骤 : 接收所述订单、 以硬件速度或接近硬件的速度处理所述订单、 以及将经处理的订单传 输至所述市场交易所。 0019 根据第三方面, 本发明提供一种用于市场接入系统以便将客户订单传输至市场交 易所的传输器, 所述传输器包括传输管理装置, 所述传输管理装置被设置成当客户订单的 一部分仍在被处理时, 传输所述客户订单的另一部分。 0。
21、020 根据第四方面, 本发明提供一种对订单进行排列以传输至市场交易所的方法, 包 括如下步骤 : 当订单的一部分或多个部分仍在被处理时, 接收所述订单的另一部分并且传 输所述订单的所述另一部分。 0021 根据第五方面, 本发明提供一种计算机程序, 所述计算机程序包括用于控制可编 程硬件从而实现根据本发明的第一方面的系统的指令。 0022 根据第六方面, 本发明提供一种计算机可读介质, 所述计算机可读介质提供根据 本发明的第五方面的计算机程序。 0023 根据第七方面, 本发明提供一种数据信号, 所述数据信号包括根据本发明的第五 方面的计算机程序。 0024 根据第八方面, 本发明提供一种计。
22、算机程序, 所述计算机程序包括用于控制可编 程硬件以便实现根据本发明的第三方面的传输器的指令。 0025 根据第九方面, 本发明提供一种计算机可读介质, 所述计算机可读介质提供根据 本发明的第八方面的计算机程序。 0026 根据第十方面, 本发明提供一种数据信号, 所述数据信号包括根据本发明的第八 方面的计算机程序。 附图说明 0027 以下仅通过举例的方式参照附图对本发明的实施方式进行描述, 由此将使本发明 的特点和优点变得显而易见, 在附图中 : 0028 图 1 是示出根据本发明一实施方式的、 与客户系统及市场交易所相连接的系统的 框图 ; 0029 图 2 是图 1 的系统的更加详细的。
23、示图 ; 以及 0030 图 3 是示出图 1 的系统的操作的流程图。 具体实施方式 0031 参照图 1, 以改进的直接市场接入 (improved Direct Market Access) (IDMA) 系 统 3 的形式示出了根据本发明一实施方式的市场接入系统, 通常由参考数字 3 表示。在该 实施方式中, DMA3 由获准的市场参与者控制 (hosted) 或管理, 在这里所述获准的市场参与 者为经纪人。 0032 DMA3 被设置为接收客户的订单 (在该实施方式中, 来自电信通道 2A 至 2x) 。DMA3 说 明 书 CN 103380438 A 6 4/10 页 7 被设置为。
24、接收和处理客户订单, 以及将所述订单发送至市场交易所 5, 在该实施方式中, 市 场交易所 5 为用于交易股票或证券的证券交易所。在该实施方式中, 经处理的订单通过专 用的电信链路 4 发送至市场交易所 5。 0033 在该实例中, 从希望在市场交易所 5 进行交易的客户的客户计算系统 1A 至 1x 提 供客户订单。客户可包括个人交易者、 公司、 会计及其他人。也可以使用其它 FPGA 或 PGA。 0034 DMA3 包括专用硬件, 在该示例性实施方式中为可编程的硬件装置 7 的形式 (见图 2) 。该实施方式包括场可编程门阵列 (FPGA) 。FPGA7 可以是 Xilinx Virte。
25、x5TMFPGA。 0035 更详细地, 参照图 2, 该硬件装置的架构被设置成提供多个并行的客户订单引擎 8A 至 8x, 每个客户订单引擎接收和并行处理多个客户订单。在该实施方式中, 与 2A 至 2x 连接的每个客户 / 经纪人可具有一个订单处理引擎。可以具有很多 (数千个) 并行的订单处 理引擎 8A 至 8x。处理引擎 8A 至 8x 中的每个与所有其它的处理引擎独立且同时地工作 ; 处理引擎 8A 至 8x 中的每个负责验证从与该处理引擎连接的链路 2A 至 2x 接收的每个客户 订单的内容。应注意的是, 适当的物理层接口 (PHY) 6A 至 6x 接收来自链路 2A 至 2x 。
26、的客户 订单。PHY6A 至 6B 执行适当的处理以管理电信接口, 如将链路 2A 至 2x 接收的光信号或电 信号转换成适于在 FPGA7 中进行处理的电压。 0036 客户订单引擎 8A 至 8x 中的每个被设置成验证客户订单消息。验证可包括检查订 单消息的正确性。也就是说, 检查以确定接收到的订单消息是否被破坏, 是否是错误的, 以 及是否可成功地解码成有效的客户订单。还可以例如通过确认订单是否具有逻辑意义、 是 否符合由客户、 经纪人、 交易所或任何其它管理机构制定的风险限度、 规定和规则以确认订 单是否可由经纪人执行。 0037 在一个实施方式中, 每个订单处理引擎被实现为有限状态机。
27、 (FSM) , 有限状态机的 概念为本领域技术人员所熟悉。 0038 任何商业规则可由订单处理引擎 8A 至 8x 实现以执行验证。 0039 可由订单处理引擎 8A 至 8x 实施 (conducted) 的各种验证过程的一些实例的非详 尽列表如下 : 0040 实例 1- 禁止卖空 (short selling) 0041 客户 A 提交订单, 以每份证券 100 美元的售出价格出售 1000 单位的具有标识符 XYZ 的证券。订单处理引擎 206 确定该交易是 “卖空” 。在某些市场里,“卖空” 订单是被禁 止或受限制的, 在这一情形中, 订单被拒绝, 并且向客户发送一具有电子代码的拒。
28、绝其订单 的通知, 使客户能够确定拒绝的原因。 0042 实例 2- 超过客户风险限度 0043 客户 B 提交订单, 以每份证券 12.56 美元的买入价格买入 2500 单位的具有标识符 XYZ 的证券。订单处理引擎 206 确定该订单将导致超过与该客户有关的特别指定的风险限 度。 该订单被拒绝, 并且向客户发送一具有电子代码的拒绝其订单的通知, 使客户能够确定 拒绝的原因。 0044 实例 3- 成功的订单处理 0045 客户 C 提交订单, 以每份证券 1.01 美元的买入价格买入 10000 单位的具有标识符 XYZ-123 的证券。订单处理引擎 206 执行多项检查, 包括但不限于。
29、 : 0046 检查具有标识符 XYZ-123 的证券是否在与通信接口 106 连接的自动交易所上 说 明 书 CN 103380438 A 7 5/10 页 8 市 ; 0047 检查如果履行所述订单, 是否不违反任何风险限度 ; 以及 0048 检查客户是否被授权进行所述交易。 0049 除了上述标准以外, 还可实现其它的验证标准。 0050 订单处理引擎 8A 至 8x 还被设置成将客户的订单格式化 (format) 为适当的形式, 以便转发给交易所 5。这包括将订单消息从其被接收的格式转换 (重新编码) 成更适于所述 订单将被发送至的交易所的格式。这可能包括截断不必要的信息, 或者以与。
30、接收所述订单 的电信技术 (桥接 (bridging)) 不同的电信技术传输订单。订单处理引擎 8A 至 8x 的输出 通常是具有适于向交易所传输的格式和编码的订单消息。 0051 在该实施方式中, 使用诸如超高速集成电路硬件描述语言 (VHDL) 、 C+ 或汇编语 言这样的合适的计算机语言对可编程硬件装置 7 进行编程, 以便执行特定的验证、 格式化 和任何其它处理。 0052 使用专用硬件装置的优点是能够优化 DMA 的整体处理架构以便进行高效的处理。 并且, 并行的订单引擎有助于立刻快速处理多个订单。与基于 GPC 的架构相比, 这些方面极 大地促进了等待时间的减少。另一优点包括易于布。
31、置在诸如经纪公司 (brokerage house) 这样的工作环境中, 或者易于实现为便携式装置。 0053 在该实施方式中, 每个订单处理引擎 8A 至 8x 的另一方面是被安排成, 当客户 订单的一部分或多个部分正在被接收或等待被接收时, 处理客户订单的另一部分或另多 个部分。客户订单通常包括在订单消息中排列在一起的多个指令和数据 (通常为数字字 (digital word)的形式) 。 在该实施方式中, 位于消息前部指令/数据可在后面的字被接收 之前由订单处理引擎 8A 至 8x 验证和处理。应当理解的是, 这种操作与网络通信设备的传 统的 “存储和发送” 方法不同, 传统的 “存储和。
32、发送” 方法中在处理和 / 或验证消息之前必 须先接收整个消息。这种改进使得能够进一步减少订单处理时间, 并且因此进一步减少订 单等待时间, 而且还增大了总处理能力。这为经纪人提供了相对于使用现有技术系统的其 他经纪人的竞争优势, 以及随之而来的对希望在交易所 5 进行交易的客户的竞争优势。 0054 参照图 2, 订单处理引擎 8A 至 8x 中的每个均与发出 (outgoing) 消息队列 9A 至 9x 中的一个直接相联 (attached) 。一旦订单消息由订单处理引擎 8A 至 8x 进行了处理, 该处 理引擎的输出就将被暂时存储在相联的发出消息队列 9A 至 9x 中。可使用被称为。
33、 “双端口 (Dual-Port) RAM” (或 DP RAM) 的结构在可编程逻辑装置中实现每个发出消息队列。 0055 参照图2, 根据可包括商业规则的预定标准, 传输管理装置 (transmit management arrangement) 10 被用于暂时存储从发出消息队列 9A 至 9x 接收的订单消息, 以及对所述订 单消息进行处理以使它们排列为特定的顺序。 订单被存储, 直到订单通过物理层接口PHY11 以及专用电信链路 4 向交易所 5 传输。在该实施方式中, 与传输缓存器 10 相关联的管理功 能负责从发出消息队列 9A 至 9x 中的每个发出消息队列获得已处理的客户订单。
34、, 以及根据 预定的优先方案对它们进行排列。 然后, 这些客户订单被复制到传输缓存器中, 以便向交易 所传输。优先方案可给予特定类型的订单以比其它类型的订单更高的优先权。可采用任 何标准。传输缓存器 10 操作以将已处理的订单聚集 (aggregate) 成一顺序排列 (serial arrangement) , 以便向交易所传输。 0056 在该实施方式中, 如果在传输缓存器10中没有排队的订单, 那么传输缓存器10有 说 明 书 CN 103380438 A 8 6/10 页 9 能力立即开始传输由任意订单处理引擎产生的客户订单的部分 (portions) 。 如果来自所有 客户的客户订单。
35、的组合速率 (combined rate) 超过了用于传输客户订单的缓存器交易所链 路 4 的容量, 那么客户订单仅存储在传输缓存器 10 中。 0057 换言之, 这使得当订单消息的部分仍然在处理时, 能够对该订单消息的其它部分 进行处理和传输以使其 “忙碌起来 (on the fly) ” 。这有利地增大了总处理能力并且减少 了等待时间。 0058 订单处理引擎 8A 至 8x、 发出消息队列 9A 至 9x、 传输缓存器 10 如此集成, 以便当 订单处理引擎一开始产生发出消息, 就可以开始在经纪人交易所链路 4 上向交易所传输客 户订单。这可以使得在订单消息的较后部分仍然由订单处理引擎。
36、进行处理的同时, 将客户 订单的前面部分向交易所传输。 0059 传输 PHY11 是将订单消息沿着经纪人交易所电信链路 11 进行传输的过程的一个 部件。传输 PHY11 接收来自可编程装置 7 的订单消息作为电信号, 将在可编程硬件装置中 表示订单消息的电压转换成能够通过专用的经纪人交易所电信链路 4 向交易所传输的适 当的物理形式, 并使其经过该链路传输至交易所5。 订单消息可被转换成电信号、 光信号、 无 线电 / 电磁信号、 或者用于传输的任何合适的物理形式。 0060 在该实施方式中, 传输缓存器模块 10 也可实现在可编程硬件装置中。 0061 在一个实例中, 将订单聚集的功能被。
37、设置为将特定订单消息组合成合适的组合, 以便由交易所 5 更有效或更有利的执行。例如, 在来自不同客户的多个订单涉及一特定 的证券或股票的情况下, 从不同客户接收的订单消息可被组合以形成单个订单从而使执 行交易的成本最小化或者提高交易的速度。可将其它更复杂的规则实现为该聚集功能的 一部分, 包括但不限于保值 (hedging)的识别、 风险评估、 指数跟踪 (index or indices tracking) 、 套利机会的利用。 0062 参照图 3, 示出了 DMA3 的实施方式的操作流程图。多个客户通过电信链路 2A 至 2x(WAN、 LAN 或电话) 连接。客户 1A 至 1x 可。
38、将他们所期望的交易请求提交给经纪人, 以便 安排他们的请求由证券交易所 5 执行 (步骤 301) 。 0063 在步骤 302 中, 物理层接口 6A 至 6x 中的每个与每个单个客户连接并且同时操作, 从而将客户订单的物理信号转换成用于输入至可编程硬件装置 7 中的合适的格式。 0064 一旦转换步骤 302 完成, 然后就由处理引擎 8A 至 8x 中的每个对订单进行处理 (304) 从而验证订单的正确性及是否符合规定。如果处理引擎 8A 至 8x 认为该接收的交易 信息是有效的, 那么处理引擎8A至8x继续将该交易信息重新编码 (306) 成用于交易所5的 合适的数据格式。 0065 。
39、在重新编码过程 (306) 完成之后, 该信息被暂时存储在数据队列 9A 至 9x 中 (308) 以等待由传输缓存器 10 做进一步处理。 0066 然后, 传输缓存器 10 操作以对该交易信息进行聚集并区分优先级 (310) , 并且在 合适的时候, 继续向第二物理层接口 PHY11 传输该交易信息。然后, 第二物理层接口 11 将 订单转换成合适的传输形式并且继续向自动交易所 5 传输这些信号以执行订单 (314) 。 0067 以下是使用示例性消息的、 可由本发明一实施方式实现的订单处理的一实例。 0068 订单处理实例 0069 图 2 中的 IDMA3(在本实施方式中由 FPGA 。
40、实现) 中的订单处理引擎 8x 被设计成 说 明 书 CN 103380438 A 9 7/10 页 10 与网络接收 (reception) 同步操作。对于千兆比特以太网, 125Mhz 的 FPGA 时钟速率是理想 的, 该时钟速率使每个时钟周期能够接收并处理 8 比特 (一个字节) 的数据。 0070 在本实例中有两种类型的ECN消息被FPGA3处理 : 新订单消息、 以及修改/取消订 单消息。ECN 消息被封装在标准的互联网协议 (UDP/IP) 包中。新订单消息的一个实例如 下 : 0071 以太网协议报头 : 112 比特 /14 字节 0072 IP 协议报头 : 160 比特 。
41、/20 字节 (最少) 0073 UDP 协议报头 : 64 比特 /8 字节 0074 - 0075 会话 (Session) ID : 16 比特 /2 字节 0076 序列号 : 16 比特 /2 字节 0077 票据代码 : 32 比特 /4 字节 0078 消息类型 : 8 比特 /1 字节 (0= 新订单) 0079 交易类型 : 8 比特 /1 字节 (0= 买入, 1= 卖出) 0080 (为将来使用而预留) : 16 比特 /2 字节 0081 数量 : 16 比特 /2 字节 0082 价格 : 16 比特 /2 字节 0083 客户查询号 (Client Referenc。
42、e) : 32 比特 /4 字节 0084 首先, 以太网协议报头、 IP 协议报头和 UDP 协议报头被跳过 ; 这是相当直接的 (straight forward) , 尽管 IP 报头可以是可变长度。 0085 然后接收 ECN 协议字段。 0086 第一字段会话ID是表示客户与交易所之间的会话的不透明标志 (opaque token) 。利用该第一字段, 可在存储在 FPGA 中的客户信息阵列中查找与客户相关的数据。 当序列号字段被接收时, FPGA 验证该序列号是否与所预期的该客户的序列号相匹配。如果 这种检查失败, 那么剩余的消息被忽略, 并且立即向客户返回通知消息。否则, 所预期。
43、的序 列号递增 1 以便为下一条消息做准备, 并且继续进行处理。会话 ID 被变换为标识客户的更 加紧凑的 “客户索引” , 否则将这两个字段丢弃。 0087 接下来的四个字节指示消息所涉及的票据代码。 所述票据代码可能是诸如 “MSFT” 这样的股票代码, 或者某种其它的标识符。FPGA 使用高效的查找表 (LUT) 来确定票据代码 是否有效。如果有效, 那么 FPGA 将票据代码变换为更加紧凑的形式, 即票据索引。这种形 式使随后的处理更加高效, 然而鉴于期望客户使用标准的票据代码, 所以该数字仅为短暂 有效。 0088 消息中的其它字段表达交易类型 (买入或卖出) 、 价格、 数量以及客。
44、户查询号 (客户 提供的字段, 该字段在有关订单的任意通信中被发送至客户) 。当剩余每个字段都被接收 时, 按照以下模式构造一内部表示 (internal representation) 。 很多输入字段可以逐字地 通过。然而, 对字段执行一些验证从而确保字段具有合理的值 ; 例如, 交易类型是买入或卖 出。这确保仅形式正确的消息被发送至证券交易所。诸如预留字段这样的一些字段在协议 中仅用于将来的扩展, 并且在内部形式中可以省略。 0089 一旦所有的字段均被接收, 内部序列号就被递增 (appended) 。 所产生的16字节的 说 明 书 CN 103380438 A 10 8/10 页 。
45、11 内部记录被写入到与市场传输功能所共用的存储器区域中的循环缓冲器。 0090 客户索引 : 1 字节 0091 票据索引 : 1 字节 0092 消息类型 : 1 字节 (0= 新订单) 0093 交易类型 : 1 字节 (0= 买入, 1= 卖出) 0094 数量 : 2 字节 0095 价格 : 2 字节 0096 客户查询号 : 4 字节 0097 (未使用) : 2 字节 0098 内部序列号 : 2 字节 0099 相似的处理还被应用于修改 / 取消消息 : 0100 以太网协议报头 : 112 比特 /14 字节 0101 IP 协议报头 : 160 比特 /20 字节 010。
46、2 UDP 协议报头 : 64 比特 /8 字节 0103 - 0104 会话 ID : 16 比特 /2 字节 0105 序列号 : 16 比特 /2 字节 0106 票据 : 32 比特 /4 字节 0107 消息类型 : 8 比特 /1 字节 (1= 修改 / 取消订单) 0108 (为将来使用而预留) : 8 比特 /1 字节 0109 新数量 : 16 比特 /2 字节 0110 订单查询号 : 32 比特 /4 字节 0111 客户查询号 : 32 比特 /4 字节 0112 该消息包含与新订单消息相似的字段, 并且该被相似地执行。使用订单查询号而 不是交易类型和价格来表示所发出的。
47、 (placed) 订单。订单被逐字地发出至 16 字节的内部 记录中, 在该情形中所述内部记录如下所示 : 0113 客户索引 : 1 字节 0114 票据索引 : 1 字节 0115 消息类型 : 1 字节 (1= 修改 / 取消订单) 0116 (未使用) : 1 字节 0117 订单查询号 : 4 字节 0118 客户查询号 : 4 字节 0119 新数量 : 2 字节 0120 内部序列号 : 2 字节 0121 市场消息格式 0122 一旦订单被认为有效, 订单被编码成由图 1 中被描述为 5 的特定证券交易所所理 解的形式。 0123 当订单或部分订单 (partial orde。
48、rs) 在证券交易所执行时, 在通知订单最初所来 自的客户之前, 通知消息被接收并解析。 说 明 书 CN 103380438 A 11 9/10 页 12 0124 FPGA中的通知引擎读出来自通知队列的记录并且将消息发送给客户。 客户索引被 用于索引至客户信息阵列, 客户信息阵列包括用于联系客户的以太网地址、 IP 地址和 UDP 端口号, 以及下一个发出序列号。内部的票据索引被映射回客户所使用的 4 字节票据代码。 其它字段被逐字发送。 0125 发出消息由与网络传输同步执行的 FPGA 逻辑产生, 根据需要产生每个输出字节 而不需要在存储器中预先建构的消息。 0126 来自通知记录的字。
49、段在适当的位置 (slot) 被代入到发出消息中。发出消息的一 个实例如下所示 : 0127 以太网协议报头 : 112 比特 /14 字节 0128 IP 协议报头 : 160 比特 /20 字节 0129 UDP 协议报头 : 64 比特 /8 字节 0130 - 0131 序列号 : 16 比特 /2 字节 0132 通知类型 : 8 比特 /1 字节 0133 交易类型 : 8 比特 /1 字节 0134 票据代码 : 32 比特 /4 字节 0135 数量 : 16 比特 /2 字节 0136 价格 : 16 比特 /2 字节 0137 客户查询号 : 32 比特 /4 字节 0138 订单查询号 :。