從零開始設計證券公司核心系統(3):設計接單與下單轉送系統(Order Entry & Gateway)
在前兩篇文章中,我們已經了解了證券公司核心系統的高階架構設計,並且描繪了各模組之間的互動關係。
這篇文章,我們將深入討論「接單系統」與「下單轉送系統」,這是核心系統中的關鍵部分,負責接收來自客戶的交易指令並將其轉送至交易所。
接單系統(Order Entry System)
接單系統是證券公司核心系統中的第一道防線,負責接收客戶的交易指令並進行初步處理。它的主要功能包括:
- 接收指令:
- 接收來自客戶端的訂單(買、賣、撤單等)。
- 支援多種介面,如網頁端、手機 App 或 API 接口。
- 指令格式檢查:
- 確保客戶指令符合交易規則(例如:股票代碼格式、交易數量範圍等)。
- 風控檢查前傳遞:
- 若訂單符合格式要求,將訂單轉送至風控系統進行風險評估。
下單轉送系統(Order Gateway)
下單轉送系統是負責將接收到的有效指令轉送到交易所或流動性提供者(Liquidity Provider)的關鍵模組。這個系統通常需要具備以下功能:
- 指令轉送:
- 將已經過風控審查的訂單透過專有協議(如 FIX 協議、交易所 API 等)發送至交易所。
- 轉送結果回報:
- 在接收到來自交易所的回報後,將成交結果回報給客戶端,並更新內部系統。
- 支持多交易所與流動性提供者:
- 為了確保客戶能夠在不同的市場環境下進行交易,下單轉送系統應該支援多個交易所與流動性提供者。
設計下單轉送系統的關鍵考量
- 穩定性與高可用性(High Availability):
- 下單轉送系統必須能夠穩定運作,無論是處理高頻交易還是處理大規模的日常訂單,都需要確保沒有延遲或錯誤。
- 可設計冗餘架構,確保單一節點故障不會影響系統運行。
- 延遲與吞吐量:
- 下單轉送系統必須具備極低的延遲,以實現高效的交易體驗。
- 同時,系統必須能夠處理大量的交易指令,支持高吞吐量的要求。
- 交易所協議與接口兼容性:
- 設計下單轉送系統時,必須支持不同交易所的協議(如 FIX 協議、WebSocket 或 REST API),並確保在處理不同市場訂單時能夠高效運行。
案例分析:多交易所支持
假設證券公司希望同時在兩個市場進行交易,例如台灣證券交易所(TWSE)和香港交易所(HKEX),下單轉送系統需要具備以下功能:
- 訂單路由選擇:
- 根據市場條件或客戶需求,選擇將訂單發送到哪一個交易所。
- 系統應該支持根據訂單大小、價格波動等因素進行智能路由。
- 多交易所訂單管理:
- 同時管理來自不同交易所的訂單,並處理它們的回報與成交狀態。
系統架構示意
以下是下單轉送系統的簡單架構圖,展示了各組件之間如何交互:
(插圖:這裡可以放置下單系統與轉送系統之間的數據流和結構圖。)
小結
本篇文章詳細探討了接單系統與下單轉送系統的設計,這些模組是證券公司核心系統中至關重要的一環。
接下來,我們將介紹「風控系統」的設計,探討如何在交易指令被送至交易所前,進行風險控制與管理。