如果 AI 不能自己跑回测,相当于你有一位战无不胜的将军,但打起仗来需要时刻向你请示。大部分量化开发者使用聚宽、Ptrade、QMT 等平台时,都会遇到一个尴尬的问题——AI 帮你写的策略代码,永远需要你自己粘进平台、点回测、等待、导结果。
整个流程里,人是瓶颈。AI 不能自己跑回测,也不能自主分析。解法很直接:自己造一个让 AI 直接生产的最小回测环境。
Loop 回测框架设计
这套框架使用 tushare 作为数据源(个人开发者常用),核心设计原则是策略和撮合完全分离——策略只输出目标持仓和权重,后面的涨跌停拒单、T+1 撮合、佣金计算全由框架处理,策略代码绝不碰账本。
数据层走 tushare + parquet 双层缓存,撮合层实现 T+1 开盘成交 + 涨跌停/停牌自动拒单。基于后续魔改的灵活性考虑,没有使用 backtrader 等开源项目,而是从头搭建。


真实策略案例
框架附带两个案例策略,都来自聚宽社区——蒋老师分享的中小板块选股小市值策略,以及 ETF 轮动策略。

案例一:基本面小市值策略(/goal 模式)
要求 eps>0,营收同比和净利润同比增长率大于 0,ROE 位于全市场前 30%分位数,取市值最小的前 10 只股票,回测时间 2019.1.1 至今。AI 直接完成代码编写和回测执行,相比传统 IDE 开发模式,效率大幅提升。

案例二:ETF 斜率动量轮动(loop-skill 迭代模式)
让 AI 基于 ETF 轮动策略跑出 3 个优化方案:
- v1 趋势过滤:未达标(不过拟合证据)
- v2 波动率动量:夏普 1.035,提升 27.6%
- v3 分散持仓:夏普 1.093,提升 34.8%


loop-skill 的核心设计:三件套 + 工具硬隔离
loop-skill 本质是三件套:
- Builder:含 Read/Write/Edit 工具,能改代码、不检查。
- Checker:只有 Read/Grep/Glob/Bash,物理上没有 Write/Edit,只能查、不能改。
- 主对话(编排器):对齐任务 → 派 builder → 派 checker → 原样转发失败报告 → 判停。
工具层硬隔离是核心。提示词挡不住 Agent 偷懒,工具权限挡得住——checker 拿不到 Write 文件,再怎么"提示"它也改不了。
与 /goal 的核心差别
/goal 是单 Agent 模式——Claude Code 内置 fresh model 拿 Stop hook 对照条件文本判断,相当于自带了一个通用裁判。
loop-skill 是多 Agent 编排。Builder 专门写代码,Checker 专门挑刺——评判权完全不在写代码的 agent 手里。量化场景里,checker 不只是看"测试过没",还得跑回测、查未来函数、查强制成交、查过拟合——这些通用 /goal 接不住。
总结
AI 时代量化开发的入场券,是三样东西缺一不可:
- 造一个让 AI 直接生产的最小回测环境
- 装一个敢说"不"的 AI 同行者
- 守住作为工程师的判断力
工具只是工具——最终判定哪个策略能上实盘、哪个回测结果可信的,还是你。