7 Sprints 全部完成: Sprint 0: 基础设施 (DataManager + MariaDB) Sprint 1: 因子引擎 (34因子/12分类) Sprint 2: VectorBT 回测 (5策略+截面) Sprint 3: Optuna 优化 (+Walk-Forward) Sprint 4: ML 模型 (LightGBM+CatBoost) Sprint 5: Qwen 情绪因子 (三源新闻+日期对齐) Sprint 6: Agent 系统 (4Agent+日报.md/.html) 生产加固 (15项): Tushare双源fallback, SSH自动恢复, pool_pre_ping, save_daily先删后插, load_dotenv绝对路径, 日报5d/20d修复, RiskAgent改上证指数, 昨日对比+数据截止, mac_report utf8mb4, CLAUDE-*.md 9条已知Bug, demo全参数化, djapi数据源归一化, indexDatas API修正 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
81 lines
3.2 KiB
Markdown
81 lines
3.2 KiB
Markdown
# CLAUDE.md
|
|
|
|
cc-cursor — Mac Mini 单机量化研究平台。全链路:Data → Factor → Backtest → Optimize → ML → Sentiment → Agent。
|
|
|
|
## 速查索引
|
|
|
|
| 模块 | 详情文件 | 核心入口 |
|
|
|------|---------|---------|
|
|
| 数据层 + 数据库 | `CLAUDE-data.md` | `from data.data_manager import DataManager` |
|
|
| 因子引擎 + 情绪 | `CLAUDE-factors.md` | `from factors.registry import get_factor` |
|
|
| 回测 + 优化 | `CLAUDE-backtest.md` | `from backtest.vectorbt.engine import VectorBTEngine` |
|
|
| ML 模型 | `CLAUDE-ml.md` | `from models.lightgbm.model import LightGBMModel` |
|
|
| Agent 系统 + CLI | `CLAUDE-agents.md` | `python cli/agent_cli.py daily` |
|
|
|
|
## 环境
|
|
|
|
```bash
|
|
conda activate quant # Python 3.11.13
|
|
bash shared/script/autossh.sh # DB SSH 隧道
|
|
```
|
|
|
|
## 任务→文档路由
|
|
|
|
| 任务类型 | 先读取 |
|
|
|---------|--------|
|
|
| 数据源/数据库/cache 相关 | `CLAUDE-data.md` |
|
|
| 因子/情绪/新闻相关 | `CLAUDE-factors.md` + `CLAUDE-reference.md` |
|
|
| 回测/优化/策略相关 | `CLAUDE-backtest.md` |
|
|
| ML 模型/特征工程相关 | `CLAUDE-ml.md` |
|
|
| Agent/CLI/报告相关 | `CLAUDE-agents.md` |
|
|
| API 参数/第三方库 | 调用 `mcp__mcphub__context7-query-docs` |
|
|
| 因子名/类名/表结构速查 | `CLAUDE-reference.md` |
|
|
|
|
## 多步任务规则
|
|
|
|
复杂任务(涉及 3+ 文件或 2+ 模块)执行前:
|
|
1. 输出执行计划清单(步骤 + 每步验证方法)
|
|
2. 每步完成后验证通过才继续
|
|
3. 遇到失败先定位根因,不跳过
|
|
|
|
## 核心设计约束(必须遵守)
|
|
|
|
- 数据流:`Data → Factor → Model → Strategy → Backtest → Report`
|
|
- 策略层禁止直接访问 AkShare/Tushare → 全部通过 `DataManager`
|
|
- 模型层禁止直接访问数据库 → 全部通过 DataManager
|
|
- 指数代码规则:`.SH`=指数, `.SZ` 开头非 399=个股
|
|
- 数据源优先级:Tushare → AkShare (fallback)
|
|
- 当日数据未缓存 → 先 `dm.sync_daily`;增量同步只更新已缓存股票
|
|
- 修改多文件前先说明:文件清单、原因、影响;优先小范围修改
|
|
|
|
## CLI 常用命令
|
|
|
|
```bash
|
|
python cli/agent_cli.py daily # 5步完整流程
|
|
python cli/agent_cli.py picks 15 # 选股
|
|
python cli/agent_cli.py risk # 风险评估
|
|
python cli/agent_cli.py report 20260603 # 生成日报
|
|
python cli/agent_cli.py warmup 50 # 首次预热缓存
|
|
|
|
python cli/demo_data_manager.py --ts_code 600519.SH
|
|
python cli/demo_factor_engine.py --ts_code 300750.SZ
|
|
python cli/demo_backtest.py --ts_code 000001.SZ
|
|
python cli/demo_optimizer.py --ts_code 000001.SZ --trials 100
|
|
python cli/demo_ml.py --ts_code 000001.SZ --lookahead 5
|
|
python cli/demo_sentiment_detail.py --ts_code 600519.SH --date 20260603
|
|
```
|
|
|
|
## 技术栈
|
|
|
|
| 组件 | 技术 | 环境 |
|
|
|------|------|------|
|
|
| 数据获取 | AkShare + Tushare (双源) | conda quant |
|
|
| 数据库 | MariaDB (SSH 隧道) | mac_ 前缀表 |
|
|
| 因子/特征 | pandas / numpy / sklearn | conda quant |
|
|
| 回测 | VectorBT 1.0 | conda quant |
|
|
| 优化 | Optuna 4.9 | conda quant |
|
|
| ML | LightGBM 4.6 + CatBoost 1.2 | conda quant |
|
|
| NLP | Qwen (DashScope / Ollama) | .env 配置 |
|
|
| Agent | 自研编排器 | finance/agents/ |
|
|
| API | Django 5.2 + uWSGI | djapi/ |
|