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

**不要把 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 1（1~2周）

完成：

```text
finance/
DataManager
MariaDB
AkShare
```

目标：

```text
获取任意股票历史数据
```

---

## Sprint 2（1周）

完成：

```text
Factor Engine
```

目标：

```text
计算10个基础因子
```

---

## Sprint 3（1周）

完成：

```text
VectorBT
```

目标：

```text
回测单因子策略
```

---

## Sprint 4（1周）

完成：

```text
Optuna
```

目标：

```text
自动参数优化
```

---

## Sprint 5（2周）

完成：

```text
LightGBM
CatBoost
```

目标：

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

---

## Sprint 6（2周）

完成：

```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 都只是插件式增加能力。

