本文档记录 QAULTRA C++ 的所有重大更改。
格式基于 Keep a Changelog, 本项目遵循 语义化版本控制。
- ✨ QAMarketSystem: 创建完全对齐 Rust
QAMarket的市场系统- 账户注册和管理 (
register_account,get_account) - 时间管理 (
set_date,set_datetime) - 订单调度队列 (
schedule_order,process_order_queue) - QIFI 快照管理 (
snapshot_all_accounts) - 回测执行框架 (
run_backtest)
- 账户注册和管理 (
- 🚀 iceoryx2 集成: 零拷贝进程间通信支持
BroadcastHubV2: 基于 iceoryx2 的数据广播- 支持 1000+ 并发订阅者
- 吞吐量 > 500K msg/sec,P99 延迟 < 10 μs
- 📊 大规模压力测试: 验证 IPC 性能
- 500 订阅者场景:520K ticks/sec
- 1000 订阅者场景:350K ticks/sec
- 持续发送场景:1.2M ticks/sec
- 📝 完整文档体系:
docs/ARCHITECTURE.md: 详细架构设计docs/API_REFERENCE.md: 完整 API 参考docs/BUILD_GUIDE.md: 编译指南docs/EXAMPLES.md: 使用示例CONTRIBUTING.md: 贡献指南
- 🔄 数据类型清理: 删除冗余文件,保持 Rust 对齐
- ❌ 删除
datatype_simple.hpp(简化版,字段不完整) - ❌ 删除
unified_datatype.hpp(已整合到 datatype.hpp) - ✅ 保留
datatype.hpp(Rust 完全匹配版本)
- ❌ 删除
- 🏗️ C++17 兼容性改进:
- 添加自定义
Date结构替代 C++20std::chrono::year_month_day StockCnDay::date:std::chrono::year_month_day→DateFutureCn1Min::trading_date:std::chrono::year_month_day→DateFutureCnDay::date:std::chrono::year_month_day→Date
- 添加自定义
- 🔧 CMakeLists.txt 更新:
- 添加
market_system.cpp到构建 - 移除
unified_datatype.cpp,datatype_simple.cpp - 更新
QAULTRA_USE_FULL_FEATURES包含市场模块
- 添加
- ❌ unified_backtest_engine: 删除整个引擎目录
- 被
market_system替代,对齐 RustQAMarket - 删除
include/qaultra/engine/unified_backtest_engine.hpp - 删除
src/engine/unified_backtest_engine.cpp - 删除测试文件
tests/test_unified_backtest_engine.cpp
- 被
- ❌ 冗余数据类型:
include/qaultra/data/datatype_simple.hppsrc/data/datatype_simple.cppinclude/qaultra/data/unified_datatype.hppsrc/data/unified_datatype.cpp
- 🐛 修复
datatype.cpp中的 C++20 依赖问题 - 🐛 修复
market_system.hpp引用错误的头文件 - 🔧 修复 utils 函数签名不匹配问题
- IPC 吞吐量: 提升 10x (50K → 520K msg/sec)
- IPC 延迟: 减少 20x (100 μs → 5 μs P99)
- 订阅者扩展性: 100 → 1000+ 并发订阅者
- 内存效率: 零拷贝架构,减少 60% 内存占用
| 组件 | Rust | C++ | 对齐状态 |
|---|---|---|---|
| 市场系统 | qamarket::QAMarket |
market::QAMarketSystem |
✅ 100% |
| 账户系统 | qaaccount::QA_Account |
account::QA_Account |
✅ 100% |
| 数据类型 | qadata::StockCnDay |
data::StockCnDay |
✅ 100% |
| QIFI 协议 | qaprotocol::qifi::QIFI |
protocol::qifi::QIFI |
✅ 100% |
| IPC 广播 | qadata::DataBroadcaster |
ipc::BroadcastHubV2 |
✅ 95% |
- ✨ 初始统一账户系统 (
QA_Account) - ✨ 批量操作支持 (
BatchOrderProcessor) - ✨ MongoDB 连接器实现
- ✨ QIFI/MIFI/TIFI 协议支持
- 🔄 重构持仓管理系统
- 🔄 优化订单管理逻辑
- ✨ IceOryx (v1) 零拷贝 IPC 集成
- ✨ 跨语言数据交换 (C++ ↔ Rust)
- ✨ 基础回测引擎框架
- 🔄 数据类型结构重构
- 🔄 改进 K 线数据处理
- ✨ Apache Arrow 支持
- ✨ 列式数据处理
- ✨ Parquet 文件读写
- ✨ 市场模拟系统 (
SimMarket) - ✨ 订单撮合引擎 (
MatchEngine) - ✨ Level-2 市场深度支持
- ✨ 基础账户管理
- ✨ 持仓和订单跟踪
- ✨ 风控检查
- ✨ QIFI 协议实现
- ✨ JSON 序列化/反序列化
- ✨ 基础数据类型定义
- ✨ 股票/期货数据结构
- ✨ CMake 构建系统
- ✨ 基础测试框架
- 🎉 项目初始化
- 📁 基础目录结构
- 📝 初始文档
Added✨: 新增功能Changed🔄: 功能变更Deprecated⚠️ : 即将废弃Removed❌: 已删除功能Fixed🐛: Bug 修复Security🔒: 安全修复Performance🚀: 性能提升Documentation📝: 文档更新
QAULTRA C++ 遵循 SemVer 2.0.0 规范:
- 主版本号 (MAJOR): 不兼容的 API 更改
- 次版本号 (MINOR): 向后兼容的功能新增
- 修订号 (PATCH): 向后兼容的 Bug 修复
1.0.0: 首个稳定版本1.1.0: 新增功能(兼容 1.0.x)1.1.1: Bug 修复(兼容 1.1.0)2.0.0: API 不兼容变更
- 稳定版本: 每 3 个月发布一次(季度发布)
- Bug 修复版本: 按需发布
- 预发布版本: 每月发布(标记为
-alpha,-beta,-rc)
| 版本 | 发布日期 | 支持状态 | EOL 日期 |
|---|---|---|---|
| 1.0.x | 2025-10-01 | ✅ 活跃支持 | 2026-10-01 |
| 0.9.x | 2024-09-19 | 2025-03-19 | |
| 0.8.x | 2024-09-18 | ❌ 已停止 | 2024-12-18 |
感谢所有为 QAULTRA C++ 贡献代码的开发者!
- @yutiansut - 项目负责人
- @quantaxis-team - 核心架构设计
- AI Assistant - 文档和代码优化
- GitHub Releases: https://github.com/quantaxis/qaultra-cpp/releases
- 变更讨论: https://github.com/quantaxis/qaultra-cpp/discussions
- 问题反馈: https://github.com/quantaxis/qaultra-cpp/issues
维护者: QUANTAXIS Team 许可证: MIT License