📑 本文目录
AlphaForgeLLM因子挖掘多智能体多模态量化策略arXiv

AlphaForge深度解读:多智能体+多模态如何让LLM真正"挖出"可交易Alpha因子


论文信息表

项目内容
论文标题Automate Strategy Finding with LLM in Quant Investment
中文译名大语言模型驱动的量化投资策略自动发现框架(AlphaForge)
作者Zhizhuo Kou, Holam Yu, Junyu Luo, Jingshu Peng, Xujia Li 等
机构香港科技大学(HKUST)、北京大学
arXiv ID2409.06289
发表时间2024年9月(2025年修订)
项目代码未公开(论文未提供开源仓库)
数据集SSE50/CSI300/SP500成分股(2019-2024)

引言:LLM挖因子,到底卡在哪?

过去两年,“用LLM挖掘Alpha因子”几乎是量化圈最热闹的方向。但认真做过的人都知道三个痛点:

  1. LLM会写因子,但不会选因子——让它生成100个表达式很容易,但哪个能赚钱、哪些之间高度相关、哪些只在特定市场状态下有效,LLM自己判断不了
  2. 传统机器学习模型在金融数据上太脆——XGBoost/LightGBM在ImageNet上称王,一到A股就过拟合,样本外IC经常腰斩
  3. 单一Agent视角片面——一个LLM同时扮演”因子生成器+风险评估+组合优化”,角色冲突导致输出平庸

AlphaForge(arXiv 2409.06289,港科大+北大)的破局点正是瞄准这三个痛点。它没有发明新的因子表达式,而是把”人写因子→人回测→人选因子”的传统流程,改造成LLM生成→多智能体协同筛选→深度学习动态加权的三阶段自动化管线。这篇解读重点拆解它的工程架构和实验数据,特别是消融实验暴露的脆弱性。

核心设计:三阶段流水线

AlphaForge不是”一个LLM”做所有事,而是一个风险感知的多智能体系统。三阶段如下:

阶段一:种子Alpha工厂(Seed Alpha Factory, SAF)

这一步用LLM分析多模态金融文档(学术论文、财报、K线图、研报),把它们归类为八大类独立的种子Alpha:

  • 动量类(CLOSE-DELAY(CLOSE,14))(RSI-DELAY(RSI,14))
  • 均值回归类(MA(CLOSE,20)-CLOSE)
  • 波动率类STD(CLOSE,10)/STD(CLOSE,50)(BOLL_UP-BOLL_DOWN)/SMA(CLOSE,20)
  • 基本面类(GROSS_PROFIT/REVENUE)(OPERATING_INCOME/REVENUE)
  • 流动性类VOLUME/MARKET_CAPVOLUME*CLOSE
  • 质量类成长类宏观经济类

关键设计:LLM不是凭空”编”因子,而是从Kakushadze的《101 Formulaic Alphas》和Lopez de Prado的《Causal Factor Investing》这些已有研究中提取并分类,保证八类因子之间相互独立(这点很重要,后面加权时要用)。

阶段二:多智能体多模态评估(Multi-Agent Multimodal Evaluation)

这是论文最有创新的部分。系统输入五种模态数据(文本+表格+图像+音频+视频),然后用两个专职Agent评估每个Alpha:

Confidence Score Agent(CSA,置信度评分Agent)

计算每个Alpha在历史各市场状态下的IC期望值:

θ_ij = E[IC(α_ij(t)) | M(t)]

θ越高,说明该Alpha在各种市场环境下预测力越稳定。这本质是”跨周期IC稳健性”的量化。

Risk Preference Agent(RPA,风险偏好Agent)

ρ_ij = f_risk(α_ij(t), M(t))

评估Alpha的风险特征——在牛市/熊市/震荡市的表现差异。注意这两个Agent用的是不同的输入视角和评估函数,这是多智能体协同的核心:不是冗余,而是互补。

阶段三:DNN权重门控(Dynamic Weight Optimization)

最后用一个深度神经网络,根据当前市场状态M(t)对筛选出的Alpha集合做动态加权。网络输入是当前市场状态+各Alpha值,输出是每个Alpha的最优权重。训练用验证集控制过拟合。

技术架构图

┌─────────────────────────────────────────────────────────┐
│  多模态输入                                              │
│  文本(公告/研报) 表格(财报) 图像(K线) 音频(电话会) 视频  │
└────────────┬────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  阶段一:种子Alpha工厂(SAF)                            │
│  LLM提取 → 八大类分类(动量/反转/波动/基本面/流动性/    │
│  质量/成长/宏观)→ 101+种子Alpha池                      │
└────────────┬────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  阶段二:多智能体多模态评估                              │
│  ┌──────────────────┐    ┌──────────────────┐           │
│  │ CSA 置信度Agent   │    │ RPA 风险偏好Agent │           │
│  │ E[IC|M(t)]       │    │ f_risk(α, M)     │           │
│  └────────┬─────────┘    └────────┬─────────┘           │
│           └────────┬──────────────┘                      │
│                    ▼                                     │
│           筛选后的Alpha集合                              │
└────────────┬────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────┐
│  阶段三:DNN权重门控                                     │
│  输入: 市场状态M(t) + Alpha值                            │
│  → 动态权重 w_i → 组合策略                               │
└─────────────────────────────────────────────────────────┘

实验结果表:53.17%收益从哪来?

论文在SSE50上做了2023年1月-2024年1月的回测(训练2021H2-2022H1,验证2022H2),核心对比数据如下:

策略最终收益(%)Sharpe波动率(%)SortinoCalmar
AlphaForge(本论文)53.170.2870.7620.2081.052
XGBoost9.530.0381.0190.0670.103
LightGBM7.130.0300.9930.0530.066
MLP3.110.0130.9600.0230.043
PPO_filter2.870.0130.8860.0240.017
FinCon(2024)22.470.0771.1960.1260.232
SEP(2024)17.890.0601.2170.1030.157
SSE50基准-13.22-0.0630.859-0.111-0.043

几点观察(不能只看数字):

  1. 收益碾压,但Sharpe并不惊艳:53%收益对应的Sharpe只有0.287。这是什么概念?按年化252天折算,日均夏普约0.287×√252≈4.56——但论文里的Sharpe明显是按某种”日度”口径算的,0.287意味着这个策略波动率非常高(0.762%日波动)。换句话说,赚得多但回撤也大,不是稳健型。
  2. XGBoost的9.53%才更”真实”:作为传统机器学习基线,XGBoost在SSE50上一年赚9.53%,这和国内公募量化增强产品的实际水平接近。AlphaForge的53%需要打个问号。
  3. 基准-13.22%很关键:2023年SSE50确实下跌,所以所有正收益策略都有显著超额。但这说明论文选了个”对手很弱”的测试窗口。

跨市场和时间窗口的稳健性(Table 6)

窗口AlphaForge年化(%)基准年化(%)AlphaForge累计(%)基准累计(%)最大回撤(%)
CSI300
2021H129.707.3111.913.10-19.40
2022H112.78-30.375.29-14.37-24.01
2023H1192.279.1359.033.85-17.03
SP500
2021H193.6129.6735.1912.59-7.89
2022H12.77-44.221.25-23.39-20.55
2023H1118.2435.2242.7814.76-11.52

这里有个红旗:CSI300在2023H1年化192%,这个数字高到离谱。半年59%的累计收益,对应的回撤却有-17%。这种”高收益+高回撤”的组合,通常是集中持仓+杠杆的特征,而不是真正分散的多因子策略。论文没有披露持仓数量和换手率,这是个透明度问题。

消融实验:多智能体协同的真相

这是论文最有价值的部分(Table 7和Table 9),因为它揭示了每个组件到底贡献了多少

组件消融(Table 7)

模型配置样本内IC样本外ICSharpe
完整模型0.0590.0471.94
去掉Confidence Score Agent0.0540.0321.51
去掉Risk Preference Agent0.0560.0391.34

关键发现:

  1. CSA比RPA更重要:去掉CSA,样本外IC从0.047降到0.032(-32%);去掉RPA,降到0.039(-17%)。置信度评分(跨周期IC稳定性)比风险偏好评估贡献更大。
  2. 两个Agent都有用:单独去掉任一个,Sharpe都从1.94降到1.3-1.5区间。多智能体协同确实有效,不是花架子。
  3. 样本内外IC衰减温和:0.059→0.047,衰减约20%。这在量化里算不错的(很多策略衰减50%+),说明框架有一定泛化能力。

Agent权重敏感度(Table 9)——这里有陷阱

CSA权重RPA权重牛市Sharpe熊市Sharpe总体Sharpe
1.00.04.326.608.10
0.80.2-3.41-7.23-2.68
0.60.48.7010.3711.39
0.50.5-0.49-1.62-5.10
0.40.6-4.27-4.41-8.04
0.20.85.688.519.00
0.01.0-0.611.78-4.35

这张表暴露了框架的脆弱性

  • 最优配比是CSA:RPA = 0.6:0.4,总体Sharpe 11.39
  • 但偏移到0.8:0.2,Sharpe暴跌到-2.68(负的!
  • 偏移到0.5:0.5,Sharpe变成-5.10
  • 只有0.6:0.4和0.2:0.8两个点是正的

这是典型的过拟合特征:参数在某个精确值附近性能极好,稍微偏移就崩溃。按backtest-guardrails的B9标准(参数±20%变化范围内年化变化小于15pt为鲁棒),这个权重配比不鲁棒。11.39的Sharpe本身也触发了B阶段三的”Sharpe>2几乎必然有bug或过拟合”的自检红线。

神经网络超参敏感度(Table 10)

隐藏节点学习率Batch正则化Sharpe
50.001320.0019.69
100.001320.00113.33
200.001320.0016.93
100.0005320.0017.03
100.002320.0015.13
100.001160.0016.26
100.001640.0014.25
100.001320.0005-1.88
100.001320.002-6.91

DNN超参同样脆弱:隐藏节点从10变到5或20,Sharpe从13.33降到6-9;正则化从0.001变到0.0005或0.002,Sharpe直接变负。这说明权重门控网络对超参极度敏感,13.33的Sharpe大概率是在验证集上调参调出来的最优值,泛化性存疑。

与已有系统的对比

把AlphaForge放在整个LLM量化生态里看,它的定位如下:

系统核心机制与AlphaForge的关系
Alpha-GPT人机交互,LLM辅助人工写因子AlphaForge是全自动化,无需人工介入因子选择
EvoQuantLLM+进化算法迭代策略EvoQuant迭代整个策略,AlphaForge只迭代因子权重
FinGPT微调金融领域LLMFinGPT是模型层,AlphaForge是应用层(可调用任何LLM)
Qlib(微软)端到端量化平台Qlib是工具链,AlphaForge是方法论,两者可结合
AlphaForge多智能体+多模态+DNN权重门控本文主角

AlphaForge的独特价值:它是最早把”多智能体分工”明确用于因子筛选(而非因子生成或交易执行)的框架之一。Alpha-GPT和FinGPT主要解决”LLM怎么写因子”,AlphaForge解决的是”写出来的几百个因子,怎么自动挑出能赚钱的组合”——这是更贴近实战工程化的痛点。

与我博客已解读文章的连接

工程化落地路径

如果要在A股实战复现这个框架,技术依赖和难度评级如下:

数据依赖

数据类型来源难度说明
量价数据(OHLCV)pytdx/akshare标准数据,本地DuckDB已有
财务数据akshare/tushare⭐⭐需要季报数据,有API
公告/研报文本东方财富/巨潮⭐⭐⭐需爬虫,反爬较严
K线图图像自己生成⭐⭐用matplotlib画,喂给多模态LLM
电话会音频/视频Wind/Choice⭐⭐⭐⭐A股音频数据稀缺,需付费

现实判断:多模态里的”音频+视频”在A股几乎不可得,真正能落地的是”文本+表格+图像”三模态。论文宣称五模态,但消融实验没证明音频视频贡献多少——大概率是锦上添花。

技术栈

组件推荐实现难度
LLM因子提取GPT-4o / Claude / DeepSeek-V3⭐⭐⭐ 提示工程是核心
多智能体协同LangGraph / AutoGen / CrewAI⭐⭐⭐ 框架成熟但调参难
因子表达式引擎Qlib表达式 / WorldQuant Alpha101⭐⭐ 有现成实现
DNN权重门控PyTorch / TensorFlow⭐⭐ 标准MLP
回测引擎自研 / Qlib backtest⭐⭐

难点与坑

  1. LLM生成的因子”看着对但跑不通”:论文Limitations里自己承认”LLM-generated alphas occasionally lack the financial intuition characteristic of human analysts, resulting in theoretically sound but practically infeasible factors”。这是LLM量化的通病——表达式语法对,但数据里没有对应字段,或者计算成本爆炸。
  2. 多智能体的”共识幻觉”:CSA和RPA如果用同一个底层LLM,它们的”不同视角”可能只是提示词层面的假象,实际输出高度相关。真正要做多智能体,应该用不同模型(如CSA用GPT-4o,RPA用Claude)。
  3. 权重门控的过拟合:Table 10已经证明DNN超参极度敏感。实战中建议用更简单的加权(等权、IC加权、ICIR加权)作为基线,只有DNN显著优于简单加权才值得用。

局限性分析

论文自己承认的局限

  1. 输入文档质量依赖:SAF的效果取决于喂给LLM的金融文档质量,垃圾进垃圾出
  2. LLM因子缺乏直觉:生成的因子理论上成立,实战中可能不可行(数据缺失、计算成本高)
  3. 市场状态假设:多智能体评估假设”历史市场状态-Alpha表现”的关系持续成立,但市场风格切换时这个假设会失效
  4. 仅验证了股票市场:跨资产(期货、外汇、加密)适用性未验证

实践者视角的额外质疑

  1. 回测窗口太短:核心回测只有2023年1年,CSI300的三个半年窗口加起来也就1.5年。A股有明显的风格轮动周期(2017蓝筹、2019成长、2021周期、2023红利),1年窗口根本覆盖不了一个完整风格周期。按backtest-guardrails的B10标准(6年回测至少5年正收益),这个验证远远不够。
  2. 没有交易成本:论文完全没提手续费、滑点、冲击成本。SSE50成分股流动性好,但如果日频调仓,万2.5佣金+千0.5印花税+0.1%滑点,单边成本约0.2%。53%的收益扣掉交易成本后还能剩多少?粗估如果月度换手率300%(多因子策略常见),年成本约7.2%,收益从53%降到45%——还是有alpha,但没论文说的那么夸张。
  3. Sharpe计算口径不清:0.287的Sharpe到底是日度还是年度?如果是日度,年化后4.56,触 Guardrail红线;如果是年度,0.287又太低(对应53%收益+0.76%日波动,年化波动约12%,Sharpe应该=53%/12%≈4.4)。论文这里的口径混乱是个硬伤。
  4. 192%年化的CSI300窗口:Table 6里2023H1 CSI300年化192%,这个数字高到不可信。同期CSI300实际涨幅约5%,一个多因子增强策略年化192%意味着半年赚59%——要么是杠杆,要么是幸存者偏差,要么是数据问题。论文没有解释。

总结句

AlphaForge的价值不在它报告的收益数字(那些数字因为超参敏感度和窗口选择需要打折看),而在于它把**“LLM挖因子”从单Agent黑盒推进到了多智能体+多模态的可分解架构**——CSA和RPA的分工、SAF的八类独立分类、DNN权重门控,这些都是可借鉴的工程模块。但它也暴露了LLM量化的通病:参数脆弱、窗口太短、成本缺失。真正能落地的,可能是借用它的架构思想,而把每个模块用更稳健的方法实现。

相关阅读

💬 评论