yutiansut / QUANTAXIS
QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权 数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing yutiansut/QUANTAXIS in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
PreviewQUANTAXIS 2.1.0-alpha2
<div align="center">⭐ 如果这个项目对您有帮助,请点击Star支持我们!
🔄 Fork本项目开始您的量化交易之旅!
Made with ❤️ by @yutiansut and contributors
© 2016-2025 QUANTAXIS. Released under the MIT License.
</div>🚀 全新升级: Python 3.9+、QARS2 Rust核心集成、100x性能提升
最新版本: v2.1.0-alpha2 | Python: 3.9-3.12 | 更新日期: 2025-10-25
🌟 新特性 (v2.1.0)
⚡ QARS2 Rust核心集成 - 性能飞跃
- 100x账户操作加速: 创建账户从50ms降至0.5ms
- 10x回测速度提升: 10年日线回测从30秒降至3秒
- 90%内存优化: 大规模持仓内存占用降低90%
- 无缝集成: 完全兼容QIFI协议,自动回退Python实现
🔧 Python 3.9-3.12 现代化
- 依赖升级: 60+核心依赖现代化 (pymongo 4.10+, pandas 2.0+, pyarrow 15.0+)
- 性能优化: 利用Python 3.11+的性能提升
- 类型安全: 更好的类型提示支持
📦 QARSBridge - Rust桥接层
from QUANTAXIS.QARSBridge import QARSAccount, has_qars_support
# 自动检测并使用Rust高性能版本
if has_qars_support():
print("✨ 使用QARS2 Rust版本 (100x性能)")
account = QARSAccount("my_account", init_cash=1000000)
# API完全兼容,无需修改代码
account.buy("000001", 10.5, "2025-01-15", 1000)
🔗 相关项目生态
核心项目
- 🦀 QARS2 - QUANTAXIS Rust核心 (高性能账户、回测引擎)
- ⚡ QADataSwap - 跨语言零拷贝通信 (Python/Rust/C++)
- 🏛️ QAEXCHANGE-RS - Rust交易所 + HTAP混合数据库
扩展实现
- 📊 QAUltra-cpp - QUANTAXIS C++实现
- 🔥 QAUltra-rs - QUANTAXIS Rust实现 (部分开源)
[点击右上角Star和Watch来跟踪项目进展! 点击Fork来创建属于你的QUANTAXIS!]

📞 联系方式
- 项目主页: https://github.com/yutiansut/QUANTAXIS
- 作者: yutiansut
- Email: yutiansut@qq.com
- 微信公众号: QAPRO
- 微信: quantitativeanalysis
更多文档在QABook Release
Quantitative Financial FrameWork
📚 核心模块
1. 🦀 QARSBridge - Rust桥接层 (v2.1新增)
QARS2 Rust核心的Python包装器,提供100x性能提升
-
QARSAccount: 高性能QIFI账户系统
- 股票交易:
buy(),sell() - 期货交易:
buy_open(),sell_open(),buy_close(),sell_close() - 账户查询:
get_qifi(),get_positions(),get_account_info() - 完全兼容QIFI协议,跨语言一致性 (Python/Rust/C++)
- 股票交易:
-
QARSBacktest: Rust回测引擎
- 10x回测速度提升
- 支持自定义策略 (
QARSStrategy基类) - 内存占用降低90%
-
自动回退机制: QARS2未安装时自动使用纯Python实现
# 完整示例
from QUANTAXIS.QARSBridge import QARSAccount
account = QARSAccount("test", init_cash=1000000)
account.buy("000001", 10.5, "2025-01-15", 1000) # 股票买入
account.buy_open("IF2512", 4500.0, "2025-01-15", 2) # 期货开仓
positions = account.get_positions() # 查询持仓
📖 详细文档: QARSBridge README
2. 🔄 QADataBridge - 零拷贝数据交换 (v2.1新增)
基于QADataSwap的跨语言零拷贝数据传输,5-10x性能提升
-
零拷贝转换:
- Pandas ↔ Polars (2.5x加速)
- Pandas ↔ Arrow (零拷贝)
- Polars ↔ Arrow (零拷贝)
- 批量转换支持
-
共享内存通信:
- 跨进程数据传输 (7x加速)
- 实时行情分发
- 策略间数据共享
-
自动回退机制: QADataSwap未安装时自动使用标准转换
# 零拷贝转换示例
from QUANTAXIS.QADataBridge import convert_pandas_to_polars
import pandas as pd
df_pandas = pd.DataFrame({'price': [10.5, 20.3], 'volume': [1000, 2000]})
df_polars = convert_pandas_to_polars(df_pandas) # 零拷贝,2.5x加速
# 共享内存示例
from QUANTAXIS.QADataBridge import SharedMemoryWriter, SharedMemoryReader
# 进程A:写入数据
writer = SharedMemoryWriter("market_data", size_mb=50)
writer.write(df_polars)
# 进程B:读取数据
reader = SharedMemoryReader("market_data")
df = reader.read(timeout_ms=5000) # 零拷贝,7x加速
📖 详细文档: QADataBridge README
3. 💾 QASU / QAFetch - 多市场数据
- 支持MongoDB / ClickHouse存储
- 自动运维和数据更新
- Tick / L2 Order / Transaction数据格式
- 因子化数据结构
4. 🕐 QAUtil - 工具函数
- 交易时间、交易日历
- 时间向前向后推算
- 市场识别、DataFrame转换
5. 💼 QIFI / QAMarket - 统一账户体系
多市场、多语言统一账户协议
- qifiaccount: 标准QIFI账户,与Rust/C++版本保持100%一致
- qifimanager: 多账户管理系统
- qaposition: 单标的精准仓位管理 (套利/CTA/股票)
- marketpreset: 市场预制基类 (tick大小/保证金/手续费)
QIFI协议特点:
- 跨语言兼容 (Python/Rust/C++)
- 完整账户状态 (账户/持仓/订单/成交)
- 增量更新支持 (Diff机制)
- MongoDB友好
6. 📊 QAFactor - 因子研究
- 单因子研究入库
- 因子管理、测试
- 因子合并
- 优化器 [开发中]
7. 📈 QAData - 内存数据库
多标的多市场数据结构,支持:
- 实时计算
- 回测引擎
- 高性能数据访问
8. 📉 QAIndicator - 自定义指标
- 支持自定义指标编写
- 批量全市场apply
- 因子表达式构建
9. ⚙️ QAEngine - 异步计算
- 自定义线程/进程基类
- 异步计算支持
- 局域网分布式计算agent
10. 📮 QAPubSub - 消息队列
基于RabbitMQ的消息系统:
- 1-1 / 1-n / n-n 消息分发
- 计算任务分发收集
- 实时订单流
11. 🎯 QAStrategy - 回测套件
- CTA策略回测
- 套利策略回测
- 完整QIFI模式支持
12. 🌐 QAWebServer - 微服务
- Tornado Web服务器
- 中台微服务构建
- RESTful API
13. 📅 QASchedule - 任务调度
- 后台任务调度
- 自动运维
- 远程任务调度
🆕 版本更新说明
v2.1.0 (2025-10-25) - 重大性能升级
🚀 核心升级
1. QARS2 Rust核心集成
- ✅ QARSBridge桥接层 - 100x性能提升
- ✅ 完全兼容QIFI协议
- ✅ 自动fallback到Python实现
- ✅ 账户操作: 50ms → 0.5ms
- ✅ 回测速度: 30s → 3s (10年日线)
- ✅ 内存优化: -90%
2. Python现代化
- ✅ Python版本: 3.5-3.10 → 3.9-3.12
- ✅ 依赖升级: 60+核心依赖现代化
- pymongo: 3.11.2 → 4.10.0+
- pandas: 1.1.5 → 2.0.0+
- pyarrow: 6.0.1 → 15.0.0+
- tornado: 6.3.2 → 6.4.0+
- ✅ 移除过时依赖: delegator.py, six, pyconvert
3. 新增模块
- ✅
QARSBridge/: QARS2桥接层qars_account.py: 高性能账户包装器qars_backtest.py: Rust回测引擎QIFI_PROTOCOL.md: 完整协议规范
- ✅
examples/qarsbridge_example.py: 完整使用示例
4. 安装方式优化
# 基础安装
pip install -e .
# 包含Rust组件 (推荐)
pip install -e .[rust]
# 包含性能优化包
pip install -e .[performance]
# 完整安装
pip install -e .[full]
📝 升级文档
- ✅ UPGRADE_PLAN.md - 完整升级计划
- ✅ PHASE1_COMPLETE.md - Phase 1完成报告
- ✅ PHASE2_COMPLETE.md - Phase 2完成报告
- ✅ QIFI_PROTOCOL.md - QIFI协议规范
v2.0.0 - 架构重构
本版本为不兼容升级,涉及重大架构改变:
数据层改进
- ✅ ClickHouse客户端集成
- ✅ Tabular数据支持
- ✅ 因子化数据结构
- ✅ Tick / L2 Order / Transaction格式
微服务架构
- ✅ QAWebServer - Tornado Web服务
- ✅ QASchedule - 动态任务调度
- ✅ DAG Pipeline模型
- ✅ QAPubSub - RabbitMQ消息队列
账户系统升级
- ⚠️ 移除QAARP (不再维护老版本)
- ✅ 完整QIFI模块
- 保证金模型
- 股票/期货支持
- 期权 [开发中]
实盘/模拟盘
- ✅ QIFI结构对接
- ✅ CTP接口 (期货/期权)
- ✅ QMT对接 (股票)
- ✅ 母子账户OMS
- ✅ OrderGateway风控
多语言集成
- ✅ QUANTAXIS Rust版本通信
- ✅ Apache Arrow跨语言数据交换
- pyarrow (Python)
- arrow-rs (Rust)
- libarrow (C++)
- ✅ Rust/C++账户支持
- ✅ Rust Job Worker
🚀 快速开始
系统要求
- Python: 3.9 - 3.12 (推荐3.11+)
- 操作系统: Linux / macOS / Windows
- 内存: 最低4GB,推荐8GB+
- 数据库: MongoDB 4.0+ / ClickHouse 20.0+ (可选)
安装
1. 基础安装
# 克隆仓库
git clone https://github.com/QUANTAXIS/QUANTAXIS.git
cd QUANTAXIS
# 安装依赖
pip install -e .
2. 包含Rust组件 (推荐 - 100x性能)
# 安装QUANTAXIS + QARS2
pip install -e .[rust]
# 或手动安装QARS2
cd /home/quantaxis/qars2
pip install -e .
3. 完整安装
# 安装所有组件
pip install -e .[full]
# 包含:
# - QARS2 Rust核心
# - QADataSwap跨语言通信
# - Polars高性能DataFrame
# - 所有可选依赖
4. 验证安装
import QUANTAXIS as QA
from QUANTAXIS.QARSBridge import has_qars_support
print(f"QUANTAXIS版本: {QA.__version__}")
print(f"QARS2支持: {has_qars_support()}")
# 预期输出:
# QUANTAXIS版本: 2.1.0.alpha2
# QARS2支持: True
快速示例
from QUANTAXIS.QARSBridge import QARSAccount
# 创建高性能账户 (自动使用Rust核心)
account = QARSAccount(
account_cookie="my_strategy",
init_cash=1000000.0
)
# 股票交易
account.buy("000001", 10.5, "2025-01-15", 1000)
account.sell("000001", 10.8, "2025-01-16", 500)
# 期货交易
account.buy_open("IF2512", 4500.0, "2025-01-15", 2)
account.sell_close("IF2512", 4520.0, "2025-01-16", 1)
# 查询持仓
positions = account.get_positions()
print(positions)
# 获取QIFI格式账户数据
qifi = account.get_qifi()
print(f"账户权益: {qifi['accounts']['balance']}")
print(f"可用资金: {qifi['accounts']['available']}")
数据库配置
# MongoDB配置
import QUANTAXIS as QA
# 设置MongoDB连接
QA.DATABASE = QA.QAUtil.QALogs.QA_Setting.MONGO_URI
# 默认: mongodb://localhost:27017/quantaxis
# ClickHouse配置
QA.CLICKHOUSE_HOST = 'localhost'
QA.CLICKHOUSE_PORT = 9000
📖 文档
📚 文档中心
完整文档请访问 文档中心 (Documentation Hub)
快速导航
🚀 入门指南
📘 API参考
- API概览 - 完整API文档
- QAFetch - 数据获取
- QAData - 数据结构
- QAMarket/QIFI - 账户体系
🔧 高级功能
🐳 部署指南
- Docker部署 - 容器化部署
- Kubernetes部署 - K8s集群部署
- 部署概览 - 完整部署指南
📦 迁移指南
- 2.0 → 2.1 迁移 - 升级步骤和注意事项
- 兼容性状态 - 100%向后兼容
👨💻 开发者
- 贡献指南 - 如何参与开发
- 最佳实践 - 生产环境建议
- 开发指南 (CLAUDE.md) - AI辅助开发
📘 其他资源
- 完整手册 (QABook PDF)
- 示例代码 - 完整示例集合
🤝 社区与支持
GitHub
QUANTAXIS 是一个开放的项目, 在开源的3年中有大量的小伙伴加入了我, 并提交了相关的代码, 感谢以下的同学们
<a href="https://github.com/QUANTAXIS/QUANTAXIS/graphs/contributors"><img src="https://opencollective.com/QUANTAXIS/contributors.svg?width=890&button=false" /></a>
问题反馈:
- 💬 GitHub Issues - 提交Bug和功能请求
- 🌟 GitHub Discussions - 技术讨论
社群
QQ群
- 💬 QUANTAXIS交流群: 563280067 群链接
- 👨💻 QUANTAXIS开发群: 773602202 (贡献代码请加此群,需备注GitHub ID)
- 🔥 期货实盘部署群: 945822690 (仅限本地多账户部署用户)
Discord
论坛
- 📝 QUANTAXIS CLUB论坛
- 论坛提问享有最高回复优先级
公众号
- 📱 关注公众号获取最新动态和免费下单推送接口
- 回复
trade获取下单接口
- 回复
📊 性能对比
QARS2 Rust vs Python
| 操作 | Python版本 | QARS2 Rust | 加速比 |
|---|---|---|---|
| 创建1000个账户 | ~50秒 | ~0.5秒 | 100x ⚡ |
| 发送10000个订单 | ~50秒 | ~0.5秒 | 100x ⚡ |
| 账户结算 | ~200ms | ~2ms | 100x ⚡ |
| 10年日线回测 | ~30秒 | ~3秒 | 10x 🚀 |
| 内存占用(单账户) | ~2MB | ~200KB | -90% 💾 |
| 内存占用(1000持仓) | ~50MB | ~5MB | -90% 💾 |
Python版本性能
| Python版本 | 性能提升 | 推荐度 |
|---|---|---|
| Python 3.9 | 基准 | ⭐⭐⭐ |
| Python 3.10 | +10% | ⭐⭐⭐⭐ |
| Python 3.11 | +25% | ⭐⭐⭐⭐⭐ 最佳 |
| Python 3.12 | +20% | ⭐⭐⭐⭐⭐ 最新 |
💰 项目支持
捐赠
写代码不易...请作者喝杯咖啡呗? ☕

注: 支付时请备注您的名字/昵称,我们会维护一个赞助列表感谢您的支持!
企业赞助
如需企业级支持、定制开发或技术咨询,请联系:
- 📧 Email: yutiansut@qq.com
- 💼 企业服务: 提供定制化量化交易解决方案
📜 许可证
本项目采用 MIT License 开源许可证。
Copyright (c) 2016-2025 yutiansut/QUANTAXIS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
完整许可证请查看 LICENSE 文件。
👏 致谢
核心贡献者
特别感谢所有为QUANTAXIS做出贡献的开发者!
技术栈
QUANTAXIS得以实现离不开以下优秀的开源项目:
- Python生态: pandas, numpy, scipy, matplotlib
- 数据库: MongoDB, ClickHouse, Redis
- Web框架: Tornado, Flask
- 消息队列: RabbitMQ (pika)
- Rust生态: PyO3, Polars, Arrow
- 金融数据: tushare, pytdx
特别鸣谢
- QARS2项目组: 提供高性能Rust核心
- 社区贡献者: 所有提交PR和Issue的朋友们
- 早期用户: 在项目初期就给予支持和反馈的用户
🗺️ 路线图
v2.1.x (当前)
- ✅ QARS2 Rust核心集成
- ✅ Python 3.9-3.12支持
- ✅ QARSBridge桥接层
- 🔄 QADataSwap跨语言通信 (进行中)
- 📋 完善文档和示例
v2.2.0 (计划中)
- 📊 完整的QADataSwap集成
- 🔥 Polars全面替代pandas (可选)
- ⚡ 更多Rust加速模块
- 🧪 增强的回测引擎
v3.0.0 (未来)
- 🤖 AI驱动的策略优化
- 🌐 分布式回测系统
- 📱 移动端支持
- ☁️ 云原生部署