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