在演算法交易領域的最新進展是導入一些更低延遲的解決方案,其中最佳的方式是使用FPGA搭建的客制硬體。這些FPGA硬體可說是硬編碼ASIC的極致性能和CPU的靈活度之間的橋梁,提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。
高性能運算對于許多應用至關重要。在其中一些最競爭的應用領域,開發(fā)人員經(jīng)常能為其嵌入式系統(tǒng)問題找到解決方案。例如,高頻交易(HFT)是一種演算交易的形式,其交易量占美國證券交易量的絕大部份。高頻交易使用機器學習演算法處理市場資料、擬定策略,以及在幾微秒的時間內執(zhí)行訂單。
為了獲得每次交易中哪怕只有幾分之一美分的利潤,高頻交易員以很高的交易量短期進出交易所。使用HFT演算法的系統(tǒng)持續(xù)監(jiān)測價格波動情況,以利于調整短線交易策略。由于這是非常短期的交易策略,HFT企業(yè)無需耗費大量資本、累積頭寸或隔夜持有其投資組合。目前,高頻交易量占美國證券交易量的75%。
在21世紀初,HFT交易側重于優(yōu)質的演算法和交易策略?,F(xiàn)在,由于最普及的幾種系統(tǒng)僅存在幾秒的延遲,決勝的關鍵不再是速度,而是策略。到了2010 年,由于演算法的進展已不足以獲得交易優(yōu)勢,為了戰(zhàn)勝彼此,參與者開始縮短tick-to-trade的交易延遲,從而使交易時間縮短至數(shù)微秒。
在次毫秒級買賣交易訂單的刺激下,HFT平臺開始了一場競爭激烈的速度競賽,以便將市場資料的往返延遲縮短至微秒級。由于僅僅幾奈秒的差別往往帶來巨大的‘潛伏套利’競爭優(yōu)勢(或稱為‘搶先交易’),交易企業(yè)一直在尋找更快的交易伺服器。
采用軟體途徑處理訂單
傳統(tǒng)上,HFT交易一向使用軟體工具。這些工具利用了高性能運算系統(tǒng),能夠高效地執(zhí)行復雜的交易策略(圖1)。這些系統(tǒng)中的作業(yè)系統(tǒng)核心控制對其CPU和記憶體資源的存取,而應用堆疊則負責處理所有的交易策略,由網(wǎng)路介面卡(NIC)連接系統(tǒng)至證券交易所。
圖1:采用軟體途徑處理訂單的配置(來源:Cypress)
然而,這種配置存在交易延遲的缺點:
標準NIC并未專為處理TCP/IP和專用交易協(xié)定進行最佳化,而且無法板載處理市場資料饋送
主系統(tǒng)和乙太網(wǎng)路(Ethernet)卡之間的PCI Express匯流排會增加數(shù)微秒的延遲
核心OS原生的基于中斷途徑就會導致較長的延遲
這些解決方案基于共享記憶體資源的多核心處理器。在處理來自證券交易所的資料饋送時時,確定性延遲至關重要,存取共用記憶體絕不是一個最佳方式
在演算法交易領域的最新進展是導入了一些更低延遲的解決方案,其中最佳的方式是使用現(xiàn)場可程式邏輯閘陣列(FPGA)搭建的客制硬體。這些設備可說是硬編碼ASIC的極致性能和CPU靈活度之間的橋梁。透過FPGA提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。
采用FPGA途徑處理訂單
除了靈活之外,F(xiàn)PGA還可以進行編程設計,以便自行處理資料擷取、風險評估與訂單處理等關鍵任務。這種自給自足的特性使其較軟體演算法更快、更可靠。讓基于FPGA的解決方案能夠大幅提升電子交易性能的關鍵因素是:它們能讓過去由軟體處理的過程直接在FPGA上進行。
圖2:采用FPGA途徑處理訂單的配置
相較于軟體演算法,F(xiàn)GPA的配置具有這些優(yōu)勢,原因就在于以下的功能被分流到FPGA:
處理TCP/IP訊息
解碼FAST或類似的交易專用協(xié)定,以及擷取相關資料
進行交易決策,而不至于導致任何基于核心的中斷延遲
透過管理FPGA中的訂單簿(order book)和交易記錄以降低風險
憑藉著這些優(yōu)勢,基于FPGA的解決方案能夠提供超低延遲的資料饋送處理功能,以及更快的訂單執(zhí)行和風險評估速度。它們還能實現(xiàn)最高的每瓦功耗性能,盡可能地降低能耗和熱量要求。FPGA解決方案的另一個優(yōu)勢是透過擴展部署‘FPGA現(xiàn)場’配置的能力。
組成基于FPGA途徑關鍵之一在于巧妙地整合4倍資料率(QDR)記憶體,實現(xiàn)確定性記憶體存取速率以及經(jīng)過最佳化的VHDL程式碼。在FPGA的記憶體中需要維護的兩個最重要資料集是用于維護訂單簿的證券資訊和用于分析風險的資料與時間戳記。二者均對快取記憶體提出了不同的要求。資料封包的資料與時間戳記對于保存交易決策的準確記錄、重現(xiàn)過去的事件非常重要。這些記錄所需的精密度達數(shù)十奈秒,這使得記憶體延遲(即為記憶體提供位址以及從資料匯流排取得資料之間的時間延遲)更加至關重要。
另一個資料集-訂單簿-是所有訂單的資料庫,包含交易系統(tǒng)需要維護的符號和價格。這個資料庫通常根據(jù)交易客戶感興趣的證券而包含所有金融工具的一部份。訂單簿必須根據(jù)從客戶而來的資訊同步進行更新與存取。訂單簿中的相關資料與從交易所收到的資料進行比較,然后再根據(jù)交易演算法做出買、賣或保留金融工具的決策。
由于來自證券交易所的輸入資料串流并不是以確定順序方式接收的,因此,執(zhí)行交易策略的記憶體存取也是隨機的,以小量資料的叢發(fā)進行,并以最低延遲獲取資料。以記憶體術語來說,執(zhí)行這種隨機存取的能力是由一種名為隨機交易率(RTR)的指標衡量的。RTR表示記憶體在一定時間內可支援的隨機讀取或寫入作業(yè)次數(shù),其衡量指標是:交易次數(shù)/秒的倍數(shù)(例如MT/s或GT/s)。在大多數(shù)記憶體中,隨機存取時間是由周期延遲(tRC)定義。最大的RTR約為tRC的倒數(shù)(1/tRC)。
快取記憶體的選擇經(jīng)常限制基于FPGA的硬體能力。大多數(shù)的FPGA只采用傳統(tǒng)基于DRAM的記憶體,因為它們具備成本優(yōu)勢,而且密度較高。但是,這些記憶體極其緩慢,而且容易發(fā)生軟錯誤??紤]到這些系統(tǒng)每秒的交易量,我們不能犧牲速度和可靠性。
從純技術的角度探討兩種運用最廣泛的DRAM:同步DRAM(SDRAM)和低延遲DRAM(RLDRAM)。過去10年來,SDRAM的tRC并沒有很大變化(將來可能也不會),一直維持在48ns左右,對應21 MT/s RTR,其它基于DRAM的記憶體設計則以犧牲密度改進了tRC。例如,RLDRAM 3的tRC為8ns,對應于125MT/s RTR?;旧?,DRAM是為那些依序存取確定性運算演算法而最佳化的,但高頻交易并非采用這樣的方式。[!--empirenews.page--]
一個更好的選擇是同步 SRAM。雖然基于DRAM的記憶體具備較高的記憶體容量,但它們無法滿足交易平臺使用快取記憶體的延遲和性能要求。數(shù)十年來,SRAM一直是大多數(shù)高性能應用的首選記憶體?;赟RAM的解決方案可能比一般基于DRAM的解決方案更快高達24倍。
在SRAM中,QDR系列SRAM的性能比任何類型的記憶體都要高。QDR SRAM是專為突發(fā)和隨機存取而設計的。藉由一個讀寫專用埠,QDR記憶體是訂單簿管理等讀寫均衡作業(yè)的理想選擇。例如賽普拉斯半導體(Cypress Semiconductor)最新推出的QDR SRAM——QDR-IV,更進一步提供了兩個雙向埠。當讀寫作業(yè)不均衡時,例如當查詢TCP/IP處理和資料串流處理等操作時,采用QDR-IV將會非常高效。
下表比較各種核心記憶體技術采用的解決方案:
表1:各種核心記憶體技術方案的特性比較
QDR-IV記憶體的RTR為2132MT/s,延遲為7.5ns??紤]到隨機存取性能對于FPGA解決方案的重要性,這些記憶體有助于大幅縮短交易的總延遲。該款SRAM較高的作業(yè)頻率和雙埠作業(yè)特性,可為那些要求嚴苛的網(wǎng)路環(huán)境搭建超低延遲的資料封包緩沖區(qū)。此外,QDR-IV無與倫比的RTR可加快需要即時查詢或其它資料結構的客制應用。而DRAM則更適合儲存資料大量的資料記錄資訊,而高性能的SRAM可與其配合作業(yè),儲存延遲關鍵型路徑的運算查詢或緩存資料。
各種記憶體的RTR性能比較
圖3:各種記憶體技術的RTR比較 (來源:Cypress)
除了RTR和延遲優(yōu)勢之外,很多SRAM還包含一系列新的特性,例如可實現(xiàn)高可靠性的錯誤糾正碼(ECC)、晶片上終端(ODT)以及可提高訊號完整性的偏斜校正(De-skew)訓練。
有鑒于幾奈秒所能帶來的競爭優(yōu)勢,在打造一個基于FPGA的客制化解決方案時,所采用的記憶體類型也是一項關鍵因素。由于QDR記憶體所具備的固有優(yōu)勢,很多FPGA廠商正為其最新一代基于FPGA的高性能交易解決方案導入QDR記憶體。相較于那些使用傳統(tǒng)記憶體解決方案的交易員,采用這些FPGA的交易員擁有先發(fā)制人的優(yōu)勢。QDR記憶體還獲得了Altera、Xilinx等業(yè)界主要FPGA供應商的支持。Altera最新發(fā)布的Arria 10 FPGA即可支援QDR-IV。預計Xilinx等者很快也會宣布在其產(chǎn)品中提供類似的支援。