7個開源交易撮合引擎

如果你希望按照自己的需求打造金融交易平臺,那麼應當選擇合適的交易撮合 引擎進行二次開發而不是基於完整的交易平臺實現進行修改。本文將介紹 10個採用不同語言開發的開源的撮合引擎,你可以根據自己的需要選擇。


1、Liquibook
開發語言:C++
源代碼:https://github.com/enewhuis/liquibook
Liquibook是OCI提供的開源交易撮合引擎,主要採用C++開發,因此性能極佳:

 

Liquibook的功能很完善,支持市價委託單、限價委託單、止損委託單等常見 類型的委託,同時內置多級市場深度聚合功能,並且提供事件通知功能,引擎 內發生的重要事件,例如接受訂單、成交、取消訂單等,應用程序都可以實時 捕捉。

Liquibook是一個僅包含頭文件的庫,因此你只需要在自己的項目中引入 這些頭文件就可以了。

2、exchange-core
開發語言:Java
源代碼:https://github.com/mzheravin/exchange-core
exchange-core是一個基於LMAX Disruptor和Eclipse Collections實現的 超快的交易所核心撮合引擎。可以在8年前的硬件上(intel志強x5690 CPU) 實現每秒5百萬委託賬本操作:

|rate|50.0%|90.0%|95.0%|99.0%|99.9%|99.99%|worst| |—-|—–|—–|—–|—–|—–|——|—–| |125K|0.6µs|0.9µs|1.0µs|1.4µs|4µs |24µs |41µs | |250K|0.6µs|0.9µs|1.0µs|1.4µs|9µs |27µs |41µs | |500K|0.6µs|0.9µs|1.0µs|1.6µs|14µs |29µs |42µs | | 1M|0.5µs|0.9µs|1.2µs|4µs |22µs |31µs |45µs | | 2M|0.5µs|1.2µs|3.9µs|10µs |30µs |39µs |60µs | | 3M|0.7µs|3.6µs|6.2µs|15µs |36µs |45µs |60µs | | 4M|1.0µs|6.0µs|9µs |25µs |45µs |55µs |70µs | | 5M|1.5µs|9.5µs|16µs |42µs |150µs|170µs |190µs| | 6M|5µs |30µs |45µs |300µs|500µs|520µs |540µs| | 7M|60µs |1.3ms|1.5ms|1.8ms|1.9ms|1.9ms |1.9ms|

 

exchange-core的主要特性包括:

HFT優化
內存工作狀態
無浮點數計算,不會丟失精度
支持CPU多核並行
採用對象池化降低垃圾回收壓力
3、CppTrader
開發語言:C++ 源代碼:https://github.com/chronoxor/CppTrader

CppTrader是採用C++開發的一套用於構建高性能交易平臺的組件,包括以下內容:

超快的交易撮合引擎
委託賬本處理器
NASDAQ ITCH 處理器
CppTrader的主要特性包括:

跨平臺支持Linux、OSX和Windows
包含詳細的使用示例代碼和測試用例
支持持續集成
4、GO-matching-engine
開發語言:GO 源代碼:https://github.com/fmstephe/matching_engine

這是一款採用GO語言開發的金融交易撮合引擎,非常適合希望深入探究撮合 引擎實現的go開發者。

5、viaBTC Exchange Server
開發語言:C 源代碼:https://github.com/viabtc/viabtc_exchange_server

viaBTC交易服務器是viabtc開源的代碼,它其實是一套基本完整的交易 所後臺系統,包括撮合引擎、行情服務、歷史數據服務以及API服務等 多個組件:

 

由於viabtc交易服務器是一個系統,因此部署的複雜性更高一些,你 需要MySQL、Redis、Kafka等基礎設施,相比於單純的撮合引擎而言 適應不同項目需求的靈活性要弱一些,但好處在於你基本上只需要 補充一個前臺系統就可以了。

6、LightMatchingEngine
開發語言:Python 源代碼:https://github.com/gavincyi/LightMatchingEngine

LightMatchingEngine是一個輕量級的交易撮合引擎,採用Python開發。 輕量的意思是其支持的特性有限,但適合希望深入瞭解交易撮合引擎 實現原理的Python開發者利用。

LightMatchingEngine支持Python2.x和Python3.x。

7、orderbook-rs
開發語言:Rust 源代碼:https://github.com/dgtony/orderbook-rs

Orderbook-rs是採用Rust開發的交易撮合引擎,適合用於研究交易撮合 引擎的實現原理。

orderbook-rs支持的特性包括:

市價委託單
限價委託單
取消限價委託單
部分成交
# 撮合引擎 # 交易平臺
————————————————
版權聲明:本文爲CSDN博主「starzhou」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/starzhou/article/details/103042369

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章