我认真看了你的目标和现有环境,我认为有一个关键点需要调整: **不要把 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 都只是插件式增加能力。