回顧系列
- 回顧 01:Coinbase re:Invent 回顧 (IND3312)
- 回顧 02:利用 AI 和 AWS 構建未來交易平臺
- 回顧 03:交易創新:Jefferies 在 Amazon Bedrock 上的 AI 助理 (IND3315)
- 回顧 04:FSI 如何運用代理式 AI 徹底改造 HFT 分析 (GBL302)
- 回顧 05:透過 Amazon Time Sync 改善分散式系統,Nasdaq 專題分享
- 回顧 06:Amazon Aurora HA 與 DR 的全球韌性設計模式 (DAT442)
- 回顧 07:建構代理式 AI:Amazon Nova Act 與 Strands Agents 實務應用 (DEV327)
- 回顧 08:深入探討 Amazon Aurora 及其創新 (DAT441)
- 回顧 09:深入探討 Amazon S3 (STG407)
- 回顧 10:Nasdaq:為全球金融服務打造具彈性的基礎設施(HMC327)
- 回顧 11:AWS Lambda 的最新功能 (CNS376)
- 回顧 12:使用 Kiro 進行規格驅動開發 (DEV314)
- 回顧 13:Amazon 的 FinOps:全球電子商務巨擘的雲端成本經驗 (AMZ308)
- 回顧 14:AWS 上的 Tick-to-trade 延遲交易平台
場次筆記
他們使用 disruptor、aeron、FPGA、verilog、VHLs、linux kernel preempt-pt patches、yugabytedb、raft consensus protocols、AWS Cluster Placement Groups (CPGs)、FIX protocol、Liquidnet SmartDark 與 Barracuda Algorithm、5/20 EMA Crossover Strategy、Amazon Time Sync Service、Hardware Packet Timestamping、MiFID II、FIX Adapted for STreaming (FAST)、Simple Binary Encoding (SBE)、amazon Cluster Placement Groups (CPGs)。
Coinbase:使用 Aeron Cluster 建構高韌性、雲端原生的交易基礎設施,以低延遲處理大量交易。
EDX Markets (EDXM):在交易平台中運用 Aeron Cluster,實現容錯與超低延遲。
IMMIX:採用 Aeron Cluster 建構高效能數位資產交易系統與定序器。
滙豐銀行:整合 Aeron 以強化電子交易系統。
Man Group:在低延遲外匯交易系統中使用 Aeron,快速處理報價串流。
SIX Interbank Clearing Ltd:其瑞士即時支付平台已部署 Aeron clusters。
BLOX Markets:這家即將推出、聚焦散戶的美國股票交易平台正在整合 Aeron 系統。
Chicago Mercantile Exchange (CME):贊助 Aeron 開放原始碼開發專案,用於內部訊息傳遞。
Kepler Cheverton (Kcx) 與 Adaptive 合作,以 Aeron 建構事件驅動的股票交易平台。
經紀服務領導者 DriveWealth 採用 Aeron 重構交易架構,達成交易所等級效能。
Talos 在數位資產生態平台中運用 Aeron transport protocol,實現高效能交易與訊息序列化處理。
買方與賣方
買方參與者:
- 機構投資人
- 數位資產基金
- 散戶交易者
- 自營交易公司
- 為投資組合取得數位資產
- 專注於策略開發、研究與交易執行,以創造報酬
賣方公司:
- 造市商與經紀商
- 促成交易執行與訂單路由
數位資產交易所:
- 提供資產掛牌與交易的平台
- 與賣方公司共同構成核心交易基礎設施
- 確保流動性、撮合訂單,並提供必要金融服務
- 主要透過手續費與買賣價差創造營收
Tick-to-trade 效能
- 高頻、低延遲交易 (HFT) 正在中心化數位資產交易中快速興起。
- 數十年來,HFT 一直是股票、商品、外匯及包含期貨在內之衍生性商品市場的關鍵金融市場基礎設施。
- 核心功能是為市場參與者提升流動性、降低交易成本,並提高價格效率與價格發現能力。
- HFT 平台的關鍵技術成功指標:延遲 (Latency)、抖動 (Jitter)
- 數位資產市場中的 HFT 公司力求達成低兩位數微秒的 tick-to-trade 效能,以維持競爭力。
造市
- HFT 公司有義務在委託簿兩側向市場報價
- 買價 Bid(MM 買進,交易對手賣出)
- 賣價 Ask(MM 賣出,交易對手買進)
MM 策略的核心功能:
- 賺取價差(買價與賣價之差)
- 管理風險並提供最佳(最快)執行
提供流動性,但也承擔暫時性庫存風險:
- MM 必須執行極大量訂單,才能為市場提供流動性並從價差獲利。
- HFT 公司利用數位資產於多個交易場所間的短暫價差獲利。
- 成功有賴最佳化執行與微秒級速度,因為延遲可能使套利機會消失。
Jitter 對 HFT 的重要性
可預測的執行:
- HFT 演算法依賴一致且可預測的效能,在精確時點與價格執行交易。不可預測的延遲(高 jitter)可能使交易晚於預期執行,錯過最佳價位並可能造成損失。
套利機會:
- Jitter 可能延誤不同交易所間的價格發現,使僅存在數微秒的短暫套利機會消失。
風險管理:
- 一致的延遲能改善即時風險管理與監控。高 jitter 會引入變異,使壓力下的系統行為更難預測,也更難有效管理風險。
演算法完整性:
- 設計為在特定時限內反應的演算法可能因非預期延遲而受干擾,進而產生非預期交易結果。
降低 Jitter 的技術
硬體最佳化:
- 在關鍵處理路徑使用具確定性的硬體,例如現場可程式化閘陣列 (FPGA)。
- 採用專為低 jitter 效能設計的網路介面卡 (NIC)。
作業系統 (OS) 與核心調校:
- 使用即時作業系統 (RTOS) 或特別調校的 Linux 核心(例如 PREEMPT-RT patches),優先處理交易程序並減少非確定性中斷。
- 採用將執行緒固定至專用 CPU 核心等技術,並減少 context switching,以避免 CPU cache miss 與資源競爭。
網路架構:
- 使用 kernel bypass,將資料直接從網路硬體移至 user-space 應用程式,避開通用且非確定性的 Linux 網路堆疊。
- 將伺服器放在交易所共置設施,縮短實體距離並減少網路路徑變異。
軟體設計:
- 使用高效率資料結構與設計模式(如 disruptor pattern),最佳化訊息流並減少不必要的記憶體配置。
- 最佳化序列化/反序列化程序,以有效處理大量資料。
LMAX Exchange Disruptor Pattern:
- 高效能、低延遲的執行緒間訊息系統。
- 使用 Ring Buffer 高效率傳遞事件/工作。
- 常見於高頻交易 (HFT)。
核心概念與運作方式:
Ring Buffer:
- 記憶體中的環狀固定大小陣列。
- 保存事件/訊息。
生產者:
- 使用序號取得 buffer 中的槽位。
- 寫入資料並提交。
消費者(批次處理器):
- 處理 buffer 中的事件。
- 在相依性圖中運作。
- 彼此通知新資料。
Mechanical Sympathy:
- 善用 CPU caches (L1, L2, L3)。
- 讓資料保持連續且可預測。
- 減少昂貴的記憶體擷取。
無鎖定/競爭:
- 使用序號與 barriers,而非 locks。
- 防止執行緒彼此阻塞。
避免 False Sharing:
- 填補資料,確保變數不共用 cache lines。
- 避免不必要的 cache invalidations。
最佳化:
CPU Cache 使用:
- 善用 CPU caches (L1, L2, L3)。
- 讓資料保持連續且可預測。
避免鎖定:
- 使用序號與 barriers,而非 locks。
- 防止執行緒彼此阻塞。
避免 False Sharing:
- 填補資料,確保變數不共用 cache lines。
交易用途:
速度:
- 對微秒延遲至關重要的 HFT 不可或缺。
吞吐量:
- 處理龐大的市場資料與訂單流。
可擴充性:
- 讓複雜處理管線可跨多個 CPU 核心擴充。
工作導向管線:
- 適合將訂單處理拆成循序且可平行化的工作。
優點:
低延遲:
- 階段間處理可達奈秒等級。
高吞吐量:
- 處理的事件遠多於傳統 queue-based 系統。
可預測效能:
- 避免 locks 與 garbage collection pauses 的不可預測性。
現場可程式化閘陣列 (Field-Programmable Gate Array, FPGA)
- 是一種彈性的積體電路 (IC)。
- 製造後仍可程式化。
- 可建立自訂數位電路。
- 提供硬體層級客製化。
- 適用於高效能運算、訊號處理與快速原型開發。
- 不同於固定功能晶片。
- 使用可重構邏輯區塊、互連與記憶體。
- 平行實作各種功能。
- 實現硬體加速與低延遲效能。
- 適用於電信、汽車 (ADAS)、航太與資料中心。
硬體描述語言 (HDLs):
- 工程師使用 Verilog 或 VHDL。
- 描述所需數位電路。
邏輯合成、佈局與繞線:
- 軟體轉譯 HDL 程式碼。
- 建立設定檔 (bitstream)。
- 將設計映射至 FPGA 內部資源。
可程式化資源:
- 晶片包含 Lookup Tables (LUTs)、Flip-Flops、Multiplexers。
- 可程式化互連。
- 可形成任何數位電路。
平行處理:
- 各項操作在硬體中同時進行。
- 提供高吞吐量與低延遲。
- 適用於複雜工作。
數位資產市場的公平且平等存取:
- 確保所有參與者擁有相同的交易與資訊存取機會。
- 在成熟市場(股票與衍生性商品),監管機關以嚴格揭露與平等存取要求加以規範。
技術實作:
- 藉由縮小延遲差異達成。
- 確保所有參與者在定義的容許範圍(微秒至毫秒)內,獲得相近回應時間。
- 使參與者能可靠參與價格發現、流動性提供與交易執行。
AWS 的貢獻:
- 許多交易場所基於雲端平台建構,以追求可擴充性,而非精密效能調校。
- 持續改善平台以支援交易所與交易公司。
- 強化能力,提升公平與平等。
架構:
- 中心化數位資產交易所在 AWS 上最佳化基礎設施,以達低延遲效能。
- 讓造市商 (MM) 每秒執行數千筆交易。
- AWS 提供運算放置與網路拓撲最佳化,以降低延遲與 jitter。
- 參考架構呈現典型 CEX 交易處理 hot path,供 MM 以延遲最佳化方式存取。
交易接收與處理流程:
提交訂單:
- 訂單提交至 Exchange Gateway。
轉送訂單:
- 訂單轉送至 Fair Order Sequencer。
批次處理與時間戳記:
- Sequencer 執行批次處理,並將帶時間戳記的訂單傳給 matching engine。
執行確認:
- Matching engine 傳送執行確認。
市場資料更新:
- 市場資料更新傳送至 distribution server。
- 更新再傳至 market data gateway。
HFT Feed Handler:
- 市場資料傳送至 HFT feed handler。
- Feed handler 將市場資料傳給 trading strategy engine。
交易策略引擎:
- 產生提供或取得流動性的訊號。
- 訊號傳送至 order management system (OMS)。
訂單管理系統 (OMS):
- OMS 傳送訂單並接收執行確認。
- 執行通知傳送至 OMS。
資料複寫:
- 資料複寫至次要 Availability Zone 或 AWS Region。
- 確保主要 Availability Zone 受損時仍持續運作。
高可用性與災難復原:
- 各交易場所採取的方式不同。
- 範圍從同步容錯移轉,到僅對訂單層進行部分容錯移轉,以供部位管理與調節。
延遲最佳化方法:
- 跨這些層級最佳化,確保交易與即時工作負載的端對端延遲盡可能低。
關鍵延遲:
- Order-to-Ack Latency:代表訂單交易的完整流程。
- Tick-to-Order Latency:衡量接收價格變化、轉換成交易訊號及調整部位的速度。
成功指標:
- 價格發現、策略及訂單執行的延遲與 jitter。
- 目標:低兩位數微秒的 tick-to-trade 效能。
最佳化類別:
網路:
- 底層網路造成的延遲。
- 包含 AWS 路由、執行個體放置與連線選擇。
運算:
- Amazon EC2 執行個體類型造成的延遲。
- 包含執行個體選擇、核心與 OS 調校,以及 Elastic Network Adapter (ENA) 效能最佳化。
應用程式:
- 業務邏輯與 user-space 處理造成的延遲。
- 著重高效率流量處理、CPU/記憶體使用,以及減少資源競爭。
系統:
- 全系統程序造成的延遲。
- 包含資料分發、計時服務與整體架構效率。
CEX 與 MM Hot Paths:
CEX Hot Path:
- 著重訂單輸入、在委託簿上執行及市場資料分發。
- 包含訂單輸入、餘額檢查、撮合、確認與市場事件發布。
- 目標:提供最佳執行與定價體驗以吸引流動性。
MM Hot Path:
- 著重 tick-to-trade 延遲。
- 涉及接收市場資料、評估交易機會及下單。
- 目標:維持最新市場觀點,並避免風險與機會成本。
造市商的「Hot Paths」:
- 技術系統中對延遲敏感的資料與執行路徑。
- 針對速度與效率最佳化,以維持競爭優勢並管理風險。
關鍵元件:
市場資料擷取:
- 快速接收並處理外部市場資料。
- 判定資產目前的公允價格。
定價與機會評估:
- 計算最佳買價與賣價並決定數量。
- 管理庫存風險並降低方向性曝險。
訂單輸入與執行:
- 用於快速送出限價單的低延遲系統。
內部通訊與餘額檢查:
- 內部系統間快速通訊。
- 確保訂單有效,且公司曝險在可接受範圍內。
避險:
- 快速執行抵銷交易以對沖部位。
- 管理從客戶交易取得的庫存。
市場事件分發:
- 迅速發布內部市場事件與確認。
- 分發給相關內部系統與外部客戶。
最佳化技術:
Cluster Placement Groups (CPGs):
- 用於縮短元件間的實體網路距離。
- 將 CEX 與 MM 工作負載放入 CPG,使執行個體集中放置於一個 Availability Zone 的同一個 network spine。
優點:
- 與 CPG 外的執行個體相比,UDP 往返延遲的 P50 平均降低 37%,P90 平均降低 39%。
延遲來源:
- 從網路延伸進執行個體,經過網路卡、核心、作業系統及應用程式層。
延遲最佳化的取捨:
- 使用 Cluster Placement Groups (CPGs):
- 將網路延遲降至最低。
- 與完整韌性的 Multi-AZ 架構不相容。
將 Matching Engines 視為狀態機:
- 通常建模為確定性狀態機。
- 相同的輸入事件序列會產生相同且可預測的狀態。
- 對維持 CEX 委託簿與金融系統一致性至關重要。
- 核心執行採單執行緒,以避免非確定性並確保線性處理。
用於高可用性與可擴充性的分散式狀態機:
- 跨數個執行個體實作,以提供高可用性與可擴充性。
- 跨多個節點複寫邏輯,即使部分節點失效仍能維持運作。
- 將工作負載分散至多個 replicas 以水平擴充。
- 透過健全的 consensus protocols(例如 Raft)維持一致性。
訊息傳遞、一致性與低延遲:
- 結合 consensus protocols 與 messaging protocols,達成最低延遲與一致性。
- 客戶可設計自訂 messaging layers,或使用 Aeron、Chronicle 等成熟方案。
- [https://github.com/aeron-io/aeron](https://github.com/aeron-io/aeron)
- Messaging layers 已針對低延遲、高吞吐量通訊最佳化。
- 能以最小延遲負擔,確定性地複寫狀態機輸入。
Aeron:超低延遲訊息中介軟體
超低延遲
- 微秒範圍延遲:設計用於提供微秒範圍的延遲,對高頻交易至關重要。
- 可預測效能:確保在不同負載下仍具一致效能。
高吞吐量
- 每秒數百萬則訊息:能可靠處理大量訊息。
- 可擴充架構:支援擴充以滿足大型交易系統需求。
可靠性與韌性
- 24/7 可用性:專為持續運作而建,具備確保高可用性的功能。
- 容錯:包含自動容錯移轉與復原機制。
成本效益
- 開放原始碼:可免費使用,降低授權成本。
- 高效率資源運用:降低硬體與營運成本。
主要功能與元件
Aeron Transport:
- 核心功能:高效能、低延遲訊息傳輸。
- 通訊協定:使用 UDP(單播與多播)及 Inter-Process Communication (IPC)。
- 支援的 API:Java、C/C++ 與 .NET。
Aeron Archive:
- 用途:訊息錄製與重播擴充功能。
- 能力:以完整訊息速率將串流持久化至磁碟,確保資料復原及服務無縫重新連線且不遺失訊息。
Aeron Cluster:
- 框架:用於建構容錯分散式服務。
- Consensus Algorithm:使用 Raft algorithm。
- 功能:自動容錯移轉與強資料一致性,適合交易所及交易工作流程。
Agrona 與 Simple Binary Encoding (SBE):
- Agrona:提供高效能資料結構。
- SBE:提供精簡、低負擔的二進位訊息格式,縮小訊息並減少 CPU cycles。
對交易公司的優點
超低延遲:
- 效能:在雲端環境提供低於 100 微秒的延遲,在實體硬體上則低於 20 微秒。
- 對高頻交易至關重要。
高吞吐量:
- 容量:能可靠處理每秒數百萬則訊息。
可靠性與韌性:
- 可用性:確保 24/7 可用。
- 功能:自動容錯移轉、即時復原及健全的資料遺失處理機制。
成本效益:
- 降低成本:降低硬體與營運成本,避免 vendor lock-in。
經實證的採用:
- 使用者:全球主要金融機構與平台,包括 Coinbase、Man Group 及 SIX Interbank Clearing。
- 應用:支援即時交易與支付系統。
Aeron 系統的主要元件:
Media Driver:
- 功能:管理 buffer 處理、network I/O 與資料傳輸的核心引擎。
- 部署:可作為應用程式內的 embedded thread 執行,或作為獨立程序執行。
- 優點:將 garbage collection pauses 等事件對延遲的影響降至最低。
Aeron Client:
- 介面:供開發人員使用、面向應用程式的 API。
- 操作:Client 建立 Publications(傳送訊息)及 Subscriptions(接收訊息)。
Channels 與 Streams:
- Channel:定義通訊路徑。
- Stream ID:整數識別碼,用於在同一 channel 上多工處理不同邏輯訊息流。
Log Buffers:
- 儲存:訊息寫入一系列稱為 log buffers 的 memory-mapped files。
- 設計:允許直接記憶體存取 (off-heap),避開 JVM garbage collection,以提供可預測的低延遲存取。
實際使用案例
- Coinbase:使用 Aeron Cluster 建構高韌性、雲端原生的交易基礎設施,以低延遲處理大量交易。
- EDX Markets (EDXM):在交易平台中運用 Aeron Cluster,提供容錯與超低延遲。
- IMMIX:採用 Aeron Cluster 建構高效能數位資產交易系統與定序器。
- HSBC:整合 Aeron 以強化電子交易系統。
- Man Group:在低延遲外匯交易系統中使用 Aeron,快速處理報價串流。
- SIX Interbank Clearing Ltd:在瑞士即時支付平台部署 Aeron clusters。
- BLOX Markets:這家即將推出、聚焦散戶的美國股票交易平台正在整合 Aeron 系統。
- Chicago Mercantile Exchange (CME):贊助 Aeron 開放原始碼開發專案,用於內部訊息傳遞。
- Kepler Cheverton (Kcx) 與 Adaptive 合作,以 Aeron 建構事件驅動的股票交易平台。
- 經紀服務領導者 DriveWealth 採用 Aeron 重構交易基礎設施,達成交易所等級效能。
- Talos 在數位資產生態平台中運用 Aeron transport protocol,進行高效能交易與訊息序列化處理。
訊息流與機制
Publication:
- 方法:Publisher client 使用 offer() method,將訊息寫入 shared memory 的 log buffer。
- 操作:非阻塞;傳回狀態碼,指出成功或已施加 backpressure。
Media Driver 動作:
- 功能:持續讀取 publisher 的 log buffer,並透過設定的 channel(UDP 或 IPC)將資料傳送至適當目的地。
Subscription 與 Polling:
- 方法:Subscriber client 呼叫 poll() method,從其關聯的 log buffer 讀取訊息。
- 模型:Polling model 讓應用程式控制處理資料的時機,避免 interrupt-driven callbacks,以維持可預測延遲。
可靠性:
- 層級:Aeron 在 UDP 上實作自己的 reliability layer。
- 機制:偵測訊息遺失,並使用 Negative Acknowledgements (NAKs) 要求重傳遺失片段,以最低負擔確保可靠且依序傳送。
Lock-Free Design:
- 技術:所有內部操作皆為 lock-free,使用 log buffers 中的 atomic tail updates 等技術。
- 優點:避免執行緒競爭並將吞吐量最大化。
Atomic tail updates
網路通訊協定:
- Atomic tail updates 對高效能網路與資料庫系統至關重要。
- 它們能有效管理 ring buffers 或 logs 等資料結構。
- 以原子方式更新 tail pointer,可確保並行互動不造成資料毀損。
系統升級:
- 在某些 Linux distributions(atomic distros)中,atomic updates 涉及以單一交易升級整個 OS image。
- 只有更新成功時,系統才會開機進入新 image,以確保完整性。
- 這是運用 atomicity 原則的全系統更新。
Raft Consensus Algorithm:
- 一種分散式系統演算法,確保伺服器對資料狀態達成共識;透過 leader election、log replication 與節點角色(Follower、Candidate、Leader)強調易理解性。
- Leader Election:若未偵測到 Leader,節點會從 Follower 轉為 Candidate,啟動選舉以選出新 Leader。
- Log Replication:Leader 記錄 client requests 並傳給 Followers。多數節點確認後,該項目即提交,確保所有節點對操作順序達成共識。
節點狀態:
- Follower:接受 Leader 的命令與 heartbeats。
- Candidate:在選舉期間爭取領導權。
- Leader:協調 replication 與 client requests。
簡化工作流程:
- 開始:所有節點均以 Followers 身分啟動,並設定隨機 election timeout。
- 選舉:Follower 逾時後成為 Candidate、增加 term,並請求投票。
- 投票:若 Followers 在目前 term 尚未投票,且 Candidate 的 log 為最新,便投票給該 Candidate。
- Leader:取得多數票的 Candidate 成為 Leader 並傳送 heartbeats。
- Replication:Clients 將 requests 傳給 Leader,由 Leader 記錄並複寫至 Followers。
- Commit:多數 Followers 記錄該項目後,Leader 提交並套用至其 state machine,同時指示 Followers 執行相同操作。
主要優點:
- 易理解性:比 Paxos 等較舊協定更容易實作與理解。
- 強一致性:確保所有節點以相同順序看到操作 (linearizability)。
- 容錯:選出新 leaders 以處理伺服器故障。
應用:
- 資料庫:CockroachDB、YugabyteDB。
- 叢集管理器:HashiCorp Consul。
- 訊息佇列:採用 KRaft 的 Apache Kafka。
用於高可用性與災難復原的 Multi-AZ 部署:
- Consensus 與 messaging solutions 在單一 Availability Zone 內提供高可用性,並跨多個 Availability Zones 或 Regions 提供災難復原。
- 透過將 log replication 至次要目標或持久化儲存層達成。
- 使用 Amazon S3、Amazon FSx 等儲存服務,以及 Amazon Aurora、Amazon Aurora DSQL 等分散式資料庫。
- Raft log replication modes 各異:完全同步、近同步或非同步。
- 複寫資料包含完整系統互動歷史,因此適用於稽核與合規。
CPGs 與 Amazon EC2 容量履行考量:
- 使用 CPGs 最佳化放置並共置 EC2 執行個體。
- 管理其與容量履行之間的取捨。
- CPGs 在單一 Availability Zone network spine 下形成實際部署邊界,縮小可用的 Amazon EC2 容量集區。
- 影響隨 Availability Zone 大小而異:大型 Regions 與 Availability Zones 中較輕微,小型者則更顯著。
- 使用 On-Demand Capacity Reservations 保留 Amazon EC2 容量,以管理風險。
- 優點包括降低延遲,以及透過 shared CPGs 提高容量保障。
CEX 與 MM 網路邊界延遲:
- 對尋求與數位資產交易所進行低延遲共置的 HFT 至關重要。
- 客戶無法控制這些邊界;延遲與 jitter 取決於放置和網路設計。
使用 CPGs 最佳化延遲:
- Cluster Placement Groups (CPGs) 是延遲最佳化放置的基礎。
- Shared CPGs 將共置延伸至不同 AWS accounts。
- 符合 Region 內的雲端共置原則。
連線模式:
- 數位資產交易所提供各種連線模式,其延遲特性從 50–200 微秒到超過一毫秒不等。
最佳連線:
- HFT 客戶以連至交易所的最低延遲路徑為目標,避開 CDNs 與 load balancers。
- 理想情況是透過 VPC peering connection,使用公有或私有 IP 直接連至 EC2 order gateways 上的交易所 endpoints。
- 最佳化通訊協定選擇,優先選用 FIX 而非 REST 或 WebSockets,以降低通訊協定造成的延遲。
延遲監控:
- HFT 使用分層測試監控 CEX endpoints 的延遲:
- 基本 HTTP/TCP pings。
- 端對端延遲。
- 市場事件與訂單執行的應用程式層級監控。
- 由於 CEX endpoints 與 HFT instances 可能在 Availability Zone 內移動,需持續最佳化放置,在延遲、可用性及執行個體選擇間取得平衡。
金融資訊交換 (Financial Information eXchange, FIX) Protocol
核心概念與機制
- 結構化訊息:FIX protocol 使用 tag-value pair 格式的結構化訊息。
- Tag-Value Pairs:每個資料欄位由唯一整數 tag 及其配對 value 識別。
主要運作層:
- Session Layer:管理雙方連線,使用 heartbeats、gap fills 等機制,確保可靠訊息傳送、排序及中斷復原。
- Application Layer:定義新訂單、執行報告、取消訂單及交易分配等業務訊息內容。
廣泛採用與使用案例
- 起源:最初於 1992 年開發,用於 Salomon Brothers 與 Fidelity Investments 間的美國股票交易。
- 支援的資產類別:已擴展至支援幾乎所有資產類別,包括固定收益、外匯 (FX)、衍生性商品、商品及數位資產/加密貨幣。
主要使用案例:
- 訂單路由與執行:在市場參與者間無縫傳送訂單與執行報告。
- 市場資料傳播:分發即時報價、交易量與市場深度資訊。
- 交易後處理:處理交易分配、確認與交割明細,簡化後台作業與監管申報。
- 演算法與高頻交易 (HFT):其結構化、低延遲特性適合自動交易策略;Simple Binary Encoding (SBE) 與 FIX Adapted for STreaming (FAST) 等最佳化二進位編碼可滿足極致效能需求。
FIX Protocol 的運作方式
- 訊息式標準:以一系列 tag-value pairs 建構,兼顧互通性與效率。
訊息結構:Tag-Value Pairs:
- 整數 Tag:FIX 訊息中的每一筆資料均以整數 tag 表示。
- 等號:後接等號。
- 資料值:接著是資料值(例如 35=D 表示 New Order Single)。
FIX 訊息的元件:
- Header:包含 BeginString、MsgType、SenderCompID、TargetCompID 等 session-level fields。
- Body:包含 Symbol、OrderQty、Price、Side 等核心 application-level business data。
- Trailer:包含用於驗證訊息完整性的 CheckSum。
運作層
Session Layer:
- 管理兩個交易對手間可靠且持續的連線。
主要機制:
- Heartbeats:定期傳送訊息以確認連線仍有效。
- Sequence Numbers:每則訊息使用唯一且遞增的數字,以偵測遺漏訊息。
- Resend Request:若偵測到 sequence gap,接收方可要求以「gap fill」補上遺漏訊息。
Application Layer:
- 定義訊息的實際業務內容。
- 規定有效的訂單類型、執行報告、交易確認與市場資料請求。
範例:New Order - Single (35=D)
- 以 $150.00 買進 100 股 Apple (AAPL)。
- 8=FIX.4.2|9=100|35=D|34=10|49=BUYER|56=SELLER|52=20251211-10:00:00.000|11=ORD1001|21=1|38=100|40=2|54=1|55=AAPL|44=150.00|10=000|
- 8=FIX.4.2:FIX 版本(例如 4.2)。
- 9=100:Body Length(訊息 body 的字元數)。
- 35=D:Message Type(D = New Order - Single)。
- 34=10:Sequence Number(session 中的第 10 則訊息)。
- 49=BUYER:Sender ID(您的公司)。
- 56=SELLER:Target ID(Broker/Exchange)。
- 52=20251211-10:00:00.000:Timestamp。
- 11=ORD1001:ClOrdID (Client Order ID)。
- 21=1:HandlInst(1 = 自動執行、私有、無 broker 介入)。
- 38=100:OrderQty(數量:100 股)。
- 40=2:OrdType(2 = Limit Order)。
- 54=1:Side(1 = Buy)。
- 55=AAPL:Symbol (Apple Inc.)。
- 44=150.00:Price(限價:$150.00)。
- 10=000:Checksum(用於訊息完整性)。
Simple Binary Encoding (SBE)
- 一種專門的開放標準二進位通訊協定,廣泛用於電子交易與高頻交易 (HFT) 環境。
- 為關鍵任務交易訊息達成極高處理速度及可預測(確定性)延遲。
交易為何使用 SBE
- 在交易中,每一微秒都至關重要。
- XML 或 JSON 等傳統資料格式太慢且太龐大。
- FIX Trading Community 開發 SBE,以滿足在編碼與解碼過程中將 CPU 效率最大化並將延遲最小化的通訊協定需求。
- SBE 最佳化從訂單建立到送達交易所的交易訊息路徑。
主要原則
固定偏移二進位配置
- SBE 的核心概念。
- 為交易訊息中的每個欄位指定精確的記憶體位置 (offset)。
- 對交易的影響:直接記憶體存取可避免複雜 parsing logic,縮短處理時間並使延遲高度可預測。
CPU 最佳化(Cache Friendly)
- 設計為對現代電腦處理器「cache-friendly」。
- 對交易的影響:固定 offset 設計將 conditional branching 降至最低,使 CPU 內部預測機制有效運作。
簡潔性與程式碼產生
- 使用結構化、機器可讀的 XML schema 定義訊息配置。
- 工具會自動產生必要程式碼(Java、C++、C# 等),以讀寫這些特定交易訊息。
- 對交易的影響:程式碼產生可排除人為錯誤,確保傳送方與接收方以完全相同且高效率的方式解讀二進位資料。
交易中的 SBE 與 FAST 比較
SBE(訂單輸入)
- 傳送實際訂單至交易所時通常優先採用。
- 無狀態特性與確定性延遲,使其適合關鍵、點對點的訂單提交通訊。
FAST(市場資料)
- 主要用於接收市場資料(價格、報價)。
- 優勢是大量壓縮重複資料串流 (delta encoding),非常適合有效率地廣播數百萬筆價格更新。
FIX Adapted for STreaming (FAST)
- 在交易環境中主要用於市場資料分發,通常不用於傳送交易訂單(訂單輸入)。
目的與使用案例
- FAST 由 FIX Trading Community 設計,專門最佳化交易所傳至交易公司的大量即時市場資料 feeds。
- 大量資料:交易所每秒產生數百萬筆價格更新、報價及市場深度訊息。使用傳統文字式 FIX 格式傳送會消耗過多頻寬並造成延遲。
- 壓縮效率:FAST 是強大的壓縮演算法,透過移除重複資料及使用 template-based system,大幅縮小訊息。
- 分發 (Fan-out):針對一對多通訊(一個交易所將資料傳給許多訂閱者)高度最佳化,因此非常適合交易作業的「市場資料」端。
FAST 如何處理交易資料
- FAST 使用「stateful」方法,接收方會記住同一 session 中先前訊息的值。
- 類比:若委託簿更新時,僅特定股票價格改變,而幣別、交易所及時間不變,FAST 只傳送新的價格值。
- 優點:大幅降低頻寬使用與整體網路延遲,確保交易者盡快收到價格更新,以做出明智決策。
FAST 與訂單輸入(SBE 為何不同)
- FAST 最佳化資料接收,但通常不是傳送交易訂單(訂單輸入)的主要通訊協定。
- 訂單輸入需要可預測性:傳送交易訂單是點對點且極關鍵的互動,確定性延遲至關重要。接收交易所需要每筆訂單完整且可立即解析,不能依賴前一則訊息的狀態。
- 訂單偏好 SBE:Simple Binary Encoding (SBE) 常用於訂單輸入,因為固定偏移二進位配置允許立即、無條件解析,較 FAST 的 stateful compression 提供更可預測的超低延遲。
市場資料與多播:
CEX Matching Engine:
- 持續更新委託簿,產生動態市場活動檢視。
市場資料轉換:
- 原始委託簿狀態透過彙總與標準化轉換為市場資料。
- 交易所擷取各層級(Level 1、Level 2、Level 3)的最佳買價、賣價等關鍵指標。
- Level 1 Data:提供最佳買價(買方願付的最高價格)與最佳賣價/要價(賣方願接受的最低價格)的即時資訊,通常也包括最近成交價與成交量。
- Level 2 Data:顯示不同價格層級的多個買價與賣價(委託簿),提供更深入的市場檢視。此市場深度 (DOM) 資訊有助交易者衡量整體供需。
- Level 3 Data:通常僅供造市商與交易所會員使用。包含 Level 1 與 Level 2 的所有資訊,以及直接與委託簿互動及執行交易的能力。
市價單:
- 市場資料會針對市價單產生;市價單會立即與最佳可用買價或賣價撮合。
AWS Transit Gateway 上的 Multicast:
- 需要在 VPC 內或 VPC 之間複寫並模擬 multicast 傳送。
- 較小型 CEX 可使用 shared transit gateways,向 MM 分發市場資料。
- Transit Gateway 雖方便,但並非為高頻、低延遲交易設計,且對大型 CEX 有擴充限制。
市場資料分發:
傳統市場:
- 透過最佳化、實體範圍受限的共置網路,使用 UDP multicast 向 HFT MM 分發市場資料。
雲端託管的 CEX:
- 主要使用 TCP unicast WebSocket APIs 分發即時市場資料。
REST APIs:
- 用於隨選或定期擷取資料(例如歷史交易、K 線資料)。
- 適合投資組合追蹤器等非即時應用。
- Polling REST endpoints 會產生較高延遲與更嚴格的速率限制。
FIX Gateways:
- 部分 CEX 透過 FIX gateways,為機構 MM 提供即時市場資料。
- 提供訊息標準化與較低延遲存取。
- FIX endpoints 通常託管於專供特定機構 MM、避險基金及自營交易公司的雲端基礎設施。
精準時間與公平、平等的訂單處理:
公平且平等存取的重要性:
- 對數位資產交易所至關重要,且範圍超越網路基礎設施,延伸至應用程式元件。
- MiFID II 等監管架構在傳統市場中強制公平,數位資產交易所也遵循類似原則。
公平訂單與市場事件定序:
- 在交易撮合前後皆至關重要。
- 精準計時是公平訂單定序的核心,讓 CEX 能對分散式元件間的訊息加上時間戳記。
HFT MM 的精準時間:
- 能更準確地處理事件與產生訊號。
- 為策略執行與風險控制提供資訊。
過去的雲端計時服務:
- 精準度僅達數百微秒或毫秒,不足以支援要求低個位數微秒精準度的 HFT 策略。
MiFID II (Markets in Financial Instruments Directive II)
- 是 2018 年生效的歐盟法規。
- 旨在建立更公平、透明且有效率的金融市場。
- 提升歐洲各地的投資人保障與競爭。
- 涵蓋更多金融工具,並收緊行為、透明度及申報規定。
主要面向:
- 向客戶詳細揭露成本/費用
- 更嚴格的適合度評估,包括永續性偏好
- 客戶交易的最佳執行義務
- 加強向監管機關申報交易,以進行市場監視
- OTFs (Organised Trading Facilities) 等新交易場所的規則,以及既有場所的更嚴格規定
主要目標
- 投資人保護:確保客戶獲得最佳結果(最佳執行)與適合其需求的產品,並取得清楚的成本/風險資訊。
- 透明度:要求向監管機關 (ESMA) 與客戶詳細申報交易活動(價格、交易量)。
- 市場效率:促進競爭、減少不透明交易(例如 dark pools),並建立全歐盟一致規則。
核心要求與變更
- 成本與費用:公司必須預先向客戶揭露所有成本(費用、佣金)。
- 最佳執行:公司必須採取所有措施,為客戶交易取得最佳可能結果(價格、速度、成本)。
- 產品治理:要求製造商與經銷商辨識每項產品的「目標市場」。
- 交易場所:建立新場所 (OTFs),並對既有場所施加更嚴格規定。
- 資料申報:增加向監管機關 (ESMA) 申報交易,以監視市場濫用。
適用對象
- 投資公司
- 銀行
- 資產管理公司
- 交易場所(包括新的 OTFs)
- 金融產品製造商與經銷商
Organised Trading Facility (OTF)
- 是用於債券、結構型產品、排放配額與衍生性商品的歐洲金融交易場所。
- 作為多邊系統,讓買賣意向相遇並形成契約。
- OTF 營運者對執行具有裁量權,可進行 matched principal trading。
- 依 MiFID II 規則,為非流動性金融工具建立透明度。
主要特性:
- 產品重點:主要是債券、結構型金融產品、排放配額與衍生性商品(MiFID II instruments)等非股票工具。
- 多邊系統:匯集多個第三方買賣意向,類似其他交易場所。
- 裁量執行:OTF 營運者可自行決定交易執行方式,不同於 Multilateral Trading Facilities (MTFs) 的非裁量規則。
- Matched Principal Trading:營運者可作為主體撮合買賣訂單,但須符合嚴格條件,尤其是流動性較低的主權債務。
- 監管架構:依 MiFID II/MiFIR 建立,須經授權,並受嚴格市場濫用規則與透明度要求約束。
與 MTFs (Multilateral Trading Facilities) 的差異:
- 裁量權:OTFs 允許營運者裁量;MTFs 為非裁量。
- 產品:OTFs 著重固定收益與衍生性商品;MTFs 可交易股票及其他工具。
- Principal Trading:OTFs 允許有限的 matched principal trading,而 MTFs 通常禁止。
Multilateral Trading Facilities (MTFs)
- 是受監管的電子平台,提供傳統證券交易所以外的選擇。
- 依歐洲 MiFID II 等規則連結買賣雙方。
- 促成各種資產(股票、債券、衍生性商品)交易,通常用於流動性較低或店頭市場 (OTC) 產品。
- 為市場營運者與銀行提供有效率、非裁量的交易。
- 與傳統交易所相比,對金融工具的審查較不嚴格。
MTFs 的主要特性:
- 電子化與多邊:匯集多個第三方對金融工具的買賣意向。
- 替代場所:作為非交易所場所,常用於特殊或 OTC 產品,提高市場流動性。
- 營運者經營:由市場營運者或投資公司營運,不一定由證券交易所本身營運。
- MiFID 架構:受 MiFID II 等歐洲指令監管,確保透明與公平。
- 資產類別:可交易股票、債券與衍生性商品,但有特定規則(例如不可自營交易)。
與受監管市場的差異:
- 掛牌程序:MTF 上的金融工具不一定須接受傳統交易所(受監管市場)要求的廣泛審查與持續義務。
- 裁量權:MTFs 依非裁量規則撮合交易;Organised Trading Facilities (OTFs) 則允許對非股票工具行使裁量。
範例:
- Liquidnet Europe
- Currenex MTF
- UBS MTF
Currenex MTF
- Currenex MTF (Multilateral Trading Facility) 是 State Street 的機構外匯交易電子平台。
- 提供窄幅價差與來自 60 多家銀行的深度流動性。
- 提供匿名的 all-to-all ECN 存取。
- 讓專業人士使用多種訂單類型、演算法與低延遲 API 連線執行交易。
- 以純 ECN (No Dealing Desk) 系統運作。
- 著重為大型參與者提供高效率且具成本效益的外匯與金屬交易。
Liquidnet
- 是技術驅動的代理執行專業機構,也是 TP ICAP Group 的子公司。
- 將機構投資人連接至大型全球流動性池,主要用於股票、固定收益與衍生性商品的大宗交易。
核心服務與功能:
- 大宗交易:促成機構投資人間的大型匿名交易,降低市場衝擊成本並保護交易資訊。
- 全球網路:連結六大洲 57 個市場、超過 1,000 家資產管理公司,合計管理數兆規模資產。
技術與平台:
- Dark Pools:以 Alternative Trading System (ATS) 或 Multilateral Trading Facility (MTF) 運作,使用私人交易場域。
- 演算法交易:提供「Barracuda」與「SmartDark」等進階演算法,在內外部場所尋找流動性,同時盡量減少市場足跡。
- OMS/EMS 整合:設計為與會員既有 Order Management Systems (OMS) 及 Execution Management Systems (EMS) 無縫整合。
資產類別:
- 固定收益:提供次級市場交易方案,以及初級債券市場的創新電子工作流程,包括與承銷銀行的連線。
- 上市衍生性商品:擴展至 US Equity Options,以強化多資產能力。
非裁量規則
- 是不容個人判斷或選擇,並要求特定行動或結果的準則或要求。
- 常見於金融(交易須經客戶核准)、法律(強制支出/行動)及交易系統(如 5/20 crossover 的固定買賣觸發條件)。
- 在投資中,意指經紀商每筆交易都必須取得客戶同意;相對地,裁量帳戶由顧問決定。
- 非裁量意指遵循嚴格通訊協定,而非行使個人裁量。
主要面向:
- 強制遵循:規則必須精確遵守,例如食品或住房等必需品的非裁量支出。
- 明確觸發條件:通常包含客觀標準,例如交易系統演算法(如 5 日均線向上穿越 20 日均線)。
- 客戶控制(投資):在金融領域,客戶保有「最終決定權」並核准每筆交易,經紀商則負責接單。
與裁量規則的對比:
- 非裁量:嚴格遵守預定規則或客戶指示(例如「XYZ 達到 $50 時買進 100 股」)。
- 裁量:允許顧問運用判斷做決策(例如「管理我的投資組合以追求成長」)。
外匯交易中的 No Dealing Desk (NDD) 系統
- 客戶訂單直接傳給外部流動性提供者,不經內部介入,也沒有「dealing desk」擔任交易對手。
- 確保透明度,並消除經紀商與交易者之間潛在的利益衝突。
NDD 系統的運作方式:
- NDD 經紀商扮演橋梁,使用自動化系統從流動性提供者網路找出最佳可用價格。
主要透過兩種機制運作:
- Straight-Through Processing (STP):客戶訂單直接路由至流動性提供者,經紀商在價差上增加小額固定加價作為佣金。
- Electronic Communication Network (ECN):交易者訂單直接與分散式市場中的其他參與者(包括銀行、其他經紀商及個別交易者)撮合。ECN 經紀商通常每筆交易收取固定佣金,同時提供市場的原始浮動價差。
優點與缺點:
- 基礎:No Dealing Desk (NDD)
- 經紀商角色:促成交易,不採取相反部位。
- 利益衝突:經紀商從交易量/佣金而非客戶損失獲利,因此無潛在利益衝突。
- 訂單執行:依真實市場價格自動即時執行,不重新報價。
- 定價:依實際市場狀況而定的浮動價差。
- 透明度:因直接市場存取與即時定價而具有高透明度。
- 潛在缺點:高波動期間價差可能擴大;可能涉及佣金或整體成本略高;也可能發生滑價。
產品與經紀商:
- 交易者通常使用特定平台進行 NDD 交易,數家信譽良好的經紀商提供此系統。
NDD 經紀商:
- FP Markets:以持續偏低的 RAW spreads(通常為零 pips)及快速執行速度廣受好評。
- Pepperstone:以優異的 MT4 交易工具及 Razor account 的競爭性價差聞名。
- IC Markets:因提供市場上極低的平均 RAW spreads 而突出(EUR/USD 最低可達 0.02 pips)。
- FxPro:提供具有 RAW spreads 的 cTrader 平台,以簡潔介面與進階圖表工具聞名。
Liquidnet Barracuda Algorithm
- 尋找流動性的交易演算法
- 結合 dark aggregation 與 lit trading
- 以高參與率及最低市場衝擊為目標
Barracuda Algorithm 的運作方式
- 使用 opportunistic logic 取得流動性
Dark Aggregation
- 核心元件:dark aggregator
- 在 dark pools 尋找大型匿名流動性區塊
- 執行交易但不揭露訂單大小或意圖
- 降低價格衝擊
Lit Trading
- 補足 dark aggregation
- 有利時在公開證券交易所交易
- 運用 opportunistic logic 尋找最佳執行機會
結果與優點
高參與率
- 在市場交易量中達成顯著參與率(例如 lit market volumes 的 65.5%)
市場衝擊成本節省
- 節省市場衝擊成本
- 據報大宗執行節省 10.0 bps
效能指標
- 比 10% POV (Percentage of Volume trading) 交易成本模型優異 17.4 bps
- 比 Interval VWAP (Volume Weighted Average Price) VWAP 優異 4.8 bps
結論
- 有效率地執行大額訂單
- 將對市場價格的干擾降至最低
Liquidnet SmartDark Algorithm
- 專為機構交易者設計
- 在 dark pools 有效率地執行大型股票訂單
- 將市場衝擊降至最低並提升價格穩定性
SmartDark Algorithm 的運作方式
- 在 Liquidnet Dark 交易環境中運作
- 尋找大型、不顯示的流動性區塊
優先路由
- 使用優先路由系統
- 評估「yield and quality metrics」
- 智慧決定將訂單的各部分送至何處
- 優先選擇執行量較佳且價格穩定的場所
尋找流動性策略
- 主動尋找並存取廣泛的 dark venues
- 運用內部 block crossing 機會
- 避免被動等待撮合
最大化曝險
- 結合目標策略與最大流動性曝險
- 讓交易者存取高品質場所
降低市場衝擊
- 在 dark pools 匿名執行大額交易
- 防止更廣泛的公開市場看見大額訂單規模
- 避免在 lit exchanges 發生的顯著價格波動
5/20 EMA Crossover Strategy
- 使用 5 期 EMA 穿越 20 期 EMA,找出短期趨勢變化
- 5 EMA 向上穿越 20 EMA 時為多頭訊號(買進)
- 5 EMA 向下穿越 20 EMA 時為空頭訊號(賣出)
- 適合有趨勢且快速波動的市場
- 需要確認(例如 RSI、成交量)以避免假訊號
運作方式
- 5 EMA(快線):對近期價格變化快速反應
- 20 EMA(慢線):提供更廣泛、平滑的短期趨勢檢視
進場訊號
- 多頭(買進):5 EMA 向上穿越 20 EMA
- 空頭(賣出):5 EMA 向下穿越 20 EMA
實作步驟
- 辨識趨勢:使用較高時間週期(日線/週線)查看整體市場方向
- 繪製 EMA:在圖表加入 5 期及 20 期 EMA
- 等待交叉:在所選時間週期尋找 5 EMA 穿越 20 EMA
- 確認:使用 RSI、成交量或 K 線型態等其他工具驗證訊號
- 設定停損與目標:多單將停損設於波段低點下方,空單則設於波段高點上方;使用風險/報酬比(例如 1:2、1:3)獲利了結
最適合
- 動能交易:掌握快速、劇烈的走勢
- 趨勢市場:在方向明確的市場中效果最佳
- 活躍交易者:適合較短時間週期(15min、1hr、5min)的當沖或波段交易
主要考量
- 假訊號:5 EMA 反應快速,會產生許多訊號,其中很多是假的 (whipsaws)
- 確認是關鍵:絕不可只依賴交叉;務必尋求其他指標確認
Amazon Time Sync Service:
- 於 2023 年底改善,使用 PTP 與 PTP hardware clock 達成低於 100 微秒(通常低於 50 微秒)的時間精準度。
- 由每個 Availability Zone 中的專用計時網路與 GPS-disciplined clocks 支援。
Hardware Packet Timestamping:
- 於 2025 年 6 月推出,在硬體層級為每個輸入網路封包附加 64-bit、奈秒精準度的時間戳記。
- 運用 AWS Nitro System 的 reference clock,避開軟體造成的延遲。
- 提供封包抵達 Nitro NIC 時的奈秒級可視性
強化執行與監控能力:
- 改善 AWS 上數位資產交易所與 HFT MM 的執行及監控能力。
提升公平性與精確量測:
- 讓 CEX 能實作更高的公平性。
- 讓 HFT 能精確量測往返與單向延遲。
