ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

7个开源交易撮合引擎

2022-04-28 23:32:22  阅读:366  来源: 互联网

标签:撮合 github 开源 引擎 https 源代码 com


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博主「元宇宙iwemeta」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/starzhou/article/details/103042369

标签:撮合,github,开源,引擎,https,源代码,com
来源: https://www.cnblogs.com/ip99/p/16205018.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有