Architecture
QUANTAXIS 架构:核心组件与模块组成
QUANTAXIS 用「Rust 核心 + Python 生态」的分层架构,把回测、账户、任务调度、分布式计算与微服务拆成独立组件。下面按官方 README 组件清单展开,帮你理解每个组件负责什么。
QARSBacktest回测引擎
QIFI账户体系
QASchedule任务调度
QAEngine分布式计算
QAWebServer微服务
QADataBridge零拷贝传输
Components
核心组件清单
组件名称与职责来自官方 README,中文释义为本站整理。
| 组件 | 职责 | 关联页面 |
|---|---|---|
| QARSBacktest | Rust 回测引擎,支持自定义策略 | 回测页 |
| QIFI / QAMarket | 统一账户体系 | 回测页 |
| QARSAccount | 高性能 QIFI 账户系统,支持股票和期货交易 | 回测页 |
| QIFIManager | 多账户管理 | 回测页 |
| QASchedule | 后台任务调度,自动运维与远程任务调度 | 首次运行页 |
| QAEngine | 局域网分布式计算 | 本页 |
| QAFactor | 单因子研究入库、管理、测试、合并 | 数据页 |
| QAIndicator | 自定义指标编写与批量全市场应用 | 数据页 |
| QADataBridge | 基于 QADataSwap 的跨语言零拷贝数据传输 | 数据页 |
| QAWebServer | Tornado Web 服务器,中台微服务 RESTful API | 本页 |
说明:组件清单来自官方 README;本站不承诺各组件性能或稳定性。
Tech stack
技术栈分层
QUANTAXIS 是「Rust 核心 + Python 生态」的混合架构,理解分层有助于判断安装与运行成本。
| 分层 | 组成与依赖 |
|---|---|
| Python 层(应用) | Python 3.9-3.12(推荐 3.11+);依赖 pandas / numpy / scipy / matplotlib / Tornado / Flask / RabbitMQ(pika) |
| Rust 层(高性能核心) | QARS2 / QARSBacktest / QAEXCHANGE-RS;依赖 PyO3 / Polars / Arrow |
| 存储层 | MongoDB 4.0+ / ClickHouse 20.0+(可选)、Redis |
| 数据接口层 | tushare、pytdx 等金融数据接口 |
提示:这套分层是本站整理,用于理解依赖关系;官方并未以此表述为唯一架构图。
FAQ
架构常见问题
QUANTAXIS 是纯 Python 吗?
不是。核心回测与账户组件用 Rust 实现(QARSBacktest/QARS2),上层应用与生态用 Python,属于「Rust 核心 + Python 生态」的混合架构。
为什么需要 MongoDB?
QUANTAXIS 用 MongoDB(可选 ClickHouse)存储多市场数据与账户数据,是运行前的前置依赖。
QAEngine 和 QASchedule 有什么区别?
QASchedule 负责后台任务调度(自动运维、远程任务),QAEngine 负责局域网分布式计算。