文章摘要
针对AI量化自主研究中回测存在数据泄漏、过拟合导致结果不可信的问题,多所高校与科技机构研究团队推出递归自改进的AQuA量化交易Agent,通过将数据路径、评价规则与研究迭代隔离的双重设计保障可信度,设两套独立系统分别开展因子研究与模型研发,测试表现良好,该思路可迁移至其他AI自主研究领域,目前仍存应用局限。

当量化研究员看到一条亮眼的回测曲线时,第一反应往往不是欣喜,而是一连串的质疑:是否用到了未来数据?测试集是否被反复查看过?收益是否只来自特定的极端行情?这背后是量化研究最朴素的共识:得到一个好看的结果并不难,难的是证明这个结果真实可信。

当AI代理开始自主提出假设、运行实验并根据结果调整后续研究方向时,这个信任问题就变得更加棘手。一次未被发现的数据泄漏,可能会被系统当成有效经验保存下来,之后Agent不仅不会持续进步,反而会沿着错误的结论越走越远。

来自多所高校和科技机构的研究团队,在相关论文中聚焦于这个问题,提出了AQuA系统。AQuA包含两套独立的研究系统:第一部分专注于符号化因子研究,第二部分则针对可训练模型展开研发。两者使用不同的Agent、记忆库和候选空间,但遵循统一的核心原则:让通过严谨验证的实验结果进入下一轮研究决策,同时将数据路径和评价规则与研究迭代循环隔离开来。

在加密资产五分钟级数据的测试中,第一部分的组合验证集Spearman IC达到约0.190;第二部分在美股未来30分钟收益预测任务中,逐股票IC达到+0.0843,基于该信号构建的多空策略在计入双边换手成本后,样本外Sharpe最高可达+2.50,且在2021到2025年间每年的Sharpe值均为正。

递归自我改进的核心逻辑

AQuA的递归自我改进并非调整底层模型权重,而是优化整个研究流程。每次实验开始前,系统会先形成可验证的假设:因子研究需要明确经济机制、预测方向和证伪条件;模型研究则将想法转化为具体的配置修改。实验结束后,系统保存的不仅是IC或Sharpe这类指标,还包括候选方案的提出背景、适用的市场状态、与基线模型的对比情况,以及推翻初始判断的关键证据。

下一轮的研究正是基于这些记录展开的:多次失败的机制不会换个表述重新出现;方向判断有误但仍具备预测力的信号,可以经过校准后保留;仅在个别事件中有效的结果,也会带着明确的适用条件进入记忆库。这和单纯给Agent增加长期记忆模块有本质区别——记忆的质量取决于其中保存的证据是否可靠,如果一次存在数据泄漏的实验被标记为有效,更长的记忆只会让错误传播得更远。

因此,AQuA将两个常被混淆的问题拆分处理:Agent可以根据过往结果调整研究方向,但不能同时修改产生这些结果的数据来源和评分方法。研究过程可以持续迭代,但判断研究成败的标准始终保持稳定。Agent的能力不再仅体现在单次能提出多少候选方案,更要看它能否将前一次实验的结果转化为下一轮研究真正可用的证据。

从真实事故中迭代的架构设计

AQuA的受限架构并非一开始就确定的。论文附录记录了一次早期的研发事故:当时Agent可以直接编写特征代码,另有一个专门的Agent负责检查前视偏差。当时的候选特征是“盘中成交量参与率”,即从开盘到当前时刻的累计成交量占当日总成交量的比例。从文字描述来看,这个特征似乎仅依赖已发生的交易数据,负责审查的Agent也据此放行。

但代码中的分母并非截至当前时刻的历史估算值,而是当日从开盘到收盘的总成交量——在中午计算该特征时,下午尚未发生的成交量已经被纳入分母。另一个多时间尺度版本也存在类似问题:日线分支汇总了当日所有分钟级数据,却被盘中时刻直接读取。

这次数据泄漏带来的held-out IC远高于常规价量特征,但在重新划分评估窗口后,效果完全无法保留。研究人员顺着特征的数据依赖关系逐一排查,才定位到全日成交量分母这个问题。值得注意的不是Agent犯了编码错误,而是两个Agent都没有发现这个问题:负责编写和审查的Agent对特征的经济含义理解一致,都认为它仅使用历史信息,但问题恰恰出在程序实际访问的时间戳上。

这次失败让团队放弃了“增加更多模型审查环节”的思路,因为语义上的合理解释无法替代对数据路径的硬约束。如果系统的可靠性依赖每个Agent都做出正确判断,那么运行时间越长,出现疏漏的概率就越高。现在的AQuA不再允许Agent随意编写特征和实验代码,系统预先登记了可用的因果算子和模型组件,Agent只能在这个范围内组合表达式或提交配置差分。当日最终成交量不在可用字段中,之前的那个特征就再也没有机会进入实验。论文完整披露这次失败,也让AQuA的设计逻辑更加清晰:如今的架构并非为了形式上的完整而添加的模块,而是从真实的研发事故中倒推出来的。

双重隔离保障研究可信度

量化研究中的数据泄漏并非只发生在特征生成阶段。即使每项实验都严格遵守时间因果关系,只要Agent能反复查看最终测试集,就可能在大量尝试中逐渐适配这段数据,造成过拟合。因此AQuA设置了两个关键的隔离入口。

第一个隔离来自候选生成过程:特征、标签、归一化或数据变换一旦能访问预测时点之后的信息,实验从一开始就失去了意义。AQuA在自主循环启动前就固定了数据切分方式、特征定义、标签设置和评价器规则。第一部分的因子研究只能组合预先登记的时间序列和截面算子;第二部分的模型研发只能修改模型结构、损失函数、采样器和优化器等配置。Agent可以选择研究方案,但不能改写数据加载器和评价逻辑。

第二个隔离来自候选选择过程:搜索阶段只会向Agent返回预先确定的验证集分数,用于候选排序、早停和checkpoint选择。最终测试窗口要等到配置完全确定后才会运行,且测试结果不会返回给Agent用于后续调参。以第二部分为例,2010到2019年的数据用于训练,2020年被留作隔离带,2021到2025年才作为最终测试窗口。

前一种隔离关注“候选方案是如何生成的”,后一种隔离关注“候选方案是如何被选中的”,两者缺一不可。一个完全符合时间因果的模型,也可能因为反复查看测试成绩而过拟合;一个从未接触过测试集的Agent,也可能在构造特征时无意间读取到未来数据。这套设计将可信度建立在研究环境本身,而非Agent对自身推理的解释上。对于持续运行的研究系统来说,逐次验证Agent的推理过程难度极大,但通过权限控制、数据血缘追踪和运行记录审计,就可以有效保障研究环境的可信度。

两套系统验证统一研究逻辑

AQuA没有将因子发现和模型研发整合成一套共享状态的大一统系统,而是让两部分独立运行,这恰好提供了两个差异极大的验证场景:一边处理带有明确经济含义的符号化假设,一边处理深度模型的结构与训练配置。

第一部分的因子发现系统由AI Manager调度六个专业Agent:Data Steward负责数据质量与对齐,Visual Analyst寻找相关市场事件,Idea Miner提出研究机制,Factor Evaluator完成统计检验,Backtest Engineer检查交易含义,Research Librarian保存证据并更新研究记忆。Agent之间不直接调用,所有任务分配和交接都经过Manager,因此从研究目标到最终因子入库的完整流程,都可以追溯完整的实验记录。

论文展示的一轮因子研究从一个市场问题展开:当未平仓合约快速下降后,如果价格出现反弹,但没有主动买盘和基差修复的配合,这次反弹是否更容易失败?系统首先寻找强制去杠杆事件,对比价格、成交量、基差和taker flow的后续变化,再将观察结果转化为可证伪的机制。候选因子不仅要和简单的价格、持仓量及订单流基线进行对比,还要检查效果是否集中在假设描述的事件窗口内,以及是否只是现有因子的重复表达。

这类机制中,表现较好的单因子IC约为0.026到0.037。经过20轮自主研究后,组合验证集的Spearman IC提升到约0.190。这种提升并非来自某个突然出现的“神奇公式”,而是一组经过检验、经济机制不同的弱信号逐步积累的结果。

第二部分的模型研发则针对完全不同的任务:预测每只美股未来30分钟的收益。每轮实验仅提交一个config diff,明确记录本次修改的是模型结构、损失函数还是训练策略。固定的数据路径和评价器让不同的模型变体可以直接对比,也让后续Agent能够清晰知道性能提升的来源。

最终采用的混合时序架构包含多个模块:多尺度一维卷积用于提取局部价量变化特征,时序主干处理更长距离的市场动态,截面模块在同一时刻混合不同股票间的信息,最后由读取层输出逐股票的预测分数。架构注册表覆盖了LSTM、Mamba和Transformer等组件,本次实验配置使用了attention机制。

在相同的评价器下,表现最强的基线模型GRU的逐股票IC为+0.0613,而AQuA搜索得到的混合模型达到+0.0843。将信号进行行业中性化处理后,构建美元中性的多空组合,在计入2bps的双边换手成本后,样本外Sharpe为+2.15;加入仅使用历史数据的波动率控制后,Sharpe升至+2.50。在仅使用测试前数据确定参数的walk-forward评估中,Sharpe仍约为+2.0。

两套系统的结果无法直接横向对比:0.190是加密资产五分钟级组合因子的Spearman IC,而0.0843是美股逐股票的时间序列raw IC。但它们共同验证了同一个结论:“证据进入记忆、评价保持独立”的研究方法,可以适配两种完全不同的量化研发任务,并不依赖特定的Agent编排或模型类型。

重新定义研究循环中的信任关系

当前很多关于研究Agent的讨论,都聚焦于模型能否提出更新的想法、调用更多工具,或是独立完成更长的任务。但AQuA追问的是另一个核心问题:当系统开始依据自身的实验结果持续调整下一轮研究时,谁来保证这些结果值得被记住?

这个问题在量化领域尤为尖锐,但并不局限于量化范畴。自动调参、材料发现、药物筛选或是模型优化,只要Agent可以反复调用评价器,就会同时面临生成过程污染实验和搜索过程适配指标的风险。AQuA对两类数据泄漏的拆分,以及对数据路径和最终指标的隔离,提供了一种可迁移的解决思路。

它也重新定义了人类在研究循环中的角色:研究者不必逐句判断Agent的推理是否可信,而是可以将精力集中在更少但更关键的环节:如何定义数据、哪些实验动作是被允许的、候选方案的比较规则是什么、哪些结果有资格进入下一轮研究。人类的判断并没有退出研究循环,只是从逐次看守每个实验,转向设计和审计整个研究制度。

从这个角度来看,团队将第一和第二部分保持独立,并非系统尚未拼装完成。如果因子搜索和模型搜索共享数据与状态,前一阶段筛选出的过拟合因子可能成为后一阶段的输入,带来两套独立系统都不会出现的新泄漏。论文提出的下一步并非直接将两者连接,而是先冻结经过筛选的因子库,再将其作为第二部分数据沙箱的一部分。对耦合风险的处理,比简单增加功能更能体现这项工作的研究取向。

当然,AQuA也有明确的适用范围:第一和第二部分分别仅在单一市场和单一预测周期上完成验证;交易结果来自模拟回测,尚未经过实盘检验;最终测试集的隔离依赖运行权限和审计,而非密码学意义上的强制隔离。论文并没有回避这些限制。

但它已经回答了一个此前常被性能数字掩盖的问题:自主研究系统的上限,不仅取决于模型的智能程度,更取决于系统能否分辨哪些是真正的新证据,哪些只是偶然的高分。在AQuA中,20轮因子研究能够持续积累、模型架构能够不断改进,正是因为研究过程保留了可追溯的成功与失败,同时没有将评价标准交给搜索本身。由此产生的回测曲线固然亮眼,但更有价值的是曲线背后的研究能力——它知道如何继续寻找有效信号,也知道哪些结果暂时还不值得信任。

以上内容不代表本平台立场,仅供读者参考