專利名稱:改進(jìn)的自動交易系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明概括地涉及用于市場交易的自動交易系統(tǒng)中的改進(jìn),且具體但非唯一地, 涉及一種用于自動交易系統(tǒng)的通信界面。
背景技術(shù):
自動交易系統(tǒng)(ATS)因便于市場上買方和賣方的實時匹配而眾所周知,在其中交易一種或更多的上市票據(jù)(例如股票、證券等)。目前的ATS利用電子通信網(wǎng)絡(luò)(ECN)。ECN執(zhí)行中央限價委托簿(CLOB),其包括賣方和買方之間的標(biāo)準(zhǔn)雙向拍賣,其中賣方希望以特定價格出售金融票據(jù),而買方希望以特定價格購買一個或更多的金融票據(jù)。在主要交易市場中,例如Nasdaq、ASX和其它市場,需要強大的計算系統(tǒng)以在交易期間實施很多已執(zhí)行的交易。計算系統(tǒng)的速度非常重要。在交易的執(zhí)行中有兩個重要的因素,分別是價格優(yōu)先權(quán)和時間優(yōu)先權(quán)。價格優(yōu)先權(quán)意味著在交易中給予希望以最好的價格出售的人或希望以最好的價格購買的人優(yōu)先權(quán)。時間優(yōu)先權(quán)意味著當(dāng)有兩個以同樣價格的賣方或買方時,則將對訂單第一個達(dá)到CLOB的第一個買方或賣方首先執(zhí)行交易。因此,ECN的處理速度是關(guān)鍵。ECN客戶通過電子提交訂單,從而以特定的條件(例如最高/最低價格)購買或出售特定數(shù)量的上市票據(jù)。這些訂單放置在隊列中。在最開始通知客戶其訂單已被確認(rèn)。當(dāng)發(fā)現(xiàn)能夠通過滿足其價格條件而匹配在一起的買方和賣方時,交易發(fā)生。通知買賣雙方其訂單已被成功執(zhí)行。訂單價格和交易的匿名概要(“市場數(shù)據(jù)”)也被傳播給其他感興趣的客戶。ECN性能的度量包括延遲和處理量。延遲是交易的反應(yīng)時間。這可在多個不同的環(huán)境下測量從下單到接收初始確認(rèn),從下單到接收執(zhí)行通知,或從下單到其以市場數(shù)據(jù)的方式傳播。處理量是ECN每秒能夠支持的最大訂單或交易數(shù)量。許多FCN的客戶期望低的延遲和高的處理量,從而他們可以頻繁且安心地交易, 對其訂單狀態(tài)具有較少的不確定性并且能夠?qū)ψ兓那闆r快速地反應(yīng)。目前FCN在一般具有通用操作系統(tǒng)的通用處理器結(jié)構(gòu)上以軟件實施。盡管這簡化了安裝啟用,但這些解決方案表現(xiàn)出最佳數(shù)百微秒,且一般為毫秒級的高的延遲。當(dāng)使用通用操作系統(tǒng)時,這也增加了惡意攻擊者可能危害運行該ECN軟件的計算機的機會;由于這一原因,通常在客戶和ECN系統(tǒng)之間增加額外的防火墻系統(tǒng),其進(jìn)一步增加了延遲。
發(fā)明內(nèi)容
根據(jù)第一方面,本發(fā)明提供了一種用于自動交易系統(tǒng)的通信界面,所述通信界面包括專用硬件,其被設(shè)置為處理外部網(wǎng)絡(luò)和所述自動交易系統(tǒng)中的匹配引擎之間的報文。在一個實施例中,所述專用硬件為用于為金融交易報文的處理進(jìn)行編程的可編程邏輯器件(PLD)。在一個實施例中,所述專用硬件由可編程門陣列(PGA)實施,在一個實施例中,由現(xiàn)場可編程門陣列(FPGA)實施。在一個實施例中,專用硬件的使用能夠以硬件速度便利地處理進(jìn)入和流出的報文,提高了自動交易系統(tǒng)的總體速度,其在一個實施方式中為電子通信網(wǎng)絡(luò)(ECN)。在一個實施例中,所述專用硬件的配置實施解析和驗證引擎,該解析和驗證引擎被配置為將輸入報文(例如來自經(jīng)紀(jì)人的訂單)轉(zhuǎn)換為請求格式,在一個實施例中,所述請求格式更簡單并且適合于匹配引擎。在一個實施例中,所述專用硬件被設(shè)置為實施通知引擎,所述通知引擎用于從匹配引擎接收交易信息并組成用于向外發(fā)送到網(wǎng)絡(luò)上的適當(dāng)報文。在一個實施例中,所述專用硬件被設(shè)置為實施安全功能,且其被設(shè)置為核實進(jìn)入報文為真實的。在一個實施例中,通過實施進(jìn)入報文的加總比對檢查(check summing check)來實施安全功能,其采用特定的交換協(xié)議。使用專用硬件的處理有利地促進(jìn)了具有低延遲的很高的數(shù)據(jù)處理量。而且,諸如 PLD的硬件能夠相對容易地與網(wǎng)絡(luò)接口。通過設(shè)置PLD作為ECN的面向客戶的部分,可實現(xiàn)與客戶的高帶寬和低延遲的通信。另外,在一個實施例中,由于APLD具有最低限度的且可驗證的網(wǎng)絡(luò)實施,暴露于可能的攻擊者的攻擊表面最少,因此其將防火墻的功能包括在內(nèi)。在一個實施例中,通過提供另一個通信界面和另一個匹配引擎來提供冗余,所述另一個通信界面和通信界面是連接的。在一個實施例中,所述另一個通信界面和通信界面通過串行連接而連接。在一個實施例中,還提供了再一個通信界面和匹配引擎,以提供另一個冗余。在一個實施例中,所述另一個通信界面通過串行連接而連接到其它的通信界面。在一個實施例中,匹配引擎也可由專用硬件實施。在一個實施例中,匹配引擎也可由PLD實施,且在一個實施例中,由FPGA實施。根據(jù)第二方面,本發(fā)明提供了一種處理與自動交易系統(tǒng)的通信的方法,其包括以硬件或接近硬件的速度來處理網(wǎng)絡(luò)和自動交易系統(tǒng)之間的報文的步驟。在一個實施例中,由專用硬件配置實施所述處理,所述專用硬件配置可由可編程邏輯器件(PLD)實施。根據(jù)第三方面,本發(fā)明提供了一種用于自動交易系統(tǒng)的匹配引擎,所述匹配引擎包括專用硬件,所述專用硬件被設(shè)置為執(zhí)行用于票據(jù)交易的標(biāo)準(zhǔn)雙向拍賣程序。在一個實施例中,所述專用硬件為可編程邏輯器件(PLD)。在一個實施例中,所述專用硬件為現(xiàn)場可編程門陣列(FPGA)。根據(jù)第四方面,本發(fā)明提供了一種用于自動交易系統(tǒng)的安全配置,所述安全配置包括被設(shè)置為將進(jìn)入報文從外部網(wǎng)絡(luò)接收到自動交易系統(tǒng)的通信界面,并包括被設(shè)置為校驗所述進(jìn)入報文的專用硬件。在一個實施例中,由加總比對檢查來執(zhí)行所述校驗。在一個實施例中,所述專用硬件為可編程邏輯器件(PLD)。在一個實施例中,所述可編程邏輯器件為現(xiàn)場可編程門陣列(FPGA)。
從下面參考所附附圖僅舉例說明的其實施例的描述中,本發(fā)明的特征和優(yōu)勢將變得明顯,其中
圖1為包括根據(jù)本發(fā)明的一個實施例的裝置的自動交易系統(tǒng)的高階框圖;圖2為圖1中的系統(tǒng)的更詳細(xì)的框圖;圖3為根據(jù)本發(fā)明的另一個實施例的裝置的框圖。
具體實施例方式參考圖1,例示了由參考標(biāo)號1標(biāo)識的用于自動交易系統(tǒng)的通信界面。在本實例中,通信界面1在專用硬件中以現(xiàn)場可編程門陣列I(FPGA)的形式實施,其被編程以提供外部網(wǎng)絡(luò)2和匹配引擎3之間的界面;其在該實例中由通用處理器上的軟件(例如通用服務(wù)器和計算機程序?qū)嵤?,以實施用于市場交易的?biāo)準(zhǔn)雙向拍賣)。由FPGA實施的通信和報文界面1和由通用處理系統(tǒng)和軟件實施的匹配引擎一起構(gòu)成用于實施自動交易系統(tǒng)(ATS)的電子通信網(wǎng)絡(luò)(ECN)。通信和報文界面1的功能為從網(wǎng)絡(luò)3接收報文、處理它們并將它們傳遞到匹配引擎3上。其還具有從匹配引擎3接收報文、處理它們并將它們傳遞回網(wǎng)絡(luò)2的功能。ECN的客戶(例如經(jīng)紀(jì)人、交易人等)提交訂單以購買或出售特定數(shù)量的上市票據(jù),例如股票或證券。這些訂單作為訂單報文4提交。所述訂單報文通常將根據(jù)特定的買賣交易而為已知的格式。稍后將更詳細(xì)地描述用于訂單報文4的一般格式。響應(yīng)于接收訂單4,ECN通常將提供應(yīng)答ACK5,確認(rèn)ECN已接收訂單4。而且,作為標(biāo)準(zhǔn)雙向拍賣交易過程的一部分,當(dāng)訂單已被處理并傳遞到匹配引擎時,ECN將提供確認(rèn)報文6。當(dāng)交易發(fā)生后,S卩當(dāng)匹配引擎將購買和出售相匹配且因此執(zhí)行交易時,將執(zhí)行報文7傳回外部網(wǎng)絡(luò)2,從而使客戶得知所述交易。當(dāng)交易發(fā)生后,執(zhí)行報文7通知買賣雙方其訂單已被成功執(zhí)行。ECN的反應(yīng)時間為性能的重要度量。這包括用于提供ACK5的反應(yīng)時間,還包括用于提供確認(rèn)報文6的反應(yīng)時間。該度量也可以為從下單到接收執(zhí)行報文7的時間。如先前所討論,目前使用一般軟件在通用處理器上運行ECN。目前這些解決方案展示出最佳為數(shù)百微秒并一般為毫秒級的高的延遲。在時間很關(guān)鍵的領(lǐng)域(字面意思為“時間是金錢”),這樣的延遲需要改進(jìn)。在本實施例中,F(xiàn)PGA 1直接或通過一個或更多的物理層收發(fā)器連接到網(wǎng)絡(luò)2(例如以太網(wǎng))。在本實施例中,使用高端PLD (例如來自Xilinx的Virtex 5FPGA)以提供具有低的延遲的很高的數(shù)據(jù)處理量。申請人已發(fā)現(xiàn)通過將PLD設(shè)置為ECN的面向客戶的部分, 可實現(xiàn)與客戶的高帶寬且低延遲的通信。除了通信和匹配,圖1的實施例還執(zhí)行ECN的其它功能,例如存儲被處理的信息和制作來自被處理交易的市場數(shù)據(jù)。圖2更詳細(xì)地示出了圖1中的ECN。FPGA 1包括通過物理層界面12連接到網(wǎng)絡(luò)的解析和驗證引擎10以及通知引擎 11??蛻?例如經(jīng)紀(jì)人等)通過網(wǎng)絡(luò)2發(fā)送報文到ECN系統(tǒng)。存在不同類型的用于操作 (例如提交新訂單和修改先前的訂單)的報文。解析和驗證引擎10將這些報文轉(zhuǎn)換成較簡單的請求格式。在該過程中,通過例如進(jìn)行加總比對檢查,其也驗證來自于授權(quán)客戶并包含合理的數(shù)據(jù)的報文。然后訂單被發(fā)送到用于被請求的票據(jù)的匹配引擎12。在該實施例中,匹配引擎位于通用處理器上并由一般軟件實施。匹配引擎根據(jù)請求更新其報價單隊列。匹配引擎13將一組產(chǎn)生的交易傳達(dá)到通知引擎11 (由FPGA實施),而且還傳達(dá)到儲存引擎14 (其也在使用一般軟件的通用處理器上實施)。通知引擎11發(fā)送通知報文(例如執(zhí)行報文7)到請求中的客戶和任何其他可能與訂單相匹配的客戶。其還傳播市場數(shù)據(jù)到其他客戶。儲存引擎14確保所有交易被安全儲存在磁盤上或其它穩(wěn)定的儲存介質(zhì)上。使用FPGA來實施解析和驗證引擎10以及通知引擎11,產(chǎn)生了低得多的用于FCN 的延遲,并可在很低的時間周期(在幾微秒或更少的訂單中)中產(chǎn)生確認(rèn)報文6和ACK 5, 而且還改進(jìn)了執(zhí)行,因為相較于使用傳統(tǒng)系統(tǒng),訂單更快地到達(dá)了匹配引擎。執(zhí)行7報文也更快地返回。在該實施例中,解析和驗證引擎10以及通知引擎11由FPGA實施。即通信和報文界面1由FPGA實施。 在另一個實施例中,匹配引擎13也可以在FPGA (或其它可編程或邏輯裝置或?qū)S糜布?中實施,其進(jìn)一步提高了速度。在另一個實施例中,儲存引擎也可以在(例如PLD、 FPGA等的)專用硬件中實施??偟膩碇v,ECN的功能性可以在PLD和通用處理器之間進(jìn)行各種劃分,這取決于性能和實施便利性之間所期望的權(quán)衡。下面的描述為由FPGA 1利用實例報文的處理的更詳細(xì)的說明。解析/驗證電子郵件設(shè)計FPGA 1中的解析/驗證引擎0,以便與網(wǎng)絡(luò)接收同步運行。對于千兆比特以太網(wǎng),125Mhz的FPGA時鐘頻率是期望的,其允許每個時鐘周期接收和處理8比特(1字節(jié)) 的數(shù)據(jù)。在該實施例中有兩類通過FPGA 1處理的ECN報文新訂單報文和修改/取消訂單報文。ECN報文被封裝在標(biāo)準(zhǔn)因特網(wǎng)協(xié)議(UDP/IP)數(shù)據(jù)包中。一個實例的新訂單報文如下
權(quán)利要求
1.一種用于自動交易系統(tǒng)的通信界面,所述通信界面包括專用硬件,其被設(shè)置為處理外部網(wǎng)絡(luò)和所述自動交易系統(tǒng)中的匹配引擎之間的報文。
2.根據(jù)權(quán)利要求1的通信界面,其中,所述專用硬件為用于處理所述報文而被編程的可編程邏輯器件。
3.根據(jù)權(quán)利要求2的通信界面,其中,所述專用硬件為可編程門陣列。
4.根據(jù)權(quán)利要求3的通信界面,其中,所述專用硬件為現(xiàn)場可編程門陣列。
5.根據(jù)權(quán)利要求1-4中任一項的通信界面,其中,所述專用硬件配置用于實施解析和驗證引擎,所述解析和驗證引擎被設(shè)置為將進(jìn)入報文轉(zhuǎn)換為適合于所述匹配引擎的請求格式。
6.根據(jù)上述權(quán)利要求中任一項的通信界面,所述專用硬件用于實施用于從所述匹配引擎接收交易信息并且組成用于向外發(fā)送到網(wǎng)絡(luò)的報文的通知引擎。
7.根據(jù)上述權(quán)利要求中任一項的通信界面,所述專用硬件用于實施安全功能。
8.根據(jù)權(quán)利要求7的通信界面,所述專用硬件被設(shè)置為通過對進(jìn)入報文實施加總比對檢查來實施所述安全功能。
9.一種自動交易系統(tǒng),其包括根據(jù)上述權(quán)利要求中任一項的通信界面和匹配引擎。
10.根據(jù)權(quán)利要求9的自動交易系統(tǒng),其中,所述匹配引擎由專用硬件實施。
11.根據(jù)權(quán)利要求10的自動交易系統(tǒng),其中,用于實施所述匹配引擎的所述專用硬件為可編程邏輯器件。
12.根據(jù)權(quán)利要求11的自動交易系統(tǒng),其中,用于實施所述匹配引擎的所述專用硬件為現(xiàn)場可編程門陣列。
13.一種使用自動交易系統(tǒng)處理通信的方法,其包括以硬件或接近硬件的速度處理網(wǎng)絡(luò)和所述自動交易系統(tǒng)之間的報文的步驟。
14.根據(jù)權(quán)利要求13的方法,其中,通過專用硬件配置來執(zhí)行處理報文的步驟。
15.根據(jù)權(quán)利要求14的方法,其中,所述專用硬件配置為可編程邏輯器件。
16.根據(jù)權(quán)利要求15的方法,其中,所述專用硬件配置為現(xiàn)場可編程門陣列。
17.一種用于自動交易系統(tǒng)的匹配引擎,所述匹配引擎包括專用硬件,所述專用硬件被設(shè)置為執(zhí)行用于交易票據(jù)的標(biāo)準(zhǔn)雙向拍賣處理。
18.根據(jù)權(quán)利要求17的匹配引擎,其中,所述專用硬件為可編程邏輯器件。
19.根據(jù)權(quán)利要求18的匹配引擎,其中,所述專用硬件為現(xiàn)場可編程門陣列。
20.一種用于自動交易系統(tǒng)的安全配置,所述安全配置包括被設(shè)置為將進(jìn)入報文從外部網(wǎng)絡(luò)接收到所述自動交易系統(tǒng)的通信界面,并包括被設(shè)置為校驗所述進(jìn)入報文的專用硬件。
21.根據(jù)權(quán)利要求20的安全配置,其被設(shè)置為通過加總比對檢查的方式來執(zhí)行所述校驗。
22.根據(jù)權(quán)利要求20或21的安全配置,其中,所述專用硬件為可編程邏輯器件。
23.根據(jù)權(quán)利要求22的安全配置,其中,所述專用硬件為現(xiàn)場可編程門陣列。
24.一種自動交易系統(tǒng),其包含根據(jù)權(quán)利要求1至9中任一項的通信界面和匹配引擎,根據(jù)權(quán)利要求1至9中任一項的另一個通信界面,以及另一個匹配引擎,所述通信界面和另一個通信界面是連接的,由此提供用于所述自動交易系統(tǒng)的系統(tǒng)冗余。
25.根據(jù)權(quán)利要求M的自動交易系統(tǒng),還包括根據(jù)權(quán)利要求1至9中任一項的再一個通信系統(tǒng),以及再一個匹配引擎,由此提供另外的系統(tǒng)冗余度。
全文摘要
公開了一種用于自動交易系統(tǒng)的通信界面(1)。所述通信界面(1)具有專用硬件陣列以處理外部網(wǎng)絡(luò)(2)與所述自動交易系統(tǒng)中的匹配引擎(3)之間的報文(4)。
文檔編號G06Q40/00GK102246194SQ200980150033
公開日2011年11月16日 申請日期2009年7月2日 優(yōu)先權(quán)日2008年11月10日
發(fā)明者馬修·查普曼, 馬修·約翰·赫德 申請人:索莫亞私人有限公司