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