{"repo":"yutiansut/QUANTAXIS","free":true,"listed":false,"github":"https://github.com/yutiansut/QUANTAXIS","clone":"git clone https://github.com/yutiansut/QUANTAXIS.git","description":"QUANTAXIS 支持任务调度 分布式部署的 股票/期货/期权  数据/回测/模拟/交易/可视化/多账户 纯本地量化解决方案","language":"Python","stars":11009,"topics":["quant"],"license":"MIT","category":"quant_trading_framework","readme_excerpt":"# QUANTAXIS 2.1.0-alpha2\n\n<div align=\"center\">\n\n**⭐ 如果这个项目对您有帮助，请点击Star支持我们！**\n\n**🔄 Fork本项目开始您的量化交易之旅！**\n\nMade with ❤️ by [@yutiansut](https://github.com/yutiansut) and [contributors](https://github.com/QUANTAXIS/QUANTAXIS/graphs/contributors)\n\n© 2016-2025 QUANTAXIS. Released under the MIT License.\n\n</div>\n\n\n> 🚀 **全新升级**: Python 3.9+、QARS2 Rust核心集成、100x性能提升\n>\n> **最新版本**: v2.1.0-alpha2 | **Python**: 3.9-3.12 | **更新日期**: 2025-10-25\n\n---\n\n## 🌟 新特性 (v2.1.0)\n\n### ⚡ QARS2 Rust核心集成 - 性能飞跃\n\n- **100x账户操作加速**: 创建账户从50ms降至0.5ms\n- **10x回测速度提升**: 10年日线回测从30秒降至3秒\n- **90%内存优化**: 大规模持仓内存占用降低90%\n- **无缝集成**: 完全兼容QIFI协议，自动回退Python实现\n\n### 🔧 Python 3.9-3.12 现代化\n\n- **依赖升级**: 60+核心依赖现代化 (pymongo 4.10+, pandas 2.0+, pyarrow 15.0+)\n- **性能优化**: 利用Python 3.11+的性能提升\n- **类型安全**: 更好的类型提示支持\n\n### 📦 QARSBridge - Rust桥接层\n\n```python\nfrom QUANTAXIS.QARSBridge import QARSAccount, has_qars_support\n\n# 自动检测并使用Rust高性能版本\nif has_qars_support():\n    print(\"✨ 使用QARS2 Rust版本 (100x性能)\")\naccount = QARSAccount(\"my_account\", init_cash=1000000)\n\n# API完全兼容，无需修改代码\naccount.buy(\"000001\", 10.5, \"2025-01-15\", 1000)\n```\n\n---\n\n## 🔗 相关项目生态\n\n### 核心项目\n\n- 🦀 [**QARS2**](https://github.com/yutiansut/qars2) - QUANTAXIS Rust核心 (高性能账户、回测引擎)\n- ⚡ [**QADataSwap**](https://github.com/QUANTAXIS/qadataswap) - 跨语言零拷贝通信 (Python/Rust/C++)\n- 🏛️ [**QAEXCHANGE-RS**](https://github.com/yutiansut/qaexchange-rs) - Rust交易所 + HTAP混合数据库\n\n### 扩展实现\n\n- 📊 [**QAUltra-cpp**](https://github.com/QUANTAXIS/qaultra-cpp) - QUANTAXIS C++实现\n- 🔥 [**QAUltra-rs**](https://github.com/QUANTAXIS/qautlra-rs) - QUANTAXIS Rust实现 (部分开源)\n\n\n[![Github workers](https://img.shields.io/github/watchers/quantaxis/quantaxis.svg?style=social&label=Watchers&)](https://github.com/quantaxis/quantaxis/watchers)\n[![GitHub stars](https://img.shields.io/github/stars/quantaxis/quantaxis.svg?style=social&label=Star&)](https://github.com/quantaxis/quantaxis/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/quantaxis/quantaxis.svg?style=social&label=Fork&)](https://github.com/quantaxis/quantaxis/fork)\n\n[点击右上角Star和Watch来跟踪项目进展! 点击Fork来创建属于你的QUANTAXIS!]\n\n![QUANTAXIS_LOGO_LAST_small.jpg](./qalogo.png)\n\n---\n\n## 📞 联系方式\n\n- **项目主页**: https://github.com/yutiansut/QUANTAXIS\n- **作者**: yutiansut\n- **Email**: yutiansut@qq.com\n- **微信公众号**: QAPRO\n- **微信**: quantitativeanalysis\n\n---\n\n\n\n\n更多文档在[QABook Release](https://github.com/QUANTAXIS/QUANTAXIS/releases/download/latest/quantaxis.pdf)\n\nQuantitative Financial FrameWork\n\n## 📚 核心模块\n\n### 1. 🦀 QARSBridge - Rust桥接层 (v2.1新增)\n\n**QARS2 Rust核心的Python包装器，提供100x性能提升**\n\n- **QARSAccount**: 高性能QIFI账户系统\n  - 股票交易: `buy()`, `sell()`\n  - 期货交易: `buy_open()`, `sell_open()`, `buy_close()`, `sell_close()`\n  - 账户查询: `get_qifi()`, `get_positions()`, `get_account_info()`\n  - 完全兼容QIFI协议，跨语言一致性 (Python/Rust/C++)\n\n- **QARSBacktest**: Rust回测引擎\n  - 10x回测速度提升\n  - 支持自定义策略 (`QARSStrategy`基类)\n  - 内存占用降低90%\n\n- **自动回退机制**: QARS2未安装时自动使用纯Python实现\n\n```python\n# 完整示例\nfrom QUANTAXIS.QARSBridge import QARSAccount\n\naccount = QARSAccount(\"test\", init_cash=1000000)\naccount.buy(\"000001\", 10.5, \"2025-01-15\", 1000)      # 股票买入\naccount.buy_open(\"IF2512\", 4500.0, \"2025-01-15\", 2)  # 期货开仓\npositions = account.get_positions()                   # 查询持仓\n```\n\n📖 **详细文档**: [QARSBridge README](./QUANTAXIS/QARSBridge/README.md)\n\n---\n\n### 2. 🔄 QADataBridge - 零拷贝数据交换 (v2.1新增)\n\n**基于QADataSwap的跨语言零拷贝数据传输，5-10x性能提升**\n\n- **零拷贝转换**:\n  - Pandas ↔ Polars (2.5x加速)\n  - Pandas ↔ Arrow (零拷贝)\n  - Polars ↔ Arrow (零拷贝)\n  - 批量转换支持\n\n- **共享内存通信**:\n  - 跨进程数据传输 (7x加速)\n  - 实时行情分发\n  - 策略间数据共享\n\n- **自动回退机制**: QADataSwap未安装时自动使用标准转换\n\n```python\n# 零拷贝转换示例\nfrom QUANTAXIS.QADataBridge import convert_pandas_to_polars\nimport pandas as pd\n\ndf_pandas = pd.DataFrame({'price': [10.5, 20.3], 'volume': [1000, 2000]})\ndf_polars = convert_pandas_to_polars(df_pandas)  # 零拷贝，2.5x加速\n\n# 共享内存示例\nfrom QUANTAXIS.QADataBridge import SharedMemoryWriter, SharedMemoryReader\n\n# 进程A：写入数据\nwriter = SharedMemoryWriter(\"market_data\", size_mb=50)\nwriter.write(df_polars)\n\n# 进程B：读取数据\nreader = SharedMemoryReader(\"market_data\")\ndf = reader.read(timeout_ms=5000)  # 零拷贝，7x加速\n```\n\n📖 **详细文档**: [QADataBridge README](./QUANTAXIS/QADataBridge/README.md)\n\n---\n\n### 3. 💾 QASU / QAFetch - 多市场数据\n\n- 支持MongoDB / ClickHouse存储\n- 自动运维和数据更新\n- Tick / L2 Order / Transaction数据格式\n- 因子化数据结构\n\n### 4. 🕐 QAUtil - 工具函数\n\n- 交易时间、交易日历\n- 时间向前向后推算\n- 市场识别、DataFrame转换\n\n### 5. 💼 QIFI / QAMarket - 统一账户体系\n\n**多市场、多语言统一账户协议**\n\n- **qifiaccount**: 标准QIFI账户，与Rust/C++版本保持100%一致\n- **qifimanager**: 多账户管理系统\n- **qaposition**: 单标的精准仓位管理 (套利/CTA/股票)\n- **marketpreset**: 市场预制基类 (tick大小/保证金/手续费)\n\n**QIFI协议特点**:\n- 跨语言兼容 (Python/Rust/C++)\n- 完整账户状态 (账户/持仓/订单/成交)\n- 增量更新支持 (Diff机制)\n- MongoDB友好\n\n### 6. 📊 QAFactor - 因子研究\n\n- 单因子研究入库\n- 因子管理、测试\n- 因子合并\n- 优化器 [开发中]\n\n### 7. 📈 QAData - 内存数据库\n\n多标的多市场数据结构，支持：\n- 实时计算\n- 回测引擎\n- 高性能数据访问\n\n### 8. 📉 QAIndicator - 自定义指标\n\n- 支持自定义指标编写\n- 批量全市场apply\n- 因子表达式构建\n\n### 9. ⚙️ QAEngine - 异步计算\n\n- 自定义线程/进程基类\n- 异步计算支持\n- 局域网分布式计算agent\n\n### 10. 📮 QAPubSub - 消息队列\n\n基于RabbitMQ的消息系统：\n- 1-1 / 1-n / n-n 消息分发\n- 计算任务分发收集\n- 实时订单流\n\n### 11. 🎯 QAStrategy - 回测套件\n\n- CTA策略回测\n- 套利策略回测\n- 完整QIFI模式支持\n\n### 12. 🌐 QAWebServer - 微服务\n\n- Tornado Web服务器\n- 中台微服务构建\n- RESTful API\n\n### 13. 📅 QASchedule - 任务调度\n\n- 后台任务调度\n- 自动运维\n- 远程任务调度\n\n\n\n---\n\n## 🆕 版本更新说明\n\n### v2.1.0 (2025-10-25) - 重大性能升级\n\n#### 🚀 核心升级\n\n**1. QARS2 Rust核心集成**\n- ✅ QARSBridge桥接层 - 100x性能提升\n- ✅ 完全兼容QIFI协议\n- ✅ 自动fallback到Python实现\n- ✅ 账户操作: 50ms → 0.5ms\n- ✅ 回测速度: 30s → 3s (10年日线)\n- ✅ 内存优化: -90%\n\n**2. Python现代化**\n- ✅ Python版本: 3.5-3.10 → **3.9-3.12**\n- ✅ 依赖升级: 60+核心依赖现代化\n  - pymongo: 3.11.2 → 4.10.0+\n  - pandas: 1.1.5 → 2.0.0+\n  - pyarrow: 6.0.1 → 15.0.0+\n  - tornado: 6.3.2 → 6.4.0+\n- ✅ 移除过时依赖: delegator.py, six, pyconvert\n\n**3. 新增模块**\n- ✅ `QARSBridge/`: QARS2桥接层\n  - `qars_account.py`: 高性能账户包装器\n  - `qars_backtest.py`: Rust回测引擎\n  - `QIFI_PROTOCOL.md`: 完整协议规范\n- ✅ `examples/qarsbridge_example.py`: 完整使用示例\n\n**4. 安装方式优化**\n```bash\n# 基础安装\npip install -e .\n\n# 包含Rust组件 (推荐)\npip install -e .[rust]\n\n# 包含性能优化包\npip install -e .[performance]\n\n# 完整安装\npip install -e .[full]\n```\n\n#### 📝 升级文档\n- ✅ [UPGRADE_PLAN.md](./UPGRADE_PLAN.md) - 完整升级计划\n- ✅ [PHASE1_COMPLETE.md](./PHASE1_COMPLETE.md) - Phase 1完成报告\n- ✅ [PHASE2_COMPLETE.md](./PHASE2_COMPLETE.md) - Phase 2完成报告\n- ✅ [QIFI_PROTOCOL.md](./QUANTAXIS/QARSBridge/QIFI_PROTOCOL.md) - QIFI协议规范\n\n---\n\n### v2.0.0 - 架构重构\n\n本版本为不兼容升级，涉及重大架构改变：\n\n#### 数据层改进\n\n- ✅ ClickHouse客户端集成\n- ✅ Tabular数据支持\n- ✅ 因子化数据结构\n- ✅ Tick / L2 Order / Transaction格式\n\n#### 微服务架构\n\n- ✅ QAWebServer - Tornado Web服务\n- ✅ QASchedule - 动态任务调度\n- ✅ DAG Pipeline模型\n- ✅ QAPubSub - RabbitMQ消息队列\n\n#### 账户系统升级\n\n- ⚠️ 移除QAARP (不再维护老版本)\n- ✅ 完整QIFI模块\n  - 保证金模型\n  - 股票/期货支持\n  - 期权 [开发中]\n\n#### 实盘/模拟盘\n\n- ✅ QIFI结构对接\n- ✅ CTP接口 (期货/期权)\n- ✅ QMT对接 (股票)\n- ✅ 母子账户OMS\n- ✅ OrderGateway风控\n\n#### 多语言集成\n\n- ✅ QUANTAXIS Rust版本通信\n- ✅ Apache Arrow跨语言数据交换\n  - pyarrow (Python)\n  - arrow-rs (Rust)\n  - libarrow (C++)\n- ✅ Rust/C++账户支持\n- ✅ Rust Job Worker\n\n---\n\n## 🚀 快速开始\n\n### 系统要求\n\n- **Python**: 3.9 - 3.12 (推荐3.11+)\n- **操作系统**: Linux / macOS / Windows\n- **内存**: 最低4GB，推荐8GB+\n- **数据库**: MongoDB 4.0+ / ClickHouse 20.0+ (可选)\n\n### 安装\n\n#### 1. 基础安装\n\n```bash\n# 克隆仓库\ngit clone https://github.com/QUANTAXIS/QUANTAXIS.git\ncd QUANTAXIS\n\n# 安装依赖\npip install -e .\n```\n\n#### 2. 包含Rust组件 (推荐 - 100x性能)\n\n```bash\n# 安装QUANTAXIS + QARS2\npip install -e .[rust]\n\n# 或手动安装QARS2\ncd /home/quantaxis/qars2\npip install -e .\n```\n\n#### 3. 完整安装\n\n```bash\n# 安装所有组件\npip install -e .[full]\n\n# 包含:\n# - QARS2 Rust核心\n# - QADataSwap跨语言通信\n# - Polars高性能DataFrame\n# - 所有可选依赖\n```\n\n#### 4. 验证安装\n\n```python\nimport QUANTAXIS as QA\nfrom QUANTAXIS.QARSBridge import has_qars_support\n\nprint(f\"QUANTAXIS版本: {QA.__version__}\")\nprint(f\"QARS2支持: {has_qars_support()}\")\n\n# 预期输出:\n# QUANTAXIS版本: 2.1.0.alpha2\n# QARS2支持: True\n```\n\n### 快速示例\n\n```python\nfrom QUANTAXIS.QARSBridge import QARSAccount\n\n# 创建高性能账户 (自动使用Rust核心)\naccount = QARSAccount(\n    account_cookie=\"my_strategy\",\n    init_cash=1000000.0\n)\n\n# 股票交易\naccount.buy(\"000001\", 10.5, \"2025-01-15\", 1000)\naccount.sell(\"000001\", 10.8, \"2025-01-16\", 500)\n\n# 期货交易\naccount.buy_open(\"IF2512\", 4500.0, \"2025-01-15\", 2)\naccount.sell_close(\"IF2512\", 4520.0, \"2025-01-16\", 1)\n\n# 查询持仓\npositions = account.get_positions()\nprint(positions)\n\n# 获取QIFI格式账户数据\nqifi = account.get_qifi()\nprint(f\"账户权益: {qifi['accounts']['balance']}\")\nprint(f\"可用资金: {qifi['accounts']['available']}\")\n```\n\n### 数据库配置\n\n```python\n# MongoDB配置\nimport QUANTAXIS as QA\n\n# 设置MongoDB连接\nQA.DATABASE = QA.QAUtil.QALogs.QA_Setting.MONGO_URI\n# 默认: mongodb://localhost:27017/quantaxis\n\n# ClickHouse配置\nQA.CLICKHOUSE_HOST = 'localhost'\nQA.CLICKHOUSE_PORT = 9000\n```\n\n---\n\n## 📖 文档\n\n### 📚 文档中心\n\n完整文档请访问 **[文档中心 (Documentation Hub)](./doc/README.md)**\n\n### 快速导航\n\n**🚀 入门指南**\n- [快速开始](./doc/getting-started/quickstart.md) - 10分钟上手教程\n- [安装指南](./doc/getting-started/installation.md) - 详细安装步骤\n\n**📘 API参考**\n- [API概览](./doc/api-reference/overview.md) - 完整API文档\n- [QAFetch](./doc/api-reference/qafetch.md) - 数据获取\n- [QAData](./doc/api-reference/qadata.md) - 数据结构\n- [QAMarket/QIFI](./doc/api-reference/qamarket.md) - 账户体系\n\n**🔧 高级功能**\n- [资源管理器](./doc/advanced/resource-manager.md) - 统一资源管理\n- [Rust集成](./doc/advanced/rust-integration.md) - 高性能组件\n- [数据桥接](./doc/advanced/data-bridge.md) - 零拷贝数据交换\n\n**🐳 部署指南**\n- [Docker部署](./doc/deployment/docker.md) - 容器化部署\n- [Kubernetes部署](./doc/deployment/kubernetes.md) - K8s集群部署\n- [部署概览](./doc/deployment/overview.md) - 完整部署指南\n\n**📦 迁移指南**\n- [2.0 → 2.1 迁移](./doc/migration/v2.0-to-v2.1.md) - 升级步骤和注意事项\n- [兼容性状态](./doc/migration/COMPATIBILITY_STATUS.md) - 100%向后兼容\n\n**👨‍💻 开发者**\n- [贡献指南](./doc/development/contributing.md) - 如何参与开发\n- [最佳实践](./doc/development/best-practices.md) - 生产环境建议\n- [开发指南 (CLAUDE.md)](./CLAUDE.md) - AI辅助开发\n\n**📘 其他资源**\n- [完整手册 (QABook PDF)](https://github.com/QUANTAXIS/QUANTAXIS/releases/download/latest/quantaxis.pdf)\n- [示例代码](./examples/) - 完整示例集合\n\n---\n\n## 🤝 社区与支持\n\n### GitHub\n\nQUANTAXIS 是一个开放的项目, 在开源的3年中有大量的小伙伴加入了我, 并提交了相关的代码, 感谢以下的同学们\n\n<a href=\"https://github.com/QUANTAXIS/QUANTAXIS/graphs/contributors\"><img src=\"https://opencollective.com/QUANTAXIS/contributors.svg?width=890&button=false\" /></a>\n\n\n\n**问题反馈**:\n- 💬 [GitHub Issues](https://github.","default_branch":"master","files":573,"tree":[".github/FUNDING.yml",".github/workflows/docker-publish.yml",".github/workflows/mdbook-deploy.yml",".github/workflows/pythonapp.yml",".github/workflows/pythonpackage.yml",".github/workflows/qabase_docker.yml",".github/workflows/qabook-build.yml",".github/workflows/qabook.yml",".github/workflows/qaeventmq_docker.yml",".github/workflows/qajupyter_docker.yml",".gitignore",".pylintrc",".style.yapf","Cargo.lock","Cargo.toml","LICENSE","PULL_REQUEST_TEMPLATE.md","QUANTAXIS/QAAnalysis/QAAnalysis_block.py","QUANTAXIS/QAAnalysis/QAAnalysis_signal.py","QUANTAXIS/QAAnalysis/__init__.py","QUANTAXIS/QACmd/__init__.py","QUANTAXIS/QACmd/runner.py","QUANTAXIS/QAData/QABlockStruct.py","QUANTAXIS/QAData/QADataStruct.py","QUANTAXIS/QAData/QAFeatureStruct.py","QUANTAXIS/QAData/QAFinancialStruct.py","QUANTAXIS/QAData/QAIndicatorStruct.py","QUANTAXIS/QAData/QASeriesStruct.py","QUANTAXIS/QAData/__init__.py","QUANTAXIS/QAData/base_datastruct.py","QUANTAXIS/QAData/data_fq.py","QUANTAXIS/QAData/data_marketvalue.py","QUANTAXIS/QAData/data_resample.py","QUANTAXIS/QAData/dsmethods.py","QUANTAXIS/QAData/financial_mean.py","QUANTAXIS/QAData/level2.py","QUANTAXIS/QAData/paneldatastruct.py","QUANTAXIS/QAData/readme.md","QUANTAXIS/QADataBridge/__init__.py","QUANTAXIS/QADataBridge/arrow_converter.py","QUANTAXIS/QADataBridge/shared_memory.py","QUANTAXIS/QAEngine/QAAsyncSchedule.py","QUANTAXIS/QAEngine/QAAsyncTask.py","QUANTAXIS/QAEngine/QAAsyncThread.py","QUANTAXIS/QAEngine/QAEvent.py","QUANTAXIS/QAEngine/QATask.py","QUANTAXIS/QAEngine/QAThreadEngine.py","QUANTAXIS/QAEngine/__init__.py","QUANTAXIS/QAEngine/readme.md","QUANTAXIS/QAFactor/__init__.py","QUANTAXIS/QAFactor/feature.py","QUANTAXIS/QAFactor/featureAnalysis.py","QUANTAXIS/QAFactor/featureView.py","QUANTAXIS/QAFactor/featurebacktest.py","QUANTAXIS/QAFactor/featurepool.py","QUANTAXIS/QAFactor/readme.md","QUANTAXIS/QAFetch/Fetcher.py","QUANTAXIS/QAFetch/QABaostock.py","QUANTAXIS/QAFetch/QABitfinex.py","QUANTAXIS/QAFetch/QABitmex.py","QUANTAXIS/QAFetch/QAClickhouse.py","QUANTAXIS/QAFetch/QACrawler.py","QUANTAXIS/QAFetch/QAEastMoney.py","QUANTAXIS/QAFetch/QAHexun.py","QUANTAXIS/QAFetch/QAJQdata.py","QUANTAXIS/QAFetch/QAKQ.py","QUANTAXIS/QAFetch/QAOKEx.py","QUANTAXIS/QAFetch/QAQAWEB.py","QUANTAXIS/QAFetch/QAQuery.py","QUANTAXIS/QAFetch/QAQuery_Advance.py","QUANTAXIS/QAFetch/QAQuery_Async.py","QUANTAXIS/QAFetch/QATdx.py","QUANTAXIS/QAFetch/QATdx_adv.py","QUANTAXIS/QAFetch/QAThs.py","QUANTAXIS/QAFetch/QATushare.py","QUANTAXIS/QAFetch/QAbinance.py","QUANTAXIS/QAFetch/QAdata.py","QUANTAXIS/QAFetch/QAfinancial.py","QUANTAXIS/QAFetch/QAhuobi.py","QUANTAXIS/QAFetch/QAhuobi_realtime.py","QUANTAXIS/QAFetch/__init__.py","QUANTAXIS/QAFetch/base.py","QUANTAXIS/QAIndicator/__init__.py","QUANTAXIS/QAIndicator/base.py","QUANTAXIS/QAIndicator/hurst.py","QUANTAXIS/QAIndicator/indicators.py","QUANTAXIS/QAIndicator/talib_indicators.py","QUANTAXIS/QAIndicator/talib_numpy.py","QUANTAXIS/QAIndicator/talib_series.py","QUANTAXIS/QAMarket/QAOrder.py","QUANTAXIS/QAMarket/QAPosition.py","QUANTAXIS/QAMarket/__init__.py","QUANTAXIS/QAMarket/market_preset.py","QUANTAXIS/QAPubSub/__init__.py","QUANTAXIS/QAPubSub/base.py","QUANTAXIS/QAPubSub/consumer.py","QUANTAXIS/QAPubSub/debugtoool.py","QUANTAXIS/QAPubSub/declaters.py","QUANTAXIS/QAPubSub/producer.py","QUANTAXIS/QAPubSub/setting.py","QUANTAXIS/QARSBridge/QIFI_PROTOCOL.md","QUANTAXIS/QARSBridge/__init__.py","QUANTAXIS/QARSBridge/qars_account.py","QUANTAXIS/QARSBridge/qars_backtest.py","QUANTAXIS/QASU/__init__.py","QUANTAXIS/QASU/main.py","QUANTAXIS/QASU/save_account.py","QUANTAXIS/QASU/save_backtest.py","QUANTAXIS/QASU/save_binance.py","QUANTAXIS/QASU/save_bitfinex.py","QUANTAXIS/QASU/save_bitmex.py","QUANTAXIS/QASU/save_financialfiles.py","QUANTAXIS/QASU/save_gm.py","QUANTAXIS/QASU/save_huobi.py","QUANTAXIS/QASU/save_jq.py","QUANTAXIS/QASU/save_okex.py","QUANTAXIS/QASU/save_orderhandler.py","QUANTAXIS/QASU/save_position.py","QUANTAXIS/QASU/save_strategy.py","QUANTAXIS/QASU/save_tdx.py","QUANTAXIS/QASU/save_tdx_file.py","QUANTAXIS/QASU/save_tdx_parallelism.py","QUANTAXIS/QASU/save_tushare.py","QUANTAXIS/QASU/save_tusharepro_pg.py","QUANTAXIS/QASU/test_save_strategy.py","QUANTAXIS/QASU/trans_gm.py","QUANTAXIS/QASU/trans_ss.py","QUANTAXIS/QASU/user.py","QUANTAXIS/QASchedule/__init__.py","QUANTAXIS/QASchedule/schedulefunc.py","QUANTAXIS/QASetting/QALocalize.py","QUANTAXIS/QASetting/__init__.py","QUANTAXIS/QASetting/cache.py","QUANTAXIS/QASetting/executor.py","QUANTAXIS/QAStrategy/__init__.py","QUANTAXIS/QAStrategy/qactabase.py","QUANTAXIS/QAStrategy/qafactorbase.py","QUANTAXIS/QAStrategy/qahedgebase.py","QUANTAXIS/QAStrategy/qamultibase.py","QUANTAXIS/QAStrategy/syncoms.py","QUANTAXIS/QAStrategy/util.py","QUANTAXIS/QAUtil/Parallelism.py","QUANTAXIS/QAUtil/QAAuth.py","QUANTAXIS/QAUtil/QABar.py","QUANTAXIS/QAUtil/QACache.py","QUANTAXIS/QAUtil/QACfg.py","QUANTAXIS/QAUtil/QACode.py","QUANTAXIS/QAUtil/QACsv.py","QUANTAXIS/QAUtil/QADate.py","QUANTAXIS/QAUtil/QADateTools.py","QUANTAXIS/QAUtil/QADate_Adv.py","QUANTAXIS/QAUtil/QADate_trade.py","QUANTAXIS/QAUtil/QADict.py","QUANTAXIS/QAUtil/QAError.py","QUANTAXIS/QAUtil/QAFile.py","QUANTAXIS/QAUtil/QAList.py","QUANTAXIS/QAUtil/QALogs.py","QUANTAXIS/QAUtil/QAMail.py","QUANTAXIS/QAUtil/QAMongo.py","QUANTAXIS/QAUtil/QAParameter.py","QUANTAXIS/QAUtil/QAParameter.pyx","QUANTAXIS/QAUtil/QAPlot.py","QUANTAXIS/QAUtil/QARandom.py","QUANTAXIS/QAUtil/QAResourceManager.py","QUANTAXIS/QAUtil/QASetting.py","QUANTAXIS/QAUtil/QASingleton.py","QUANTAXIS/QAUtil/QASql.py","QUANTAXIS/QAUtil/QAText.py","QUANTAXIS/QAUtil/QATransform.py","QUANTAXIS/QAUtil/QAWebutil.py","QUANTAXIS/QAUtil/QAcrypto.py","QUANTAXIS/QAUtil/__init__.py","QUANTAXIS/QAUtil/host.py","QUANTAXIS/QAWebServer/__init__.py","QUANTAXIS/QAWebServer/basehandles.py","QUANTAXIS/QAWebServer/commandhandler.py","QUANTAXIS/QAWebServer/qifiserver.py","QUANTAXIS/QAWebServer/schedulehandler.py","QUANTAXIS/QAWebServer/server.py","QUANTAXIS/QAWebServer/util.py","QUANTAXIS/QIFI/QifiAccount.py","QUANTAXIS/QIFI/QifiManager.py","QUANTAXIS/QIFI/__init__.py","QUANTAXIS/QIFI/qifi.md","QUANTAXIS/QIFI/qifi.sql","QUANTAXIS/QIFI/qifisql.py","QUANTAXIS/__init__.py","QUANTAXIS/__main__.py","README.md","STU/P0_Head.md","STU/P1_Prepare.md","STU/P2_DataFlow.md","STU/P3_Backtest.md","STU/P4_Analysis.md","STU/P5_REALTIME.md","STU/P6_Thought.md","STU/views01.md","UPGRADE_PLAN.md","_config.yml","book.toml","config/QA.sh","config/QA0.txt","config/QA1.txt","config/QA2.txt","config/QA3.txt","config/ali.jpg","config/data_init.py","config/install_docker.sh","config/install_rust.sh","config/readme.md","config/run_backend.sh","config/startjupyter.sh","config/ubuntu16.sh","config/update_all.py","config/update_data.py","config/update_fin.py","config/update_future.py","config/update_x.py","config/windows_autojob_updatedata.md","dev/QACache/__init__.py","doc/MDBOOK_GUIDE.md","doc/README.md","doc/RemainingModules.md","doc/SUMMARY.md","doc/advanced/data-bridge.md","doc/advanced/performance-tuning.md","doc/advanced/resource-manager.md","doc/advanced/rust-integration.md","doc/api-reference/overview.md","doc/api-reference/qadata.md","doc/api-reference/qaengine.md","doc/api-reference/qafetch.md","doc/api-reference/qamarket.md","doc/api-reference/qapubsub.md","doc/api-reference/qastrategy.md","doc/api-reference/qautil.md","doc/api-reference/qifi.md","doc/appendix/changelog.md","doc/appendix/faq.md","doc/appendix/glossary.md","doc/deployment/docker.md","doc/deployment/kubernetes.md","doc/deployment/overview.md","doc/deployment/production.md","doc/development/best-practices.md","doc/development/code-standards.md","doc/development/contributing.md","doc/development/testing.md","doc/getting-started/installation.md","doc/getting-started/quickstart.md","doc/migration/COMPATIBILITY_STATUS.md","doc/migration/v2.0-to-v2.1.md","doc/qabook/build-guide.md","doc/qabook/introduction.md","doc/user-guide/backtesting.md","doc/user-guide/data-fetching.md","doc/user-guide/live-trading.md","doc/user-guide/strategy-development.md","docker/ctpbee-base/Dockerfile","docker/just_database.yaml","docker/k8s-deployment/00-namespace.yaml","docker/k8s-deployment/01-configmap.yaml","docker/k8s-deployment/02-secrets.yaml","docker/k8s-deployment/03-storage.yaml","docker/k8s-deployment/10-mongodb.yaml","docker/k8s-deployment/50-quantaxis.yaml","docker/k8s_deploy_qaservice/docker-compose.yaml","docker/k8s_deploy_qaservice/helm_charts/Chart.yaml","docker/k8s_deploy_qaservice/helm_charts/README.md","docker/k8s_deploy_qaservice/helm_charts/templates/mgdb-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/mgdb-service.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qa-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qa-service.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qacode-persistentvolumeclaim.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qaeventmq-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qaeventmq-service.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qamarketcollector-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qamarketcollector-service.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qamg-persistentvolumeclaim.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qamonitor-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qamonitor-service.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qaweb-run-deployment.yaml","docker/k8s_deploy_qaservice/helm_charts/templates/qaweb-run-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/mgdb-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/mgdb-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qa-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qa-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qacode-persistentvolumeclaim.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qaeventmq-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qaeventmq-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qamarketcollector-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qamarketcollector-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qamg-persistentvolumeclaim.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qamonitor-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qamonitor-service.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qaweb-run-replicationcontroller.yaml","docker/k8s_deploy_qaservice/replicate_3nodes/qaweb-run-service.yaml","docker/kite/qa-base_rust2/Dockerfile","docker/kite/qa-base_rust2/kitesetup.exp","docker/kite/qa-base_rust2/pip.conf","docker/kite/qa-base_rust2/qa-base_rust2.md","docker/kite/qa-base_rust2/requirements.txt","docker/kite/qa-base_rust2/source.list","docker/kite/qa-community-rust2/Dockerfile","docker/kite/qa-community-rust2/config","docker/kite/qa-community-rust2/daily_update","docker/kite/qa-community-rust2/qa-community-rust2.md","docker/kite/qa-community-rust2/run-community.sh","docker/kite/qa-community-rust2/runcelery.sh","docker/kite/qa-community-rust2/update_all.py","docker/kite/qa-community-rust2/update_future.py","docker/kite/qa-community-rust2/wait_for_it.sh","docker/kite/qa-jupyter_rust2/Dockerfile","docker/kite/qa-jupyter_rust2/entrypoint.sh","docker/kite/qa-jupyter_rust2/jupyter_notebook_config.py","docker/kite/qa-jupyter_rust2/jupyterlab_language_pack_zh_CN-0.0.1.dev0-py2.py3-none-any.whl","docker/kite/qa-jupyter_rust2/qa-jupyter_rust2.md","docker/kite/qa-jupyter_rust2/requirements.txt","docker/kite/qa-jupyter_rust2/runpy.sh","docker/kite/qa-jupyter_rust2/wait_for_it.sh","docker/kite/qa-web-rust2/Dockerfile","docker/kite/qa-web-rust2/config","docker/kite/qa-web-rust2/daily_update","docker/kite/qa-web-rust2/qa-web-rust2.md","docker/kite/qa-web-rust2/run-community.sh","docker/kite/qa-web-rust2/runcelery.sh","docker/kite/qa-web-rust2/update_all.py","docker/kite/qa-web-rust2/update_future.py","docker/kite/qa-web-rust2/wait_for_it.sh","docker/qa-base-gitee/Dockerfile","docker/qa-base-gitee/config.ini","docker/qa-base-gitee/pip.conf","docker/qa-base-gitee/requirements.txt","docker/qa-base-gitee/source.list","docker/qa-base/Dockerfile","docker/qa-base/pip.conf","docker/qa-base/requirements.txt","docker/qa-base/source.list","docker/qa-community-gpu/Dockerfile","docker/qa-community-gpu/readme.txt","docker/qa-community-gpu/setup.sh","docker/qa-community-rust/Dockerfile","docker/qa-community-rust/VUWHL/pytdx-1.72r2-py3-none-any.whl","docker/qa-community-rust/VUWHL/quantaxis-1.10.19r1-py3-none-any.whl","docker/qa-community-rust/config","docker/qa-community-rust/daily_update","docker/qa-community-rust/entrypoint.sh","docker/qa-community-rust/run-community.sh","docker/qa-community-rust/runcelery.sh","docker/qa-community-rust/update_all.py","docker/qa-community-rust/wait_for_it.sh","docker/qa-eventmq/Dockerfile","docker/qa-jupyter-go-r/Dockerfile","docker/qa-jupyter-go-r/entrypoint.sh","docker/qa-jupyter-go-r/jupyter_notebook_config.py","docker/qa-jupyter-go-r/pip.conf","docker/qa-jupyter-go-r/requirements.txt","docker/qa-jupyter-go-r/runpy.sh","docker/qa-jupyter-go-r/source.list","docker/qa-jupyter-go-r/wait_for_it.sh","docker/qa-jupyter/Dockerfile","docker/qa-jupyter/entrypoint.sh","docker/qa-jupyter/jupyter_notebook_config.py","docker/qa-jupyter/requirements.txt","docker/qa-jupyter/runpy.sh","docker/qa-jupyter/wait_for_it.sh","docker/qa-justdev/docker-compose.yaml","docker/qa-monitor/Dockerfile","docker/qa-monitor/glances.conf","docker/qa-redis/Dockerfile","docker/qa-rust-base/Dockerfile","docker/qa-service-future/docker-compose.yaml","docker/qa-service-future/docker-compose3.yaml","docker/qa-service-future/env.env","docker/qa-service-pro/docker-compose.yaml","docker/qa-service-pro/docker-compose3.yaml","docker/qa-service-pro/env.env","docker/qa-service-rust/docker-compose.yaml","docker/qa-service-rust/env.env","docker/qa-service-rust/start.bat","docker/qa-service-rust/wait_for_it.sh","docker/qa-service-v2.1/.env.example","docker/qa-service-v2.1/clickhouse-config.xml","docker/qa-service-v2.1/docker-compose.yaml","docker/qa-service-v2.1/init-mongo.js","docker/qa-service-v2.1/rabbitmq.conf","docker/qa-service/docker-compose.yaml","docker/qa-service/docker-compose3.yaml","docker/qa-service/env.env","docker/qa-service/start.bat","docker/qa-service/wait_for_it.sh","docker/qa-web/Dockerfile","docker/qa-web/entrypoint.sh","docker/qaclickhouse/Dockerfile","docker/qaservice_docker.sh","docker/qavscode/Dockerfile","docker/qavscode/latest.package.json","docker/qavscode/next.package.json","docker/readme.md","examples/factoranalysis.py"],"storefront":"/r/yutiansut","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yutiansut/QUANTAXIS/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}