loading image

我做了一个投研 Agent,才发现核心根本不是让 AI 选股。

Posted by Enovace on June 27, 2026

我做了一个投研 Agent,才发现核心根本不是让 AI 选股。

Banner

最近刷到 @app_sail 用 [AI 跑纳指定投 26 年回测的文章],很有感触。这也坚定了我做投研 Agent 的方向:核心不是让 AI 预测,而是把流程工程化

过去我跟大多数散户一样,每天刷新闻、看大佬观点、研究别人为什么买、为什么卖。看多了就觉得自己越来越懂,但实际投资结果并不理想。

问题不是信息太少,而是信息太多。每天都有新逻辑、新主线。今天觉得应该进攻,明天又觉得应该防守。决策慢慢变成了信息流反应:看到利好就想买,看到风险就想卖,看到别人赚钱就焦虑,看到别人空仓又怀疑自己。

我真正缺的,不是更多观点,而是一套属于自己的验证系统。

于是我开始做投研 Agent。

一开始我也以为重点是让 AI 回答“明天买什么、哪个板块有机会、现在该不该加仓”。但真正把策略、回测、风控都写完后,我发现方向完全反了。投研 Agent 的核心不是预测,而是把投研流程工程化:让策略可回测、可验证、可复盘、可迭代、可解释,并且能长期执行。

我现在做的是 ETF 动量轮动 Agent。它不是靠一句 Prompt 选股,而是把规则写死。

在 19 只 ETF 池里,每 10 个交易日调仓一次,选择 20 日动量最强并且站上 MA20 的前 4 只,等权持有。所有计算由确定性代码完成,LLM 不允许自由判断哪个更强。

为什么不能让 LLM 做交易大脑?因为它最擅长给任何行情编一个听起来合理的解释。但解释能力并不等于赚钱能力。

正确架构应该是:数据层负责真实行情,策略层负责确定性规则,回测层负责验证结果,Agent 层负责解释、复盘和生成报告。LLM 只做研究副驾驶。

策略里有一组核心超参数:Top4、20 日动量、10 日调仓、MA20 趋势过滤、-12% 止损、10 日冷却期、弱市 70% 仓位上限、熊市 25% 仓位上限,以及强宽基 Bull8 规则。

市场状态也会自动判断:如果沪深300 跌破 MA20 或 20 日动量为负,就进入弱市,仓位上限降到 70%。两者同时满足则进入确认熊市,仓位上限 25%。

我还加了很多真实交易容易忽略的细节:单票从入场价跌到 -12% 日线收盘止损,止损后 10 个交易日内不买回同一 ETF,被冷却的槽位用 510300 兜底,同时计入佣金和滑点,每天按持仓市值加现金滚动计算净值。

如果你也想做投研 Agent,我建议不要一上来就搞炫酷聊天界面。

更好的顺序是:先写最小回测引擎,固定标的池,实现 TopN 动量轮动,加上趋势过滤和调仓周期,再加入费用、止损、冷却和动态仓位,最后才让 Agent 去解释结果和生成复盘。

一个真正可用的投研 Agent,至少要能回答:为什么买?为什么不买?买多少?什么时候卖?错了怎么办?历史上类似情况如何?这条规则在哪些市场环境下会失效?而不是只会说“今天推荐什么”。

下面是一些回测数据

场景区间策略收益基准收益超额收益最大回撤止损次数2018 单边熊市2018-01-02 ~ 2018-12-28-16.91%-29.64%+12.73%-20.56%42019 快速反弹2019-01-02 ~ 2019-04-30+19.93%+39.00%-19.07%-3.28%02020 疫情急跌2020-01-20 ~ 2020-03-23-6.21%-17.75%+11.54%-13.34%52020-2021 大反弹2020-03-24 ~ 2021-02-18+36.86%+71.31%-34.45%-10.29%12022 熊市2022-01-04 ~ 2022-10-31-1.44%-29.53%+28.09%-9.63%12023 震荡2023-01-03 ~ 2023-12-29+0.85%-10.71%+11.56%-7.03%02024 急涨急跌2024-09-24 ~ 2024-10-31+20.78%+16.92%+3.86%-11.51%02025 样本外2025-01-02 ~ 2026-06-24+78.87%+34.32%+44.55%-13.51%1

鲁棒性回测总表

鲁棒性测试覆盖固定压力场景 + 90/180/360 日滚动窗口,共 124 个窗口。

变体正收益窗口跑赢基准窗口平均收益平均超额最差收益最差回撤综合分当前默认 Weak70 + Bear25 + Bull858.87%54.84%+4.70%+1.43%-16.91%-20.56%+4.12Weak70 + Bear30 + Bull858.06%54.03%+4.82%+1.55%-16.76%-20.42%+4.18弱市现金兜底58.87%54.84%+4.65%+1.38%-16.63%-20.78%+3.76弱市现金兜底 + 均线破位退出54.03%53.23%+3.46%+0.19%-13.34%-18.00%+3.50弱市均线破位退出53.23%52.42%+3.48%+0.21%-13.28%-18.59%+2.51

Walk-forward 演变性验证

方法:每次只使用过去 720 个日历日作为训练集,再测试未来 180 个日历日,步长 180 日。该验证用于检查策略是否只是事后过拟合。

变体样本外窗口正收益窗口跑赢基准窗口平均收益平均超额最差收益最差回撤当前默认 Weak70 + Bear25 + Bull81369.23%69.23%+6.84%+3.54%-11.15%-18.33%Weak70 + Bear30 + Bull81369.23%69.23%+6.82%+3.52%-11.12%-18.39%弱市现金兜底1361.54%76.92%+7.07%+3.78%-10.41%-17.09%弱市均线破位退出1353.85%46.15%+5.05%+1.75%-10.29%-13.56%

这是一个 19 只 ETF 池的动量轮动策略,每 10 个交易日按 20 日动量选 Top4,并叠加沪深300市场状态风控。弱市降到 70% 仓位,确认熊市降到 25% 仓位,强宽基时保留一个沪深300ETF槽位。回测包含交易成本、止损、冷却期、日线权益和 walk-forward 样本外验证。当前版本在 124 个滚动窗口中正收益率 58.87%,walk-forward 样本外正收益率 69.23%,2025 样本外收益 +78.87%,但并不保证每个阶段盈利。

最后我想说,AI 在投资里最真实的价值,是把策略、数据、回测、风控、参数、复盘这条链路做扎实。这不是投资建议,只是我开发过程中的阶段性复盘。回测不等于未来,策略一定有短板。欢迎交流你的做法。