# trading_web **Repository Path**: ydh11/trading_web ## Basic Information - **Project Name**: trading_web - **Description**: 期货量化 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-03 - **Last Updated**: 2026-05-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Trading Web — CTP 期货量化交易平台 基于 **FastAPI + vnpy** 的 CTP 期货全功能量化交易平台,支持策略管理、AI 分析、回测系统、飞书集成和多用户权限管理。 > **版本**: 2026-05-03 r5 | **语言**: Python 3.13 | **框架**: FastAPI + vnpy | **综合评分**: 8.5/10 --- ## 功能特性 ### 交易引擎 - **多策略支持**:双均线、布林带、R-Breaker、网格、配对交易、海龟等策略,支持策略导入/导出/共享 - **回测系统**:完整回测引擎,支持网格搜索、遗传算法优化、Walk-Forward 分析、参数敏感性分析 - **实盘/模拟**:CTP 网关直连,支持指数退避重连、OCO 订单、仓位对账 - **风控管理**:止损止盈、仓位控制、熔断机制、门限监控 ### AI 子系统 - **多模型支持**:OpenAI 兼容接口(支持 DeepSeek、通义千问等),多提供商自动故障转移 - **深度分析**:技术面分析、AI 选股、市场情绪、回测建议 - **智能扫描**:后台定时扫描,自动识别技术形态和市场状态 - **AI 熔断**:请求失败率过高自动断路,支持半开探测和自动恢复 ### 数据与基础设施 - **市场数据**:实时 Tick/Bar 数据、主力合约自动切换、交易日历(含 CFFEX/SHFE/DCE/CZCE/INE 假期) - **双数据库**:SQLite(开发环境)+ PostgreSQL 16(生产环境),读写分离 - **安全加固**:AES-256-GCM 凭证加密、HMAC-SHA256 会话令牌、动态 CSP、角色速率限制 - **监控运维**:Prometheus 指标导出、Docker HEALTHCHECK、自动化备份、配置热更新 ### 前端与集成 - **Web 仪表盘**:实时行情、K 线图(ECharts)、仓位管理、策略控制台 - **飞书集成**:飞书机器人消息推送、事件回调、签名校验 - **告警系统**:多条件组合告警、Webhook 推送(企业微信/钉钉/飞书) --- ## 快速开始 ### 环境要求 - Python 3.13+ - PostgreSQL 16(生产环境)或 SQLite(开发环境) - Docker & Docker Compose(容器部署) ### 本地开发 ```bash # 1. 克隆仓库 git clone git@gitee.com:ydh11/trading_web.git cd trading_web # 2. 安装依赖 pip install -r requirements.txt # 3. 配置环境变量 cp .env.example .env # 编辑 .env 填入 API Key 等配置 # 4. 启动服务 uvicorn main:app --host 0.0.0.0 --port 8081 --reload # 5. 访问 # 仪表盘: http://localhost:8081/ # API 文档: http://localhost:8081/docs # 服务文档: http://localhost:8081/service-docs ``` ### Docker 部署 ```bash # 构建并启动 docker compose up -d --build # 查看日志 docker compose logs -f trading-web # 停止 docker compose down ``` --- ## 项目结构 ``` trading_web/ ├── main.py # FastAPI 应用入口,中间件注册,启动流程 ├── web/ │ ├── ai/ # AI 子系统 │ │ ├── analyzer.py # 技术分析与市场状态分类 │ │ ├── client.py # 多提供商 AI 客户端(缓存/熔断/故障转移) │ │ ├── models.py # 数据模型与 Web 搜索 │ │ └── chat.py # AI 对话 │ ├── strategies/ # 交易策略 │ │ ├── base.py # 策略基类(线程安全注册表) │ │ ├── grid.py # 网格策略(含自适应间距) │ │ ├── dual_ma.py # 双均线 │ │ ├── bollinger.py # 布林带 │ │ ├── r_breaker.py # R-Breaker │ │ ├── pairs_trading.py # 配对交易 │ │ ├── turtle.py # 海龟交易 │ │ ├── indicator_plugin.py # 自定义指标插件系统 │ │ └── runner.py # 策略执行器 │ ├── routes/ # API 路由 │ │ ├── backtest.py # 回测端点 │ │ ├── strategy.py # 策略管理 │ │ ├── config.py # 配置热更新 │ │ ├── trade.py # 交易操作 │ │ ├── feishu_bot.py # 飞书机器人 │ │ └── system.py # 系统监控/健康检查 │ ├── trading_engine.py # CTP 交易引擎核心 │ ├── stub_engine.py # 桩引擎(CTP 不可用时模拟行情) │ ├── backtesting.py # 回测引擎 │ ├── db.py # 数据库层(SQLite+PG 连接池) │ ├── auth.py # 认证与会话管理 │ ├── metrics.py # Prometheus 指标注册 │ ├── portfolio_analytics.py # 组合分析(相关性/敞口/行业) │ ├── risk_manager.py # 风险管理 │ ├── ws_manager.py # WebSocket 连接管理 │ ├── feishu.py # 飞书 API 客户端 │ ├── utils.py # 工具函数(交易日历/速率限制) │ └── repositories/ # 数据库仓储层(PG 读写分离) ├── tests/ # 测试套件(615 tests, 46 files) ├── scripts/ # 运维脚本 │ ├── ci_cd.sh # CI/CD 流水线 │ ├── migrate.py # 数据库迁移管理 │ ├── backup.sh # 自动化备份 │ └── load_test.py # 负载测试 ├── tools/ # 辅助工具 ├── templates/ # Jinja2 HTML 模板 ├── static/ # 前端静态资源 ├── docker-compose.yml # Docker 编排 ├── Dockerfile # 容器构建 ├── SERVICE_DOCS.md # 完整服务文档(91KB) └── COMPETITIVE_ANALYSIS.md # 竞品对标分析 ``` --- ## 核心 API | 模块 | 端点 | 说明 | |------|------|------| | **交易** | `POST /api/trade/order` | 下单 | | | `POST /api/trade/close` | 平仓 | | | `GET /api/trades` | 成交查询 | | | `GET /api/positions` | 持仓查询 | | **策略** | `GET /api/strategies` | 策略列表 | | | `POST /api/strategies/start` | 启动策略 | | | `POST /api/strategies/stop` | 停止策略 | | **回测** | `POST /api/backtest/run` | 运行回测 | | | `POST /api/backtest/sensitivity` | 参数敏感性分析 | | | `POST /api/backtest/optimize` | 参数优化 | | **AI** | `POST /api/ai/analyze` | 技术分析 | | | `POST /api/ai/hotpicks` | 热门品种 | | | `POST /api/ai/chat` | AI 对话 | | **系统** | `GET /api/system/health` | 健康检查 | | | `GET /metrics` | Prometheus 指标 | | | `POST /api/system/backup` | 数据库备份 | > 完整 API 文档访问 `/docs` (Swagger UI) 或 `/service-docs` (服务文档页面) --- ## 测试 ```bash # 运行全部测试 pytest # 按分类运行 pytest -m unit # 单元测试 pytest -m integration # 集成测试 pytest -m security # 安全测试 # 带覆盖率 pytest --cov=web --cov=main --cov-report=html ``` --- ## 部署到阿里云 ECS ```bash # 打包并上传 cd d:/dev/python3.13.7/pro tar czf trading_web.tar.gz --exclude='__pycache__' --exclude='*.pyc' \ --exclude='data/*.db' --exclude='logs/*' --exclude='.git' \ --exclude='.env' trading_web/ scp trading_web.tar.gz root@8.130.180.49:/root/trading_web/ # 远程部署 ssh root@8.130.180.49 "cd /root/trading_web && tar xzf trading_web.tar.gz && \ cd trading_web && docker compose down && docker compose up -d --build" ``` --- ## CI/CD 流水线 ``` Stage 1: Lint → ruff check Stage 2: Unit Tests → pytest -m "unit or not integration" --cov Stage 3: Integration → pytest -m integration Stage 4: Security → bandit + security tests Stage 5: Performance → load_test.py --quick Stage 6: Deploy → docker compose build && up -d ``` --- ## 技术栈 | 层次 | 技术 | |------|------| | Web 框架 | FastAPI 0.115+ | | 交易引擎 | vnpy 3.9+ / vnpy_ctp 6.7+ | | 数据库 | SQLite (WAL) / PostgreSQL 16 | | AI | OpenAI 兼容 API(DeepSeek / 通义千问 / 等) | | 前端 | Jinja2 + ECharts + Vanilla JS | | 部署 | Docker Compose + Nginx | | 监控 | Prometheus + Healthchecks.io | | 安全 | AES-256-GCM / HMAC-SHA256 / PBKDF2 / CSP | --- ## 竞争对比 与 QuantConnect、Backtrader、VnPy、TradingView、MetaTrader 5 等专业平台进行了 40 维度对标分析: - **AI 引擎**:9/10 — 多模型故障转移、AI 熔断、按类型缓存 TTL、市场状态分类 - **策略管理**:8/10 — 线程安全注册表、自适应网格、自定义指标插件、策略导入导出 - **回测系统**:8/10 — 敏感性分析、Sharpe 年化修正、佣金修正、OCO 互斥 - **安全性**:9/10 — AES-GCM 加密、Nonce CSP、CSRF 防护、速率限制、WS 认证 - **综合评分**:**8.5/10**(↑ +2.5,从 6.0/10 提升) 详见 [COMPETITIVE_ANALYSIS.md](COMPETITIVE_ANALYSIS.md) --- ## 许可 仅供内部交易使用,未经授权不得二次分发。