学习 / 论文导读 / 核心架构与算法 / CPAL2026 / AlphaFormer: End-to-End Symbolic Regression of Alpha Factors with Transformers

AlphaFormer: End-to-End Symbolic Regression of Alpha Factors with Transformers

在量化实务中,阿尔法因子仍常在 手工公式黑盒模型 之间摇摆。AlphaFormer 用 合成时序预训练 Transformer,对新市场数据 端到端生成可解释的符号公式。本文逐行拆解线性因子池、IC 指标与类 PPO 的稳定化损失。
PDF打开原文 PDF
[摘要与引言] 三行总结 + 问题提出
三行总结
- ① 旧方法的致命低效: 基于 GP 或 RL 的符号回归在 每个新数据集上几乎从零搜索,难以复用已学到的“公式语法”。像每天早上重新发明菜谱。
- ② 经典路线的短板: LightGBM、LSTM 等预测强但 不可解释;纯人工写因子又无法覆盖巨大搜索空间。
- ③ 论文核心: 用多样 合成股价路径预训练 Transformer,给定真实 XtX_t 即可 即时生成 RPN 形式的阿尔法公式——像在无数假厨房练过的大厨,换厨房仍能出菜。
比喻:随机试配方的机器人 vs. 语法刻进肌肉记忆的大厨
传统符号搜索像 厨房(市场)一变就重新调盐糖比例 的机器人。AlphaFormer 在 合成厨房 里学会组合法则,看到实战食材 XtX_t 就能 当场拼出公式(阿尔法因子)——更少依赖黑盒,也降低反复盲搜的成本。
[背景知识] 五个必备概念(更细)
定义 → 直观 → 在本文中的作用 读每一项,后面公式会更顺。
- 阿尔法因子
先把话说简单:某一天(时刻 tt,假设我们关注 SS 只标的。每只标的各有 dd 个数字(如收盘价、成交量、近期收益等),模型一口气读完,为 每只标的打一个“往后相对谁更占便宜?”的分——这套规则就是阿尔法因子。把 SS 个分数排成向量就是 ztz_t
想象一张表: SS 行(一行一只标的) × dd 列(一列一类特征)。整张输入叫 XtX_t,则 XtRS×dX_t \in \mathbb{R}^{S \times d} 表示 “当日标的数 × 每只标的的特征个数”。输出 ztRSz_t \in \mathbb{R}^S 表示 ii 个数 = 第 ii 只标的的得分
直观: 不是只沿时间盯一只股票,而是 在同一个交易日把多只股票摆在一起问“今天谁排在更前/更后”(即 横截面 cross-section)。多空与排名组合会按这个顺序决定 买谁、卖谁、权重怎么配
本文: 生成器最终产出 可解释的符号公式 形式的阿尔法因子——整篇讨论从这里出发。
- 符号回归
不只拟合权重,而是搜索 `mean(close, 20d)` 这类 运算树。空间大但可审计。与 每个数据集从零做 GP/RL 符号搜索 形成对照。
- RPN(逆波兰)
人类熟悉的 中缀 示例:`mean(close, 20d)`(收盘价的 20 日均值)。模型自左向右生成的是 同义的令牌序列:`close` → `20d` → `mean` → `end`;其中 `end` 表示 这一小段公式的结束符。`[volume, 20d, mean, end]` 这类 方括号写法 容易看成编程里的数组,应理解为 有先后次序的词汇令牌。用 固定无括号的求值顺序,也与 Transformer 自左向右生成 一致。本文以 RPN 令牌流 表示阿尔法公式。
- IC(信息系数)
多为预测与标签的 日度皮尔逊相关Rank IC 强调排序、抗极值。是池化与(可选)RL 的 质量指标
- 合成数据
用 GRU、Transformer、扩散等生成时序,常 集成 多种生成器以覆盖时间结构。先在 练习场算子语法,再上真盘;支撑本文 语法预训练 叙事。
[方法] 核心公式拆解
1) Alpha 池 — 多公式线性混合
zt=g(Xt)=k=1mwkfk(Xt)z_t = g(X_t) = \sum_{k=1}^{m} w_k\, f_k(X_t)
- 直觉: fkf_k 像不同厨师;wkw_k投票权重gg集成头
2) 学习池权重 — 油门与 L1 刹车
L(w)=1STt=1Tg(Xt)yt22+λw1\mathcal{L}(w) = \frac{1}{ST} \sum_{t=1}^{T} \big\| g(X_t) - y_t \big\|_2^2 + \lambda \|w\|_1
- 第一项(油门): yty_t未来收益等标签;在 股×日 总数 STST 上平均的 均方误差
- λw1\lambda\|w\|_1(刹车/剪刀): L1 把许多 wkw_k 推向 精确零,剪掉无用因子,得到 稀疏可解释 池。
3) IC — 日度相关的平均
σˉ(g(X),y)=1Tt=1Tσ(g(Xt),yt)\bar{\sigma}(g(X), y) = \frac{1}{T} \sum_{t=1}^{T} \sigma\big(g(X_t), y_t\big)
σˉrank(g(X),y)=1Tt=1Tσrank(g(Xt),yt)\bar{\sigma}_{\mathrm{rank}}(g(X), y) = \frac{1}{T} \sum_{t=1}^{T} \sigma_{\mathrm{rank}}\big(g(X_t), y_t\big)
- σ\sigma 为皮尔逊;σrank\sigma_{\mathrm{rank}}秩相关
4) PPO — 裁剪与价值头稳定生成策略
L(θ,ϕ)=LCLIP(θ)+ηLvalue(ϕ)\mathcal{L}(\theta, \phi) = \mathcal{L}^{\mathrm{CLIP}}(\theta) + \eta\, \mathcal{L}^{\mathrm{value}}(\phi)
LCLIP(θ)=E^[min(rt(θ)A^t, clip(rt(θ),1ϵ,1+ϵ)A^t)]\mathcal{L}^{\mathrm{CLIP}}(\theta) = -\, \hat{\mathbb{E}}\Big[ \min\big( r_t(\theta)\,\hat{A}_t,\ \mathrm{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon)\,\hat{A}_t \big) \Big]
Lvalue(ϕ)=Vϕ(D,P)r22\mathcal{L}^{\mathrm{value}}(\phi) = \big\| V_\phi(\mathcal{D}, \mathcal{P}) - r \big\|_2^2
- rt(θ)r_t(\theta)(比率): 新旧策略概率比;裁剪到 [1ϵ,1+ϵ][1-\epsilon,1+\epsilon] 限制步长——像 安全带
- A^t\hat{A}_t 优势函数;可与 IC 型奖励 与价值估计之差对应。
- VϕV_\phi 评价网络预测 期望回报Lvalue\mathcal{L}^{\mathrm{value}} 拟合观测奖励 rr
- η\eta 价值项权重。
公式里的符号怎么读(仍在「方法」一节内)
下面只解释上面四个公式里出现的符号,按 含义 → 作用,不另开术语表。
- XtX_t, SS, dd: XtX_t 是时刻 tt特征输入XtRS×dX_t\in\mathbb{R}^{S\times d} 表示 SS 只股票、每只股票 dd 维特征。
- ztz_t: RS\mathbb{R}^S 向量,第 ii 个分量为 股票 ii 的阿尔法得分
- fkf_k, mm, wkw_k, gg: fk(Xt)f_k(X_t) 是第 kk候选公式 的输出得分;mm 为池中候选个数;wkw_k线性权重(信任度)g(Xt)g(X_t) 为加权混合后的 最终预测
- yty_t, TT, STST, 22\|\cdot\|_2^2: yty_t标签(如远期收益)。TT 为天数;SS 为股票数;STST股×日总格子数,故 1/ST1/ST 是对全面板求平均。v22\|v\|_2^2 为向量各分量 平方和
- λ\lambda, w1\|w\|_1: w1=k=1mwk\|w\|_1=\sum_{k=1}^m|w_k|。增大 λ\lambda 会把更多 wkw_k 压到 精确为零,起到删因子作用(Lasso)。
- σ\sigma, σrank\sigma_{\mathrm{rank}}, σˉ\bar{\sigma}, σˉrank\bar{\sigma}_{\mathrm{rank}}: 日度 皮尔逊 相关;上横线表示对 TT取平均,减轻单日噪声。
- θ\theta, ϕ\phi, PPO: θ\theta 为生成令牌的 策略(Transformer)参数ϕ\phi价值网络参数rt(θ)r_t(\theta) 为新/旧策略的 概率比ϵ\epsilon裁剪区间 [1ϵ,1+ϵ][1-\epsilon,1+\epsilon] 的半宽。A^t\hat{A}_t优势Vϕ(D,P)V_\phi(\mathcal{D},\mathcal{P}) 估计给定数据 D\mathcal{D} 与池状态 P\mathcal{P}期望回报Lvalue\mathcal{L}^{\mathrm{value}} 让该估计逼近观测到的 奖励 rrη\eta 调节价值项权重。
一句话读完
合成学语法 → 生成 RPN 公式 → 线性池 + L1 混合 → IC 评分 →(可选)裁剪 PPO 微调生成策略——闭环如此。
[算式走读] 玩具数据一步步推演
为了把前一节的公式和脑子里能跑的流程对上号,设想一个只有三只股票的迷你市场。数字仅为示意。
设定: 某日 tt,标的 A、B、C。生成器已给出 m=3m=3 个候选因子 f1,f2,f3f_1,f_2,f_3,每个因子输出一条 三维得分向量 (R3)(\mathbb{R}^3)。例如
f1=(1,0,1),f2=(0.5,1,0),f3=(0.2,0.3,0.1)f_1=(1,\,0,\,{-}1),\quad f_2=(0.5,\,1,\,0),\quad f_3=(0.2,\,{-}0.3,\,0.1)
(依次对应 A、B、C)。
1) 线性因子池——按比例勾兑
权重 w=(0.5,0.3,0.2)w=(0.5,\,0.3,\,0.2) 时,zt=0.5f1+0.3f2+0.2f3z_t=0.5f_1+0.3f_2+0.2f_3。只看 A:
zt,A=0.51+0.30.5+0.20.2=0.69.z_{t,A}=0.5\cdot1+0.3\cdot0.5+0.2\cdot0.2=0.69.
同理 zt,B=0.24z_{t,B}=0.24, zt,C=0.48z_{t,C}={-}0.48。即 每只股票得分是三条候选得分的加权和;整条向量 ztz_t 就是当天 排序/多空的输入
2) 标签 yty_t、MSE 与 L1
yty_t 看作约定持有期的实现收益向量,损失第一项大致是 多日多标的下 ztz_tyty_t 的均方误差。误差大则优化器会改 ww
加上 λw1\lambda\|w\|_1 后,贡献弱的 wkw_k先被压成 0,整段 fkf_k 可从池中 删掉——像 试味后把没用的配料清掉
3) IC——一天的“排位考得怎样”
ztz_t 排出的名次与 yty_t 的名次接近,当日 Pearson 相关 σ(g(Xt),yt)\sigma(g(X_t),y_t) 偏高。例如 0.08 可理解为“还行”。多日平均 σˉ\bar{\sigma} 若在 0.06 一带 比在 0.02 一带 好得多,说明 平滑噪声后整体更靠谱
4) PPO——一步直觉
策略若提出 换了几枚 token 的新公式 池与 IC 会变,可把改进当成奖励 rr比率 rt(θ)r_t(\theta) 衡量新策略相对旧策略有多“猛”;裁剪 clip 限制单次更新幅度,防止策略大起大落
5) 推理/上线
预训练(及可选的短 RL)结束后,新来 XtX_t 时更像 前向传播出公式再进池,而不是每次从零开跑巨大 GP 搜索,因此 延迟更低
一行记: 池=调和;L1=倒掉不贡献的因子;IC=排位成绩单;PPO=给策略更新系安全带
[实验与结果]
- 搜索效率: 相比强基线 生成更少候选因子 仍可在 CSI300/CSI500 上取得 一流 IC/Rank IC——不是把针眼扩大,而是 手更稳
- 推理效率: 叙述上强调推理阶段 无需大规模在线重拟合参数
- 泛化: 多架构生成器集成 合成数据时 IC 更高;在中国预训练、美国 S&P500 零样本 仍有竞争力,暗示学到部分 时序/算子语法 而非单市场噪声。
实务解读: 若要在 GPU 小时受限 下拿到 可解释因子,“合成预训练 + 有界 RL 微调”在 MLOps 上是务实折中。
[结论与局限]
实务启示(不超过 3 条)
1. 白盒信号: RPN/运算树可把 公式原文 交给风控。
2. 降低搜索税: 语法预压缩减少 每次换市场的冷启动
3. 端到端管线: 生成→池化→IC→(可选)PPO,流程短、易复现部署。
局限
- 硬件: GPU 训练/推理前提可能 不适配纯 CPU 遗留环境
- 体制: 零样本再强,结构突变后仍可能要 再训练或域适应
- 标签: IC 严重依赖 未来收益定义与泄露控制

可视化策划:失控探索 vs 可控生成

左:探索空间 上密集散点与 难以触及 IC 目标的曲折路径,表现冷启动符号搜索。右:合成序列→预训练→令牌化公式→IC/池单线流水线,对应 AlphaFormer 端到端流程。

传统:GP / RL 符号搜索

换数据集就从头广撒网;候选再多 IC 仍可能乱跳。

累积效率IC尝试 1尝试 N随机搜索过度探索

提案:AlphaFormer

合成学语法;更少生成就可稳步抬高 IC,并具备零样本迁移潜力。

少因子·高 IC累积效率IC预训练生成尝试 1尝试 N
AlphaFormer 把“每个市场从零符号搜索”换成 语法预训练 + 带裁剪的 RL 微调。池、L1、IC、PPO 像 搅拌器、剪刀、评委、安全带 分工。注意 GPU 依赖标签质量,从 PoC 渐进落地更稳妥。