第三讲 · LLM 写的因子长什么样:AI 的研究品味

第一章第三讲(本章收尾)
学习目标:通过真实案例建立对 LLM 因子假设质量的判断力;识别"伪逻辑假设"的特征;理解代码质量与逻辑质量的不对称。

1. 开场

前两讲我们隔着玻璃看工厂:循环怎么转(第一讲)、成绩单怎么读(第二讲)。这一讲开门进去,把 AI 写的因子摆上解剖台。材料全部来自真实战役产出(A 股 290 因子池、期货两轮、crypto 两轮)。

先给本章的总结论,然后逐类验证它:

AI 的代码比它的金融直觉诚实得多。 代码 bug 是显性的——跑不通就报错,反馈即时;逻辑空洞是隐性的——假设再空,回测照样吐出一个数字,而这个数字还会进入排行榜参与选拔。

2. 案例一:像样的——但要看清"像样"的来源

期货面板上真正有产业逻辑的因子,集中在人给的两列特有数据上:基差(期现价差) 和 持仓量。例如基于期限结构的假设:深度贴水(远月大幅低于近月)通常反映交割压力或悲观预期,构造基差 z-score 做均值回复或方向暴露。

这类因子值得肯定——但请注意它的产出方式:数据边界是人画的。人把 $basis、$oi 放进面板,AI 才有素材往这个方向想;没有这些列,它的假设空间就退化为纯量价。这个现象在三轮战役里反复出现:AI 提出的"最有金融味道"的假设,几乎总是在人准备好的特色数据附近打转。

结论一:AI 的研究品味上限,由数据面板的质量决定。它做的是"在给定素材空间内的高效搜索",不是"开辟新的素材空间"。

2.1 一个必须讲的反面注脚:carry 因子的 +18% 是假的

基差/期限结构方向上,工厂曾产出一个发现期年化 +18% 的 carry 策略——是全部战役中最亮眼的数字。后来审计发现这是双重复权 bug:面板构建时收益在换月处被扣减了两次。纠错后重算:+3.18%,t=0.66,不显著。

一个数字从"接近可部署"到"统计噪声",中间只隔一次口径审计。这个故事第九讲整讲展开(期货面板五坑),这里先立一块碑:

在数据口径被验证之前,最像真的数字往往是最危险的数字。 +18% 之所以差点骗过所有人,恰恰因为它"看起来太合理了"——期限结构carry 本来就该有收益,bug 放大的数字落在了预期之内。

3. 案例二:平庸的——伪逻辑的识别

排行榜中段大量存在这一类。以 turn_of_month_rank(换月效应)和 overlay_reversal_liquidity(反转×流动性叠加)为代表——自报超额 +26.5% 和 +14.9%。

伪逻辑假设的三个特征,用反转×流动性叠加举例:

  1. 自由度过高:两个已知现象(短期反转、流动性溢价)相乘或取交集,参数(回看窗口、过滤阈值、分位边界)全是可调的。参数空间越大,回测越容易找到好看的一格。
  2. 故事讲得好但机制模糊:"流动性差的票反转更强,因为套利资金进不去"——听起来合理,但它同时解释得了相反的结果("流动性差的票动量更强,因为信息扩散慢")。能解释任何结果的机制,等于没有机制。
  3. 评估次数多:turn_of_month_rank 15 次评估、14 个版本——循环反复碰它,本身就是"数字靠多次尝试磨出来的"的信号(第二讲的 combos/versions 原则)。

对照一个正例:crypto 两轮战役后经独立验证确认的真信号是 vol_20d(波动率)和 reversal_5d(5 日反转)——注意,这两个是文献里被反复验证过几十年的现象。AI 循环绕了一大圈,最后活下来的还是教科书因子。这不是巧合:教科书因子经过了几十年、几十个市场、无数研究者的"多重检验",而循环内新造的叠加因子只经过了排行榜这一次选拔。

结论二:对 LLM 生成的新颖组合因子,默认假设是"参数搜索的产物";举证责任在因子一方。经受过跨市场、跨年代检验的经典现象,先验天然高一档。

4. 案例三:翻车的——以及翻车之后发生了什么

循环里的失败分两种,都有教学价值。

跑不通型:代码报错(对齐错误、缺列、边界溢出)。这一类 AI 处理得很好:读报错 → 定位 → 自动修复 → 重跑。工程上无可挑剔。

隐性翻车型(危险得多):代码跑通、回测数字完美,但逻辑上用了未来数据(前视偏差)或口径错位。这一类工厂自身没有任何警报机制——它和好因子在排行榜上长得一模一样,只能靠独立验证暴露。期货第一轮 136 个试验在预注册验证下全灭,其中一部分就属于这类:工厂口径的数字看不出问题,独立管线一复算就原形毕露。

于是有本讲最重要的一条不对称性:

代码错误:显性、即时反馈、AI 能自修。
逻辑错误:隐性、无反馈、AI 毫无察觉、人若不验也不知道。
循环加速了第一种错误的消亡,同时加速了第二种错误的繁殖。

5. 本章总结

三章合起来,给"AI 因子工厂"一个诚实的画像:

维度 评价
代码实现 强。质量高、可自修、产出速度人无法比拟
假设生成 中。在给定数据素材内高效搜索,经典现象的再发现可靠,新颖假设多为高自由度重组合
数据口径 弱。双重复权、基准伪影这类问题 AI 完全无感
结果可信度 无内置机制。排行榜是多重检验发生器,头名不可信
真正的瓶颈 不是"AI 会不会想因子",而是"人会不会验证"

290 个因子、自报超额最高 +26.5%、独立验证零存活——这就是第一章的终点,也是第二章的起点。下一章讲验证管线本身:预注册、DSR 门槛、主副裁判,看"全军覆没"这个结论是怎么被诚实且可复现地得出来的。

思考题:如果让你设计一个机制,让循环在生成阶段就自动过滤掉高自由度的伪逻辑假设,你会检查哪些特征?(提示:可调参数个数、假设能否被相反结果证伪、是否引用了特色数据列)