AI写的量化因子靠谱吗?好坏案例与核心陷阱

AI 代码能力远强于金融直觉,290 个因子独立验证零存活,瓶颈在人是否会验证。
RD-AGENT 项目通过多轮真实战役(A 股、期货、加密货币,累计 290 个因子)检验了 LLM 自动生成因子的真实水平。核心结论是:AI 的代码能力比金融直觉诚实得多——代码 bug 显性可修,逻辑空洞却隐性无反馈。像样的因子集中在人提供的特色数据(基差、持仓量)附近,说明数据边界决定 AI 的研究品味上限;平庸因子具备自由度过高、机制不可证伪、评估次数过多三大伪逻辑特征;翻车因子中,隐性逻辑错误(前视偏差、口径错位)与好因子在排行榜上无法区分,只能靠独立验证暴露。290 个因子自报超额最高 +26.5%,独立验证零存活,真正的瓶颈不是 AI 会不会想因子,而是人会不会验证。
在量化投资领域,利用大语言模型(LLM)自动生成因子假设已成为一种前沿探索。RD-AGENT 项目通过多轮真实战役(涵盖 A 股、期货、加密货币市场,累计 290 个因子),系统性地解剖了 AI 生成的因子究竟长什么样。本章作为该系列第一章的收尾,基于多个独立战役的交叉验证,给出了一个核心判断:AI 的代码能力比它的金融直觉诚实得多。代码 bug 是显性的,跑不通就报错;但逻辑空洞是隐性的,假设再空,回测照样吐出一个数字,而这个数字还会进入排行榜参与选拔。

一、像样的因子:数据边界决定了 AI 的品味上限
在期货面板中,真正具备产业逻辑的因子集中在人为提供的两列特色数据上:基差(期现价差) 和 持仓量。例如,基于期限结构的假设——深度贴水反映交割压力或悲观预期——AI 能构造出基差 z-score 进行均值回复或方向暴露。这类因子值得肯定,但产出方式值得警惕:数据边界是人画的。人把 basis、oi 放进面板,AI 才有素材往这个方向思考;没有这些列,它的假设空间就退化为纯量价。
这一现象在多轮战役中反复出现:AI 提出的"最有金融味道"的假设,几乎总是在人准备好的特色数据附近打转。据 B 站 UP 主和 YouTube 频道的分析共识,AI 的研究品味上限由数据面板的质量决定。它做的是"在给定素材空间内的高效搜索",而非"开辟新的素材空间"。
反面注脚:一个 +18% 的假象
基差/期限结构方向上,工厂曾产出发现期年化 +18% 的 carry 策略,是全部战役中最亮眼的数字。后续审计发现这是双重复权 bug:面板构建时收益在换月处被扣减了两次。纠错后重算:+3.18%,t=0.66,不显著。从"接近可部署"到"统计噪声",中间只隔一次口径审计。
在数据口径被验证之前,最像真的数字往往是最危险的数字。+18% 之所以差点骗过所有人,恰恰因为它"看起来太合理了"——期限结构 carry 本来就该有收益,bug 放大的数字落在了预期之内。
双重复权(double adjustment) 指在构建收益面板时,同一笔价格调整被施加了两次。期货合约存在换月(roll)问题:连续合约拼接时需要处理展期损益,常见做法是使用复权价格序列。若在生成连续价格时已做了一次换月复权,又在计算日收益时对换月日再次扣减价差,则换月当天的收益会被重复修正。这类 bug 不会报错,反而会在方向上放大 carry 类因子的表观表现——因为期限结构因子本就预期在换月附近有收益,被放大的数字恰好落在“合理区间”内,因此极难被肉眼识别。识别方法是对比换月日与非换月日的收益分布,或直接用未复权价格重算一遍做交叉核对。
二、平庸的因子:伪逻辑假设的三大特征
排行榜中段大量存在平庸因子。以 turn_of_month_rank(换月效应)和 overlay_reversal_liquidity(反转×流动性叠加)为代表,自报超额分别高达 +26.5% 和 +14.9%。但这类因子往往具备伪逻辑假设的三个特征:
- 自由度过高:两个已知现象(短期反转、流动性溢价)相乘或取交集,参数(回看窗口、过滤阈值、分位边界)全是可调的。参数空间越大,回测越容易找到好看的一格。
- 故事讲得好但机制模糊:"流动性差的票反转更强,因为套利资金进不去"——听起来合理,但它同时能解释相反的结果("流动性差的票动量更强,因为信息扩散慢")。能解释任何结果的机制,等于没有机制。
- 评估次数多:
turn_of_month_rank经历 15 次评估、14 个版本。循环反复碰它,本身就是"数字靠多次尝试磨出来"的信号。
对照一个正例:在加密货币两轮战役后经独立验证确认的真信号是 vol_20d(波动率)和 reversal_5d(5 日反转)。这两个是文献里被反复验证过几十年的经典现象。AI 循环绕了一大圈,最后活下来的还是教科书因子。这不是巧合:教科书因子经过了几十年、几十个市场、无数研究者的"多重检验",而循环内新造的叠加因子只经过了排行榜这一次选拔。
对 LLM 生成的新颖组合因子,默认假设是"参数搜索的产物";举证责任在因子一方。经受过跨市场、跨年代检验的经典现象,先验天然高一档。
多重检验(multiple testing) 问题是量化研究中最容易被忽视的统计陷阱。当研究者对同一份数据反复尝试不同参数、不同组合、不同过滤条件时,即使真实信号为零,也几乎必然能找到一个“看起来显著”的结果。假设每次独立检验在 5% 显著性水平下产生假阳性的概率为 5%,做 20 次独立尝试后,至少出现一次假阳性的概率约为 64%。排行榜本质上就是一个多重检验发生器:它展示的是所有尝试中的最大值,而非期望值。因此,评估次数本身就是因子的“隐性成本”,需要在使用 t 统计量时做 Bonferroni 或 FDR 校正,或通过样本外/预注册验证来抵消。
三、翻车的因子:显性错误与隐性错误的不对称性
循环中的失败分为两种,教学价值截然不同。
跑不通型:代码报错(对齐错误、缺列、边界溢出)。这一类 AI 处理得很好——读报错、定位、自动修复、重跑,工程上无可挑剔。
隐性翻车型(危险得多):代码跑通、回测数字完美,但逻辑上使用了未来数据(前视偏差)或口径错位。工厂自身没有任何警报机制——它和好因子在排行榜上长得一模一样,只能靠独立验证暴露。期货第一轮 136 个试验在预注册验证下全灭,其中一部分就属于这类。
代码错误是显性的,有即时反馈,AI 能自修;逻辑错误是隐性的,无反馈,AI 毫无察觉,人若不验也不知道。循环加速了第一种错误的消亡,同时加速了第二种错误的繁殖。
前视偏差(look-ahead bias) 指在计算某个时点的因子值时,用到了该时点之后才能获得的信息。常见形式包括:用当日收盘价计算信号却在当日开盘执行、用财报公布前的数据却按财报期对齐、用整个样本期统计量做标准化。前视偏差的可怕之处在于它几乎总会让回测结果变好——因为因子“提前知道”了未来。它不会引发代码报错,也不会在单一因子的指标上留下异常痕迹,只能通过严格的时间戳审计、逐行检查数据对齐逻辑、或使用 walk-forward 验证来发现。
四、AI 因子工厂的诚实画像
综合多轮战役的独立验证结果,可以给出一个清晰的评估框架:
- 代码实现:强。质量高、可自修,产出速度人力无法比拟。
- 假设生成:中。在给定数据素材内高效搜索,经典现象的再发现可靠,新颖假设多为高自由度重组合。
- 数据口径:弱。双重复权、基准伪影这类问题 AI 完全无感。
- 结果可信度:无内置机制。排行榜是多重检验发生器,头名不可信。
- 真正的瓶颈:不是"AI 会不会想因子",而是"人会不会验证"。
290 个因子、自报超额最高 +26.5%、独立验证零存活——这一结论揭示了 AI 在量化研究中的真实定位。它不是替代人类研究品味的工具,而是放大了人类在数据准备与验证环节的职责。如果让循环在生成阶段就自动过滤高自由度的伪逻辑假设,可检查的特征包括:可调参数个数、假设能否被相反结果证伪、是否引用了特色数据列。
预注册验证(pre-registration) 源自临床试验的方法论:在查看结果之前,先书面锁定假设、样本区间、评估指标与显著性阈值,之后再跑数据。它的核心作用是切断“看到结果后调整口径”的后路,从而消除多重检验带来的假阳性。在量化因子研究中,预注册意味着因子逻辑、参数和回测方案必须在独立数据上一次性验证,不允许循环内反复微调。期货第一轮 136 个试验在预注册验证下全灭,正是因为预注册堵死了“多试几次总能碰对”的路径,暴露出循环内自报超额的虚高本质。
相关推荐

主流世界之外:被忽视地区的安全与隐私困境
人本安全研究长期集中于西方,导致安全方案在主流世界失效。研究者Collins Minando基于肯尼亚移动贷款应用、网吧认证困境及九国本地专家研究,揭示社会经济约束如何重塑隐私实践,并提出移动货币隐私重设计与PETs部署路径。

Claude被曝可在正常图片中隐藏秘密信息
Reddit帖子称Claude Fable 5.1能在正常图片中隐藏秘密信息,本文梳理事件背景、图片隐写技术原理及潜在安全风险,并给出从传闻走向验证的测试路径建议。

AI助手何时该主动建议?时机决定一切
AI助手何时该主动建议?Reddit讨论揭示:同样的建议在不同时机感受迥异。本文分析主动建议的双面性、用户期待的分界线及设计原则,探讨如何平衡自动化与用户控制。