目錄
1.量化交易系統簡介
1.1行情資料
1.2交易策略
1.3交易
2. 分布式高頻量化交易系統
2.1. 架構圖
2.2. 交易系統功能介紹
2.3. 賬戶系統介紹
2.3.1. 交易員賬戶
2.3.2. 管理員賬戶
2.4. 圖中模塊功能介紹
2.4.1. 行情資料端
2.4.2. 管理員客戶端
2.4.3. 策略客戶端
2.4.4. 交易服務端
2.5. 圖中模塊之間的互動
2.5.1. 策略端訂閱行情
2.5.2. 策略客戶端查詢
2.5.3. 策略客戶端委托下單
2.5.4. 管理員客戶端增加交易員資金
2.6. 高頻設計要點
2.6.1. Linux共享記憶體
2.6.2. 專用執行緒
2.6.3. 高速記憶體池
1.量化交易系統簡介
1.1行情資料
交易所發布行情資料,
1.2交易策略
策略研究員以數學模型為交易思維,以歷史行情資料為基礎,以數學建模、統計學分析、編程設計為工具,利用計算機技術從龐大的歷史資料中海選出能帶來超額收益的多種大概率獲利事件以制定交易策略,
1.3交易
交易策略接收實時行情資料,產生委托報單信號,交易api根據委托報單信號,組建委托報單報文,發送委托報單請求到交易所,
2. 分布式高頻量化交易系統
2.1. 架構圖

2.2. 交易系統功能介紹
1. 行情資料模塊,策略模塊,委托下單交易模塊等撰寫為多個獨立的程式,各個程式之間用tcp或者共享記憶體通訊,
2. 交易服務端有委托,撤單,委托回報,成交回報,查詢委托,成交,持倉等交易功能,
3. 交易服務端有檢查資金,檢查持倉,檢查自成交等風控,
4. 交易服務端為每個策略分配1個交易員賬戶,每個賬戶有獨立的資金管理,有獨立的委托成交持倉管理,
5. 交易服務端為每個交易員賬戶計算持倉盈虧,平倉盈虧,計算期貨保證金,計算手續費,
6. 交易服務端每天對交易員賬戶進行結算,
7. 交易服務端為查詢和交易分配獨立執行緒,加快處理速度,
8. 交易系統重啟時,可以恢復之前的交易現場,
9. 策略客戶端使用獨立的交易員賬戶,方便多策略的管理,
10. 策略客戶端和交易服務端之間的交易報文通過共享記憶體通訊,加快報文傳輸速度,
11. 管理員客戶端可以在盤中對策略表現比較好的交易員增加交易資金,
12. 行情資料端和策略客戶端通過共享記憶體傳輸行情資料,加快行情資料傳輸速度,
13. 行情資料端每天收集行情資料,存盤為本地檔案,作為策略研究的資料,
2.3. 賬戶系統介紹
賬戶分為交易員賬戶和管理員賬戶,
2.3.1. 交易員賬戶
由于私募基金或個人在證券公司的柜臺的注冊的賬戶只有1個,但我們有多個交易策略,
這樣很難計算每個交易策略的交易情況,持倉情況,所以,我們創建了多個交易員賬戶,為每個策略分配1個交易員賬戶,
交易員賬戶的委托,成交,持倉都是獨立統計的,
交易員賬戶有獨立的資金管理,可以在盤中對策略表現比較好的交易員賬戶增加資金,
交易員賬戶的委托,成交,持倉的總和等于在證券公司注冊賬戶的委托,成交,持倉,
交易員賬戶只是存在于我們的交易系統,對證券公司是不存在的,
2.3.2. 管理員賬戶
管理員賬戶用于管理各個交易員賬戶,為交易員賬戶增加資金,
2.4. 圖中模塊功能介紹
2.4.1. 行情資料端
1) 連接行情,訂閱行情,接收行情資料,
2) 通過共享記憶體推送行情資料給策略客戶端,
3) 收集行情資料,存盤為本地檔案,作為策略研究的資料,
2.4.2. 管理員客戶端
1) 管理員查詢證券公司注冊賬戶的資金,委托,成交,持倉等交易情況,
2) 管理員為盤中策略表現比較好的交易員賬戶增加資金,
2.4.3. 策略客戶端
1) 策略客戶端訂閱行情資料端的行情,通過共享記憶體接收行情資料,
2) 通過行情資料,策略產生買賣信號,通過共享記憶體發送委托請求到交易服務端,
2.4.4. 交易服務端
1) 連接證券公司交易柜臺,
2) 接收客戶端發送的請求,發送到交易所,
3) 為每個策略分配1個交易員賬戶,每個賬戶有獨立的資金管理,有獨立的委托成交持倉管理,
4) 為每個交易員賬戶計算持倉盈虧,平倉盈虧,計算期貨保證金,計算手續費,
5) 對委托下單等進行檢查資金,檢查持倉,檢查自成交等風控,
6) 每天對交易員賬戶進行結算,
2.5. 圖中模塊之間的互動
2.5.1. 策略端訂閱行情
策略客戶端通過tcp連接到行情資料端,
策略客戶端發送訂閱行情請求,行情資料端收到訂閱請求后,和策略端建立共享記憶體通訊,
行情資料端通過共享記憶體把行情資料推送到策略客戶端,
2.5.2. 策略客戶端查詢
策略客戶端通過tcp連接交易服務端,
策略客戶端使用交易員賬戶登錄交易服務端,
策略客戶端查詢資金,委托,成交,持倉,
交易服務端使用2個執行緒處理客戶端的請求報文:
執行緒A:處理非交易的請求,例如登錄,查詢等,
執行緒B:處理交易請求,例如委托下單,撤單,
交易服務端收到查詢請求,投遞到執行緒A,執行緒A處理請求后,回傳資料給策略客戶端,
2.5.3. 策略客戶端委托下單
策略客戶端通過tcp連接交易服務端,
策略客戶端使用交易員賬戶登錄交易服務端,
策略客戶端發送增加通訊的訊息佇列的請求,
交易服務端使用2個執行緒處理客戶端的請求報文:
執行緒A:處理非交易的請求,例如登錄,查詢等,
執行緒B:處理交易請求,例如委托下單,撤單,
交易服務端收到增加通訊的訊息佇列的請求,投遞到執行緒A,執行緒A增加和策略客戶端通訊的共享記憶體,
策略客戶端通過共享記憶體發送委托下單請求給交易服務端,
交易服務端使用2個執行緒處理客戶端的請求報文:
執行緒A:處理非交易的請求,例如登錄,查詢等,
執行緒B:處理交易請求,例如委托下單,撤單,
交易服務端收到委托請求后,投遞到執行緒B,
2.5.4. 管理員客戶端增加交易員資金
管理員客戶端通過tcp連接交易服務端,
管理員客戶端使用管理員賬戶登錄交易服務端,
管理員客戶端發送增減資金請求,為交易員賬戶增加資金或者減少資金,
交易服務端使用2個執行緒處理客戶端的請求報文:
執行緒A:處理非交易的請求,例如登錄,查詢等,
執行緒B:處理交易請求,例如委托下單,撤單,
交易服務端收到委托請求后,投遞到執行緒A,
2.6. 高頻設計要點
2.6.1. Linux共享記憶體
1) 行情服務端和策略客戶端之間的行情資料使用共享記憶體通訊,
2) 策略客戶端和交易服務端的委托撤單使用共享記憶體通訊,
3) 共享記憶體通訊的速度遠遠高于tcp通訊,
2.6.2. 專用執行緒
交易服務端使用2個執行緒處理客戶端的請求報文:
執行緒A:處理非交易的請求,例如登錄,查詢等,
執行緒B:處理交易請求,例如委托下單,撤單,
通過執行緒B專門處理交易請求,提高處理交易請求的速度,
2.6.3. 高速記憶體池
交易服務端使用高速記憶體池,減少new和delete申請釋放記憶體時的時間消耗,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/349691.html
標籤:區塊鏈
