Files
simonandClaude Opus 4.7 271a9343a5 Initial commit: cc-cursor 全链路量化研究平台
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>
2026-06-07 15:59:05 +08:00

676 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
我认真看了你的目标和现有环境,我认为有一个关键点需要调整:
**不要把 Claude Code Plugin 当成系统主体。**
对于你的项目:
```text
Claude Code
MCP-Hub
Django API
AkShare
MariaDB
VectorBT
Optuna
LightGBM
Qwen
```
Claude Code 应该只是:
```text
AI开发助手
AI研究助手
```
而不是:
```text
系统运行时核心
```
真正的核心应该是:
```text
finance/
```
finance 目录下python虚拟环境位于 finance/.venv/,在项目根目录下 可用 source finance/.venv/bin/activate激活
这个目录未来即使你不用 Claude、换成 Cursor、Codex、OpenHands、Aider,都应该能独立运行。
---
# 推荐总体架构
未来你的根目录:
```text
/Users/summer/Downloads/cc-cursor
├── djapi/
├── finance/
├── mcp-servers/
├── shared/
├── docs/
└── .claude/
```
---
# 各目录职责
## djapi
仅负责:
```text
数据库
用户管理
任务管理
API接口
报告管理
```
类似:
```text
Quant Platform Backend
```
---
## finance
核心量化引擎
未来90%的代码都在这里。
---
结构:
```text
finance/
├── config/
├── data/
├── factors/
├── models/
├── strategy/
├── optimizer/
├── backtest/
├── portfolio/
├── execution/
├── reports/
├── scheduler/
└── cli/
```
---
# 第一阶段(V1
目标:
```text
数据获取
因子计算
回测
参数优化
```
技术栈:
```text
AkShare
MariaDB
VectorBT
Optuna
```
---
## 实施周期
### Week 1
基础设施
---
目录:
```text
finance/
config/
data/
database/
```
---
完成:
### DataManager
```python
class DataManager:
```
统一管理:
```text
股票列表
日线
分钟线
财务数据
```
---
不要让策略直接调用:
```python
ak.stock_zh_a_hist()
```
而是:
```python
data_manager.get_daily()
```
这样以后换 TuShare 不改策略。
---
### Week 2
因子引擎
建立:
```text
factors/
technical/
fundamental/
```
---
例如:
```text
MomentumFactor
RSIFactor
ROEFactor
PEFactor
```
统一接口:
```python
factor.calculate(df)
```
---
### Week 3
VectorBT回测层
建立:
```text
backtest/vectorbt/
```
---
统一接口:
```python
engine.run(strategy)
```
以后:
```text
VectorBT
Backtrader
Zipline
```
都能替换。
---
### Week 4
Optuna优化层
建立:
```text
optimizer/
```
---
统一接口:
```python
optimizer.optimize(strategy)
```
实现:
```text
MA
RSI
MACD
```
自动寻优。
---
# 第二阶段(V2
目标:
```text
机器学习选股
```
技术:
```text
LightGBM
CatBoost
```
---
## 新增目录
```text
models/
├── lightgbm/
└── catboost/
```
---
建立统一模型接口:
```python
class BaseModel:
```
---
例如:
```python
fit()
predict()
save()
load()
```
---
所有模型遵循:
```python
BaseModel
```
接口。
---
# 第三阶段(V3
目标:
```text
新闻因子
公告因子
研报因子
```
技术:
```text
Qwen
```
---
新增:
```text
factors/sentiment/
models/qwen/
```
---
Qwen职责:
```text
文本转因子
```
例如:
```text
公告
Qwen
sentiment_score
feature_101
```
---
注意:
Qwen不是策略。
Qwen是:
```text
因子生产工具
```
---
# 第四阶段(V4
Agent化
新增:
```text
finance/agents/
```
---
结构:
```text
research_agent
selection_agent
risk_agent
report_agent
```
---
例如:
### ResearchAgent
负责:
```text
发现新因子
```
---
### SelectionAgent
负责:
```text
股票打分
```
---
### RiskAgent
负责:
```text
仓位控制
```
---
# Claude Code 接入时间点
很多人一开始就写 Skill。
我建议:
### 不要现在写大量 Skill
第一阶段只保留:
```text
.claude/
skills/
factor-research
backtest
stock-selection
```
三个就够。
---
等 V2 完成以后再扩展。
---
# 数据流设计(必须遵守)
未来所有代码都遵守:
```text
Data
Factor
Model
Strategy
Backtest
Report
```
---
禁止:
```text
Strategy
直接访问AkShare
```
---
禁止:
```text
Model
直接访问数据库
```
---
全部通过 Service 层。
---
# 推荐实施顺序
## Sprint 11~2周)
完成:
```text
finance/
DataManager
MariaDB
AkShare
```
目标:
```text
获取任意股票历史数据
```
---
## Sprint 21周)
完成:
```text
Factor Engine
```
目标:
```text
计算10个基础因子
```
---
## Sprint 31周)
完成:
```text
VectorBT
```
目标:
```text
回测单因子策略
```
---
## Sprint 41周)
完成:
```text
Optuna
```
目标:
```text
自动参数优化
```
---
## Sprint 52周)
完成:
```text
LightGBM
CatBoost
```
目标:
```text
训练未来5日收益预测模型
```
---
## Sprint 62周)
完成:
```text
Qwen情绪因子
```
目标:
```text
新闻情绪打分
```
---
## Sprint 7
完成:
```text
Agent
Dashboard
自动日报
```
---
按照这个路线,你的代码会从:
```text
Mac Mini 单机量化研究平台
```
平滑演进到:
```text
多因子 + ML + LLM + Agent
量化研究平台
```
中间不会出现“推倒重写”的情况。最关键的是先把 **DataManager → Factor Engine → Backtest Engine → Model Engine** 四个基础引擎设计好,后面的 LightGBM、Qwen、Agent 都只是插件式增加能力。