# tdx_trading_system **Repository Path**: shannon.chen/tdx_trading_system ## Basic Information - **Project Name**: tdx_trading_system - **Description**: 这是量化交易的后端系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-05 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TDX 量化交易系统 高性能量化交易系统,提供完整的因子计算、回测、优化和风险管理功能。 ## 🚀 系统概述 TDX 量化交易系统是一个基于 Python 和 FastAPI 构建的高性能量化交易平台,集成了: ### 📊 核心功能模块 - **市场数据服务**: 实时行情、K线数据、分时数据获取 - **因子计算引擎**: 101个 Alpha 因子优化版本,支持 GPU 加速 - **回测分析系统**: 多因子回测、性能分析、风险评估 - **风险管理模块**: 因子风险监控、VaR计算、风险平价模型 - **机器学习集成**: 智能因子发现、自适应模型、特征选择 - **分布式计算**: 集群计算、负载均衡、任务调度 - **期货数据服务**: 国内期货市场数据获取与分析 ## 🏗️ 技术架构 ### 核心技术栈 - **后端框架**: FastAPI + Python 3.11 - **数据源**: CTP主席系统 (期货) / pytdx (股票、可转债等) - **缓存系统**: Redis 7 - **数据处理**: pandas, NumPy - **机器学习**: scikit-learn - **GPU加速**: CUDA (可选) - **容器化**: Docker + Docker Compose - **反向代理**: Nginx ### 项目结构 ``` tdx_trading_system/ ├── app/ # 核心应用代码 │ ├── core/ # 核心模块(配置、缓存、路由等) │ ├── domain/ # 领域模型(共享) │ ├── domains/ # DDD领域设计 │ │ ├── stocks/ # 股票领域 │ │ │ ├── entities/ # 实体 │ │ │ ├── repositories/ # 仓储接口及实现 │ │ │ ├── services/ # 应用服务 │ │ │ ├── aggregates/ # 聚合根 │ │ │ ├── viewmodels/ # 视图模型 │ │ │ └── routes/ # API路由 │ │ ├── cb/ # 可转债领域 │ │ │ ├── entities/ │ │ │ ├── repositories/ │ │ │ ├── services/ │ │ │ ├── aggregates/ │ │ │ ├── viewmodels/ │ │ │ └── routes/ │ │ ├── etf/ # ETF领域 │ │ │ ├── entities/ │ │ │ ├── repositories/ │ │ │ ├── services/ │ │ │ ├── aggregates/ │ │ │ ├── viewmodels/ │ │ │ └── routes/ │ │ └── futures/ # 期货领域 │ │ ├── entities/ │ │ ├── repositories/ │ │ ├── services/ │ │ ├── aggregates/ │ │ ├── viewmodels/ │ │ └── routes/ │ ├── infrastructure/ # 基础设施(数据提供者等) │ ├── viewmodels/ # 视图模型(遗留) │ ├── views/ # API路由(遗留) │ ├── factors/ # 因子计算模块 │ └── strategies/ # 交易策略模块 ├── data/ # 数据存储目录 ├── logs/ # 日志文件 ├── nginx/ # Nginx配置 ├── docker-compose.yml # Docker编排配置 ├── Dockerfile # Docker镜像配置 └── requirements.txt # Python依赖 ``` ## 📈 功能特性 ### 市场数据服务 - 股票、指数、ETF实时行情 - K线数据(1分钟到月线) - 分时成交数据 - 财务数据和公司信息 - 可转债数据 ### 期货数据服务 - 期货市场列表获取 - 主力合约数据 - 上海黄金期货数据 - 期货实时报价 - 期货K线数据 ### 因子计算引擎 - 101个经典Alpha因子 - GPU加速计算支持 - 因子质量评估 - 因子相关性分析 ### 回测系统 - 多因子策略回测 - 性能指标计算 - 风险分析 - 绩效归因 ### 风险管理 - VaR风险价值计算 - 因子风险监控 - 风险平价模型 - 最大回撤分析 ## 🚀 快速开始 ### 环境要求 - Python 3.11+ - Docker & Docker Compose (推荐) - Redis 7+ (可选,用于缓存) ### 安装步骤 1. 克隆项目代码: ```bash git clone cd tdx_trading_system ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 3. 配置环境变量: ```bash cp .env.example .env # 编辑 .env 文件配置相关参数 ``` 4. 启动服务: ```bash # 使用Docker启动(推荐) docker-compose up -d # 或者直接运行 python -m app.main ``` ### API访问 - API文档: http://localhost:8000/docs - ReDoc文档: http://localhost:8000/redoc - 健康检查: http://localhost:8000/health ## 📡 API接口概览 ### 股票数据服务 - `GET /api/stock/quote` - 获取股票实时报价 - `GET /api/stock/bars` - 获取股票K线数据 - `GET /api/stock/list` - 获取股票列表 ### 期货数据服务 - `GET /api/futures/markets` - 获取期货市场列表 - `GET /api/futures/main-contracts` - 获取主力期货合约 - `GET /api/futures/shanghai-gold` - 获取上海黄金期货 - `GET /api/futures/quote` - 获取期货合约实时报价 - `GET /api/futures/bars` - 获取期货K线数据 ### 因子服务 - `GET /api/factors/list` - 获取支持的因子列表 - `POST /api/factors/compute` - 计算因子值 - `GET /api/factor-quality/metrics` - 因子质量评估 更多API详情请参考在线文档。 ## 🔧 开发指南 ### 项目配置 配置文件位于 `.env` 文件中,主要配置项包括: ```env # 服务器配置 HOST=localhost PORT=8000 # 缓存配置 REDIS_URL=redis://localhost:6379/0 CACHE_BACKEND=redis # TDX配置 PYTDX_MAX_WORKERS=4 PYTDX_TIMEOUT_SECONDS=30 # CTP配置(用于期货数据) CTP_BROKER_ID=9080 CTP_TRADE_PORT=42205 CTP_MARKET_PORT=42213 CTP_API_VERSION=v6.7.0_traderapi_20230209 CTP_USER_ID=your_user_id CTP_PASSWORD=your_password ``` ### 添加新因子 1. 在 `app/factors/` 目录下创建因子实现文件 2. 在 `app/factors/registry.py` 中注册因子 3. 重启服务或重新加载因子注册表 ### 添加新数据源 1. 实现 `MarketDataProviderProtocol` 接口 2. 在 `app/infrastructure/` 目录下创建提供者实现 3. 在服务定位器中注册新的提供者 ### 配置CTP期货数据源 系统现已支持通过CTP主席系统获取期货行情数据。 **重要提示**: CTP API是专有软件,不能通过pip直接安装。您需要从官方渠道获取CTP API开发包。 有关详细配置说明,请参阅以下文件: 1. [CTP_SETUP.md](CTP_SETUP.md) - CTP配置说明 2. [CTP_INSTALLATION.md](CTP_INSTALLATION.md) - CTP安装与配置指南 3. [VNPY_CTP_INTEGRATION.md](VNPY_CTP_INTEGRATION.md) - VnPy CTP集成指南 安装完成后,请在 `.env` 文件中配置您的CTP账户信息: ```env # CTP配置(用于期货数据) CTP_BROKER_ID=您的经纪商ID CTP_USER_ID=您的用户名 CTP_PASSWORD=您的密码 CTP_TRADE_PORT=42205 CTP_MARKET_PORT=42213 CTP_API_VERSION=v6.7.0_traderapi_20230209 # VnPy CTP配置 VNPy_CTP_ENABLED=false ``` ## 📦 部署 ### Docker部署(推荐) ```bash # 构建镜像 docker-compose build # 启动服务 docker-compose up -d # 查看日志 docker-compose logs -f ``` ### 生产环境部署 ```bash # 使用生产环境配置 docker-compose -f docker-compose.prod.yml up -d ``` ## 🛠️ 维护和清理 ### 清理缓存 ```bash # 清理系统缓存 python clear_cache.py ``` ### 清理项目文件 ```bash # 清理临时文件和缓存 python cleanup_project.py ``` ## 🤝 贡献 欢迎提交 Issue 和 Pull Request 来改进项目。 ### 开发规范 1. 遵循 PEP 8 代码风格 2. 添加适当的单元测试 3. 更新相关文档 4. 保持向后兼容性 ## 📄 许可证 MIT License ## 📞 联系方式 - 项目维护者: Quant Team - 邮箱: quant@example.com - GitHub: [https://github.com/example/tdx-trading-system](https://github.com/example/tdx-trading-system)