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

5.5 KiB
Raw Permalink Blame History

我认真看了你的目标和现有环境,我认为有一个关键点需要调整:

不要把 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 11~2周)

完成:

finance/
DataManager
MariaDB
AkShare

目标:

获取任意股票历史数据

Sprint 21周)

完成:

Factor Engine

目标:

计算10个基础因子

Sprint 31周)

完成:

VectorBT

目标:

回测单因子策略

Sprint 41周)

完成:

Optuna

目标:

自动参数优化

Sprint 52周)

完成:

LightGBM
CatBoost

目标:

训练未来5日收益预测模型

Sprint 62周)

完成:

Qwen情绪因子

目标:

新闻情绪打分

Sprint 7

完成:

Agent
Dashboard
自动日报

按照这个路线,你的代码会从:

Mac Mini 单机量化研究平台

平滑演进到:

多因子 + ML + LLM + Agent
量化研究平台

中间不会出现“推倒重写”的情况。最关键的是先把 DataManager → Factor Engine → Backtest Engine → Model Engine 四个基础引擎设计好,后面的 LightGBM、Qwen、Agent 都只是插件式增加能力。