撮合技術主要是從數據庫撮合技術向內存撮合技術發展.
撮合交易在金融交易系統中扮演着非常重要的角色,了解撮合交易的本質以及業務
系統總體設計
金融交易撮合系統包含以下核心模塊
用戶: 終端用戶委托報價與數量 生成訂單發送至交易平台
網關: 負責收集用戶訂單,並將其派發給撮合引擎
撮合引擎:交易系統的核心部分 用於接收訂單並根據業務邏輯實現訂單 撮合同時生成交易記錄 隨后給予用戶交易結果反饋
數據庫:用來存放交易過程中的訂單和交易記錄,實現數據持久化
市價:按市場價成交(可立即達成交易)
限價:自己限定的價格
撮合交易算法: 撮合引擎的核心業務模塊 就是撮合交易算法
對顧客所下訂單進行公平合理的排列和撮合功能,保證撮合算法的公平 高效 以及擴展性
撮合交易的重要組成部分 賣賣訂單: 通過對賣賣訂單進行撮合最后形成交易記錄
所以對無法立刻完成撮合的訂單,需要有買入隊列和賣出隊列保存訂單
隊列按照"價格優先 同價格下時間優先"原則
流程:撮合引擎收到新的買入訂單,則會到賣出隊列的頭部查找是否存在符合價格規則的賣出訂單,若存在賣出價格低於或等於買入價格的訂單。則從隊列中取出此訂單並撮合成一筆交易。
若賣出隊列為空或隊列頭部不滿足價格關系 則將買入訂單插入買入隊列。
撮合系統設計: https://yq.aliyun.com/articles/60653