CN103380438A - 市场接入系统及方法 - Google Patents
市场接入系统及方法 Download PDFInfo
- Publication number
- CN103380438A CN103380438A CN2012800098916A CN201280009891A CN103380438A CN 103380438 A CN103380438 A CN 103380438A CN 2012800098916 A CN2012800098916 A CN 2012800098916A CN 201280009891 A CN201280009891 A CN 201280009891A CN 103380438 A CN103380438 A CN 103380438A
- Authority
- CN
- China
- Prior art keywords
- order
- customer
- management device
- rialto
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/06—Asset management; Financial planning or analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种经纪人市场接入系统,用于处理订单以传输至市场交易所。经纪人市场接入系统通常以具有适当的操作系统和应用软件的通用计算机系统实现。在本发明中,市场接入系统由例如场可编程逻辑装置的可编程逻辑装置形式的专用硬件实现,以便加快客户订单的处理速度。在一实施方式中,专用硬件包括一架构,该架构包括被设置成并行处理多个客户订单的订单处理引擎。
Description
技术领域
本发明一般地涉及一种市场接入(market access)系统,具体但非排他地涉及一种用于处理订单(orders)和将订单传输给诸如证券交易所这样的市场交易所的市场接入系统。
背景技术
诸如股票交易所和证券交易所这样的市场交易系统为人们所熟知。与市场交易系统的大量交互是由诸如经纪人这样的市场参与者来完成的,经纪人被安排为接收来自希望在市场交易所进行交易的客户的订单、处理订单以确保订单具有正确的形式、以及将订单传输给市场交易所以便所述订单能够被办理(transacted)。在很多司法管辖区(jurisdictions)中,不允许客户自己直接在市场交易所进行交易,而必须通过诸如经纪人这样的获准的市场参与者来接入交易所。
近来,大量的市场交易以电子方式完成。经纪人通过他们的“市场接入系统”以电子方式接收来自客户计算机的客户订单,然后以电子方式将那些订单(经过处理之后)发送给市场交易所。市场交易所通常是诸如电子证券交易所这样的自动交易所,被设置为接收诸如证券、股票以及其它上市票据(listedinstruments)(债券、衍生物等)的买入或卖出订单这样的特定的交易请求。每个经纪人可拥有多个可能希望进行交易的客户。这些客户可能希望在短时间内做出多笔订单。这可能导致来自多个客户的大量订单需要被处理和传输至市场交易所。
在市场交易中,经纪人(以及交易所)的订单处理速度十分重要。价格优先(Price Priority)和时间优先(Time Priority)是执行交易中的两个重要的因素。价格优先是指希望以最低价格卖出或者希望以最高价格买入的人将被给予交易优先权。时间优先是指,在有两位卖家或两位买家处于相同的价格的情况下,那么首先到达市场交易所的卖家或买家将(通常)先执行交易。因此,处理速度至关重要。
因此,经纪人的客户期望他们的订单以尽可能最小的延迟(等待时间(latency))进行处理并传输至交易所。因此,大量的客户订单同时到达与客户对及时的订单处理和转发的期望相结合,就要求经纪人必须对信息技术基础设施进行投资以便提供客户可接受的订单处理等待时间和总处理能力(throughput)。等待时间是指当客户的订单由经纪人处理并转发至交易所时该订单所遭受的延迟。总处理能力是指可以从客户处接收订单的速率以及经处理的订单可以被提交至交易所的速率。
如果经纪人系统的等待时间过长,客户的订单将滞后,并且经纪人的客户将冒着错过优选的交易时机的风险。与此相似的,如果经纪人的市场接入系统的总处理能力不能满足由经纪人的客户在任意特定时刻提交的订单量,那么当客户的订单在经纪人的市场接入系统中排队等待处理时,订单将受到延迟或者被放弃,这对每个客户的交易具有潜在的不利后果。在每种情形中(等待时间高得无法接受或者总处理能力低得无法接受),经纪人都将处于竞争劣势。
目前,市场接入系统(对于经纪人以及其他市场参与者而言)是基于通用计算机系统(GPC),并且通常在通用操作系统上执行。GPC的模块及分层特性以及由GPC所必然导致的订单处理的串行特性,将为订单处理引入至少数百微秒(microseconds)、通常为数百毫秒(milliseconds)的等待时间。
发明内容
根据第一方面,本发明提供一种用于将市场订单传输至市场交易所的市场接入系统,所述市场接入系统包括专用硬件,所述专用硬件被设置用于接收和处理来自客户的客户订单以发送至所述市场交易所。
在实施方式中,所述专用硬件可以是诸如场可编程逻辑装置这样的、被编程以处理客户订单的可编程逻辑装置。在一实施方式中,所述专用硬件可以是诸如定制(bespoke)集成电路这样的、被设计用于处理客户订单的集成电路。
本发明的实施方式的至少一优点是专用硬件能够以比GPC快很多的速度处理客户订单。等待时间可以达到较低的微秒级甚至纳秒(nanoseconds)级。
在一实施方式中,所述专用硬件包括被设置用于处理客户订单的订单处理引擎。所述处理可包括根据预定标准验证客户订单。这可包括确定所接收的订单消息(message)是否被破坏,是否是错误的,以及是否可成功地解码成有效的客户订单。所述处理可包括例如通过确认所述订单是否具有逻辑意义、是否符合由客户、经纪人、交易所或任何其它管理机构制定的风险限度、规定和规则来确认所述订单是否能够由经纪人执行。在一实施方式中,所述订单处理引擎被设置为在必要时对所述客户订单进行变换(transform),以使得所述客户订单具有能够被交易所识别的格式。
在一实施方式中,客户订单可包括多个部分,例如包括多个字。在一实施方式中,所述专用硬件被设置用于当订单的多个部分正被接收或等待被接收时对所述订单的另多个部分执行处理。这具有如下优点,即与GPC处理的情形不同,由于不需要在开始处理之前等待整个客户订单被接收,所以提高了处理速度。
在一实施方式中,所述专用硬件包括多个订单处理引擎,每个订单处理引擎被设置用于并行处理相应的多个订单。这具有进一步提高处理速度的优点。在一实施方式中,每个处理引擎与其它所述处理引擎独立且同时地操作。在一实施方式中,有很多订单处理引擎,从而实现大规模并行处理。这样就可以设计成实现非常低的等待时间。在一实施方式中,可具有数千个订单处理引擎。
在一实施方式中,所述专用硬件还包括传输管理装置,所述传输管理装置被设置成接收经过处理的订单,以便传输至市场交易所。在一实施方式中,所述传输管理装置被设置成根据预定规则,例如预定的商业规则,对所述经处理的订单进行排序(order)。例如,所述传输管理装置可对所述经处理的订单进行排序以便对客户给予比经纪人内部订单更高的优先权。
在一实施方式中,所述传输管理装置被设置成在完成对客户订单的处理之前开始传输所述客户订单。当订单的多个部分仍然在被处理时,同一订单的其它多个部分就可被传输至所述交易所。这有利地进一步提高了处理速度。
在一实施方式中,所述传输管理装置被设置成并行地接收多个经处理的订单,并且对所述多个经处理的订单进行排列以便它们可被依次传输。
本发明的实施方式至少具有如下优点,即所述市场接入系统具有低等待时间和较高的总处理能力。
根据第二方面,本发明提供一种在市场交易所中处理交易订单的方法,包括如下步骤:接收所述订单、以硬件速度或接近硬件的速度处理所述订单、以及将经处理的订单传输至所述市场交易所。
根据第三方面,本发明提供一种用于市场接入系统以便将客户订单传输至市场交易所的传输器,所述传输器包括传输管理装置,所述传输管理装置被设置成当客户订单的一部分仍在被处理时,传输所述客户订单的另一部分。
根据第四方面,本发明提供一种对订单进行排列以传输至市场交易所的方法,包括如下步骤:当订单的一部分或多个部分仍在被处理时,接收所述订单的另一部分并且传输所述订单的所述另一部分。
根据第五方面,本发明提供一种计算机程序,所述计算机程序包括用于控制可编程硬件从而实现根据本发明的第一方面的系统的指令。
根据第六方面,本发明提供一种计算机可读介质,所述计算机可读介质提供根据本发明的第五方面的计算机程序。
根据第七方面,本发明提供一种数据信号,所述数据信号包括根据本发明的第五方面的计算机程序。
根据第八方面,本发明提供一种计算机程序,所述计算机程序包括用于控制可编程硬件以便实现根据本发明的第三方面的传输器的指令。
根据第九方面,本发明提供一种计算机可读介质,所述计算机可读介质提供根据本发明的第八方面的计算机程序。
根据第十方面,本发明提供一种数据信号,所述数据信号包括根据本发明的第八方面的计算机程序。
附图说明
以下仅通过举例的方式参照附图对本发明的实施方式进行描述,由此将使本发明的特点和优点变得显而易见,在附图中:
图1是示出根据本发明一实施方式的、与客户系统及市场交易所相连接的系统的框图;
图2是图1的系统的更加详细的示图;以及
图3是示出图1的系统的操作的流程图。
具体实施方式
参照图1,以改进的直接市场接入(improved Direct Market Access)(IDMA)系统3的形式示出了根据本发明一实施方式的市场接入系统,通常由参考数字3表示。在该实施方式中,DMA3由获准的市场参与者控制(hosted)或管理,在这里所述获准的市场参与者为经纪人。
DMA3被设置为接收客户的订单(在该实施方式中,来自电信通道2A至2x)。DMA3被设置为接收和处理客户订单,以及将所述订单发送至市场交易所5,在该实施方式中,市场交易所5为用于交易股票或证券的证券交易所。在该实施方式中,经处理的订单通过专用的电信链路4发送至市场交易所5。
在该实例中,从希望在市场交易所5进行交易的客户的客户计算系统1A至1x提供客户订单。客户可包括个人交易者、公司、会计及其他人。也可以使用其它FPGA或PGA。
DMA3包括专用硬件,在该示例性实施方式中为可编程的硬件装置7的形式(见图2)。该实施方式包括场可编程门阵列(FPGA)。FPGA7可以是XilinxVirtex5TMFPGA。
更详细地,参照图2,该硬件装置的架构被设置成提供多个并行的客户订单引擎8A至8x,每个客户订单引擎接收和并行处理多个客户订单。在该实施方式中,与2A至2x连接的每个客户/经纪人可具有一个订单处理引擎。可以具有很多(数千个)并行的订单处理引擎8A至8x。处理引擎8A至8x中的每个与所有其它的处理引擎独立且同时地工作;处理引擎8A至8x中的每个负责验证从与该处理引擎连接的链路2A至2x接收的每个客户订单的内容。应注意的是,适当的物理层接口(PHY)6A至6x接收来自链路2A至2x的客户订单。PHY6A至6B执行适当的处理以管理电信接口,如将链路2A至2x接收的光信号或电信号转换成适于在FPGA7中进行处理的电压。
客户订单引擎8A至8x中的每个被设置成验证客户订单消息。验证可包括检查订单消息的正确性。也就是说,检查以确定接收到的订单消息是否被破坏,是否是错误的,以及是否可成功地解码成有效的客户订单。还可以例如通过确认订单是否具有逻辑意义、是否符合由客户、经纪人、交易所或任何其它管理机构制定的风险限度、规定和规则以确认订单是否可由经纪人执行。
在一个实施方式中,每个订单处理引擎被实现为有限状态机(FSM),有限状态机的概念为本领域技术人员所熟悉。
任何商业规则可由订单处理引擎8A至8x实现以执行验证。
可由订单处理引擎8A至8x实施(conducted)的各种验证过程的一些实例的非详尽列表如下:
实例1-禁止卖空(short selling)
客户A提交订单,以每份证券100美元的售出价格出售1000单位的具有标识符XYZ的证券。订单处理引擎206确定该交易是“卖空”。在某些市场里,“卖空”订单是被禁止或受限制的,在这一情形中,订单被拒绝,并且向客户发送一具有电子代码的拒绝其订单的通知,使客户能够确定拒绝的原因。
实例2-超过客户风险限度
客户B提交订单,以每份证券12.56美元的买入价格买入2500单位的具有标识符XYZ的证券。订单处理引擎206确定该订单将导致超过与该客户有关的特别指定的风险限度。该订单被拒绝,并且向客户发送一具有电子代码的拒绝其订单的通知,使客户能够确定拒绝的原因。
实例3-成功的订单处理
客户C提交订单,以每份证券1.01美元的买入价格买入10000单位的具有标识符XYZ-123的证券。订单处理引擎206执行多项检查,包括但不限于:
●检查具有标识符XYZ-123的证券是否在与通信接口106连接的自动交易所上市;
●检查如果履行所述订单,是否不违反任何风险限度;以及
●检查客户是否被授权进行所述交易。
除了上述标准以外,还可实现其它的验证标准。
订单处理引擎8A至8x还被设置成将客户的订单格式化(format)为适当的形式,以便转发给交易所5。这包括将订单消息从其被接收的格式转换(重新编码)成更适于所述订单将被发送至的交易所的格式。这可能包括截断不必要的信息,或者以与接收所述订单的电信技术(桥接(bridging))不同的电信技术传输订单。订单处理引擎8A至8x的输出通常是具有适于向交易所传输的格式和编码的订单消息。
在该实施方式中,使用诸如超高速集成电路硬件描述语言(VHDL)、C++或汇编语言这样的合适的计算机语言对可编程硬件装置7进行编程,以便执行特定的验证、格式化和任何其它处理。
使用专用硬件装置的优点是能够优化DMA的整体处理架构以便进行高效的处理。并且,并行的订单引擎有助于立刻快速处理多个订单。与基于GPC的架构相比,这些方面极大地促进了等待时间的减少。另一优点包括易于布置在诸如经纪公司(brokerage house)这样的工作环境中,或者易于实现为便携式装置。
在该实施方式中,每个订单处理引擎8A至8x的另一方面是被安排成,当客户订单的一部分或多个部分正在被接收或等待被接收时,处理客户订单的另一部分或另多个部分。客户订单通常包括在订单消息中排列在一起的多个指令和数据(通常为数字字(digital word)的形式)。在该实施方式中,位于消息前部指令/数据可在后面的字被接收之前由订单处理引擎8A至8x验证和处理。应当理解的是,这种操作与网络通信设备的传统的“存储和发送”方法不同,传统的“存储和发送”方法中在处理和/或验证消息之前必须先接收整个消息。这种改进使得能够进一步减少订单处理时间,并且因此进一步减少订单等待时间,而且还增大了总处理能力。这为经纪人提供了相对于使用现有技术系统的其他经纪人的竞争优势,以及随之而来的对希望在交易所5进行交易的客户的竞争优势。
参照图2,订单处理引擎8A至8x中的每个均与发出(outgoing)消息队列9A至9x中的一个直接相联(attached)。一旦订单消息由订单处理引擎8A至8x进行了处理,该处理引擎的输出就将被暂时存储在相联的发出消息队列9A至9x中。可使用被称为“双端口(Dual-Port)RAM”(或DP RAM)的结构在可编程逻辑装置中实现每个发出消息队列。
参照图2,根据可包括商业规则的预定标准,传输管理装置(transmitmanagement arrangement)10被用于暂时存储从发出消息队列9A至9x接收的订单消息,以及对所述订单消息进行处理以使它们排列为特定的顺序。订单被存储,直到订单通过物理层接口PHY11以及专用电信链路4向交易所5传输。在该实施方式中,与传输缓存器10相关联的管理功能负责从发出消息队列9A至9x中的每个发出消息队列获得已处理的客户订单,以及根据预定的优先方案对它们进行排列。然后,这些客户订单被复制到传输缓存器中,以便向交易所传输。优先方案可给予特定类型的订单以比其它类型的订单更高的优先权。可采用任何标准。传输缓存器10操作以将已处理的订单聚集(aggregate)成一顺序排列(serial arrangement),以便向交易所传输。
在该实施方式中,如果在传输缓存器10中没有排队的订单,那么传输缓存器10有能力立即开始传输由任意订单处理引擎产生的客户订单的部分(portions)。如果来自所有客户的客户订单的组合速率(combined rate)超过了用于传输客户订单的缓存器交易所链路4的容量,那么客户订单仅存储在传输缓存器10中。
换言之,这使得当订单消息的部分仍然在处理时,能够对该订单消息的其它部分进行处理和传输以使其“忙碌起来(on the fly)”。这有利地增大了总处理能力并且减少了等待时间。
订单处理引擎8A至8x、发出消息队列9A至9x、传输缓存器10如此集成,以便当订单处理引擎一开始产生发出消息,就可以开始在经纪人交易所链路4上向交易所传输客户订单。这可以使得在订单消息的较后部分仍然由订单处理引擎进行处理的同时,将客户订单的前面部分向交易所传输。
传输PHY11是将订单消息沿着经纪人交易所电信链路11进行传输的过程的一个部件。传输PHY11接收来自可编程装置7的订单消息作为电信号,将在可编程硬件装置中表示订单消息的电压转换成能够通过专用的经纪人交易所电信链路4向交易所传输的适当的物理形式,并使其经过该链路传输至交易所5。订单消息可被转换成电信号、光信号、无线电/电磁信号、或者用于传输的任何合适的物理形式。
在该实施方式中,传输缓存器模块10也可实现在可编程硬件装置中。
在一个实例中,将订单聚集的功能被设置为将特定订单消息组合成合适的组合,以便由交易所5更有效或更有利的执行。例如,在来自不同客户的多个订单涉及一特定的证券或股票的情况下,从不同客户接收的订单消息可被组合以形成单个订单从而使执行交易的成本最小化或者提高交易的速度。可将其它更复杂的规则实现为该聚集功能的一部分,包括但不限于保值(hedging)的识别、风险评估、指数跟踪(index or indices tracking)、套利机会的利用。
参照图3,示出了DMA3的实施方式的操作流程图。多个客户通过电信链路2A至2x(WAN、LAN或电话)连接。客户1A至1x可将他们所期望的交易请求提交给经纪人,以便安排他们的请求由证券交易所5执行(步骤301)。
在步骤302中,物理层接口6A至6x中的每个与每个单个客户连接并且同时操作,从而将客户订单的物理信号转换成用于输入至可编程硬件装置7中的合适的格式。
一旦转换步骤302完成,然后就由处理引擎8A至8x中的每个对订单进行处理(304)从而验证订单的正确性及是否符合规定。如果处理引擎8A至8x认为该接收的交易信息是有效的,那么处理引擎8A至8x继续将该交易信息重新编码(306)成用于交易所5的合适的数据格式。
在重新编码过程(306)完成之后,该信息被暂时存储在数据队列9A至9x中(308)以等待由传输缓存器10做进一步处理。
然后,传输缓存器10操作以对该交易信息进行聚集并区分优先级(310),并且在合适的时候,继续向第二物理层接口PHY11传输该交易信息。然后,第二物理层接口11将订单转换成合适的传输形式并且继续向自动交易所5传输这些信号以执行订单(314)。
以下是使用示例性消息的、可由本发明一实施方式实现的订单处理的一实例。
订单处理实例
图2中的IDMA3(在本实施方式中由FPGA实现)中的订单处理引擎8x被设计成与网络接收(reception)同步操作。对于千兆比特以太网,125Mhz的FPGA时钟速率是理想的,该时钟速率使每个时钟周期能够接收并处理8比特(一个字节)的数据。
在本实例中有两种类型的ECN消息被FPGA3处理:新订单消息、以及修改/取消订单消息。ECN消息被封装在标准的互联网协议(UDP/IP)包中。新订单消息的一个实例如下:
以太网协议报头:112比特/14字节
IP协议报头:160比特/20字节(最少)
UDP协议报头:64比特/8字节
---
会话(Session)ID:16比特/2字节
序列号:16比特/2字节
票据代码:32比特/4字节
消息类型:8比特/1字节(0=新订单)
交易类型:8比特/1字节(0=买入,1=卖出)
(为将来使用而预留):16比特/2字节
数量:16比特/2字节
价格:16比特/2字节
客户查询号(Client Reference):32比特/4字节
首先,以太网协议报头、IP协议报头和UDP协议报头被跳过;这是相当直接的(straight forward),尽管IP报头可以是可变长度。
然后接收ECN协议字段。
第一字段——会话ID——是表示客户与交易所之间的会话的不透明标志(opaque token)。利用该第一字段,可在存储在FPGA中的客户信息阵列中查找与客户相关的数据。当序列号字段被接收时,FPGA验证该序列号是否与所预期的该客户的序列号相匹配。如果这种检查失败,那么剩余的消息被忽略,并且立即向客户返回通知消息。否则,所预期的序列号递增1以便为下一条消息做准备,并且继续进行处理。会话ID被变换为标识客户的更加紧凑的“客户索引”,否则将这两个字段丢弃。
接下来的四个字节指示消息所涉及的票据代码。所述票据代码可能是诸如“MSFT”这样的股票代码,或者某种其它的标识符。FPGA使用高效的查找表(LUT)来确定票据代码是否有效。如果有效,那么FPGA将票据代码变换为更加紧凑的形式,即票据索引。这种形式使随后的处理更加高效,然而鉴于期望客户使用标准的票据代码,所以该数字仅为短暂有效。
消息中的其它字段表达交易类型(买入或卖出)、价格、数量以及客户查询号(客户提供的字段,该字段在有关订单的任意通信中被发送至客户)。当剩余每个字段都被接收时,按照以下模式构造一内部表示(internalrepresentation)。很多输入字段可以逐字地通过。然而,对字段执行一些验证从而确保字段具有合理的值;例如,交易类型是买入或卖出。这确保仅形式正确的消息被发送至证券交易所。诸如预留字段这样的一些字段在协议中仅用于将来的扩展,并且在内部形式中可以省略。
一旦所有的字段均被接收,内部序列号就被递增(appended)。所产生的16字节的内部记录被写入到与市场传输功能所共用的存储器区域中的循环缓冲器。
客户索引:1字节
票据索引:1字节
消息类型:1字节(0=新订单)
交易类型:1字节(0=买入,1=卖出)
数量:2字节
价格:2字节
客户查询号:4字节
(未使用):2字节
内部序列号:2字节
相似的处理还被应用于修改/取消消息:
以太网协议报头:112比特/14字节
IP协议报头:160比特/20字节
UDP协议报头:64比特/8字节
---
会话ID:16比特/2字节
序列号:16比特/2字节
票据:32比特/4字节
消息类型:8比特/1字节(1=修改/取消订单)
(为将来使用而预留):8比特/1字节
新数量:16比特/2字节
订单查询号:32比特/4字节
客户查询号:32比特/4字节
该消息包含与新订单消息相似的字段,并且该被相似地执行。使用订单查询号而不是交易类型和价格来表示所发出的(placed)订单。订单被逐字地发出至16字节的内部记录中,在该情形中所述内部记录如下所示:
客户索引:1字节
票据索引:1字节
消息类型:1字节(1=修改/取消订单)
(未使用):1字节
订单查询号:4字节
客户查询号:4字节
新数量:2字节
内部序列号:2字节
市场消息格式
一旦订单被认为有效,订单被编码成由图1中被描述为5的特定证券交易所所理解的形式。
当订单或部分订单(partial orders)在证券交易所执行时,在通知订单最初所来自的客户之前,通知消息被接收并解析。
FPGA中的通知引擎读出来自通知队列的记录并且将消息发送给客户。客户索引被用于索引至客户信息阵列,客户信息阵列包括用于联系客户的以太网地址、IP地址和UDP端口号,以及下一个发出序列号。内部的票据索引被映射回客户所使用的4字节票据代码。其它字段被逐字发送。
发出消息由与网络传输同步执行的FPGA逻辑产生,根据需要产生每个输出字节而不需要在存储器中预先建构的消息。
来自通知记录的字段在适当的位置(slot)被代入到发出消息中。发出消息的一个实例如下所示:
以太网协议报头:112比特/14字节
IP协议报头:160比特/20字节
UDP协议报头:64比特/8字节
---
序列号:16比特/2字节
通知类型:8比特/1字节
交易类型:8比特/1字节
票据代码:32比特/4字节
数量:16比特/2字节
价格:16比特/2字节
客户查询号:32比特/4字节
订单查询号:32比特/4字节
应理解的是,以上描述中所包括的消息仅是示例性的,其它格式的消息或其它消息可由根据本发明的其它实施方式的装置进行处理。
在一实施方式中,诸如上文所述的实施方式的系统可被复制多次以产生冗余(effect redundancy)。应当理解的是,诸如此类的系统中的冗余可能很重要,以便确保市场交易能够连续进行(在系统的一部分或整体发生故障时)并且确保交易记录得以保持。
在上文的实施方式中,通信架构包括具有适当的物理层接口的进入硬件装置的并行传输通道以及从硬件装置中引出的单个传输通道。本发明并不限于此,可应用用于传输的任何适当的架构,包括网络架构(互联网)、无线架构或任何其它架构。并且,在一些情况下可以提供引出至交易所的并行电信通道。
在上述实施方式中,DMA将订单提供给用于交易股票、股份、其它证券的证券交易所。本发明并不限于此。实施方式可与其它类型的交易所或任意市场进行通信。
在上述实施方式中,DMA将已处理的订单传输至的交易所是全自动交易所(ATS)。本发明并不限于此,交易所可以是部分自动化或者可以是能够接受来自DMA的信号的任意类型的交易所。
在上述实施方式中,用于实现DMA的可编程硬件装置是FPGA。本发明并不限于此,DMA可由任何专用硬件实现,包括可编程逻辑装置、特定用途集成电路、或任何其它专用硬件。
在上述实施方式中,可使用适当的编程,将诸如订单处理引擎8A至8x、数据队列9A至9x这样的元件实现为逻辑构造。例如,通过编写VHDL代码、C/C++、系统C代码、通过创建示意图或状态转换图、或者任何其它用于表达可编程硬件装置设计的方法,然后用于对可编程逻辑装置进行编程。
例如,在使用程序代码配置诸如FPGA这样的可编程逻辑装置的情况下,应当理解的是,程序代码可能以多种方式提供。例如,在诸如磁盘或存储器这样的计算机可读介质上以数据信号(例如,通过从服务器下载数据信号)的方式提供,或者任何其它方式提供。
在上述实施方式中,订单处理引擎和传输管理装置被实现在专用硬件中。本发明并不限于此。例如,DMA的部分可被实现在专用硬件中,而其它部分可被实现在GPC上。在一些情况下这可能是很方便的。例如,订单处理可由GPC实现,而专用硬件用于实现传输管理装置,仍然在一定程度上提高速度和总处理能力。该设置可以调换,GPC被用作传输管理装置,而专用硬件用于订单处理引擎。
在上述实施方式中,实现了验证、编码、格式化和聚集功能。所有这些功能可被实现在其它实施方式中。在其它实施方式中,可实现所有这些功能中的一个、一些或全部。
在后附的权利要求书中以及在本发明上述描述中,除了上下文需要,否则由于表达语言或必要的含义,词语“包括”或其变化用于包含的意思,即规定所述特征的存在,但不排除在本发明的各种实施方式中还存在或增加其他特征。
本发明所属领域技术人员应当理解的是,在不违背本发明的精神和范围的情况下可以做出很多修改。
Claims (31)
1.一种用于将市场订单传输至市场交易所的市场接入系统,所述市场接入系统包括专用硬件,所述专用硬件被设置成接收和处理来自客户的客户订单,以发送至所述市场交易所。
2.根据权利要求1所述的系统,其中所述专用硬件包括被设置成处理所述客户订单的订单处理引擎。
3.根据权利要求2所述的系统,其中所述订单处理引擎被设置成根据验证标准来验证客户订单。
4.根据权利要求2或权利要求3所述的系统,其中所述订单处理引擎被设置成将所述客户订单格式化为适当的形式,以便发送至所述市场交易所。
5.根据权利要求2至4中任意一项所述的系统,其中所述客户订单包括多个部分,并且所述订单处理引擎被设置成当所述客户订单的一部分或多个部分正被接收或仍在等待接收时,处理所述客户订单的另一部分或另多个部分。
6.根据权利要求2至5中任意一项所述的系统,其中所述专用硬件包括多个所述订单处理引擎,每个订单处理引擎被设置成并行操作以便并行处理多个客户订单。
7.根据权利要求2至6中任意一项所述的系统,其中所述专用硬件还包括与每个订单处理引擎相关联的发出消息队列,并且所述发出消息队列被设置成接收经处理的订单以便暂时存储和发送至所述市场交易所。
8.根据前述权利要求中任意一项所述的系统,还包括传输管理装置,所述传输管理装置被设置成接收经处理的订单以便传输至所述市场交易所。
9.根据权利要求8所述的系统,其中所述传输管理装置被设置成根据预定的规则,对所述经处理的订单进行排序以便传输。
10.根据权利要求8或权利要求9所述的系统,其中所述传输管理装置被设置成对多个经处理的订单进行聚集以便传输至所述证券交易所。
11.根据权利要求8、9或10所述的系统,其中所述传输管理装置被设置成传输订单的一部分或多个部分,而同时所述订单的另一部分或另多个部分正被处理或仍在等待处理。
12.根据权利要求8至11中的任意一项所述的系统,其中所述传输管理装置包括缓存器,所述缓存器被设置成存储经处理的订单以便传输。
13.根据权利要求8至12中的任意一项所述的系统,其中所述传输管理装置被设置成并行接收经处理的订单并且将它们串行排列,以便传输至所述证券交易所。
14.根据权利要求8至13中的任意一项所述的系统,其中所述传输管理装置包括专用硬件。
15.根据前述权利要求中任意一项所述的系统,其中所述专用硬件为被编程以处理所述客户订单的可编程逻辑装置。
16.根据权利要求15所述的系统,其中所述专用硬件为可编程门阵列。
17.根据权利要求16所述的系统,其中所述专用硬件为场可编程门阵列。
18.一种在市场交易所中处理用于交易的订单的方法,包括步骤:接收所述订单,以硬件速度或接近硬件速度处理所述订单,以及将经处理的订单传输至所述市场交易所。
19.根据权利要求18所述的方法,其中处理所述订单的步骤包括并行处理多个所述订单。
20.根据权利要求18或19所述的方法,其中处理所述订单的步骤包括处理所述订单的一部分或多个部分,而同时所述订单的另一部分或另多个部分正被接收或仍在等待接收。
21.根据权利要求18、19或20所述的方法,包括如下步骤,即传输所述订单的一部分或多个部分,而同时所述订单的另一部分或另多个部分正被处理或仍在等待处理。
22.一种用于市场接入系统中以便将客户订单传输至市场交易所的传输器,所述传输器包括传输管理装置,所述传输管理装置被设置成当客户订单的一部分或多个部分正在被处理时,传输所述客户订单的另一部分或另多个部分。
23.根据权利要求22所述的传输器,所述传输管理装置被设置成同时或近乎同时地接收并行格式的多个经处理的客户订单,并且对所述多个经处理的客户订单进行聚集以便以串行格式传输。
24.一种对客户订单进行排列以传输至市场交易所的方法,包括步骤:当客户订单的一部分或多个部分正被接收时,接收所述客户订单的另一部分或另多个部分并且传输所述客户订单的另一部分或另多个部分。
25.根据权利要求24所述的方法,其中接收所述客户订单的步骤包括步骤:同时或近乎同时地接收并行格式的多个客户订单,并且将所述多个客户订单处理成串行格式以便传输。
26.一种计算机程序,包括用于控制可编程硬件以实现根据权利要求1至17中任意一项的系统的指令。
27.一种提供根据权利要求26的计算机程序的计算机可读介质。
28.一种数据信号,包括根据权利要求26的计算机程序。
29.一种计算机程序,包括用于控制可编程硬件以实现根据权利要求22或23的传输器的指令。
30.一种计算机可读介质,提供根据权利要求29的计算机程序。
31.一种数据信号,包括根据权利要求29的计算机程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2011200733 | 2011-02-21 | ||
AU2011200733A AU2011200733B2 (en) | 2011-02-21 | 2011-02-21 | A market access system and method |
PCT/AU2012/000154 WO2012113013A1 (en) | 2011-02-21 | 2012-02-21 | A market access system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103380438A true CN103380438A (zh) | 2013-10-30 |
Family
ID=46720008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012800098916A Pending CN103380438A (zh) | 2011-02-21 | 2012-02-21 | 市场接入系统及方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US20140164205A1 (zh) |
EP (1) | EP2678817A4 (zh) |
JP (1) | JP2014505951A (zh) |
KR (1) | KR20140058411A (zh) |
CN (1) | CN103380438A (zh) |
AU (1) | AU2011200733B2 (zh) |
CA (1) | CA2827789A1 (zh) |
SG (1) | SG192760A1 (zh) |
WO (1) | WO2012113013A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408269A (zh) * | 2015-01-06 | 2017-11-28 | 摩根士丹利 | 交易异常切断开关 |
CN112148782A (zh) * | 2020-09-24 | 2020-12-29 | 建信金融科技有限责任公司 | 市场数据接入方法及装置 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2512061A (en) * | 2013-03-18 | 2014-09-24 | Rapid Addition Ltd | Transactional message format data conversion |
US10147137B2 (en) | 2014-10-16 | 2018-12-04 | Software Ag | Systems and/or methods for automatic ordering of pre-trade order evaluations |
JP6558950B2 (ja) * | 2015-05-27 | 2019-08-14 | 富士通フロンテック株式会社 | 注文処理プログラム、注文処理装置及び注文処理方法 |
JP7298145B2 (ja) * | 2018-12-04 | 2023-06-27 | 富士通株式会社 | 証券取引装置、証券取引方法及び証券取引プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243675A1 (en) * | 2006-06-19 | 2008-10-02 | Exegy Incorporated | High Speed Processing of Financial Information Using FPGA Devices |
WO2008140631A1 (en) * | 2007-05-11 | 2008-11-20 | Morgan Stanley | Low latency trading system |
WO2010051575A1 (en) * | 2008-11-10 | 2010-05-14 | Zomojo Pty Ltd | Improved automated trading system |
US20100208729A1 (en) * | 2008-10-17 | 2010-08-19 | John Oddie | Method and System for Receiving Market Data Across Multiple Markets and Accelerating the Execution of Orders |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251629B1 (en) * | 1999-10-14 | 2007-07-31 | Edge Capture, Llc | Automated trading system in an electronic trading exchange |
US7210145B2 (en) * | 2001-10-15 | 2007-04-24 | Edss, Inc. | Technology for integrated computation and communication; TICC |
WO2007123527A1 (en) * | 2006-04-20 | 2007-11-01 | Srinivasan Chitoor V | Technology for integrated computation and communication; ticc |
US20090313160A1 (en) * | 2008-06-11 | 2009-12-17 | Credit Suisse Securities (Usa) Llc | Hardware accelerated exchange order routing appliance |
US9009351B2 (en) * | 2009-07-09 | 2015-04-14 | Lime Brokerage Llc | Brokerage transaction server and method using encapsulated messages |
US20110178915A1 (en) * | 2010-01-15 | 2011-07-21 | Lime Brokerage Holding Llc | Trading Order Validation System and Method and High-Performance Trading Data Interface |
US20140019327A1 (en) * | 2010-02-21 | 2014-01-16 | Cfph, Llc | Multicomputer distributed processing of linked orders |
US20120005062A1 (en) * | 2010-02-21 | 2012-01-05 | Lutnick Howard W | Multicomputer distributed processing of order and/or pricing information |
-
2011
- 2011-02-21 AU AU2011200733A patent/AU2011200733B2/en not_active Ceased
-
2012
- 2012-02-21 SG SG2013061569A patent/SG192760A1/en unknown
- 2012-02-21 CA CA2827789A patent/CA2827789A1/en not_active Abandoned
- 2012-02-21 JP JP2013553745A patent/JP2014505951A/ja active Pending
- 2012-02-21 WO PCT/AU2012/000154 patent/WO2012113013A1/en active Application Filing
- 2012-02-21 KR KR1020137024574A patent/KR20140058411A/ko not_active Application Discontinuation
- 2012-02-21 CN CN2012800098916A patent/CN103380438A/zh active Pending
- 2012-02-21 EP EP12749232.0A patent/EP2678817A4/en not_active Withdrawn
-
2013
- 2013-08-19 US US13/970,096 patent/US20140164205A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080243675A1 (en) * | 2006-06-19 | 2008-10-02 | Exegy Incorporated | High Speed Processing of Financial Information Using FPGA Devices |
WO2008140631A1 (en) * | 2007-05-11 | 2008-11-20 | Morgan Stanley | Low latency trading system |
US20100208729A1 (en) * | 2008-10-17 | 2010-08-19 | John Oddie | Method and System for Receiving Market Data Across Multiple Markets and Accelerating the Execution of Orders |
WO2010051575A1 (en) * | 2008-11-10 | 2010-05-14 | Zomojo Pty Ltd | Improved automated trading system |
Non-Patent Citations (1)
Title |
---|
GARETH W.MORRIS ET AL.: "FPGA accelerated low-latency market data feed processing", 《IEEE SYMPOSIUM ON HIGH PERFORMANCE INTERCONNECTS》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107408269A (zh) * | 2015-01-06 | 2017-11-28 | 摩根士丹利 | 交易异常切断开关 |
CN107408269B (zh) * | 2015-01-06 | 2021-03-16 | 摩根士丹利服务集团公司 | 交易异常切断开关 |
CN112148782A (zh) * | 2020-09-24 | 2020-12-29 | 建信金融科技有限责任公司 | 市场数据接入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
AU2011200733B2 (en) | 2015-08-13 |
KR20140058411A (ko) | 2014-05-14 |
AU2011200733A1 (en) | 2012-09-06 |
JP2014505951A (ja) | 2014-03-06 |
CA2827789A1 (en) | 2012-08-30 |
US20140164205A1 (en) | 2014-06-12 |
SG192760A1 (en) | 2013-09-30 |
EP2678817A1 (en) | 2014-01-01 |
WO2012113013A1 (en) | 2012-08-30 |
EP2678817A4 (en) | 2014-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102246194B (zh) | 用于自动交易系统的通信接口及报文校验方法 | |
JP6757781B2 (ja) | 通信レイテンシー平準化装置、方法、およびシステム | |
US9053251B2 (en) | Providing a sideband message interface for system on a chip (SoC) | |
CN103380438A (zh) | 市场接入系统及方法 | |
US20080043742A1 (en) | Transmission using multiple physical interface | |
US10609010B2 (en) | System, methods and software application for sending secured messages on decentralized networks | |
CN104168187A (zh) | 在边带接口中聚合完成消息 | |
CN105637524B (zh) | 硬件平台中的资产管理设备和方法 | |
CN101901205A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
US11315183B2 (en) | Electronic trading system and method based on point-to-point mesh architecture | |
CN104618365B (zh) | 协议报文处理方法、装置及终端 | |
US20230269113A1 (en) | Distributed System with Fault Tolerance and Self-Maintenance | |
JP2009123201A (ja) | データを処理するためのサーバ‐プロセッサ・ハイブリッド・システムおよび方法 | |
JP2009123202A (ja) | データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法 | |
US20030033238A1 (en) | System, method and article of manufacture for auctioning in a data network environment | |
CN110060163A (zh) | 基于以太坊的播客链的交易方法、系统、介质及装置 | |
US11463560B2 (en) | Network interface architecture having a directly modifiable pre-stage packet transmission buffer | |
US20230316399A1 (en) | Electronic Trading System and Method based on Point-to-Point Mesh Architecture | |
US11263164B1 (en) | Multiple field programmable gate array (FPGA) based multi-legged order transaction processing system and method thereof | |
US20230051532A1 (en) | Pipelined credit checking | |
US20150206239A1 (en) | Processor and a method for processing a received order |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131030 |