alfredd25/cryptomatchingengine
GitHub: alfredd25/cryptomatchingengine
一个基于 FastAPI 的高性能加密货币撮合引擎,支持多种订单类型和实时市场数据推送。
Stars: 1 | Forks: 0
# 加密货币撮合引擎 (Python)
高性能、基于 REG NMS 启发的加密货币交易对撮合引擎。
实现了严格的**价格-时间优先**、**内部订单保护**以及核心订单类型(**Market, Limit, IOC, FOK**)。
实时的 **WebSocket** 数据流提供 L2 订单簿快照和**成交报告**。
## 功能特性
- **撮合逻辑**
- 价格-时间优先(价格级别内 FIFO)
- 内部订单保护(无穿价成交)
- 订单类型:Market, Limit, IOC, FOK
- **市场数据**
- BBO (Best Bid/Offer)
- L2 订单簿快照(前 N 档)
- 交易执行报告(maker/taker、主动方、数量、价格)
- **API**
- REST(提交/取消订单、BBO、订单簿)
- WebSockets(订单簿 + 交易)
- **可靠性**
- 输入校验与清晰的错误模型
- 结构化日志(API + 引擎)
- 单元与 API 测试(包括异常路径)
- **基准测试**
- 进程内和 HTTP 负载测试(`scripts/load_test.py`)
## 快速开始
```
# 克隆并进入 repo
cd C:\Users\alfre\OneDrive\Desktop\crypto-matching-engine
# 创建并激活 venv
python -m venv .venv
.\.venv\Scripts\Activate.ps1
# 安装 deps
pip install -r requirements.txt -r requirements-dev.txt
# 运行测试(应全部通过)
pytest -q
# 启动 API server (FastAPI/Uvicorn)
uvicorn src.api.main:app --reload
# 访问文档:http://127.0.0.1:8000/docs
```
标签:AV绕过, FastAPI, FOK订单, IOC订单, L2订单簿, OMS, Python, REST API, Uvicorn, WebSocket, 交易执行, 交易系统, 价格时间优先, 依赖分析, 加密货币, 实时行情, 市价单, 市场数据, 异步编程, 撮合引擎, 撮合逻辑, 数字资产, 无后门, 虚拟货币, 订单撮合, 订单管理系统, 逆向工具, 量化交易, 金融科技, 限价单, 高性能计算, 高频交易