首发:腾讯云开发者社区 | 分类:人工智能 / 开发工具 标签:#WorkBuddy #CodeBuddy #量化回测 #AI工作流 #A股 #自动化 全文约 3600 字,配图 7 张(见文中【配图】标注)
每个做短线的人电脑里都躺着几套"战法"——主升浪、打板、弱转强,规则写得比教科书还齐。但有一个问题从来没人正面回答过:这套东西,到底经不经得起数据拷打?
我手上有份迭代了很久的战法文档(内部代号 V18):六层架构、21 条铁律、一个方向分开仓公式、一堆情绪周期判定。文档本身是完整的,但坦白讲,在改造之前它和市面上所有战法没区别——是一捆写得很自信、但零次被证伪过的信念。
这半个月我干的事,不是"用 AI 选股",而是用 WorkBuddy 把这份信念文档,重构成一个可证伪、可压测、可每日自动复现的工程系统。这篇文章不吹"AI 真香",只讲踩过的坑和沉淀的方法——这套方法论对任何想被验证的策略都适用,不止炒股。

让 AI 跑回测,第一道坎不是模型聪不聪明,而是口径会漂。同一个"连板数",周一它按"连续涨停天数"算,周三它按"几板"算,结果自然对不上——你以为在验证战法,其实在验证 AI 当天的理解心情。
我的解法是把关键口径钉死进 Skill 文件,而不是写在聊天里靠"我提醒你一下"。四个"致命口径"强制锁 T-1 交易日:
钉死之外再加三道护栏:前置日期校验、临界值二次确认、watchdog 异常告警。任何一道拦住,错误结果不许静默流过。

可复用要点:让 AI 做数据活,先把"名词定义"和"计算口径"固化成文件级硬约束。这是防幻觉最有效的一招,没有之一。
口径锁死后才敢跑回测。我分四步:
直接上全量:614 个交易日 / 239 天放行 / 3071 个信号。保守结论是——按规则每日选第 1 名的组合,2.5 年累计 +80.4%(保守下界,5 万→9 万这个量级)。
但一个 +80.4% 证明不了任何事,除非它扛得过下面三"洞"。
回测最经典的造假就是幸存者偏差——偷偷把最差、退市的票剔了,收益自然虚高。
我写脚本查:全部 5620 只标的里,回测失败的 32 只是什么?结论——全是深证指数(sz.399xxx),根本不是股票,零退市股被误剔。再深挖:缓存里窗口内消失的 89 只股票(74 只是 ST/退/*),其中 12 只退市股是真的触发了信号、进了成交表、坏结果已被算进去。
没有系统性剔除最差票 → +80.4% 被加固,不是虚高。

我怀疑"大阴票次日翻红"里,翻红早晚影响收益。拉 1916 笔全量,用三脚本链拆解(拉分钟 K 线 → 结构拆解 → 买入价口径修正)。
拆出一个新形态:晚翻红(10:00 后才翻红)组,剔除涨停动量污染后仍 +4.16%,跨过我预设的 +2% 立档线。我把它正式立档为 7.7.12 晚翻红形态,但立档时钉了三条精确化注记,防止未来误用:
这里有个关键教训:冒烟测试骗过我一次。小样本冒烟显示晚组污染率 62%、新口径 +25%,全量一跑是 12.4% 和 +6.64%——冒烟≈某个子集,虚高严重,必须以全量为准。

买入验完,出场呢?设计三组跑同一份信号:A 组现有规则 / B 组"固定持有 5 日"作锚 / C 组纯止损。A 与 B 的差值就是"出场规则贡献了多少"。
诚实边界写进方案:回测只验止损、验不了止盈——止盈信号(冲高乏力、高潮兑现)要盘中实时判断,历史日 K 里根本没有"当时会不会触发"的记录。跑完严禁宣称"止盈也被验证了"。
这一关是血泪换来的,必须单独讲。
回测最初我用了某个"重型"模型跑晋级率,它大面全对——连板、方向分、炸板、涨停全对,唯独晋级率分母套了套套逻辑:它把"当日连板数"当成 T-1 自证成 100% 晋级率,单点错直接翻转了整条决策。根因不是 prompt 写错了,而是工具语义被误用(tdx_screener('连板') 返回的是当日数据)。
结论很反直觉:模型不是越聪明越好,是越听话越好。最终格局是——
可复用要点:让 AI 进生产流程前,先跑一道"硬化同题 A/B"——换模型必须和原模型答同一道题对一遍。冒烟≠重型,漂亮结论≠没错。

前面都是离线回测,真正的考验是每天自动跑、而且不漂移。我把整套流程拆成 8 个定时任务(cron),覆盖 07:00 早盘简报到 15:32 大阴候选池:
时点 | 任务 | 下次触发 | 状态 |
|---|---|---|---|
07:00 | 早盘简报 | 7/20 06:55 | ✅ |
08:30 | 选股 | 7/20 08:20 | ✅ |
09:45 | 弱转强检测 | 7/20 09:35 | ✅ |
10:25 | 上午盘监控 | 7/20 10:15 | ✅ |
13:00 | 三锚监控 | 7/20 12:55 | ✅ |
14:25 | 指令 A | 7/20 14:20 | ✅ |
15:25 | 盘后复盘 | 7/20 15:20 | ✅ |
15:32 | 大阴候选池 | 7/20 15:27 | ✅ |
上线前我只读直查了调度库的 next_run_at,确认 8 个任务全部指向 7/20(周一)对应窗口、无空、无错日期——这是周一真行情前唯一能提前验证的环节,其他全靠真实数据。
为了周一"干跑不真买"验收,我还列了 5 项打勾清单:门控话术是否出现"方向分 <0.5 → 禁开仓"、冰点期是否零"可买入"输出、三形态分流格式是否对了档位、信号只记录不动钱、8 个 cron 是否按时自触发。盘后五分钟打勾,五天攒出系统第一份实盘验收报告。

跑完这些,我沉淀出三条纪律,能迁移到任何回测场景:
铁律一 · 诚实声明边界。 洞三只验止损、验不了止盈。AI 很容易给你一个"看起来完整"的结论,你得自己守住"哪些没被验证"。结论完整 ≠ 没作弊。
铁律二 · 防过拟合,禁参数寻优。 洞三只跑三组对照,绝不试 −4%/−6%/−7% 哪个止损线最好——那是拿同一份数据给参数挑答案。判定只有一条:A 显著优于 B(差值 >1% 且样本外同向)才算有效,否则说明它在帮倒忙。
铁律三 · 48 小时冷静期。 洞三设计完我没立刻跑,冻结 48 小时。"设计完手痒立刻跑、不满意就改参数"是回测者最经典的翻车姿势。给冲动留一个强制冷静窗口。
半个月最大的收获不是那个 +80.4%,是提问方式的转变:
WorkBuddy 扮演的是不知疲倦、口径一致、能被护栏约束的验证助手——3071 个信号、5620 只标的、1916 笔翻红,手工三个月做不完的活它跑完了。
但它不是神。决策边界、诚实声明、防过拟合、模型选型,全部得我自己守。 模型给你漂亮结论,是你要判断它"有没有偷偷作弊"。
这,才是 AI 时代散户能拿到的那点微弱优势——不是让 AI 替你赌,而是让 AI 帮你把"信念"变成"可验证的知识"。

本文所有回测结论均为历史数据的保守下界,不构成任何投资建议。市场有风险,方法需自证。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。