← 返回 PaperDaily 视觉与图像

UIUC提出FinATOM:无头token直接炒股,ETF组合夏普1.428→1.529

同样一个因果语言模型,不加回归头、不加策略头,只靠输出token就把三步收益预测和五ETF动态配置全干了;池化净夏普从1.394提到1.494,2025年多模态优势最猛。想看看语言模型怎么绕过"换任务就换头"的套路直接当金融决策接口?这篇值得一读。

UIUC提出FinATOM:无头token直接炒股,ETF组合夏普1.428→1.529
原论文信息如下:
论文标题:
FinATOM: Financial Numerical Prediction and Allocation as Token Generation
发表日期:
2026年08月

发表单位:
伊利诺伊大学芝加哥分校(University of Illinois Chicago)

原文链接:
https://arxiv.org/pdf/2608.09880v1.pdf

金融预测的困境:为什么回归头不是最优解?

市面上的AI炒股系统,几乎清一色是"语言模型编码信息,然后挂一个任务特定的回归头、排序头或策略头"。预测收益就加回归头,构建组合就加策略头,换一个任务就像换插座一样换一个头。语言模型本身只是个"读题机器",真正下判断的是后面那个数值头。
这种"多任务多头"架构有几个麻烦:每个任务都要单独设计参数、损失函数、解码器和合法性校验机制;语言模型并不直接表达最终的金融对象。换句话说,模型的"嘴"和"手"是分开的,嘴负责理解,手负责算数,两边各干各的。
FinATOM这篇论文想搞明白一个反常识的问题:能不能让语言模型自己直接吐出数字决策,而不是加一个数值头?也就是让同一个因果语言模型,通过约束token生成的方式,直接输出预测结果和资产配置权重。这听起来很美,但直接把数字当token生成会遇到四座大山:普通数字字符串的token化不规整、数值顺序信息会丢失;无约束解码可能生成畸形预测或违反约束的组合权重;监督目标可能不小心引入未来信息;token交叉熵本身并不直接优化部署时用的收益-风险指标。
FinATOM给出了一个完整的token原生方案:有序数值词表、显式输出语法、连续解码规则、因果监督,以及与下游金融决策对齐的训练目标。这一整套设计,就是本文要解剖的核心。

方法概述:一个无头token接口,两个任务

图1 无头token接口
图1:无头token接口:一个因果语言模型直接发射有约束的预测或配置token,无需任务特定的数值头。
整个FinATOM系统的思路可以浓缩成一句话:同一个Llama 3.2 1B骨干,同一套词表投影,不加任何任务头,用两套不同的输出语法和训练目标,分别应对预测与配置两个任务。
从技术栈来看,FinATOM选择了LoRA适配的Llama 3.2 1B作为骨干。预测任务里,模型读取64个交易日的价格表格数据、风险统计摘要、SEC文件摘要以及FinTexTS新闻(分宏观、板块、相关公司、目标公司四个层级),自回归地依次发射D1、D2、D3连续三天的收益对应的分箱token,再通过每个token分布下的条件期望还原出连续排名分数。配置任务里,模型读取20天可见收益窗口、风险与相关性统计、宏观新闻以及上一期的组合状态,直接发射五个ETF的多头权重token,归一化后就是实际执行的仓位。
如果把整个训练流程拆开,可以看到一条清晰的流水线:先做因果SFT,让模型学会说"金融话术";再做DAPO增强的GRPO,让模型直接优化金融目标。SFT阶段用的是严格因果的均值-方差锚点目标,这个锚点只使用决策日可观测到的信息来构建,然后经过收缩和确定性量化,最终成为监督信号。策略优化阶段则是在一个单轮策略阶段里,让模型采样合法配置序列,用实现的21天夏普比率作为奖励,同时用锚点一致性惩罚来防止模型飘太远。未来收益只出现在策略奖励里,不出现在prompt里,也不出现在SFT监督目标里——这是整个因果设计的底线。
用一张表可以清楚看到两个任务的不同"契约":
*表格超出部分左右可以滑动 图5
图5
共享接口的价值在于:同一个骨干、同一套词表投影、同一种训练管线,可以同时支撑两类语义完全不同的数值任务。配置任务考验的是接口对"联合受限动作"的生成能力,预测任务考验的是接口对"有序未来路径"的编码能力。

从模仿到优化:DAPO增强GRPO如何提升投资组合Sharpe?

FinATOM在配置任务上的训练采用了一个非常重要的两步走设计:先用SFT学会"像老师一样说话",再用策略优化学会"比老师更会赚钱"。这里的"老师"是什么?是一个严格因果的均值-方差锚点目标,它只用决策日t之前可观测的数据构造。
具体来说,配置任务使用的资产池是五只ETF,按固定顺序排列:GLD(黄金ETF)、SPY(标普500ETF)、TLT(美国长期国债ETF)、UUP(美元指数ETF)、XLE(能源板块ETF)。前20个交易日的收益窗口记为R_t,算样本均值 μ_t 和协方差 Σ_t ,求解一个带约束的优化问题:
均值方差锚点优化公式
该式第一项是年化波动率(乘sqrt(252)),第二项是年化收益项(系数0.05),第三项是上一期锚点权重的L1换手惩罚。约束集合W要求权重非负、和为1、单只上限50%。这个优化目标的意义是:在控制波动和换手的前提下追求收益,产出一个"老师的答案"。得到连续解w̃_t后,再做一个收缩和量化处理:
收缩:0.85×老师解 + 0.15×等权重,防止极端仓位。量化:在50单位的整数网格上使用最大余数法配平,强制1000单位预算并且每只资产至少1个网格步长。最终的量化解就是SFT阶段逐token监督学习的标准答案。
SFT阶段的目标答案长这样:<|GLD><250><200>...<150>。每个token(包括边界、ETF标签、网格值)都计算序列交叉熵,同时五个值槽位还有一个额外的高斯序数交叉熵损失,让模型学到"250比240更接近目标260"这种数值顺序关系:
SFT损失函数
到这里,模型已经学会了"说人话",但还不一定会"赚大钱"。SFT的老师本身是均值-方差启发式,它并不是最优策略。于是FinATOM引入策略优化阶段,目标改成直接最大化未来21天的夏普比率。这里的训练采用DAPO增强的GRPO算法。GRPO的全称是Group Relative Policy Optimization(群体相对策略优化),核心思想是不用单独的价值网络( critic ),而是在同一个prompt的一组采样里计算相对优势,从而大幅降低训练开销。DAPO(Decoupled Clip and Dynamic sampling Policy Optimization,解耦裁剪与动态采样策略优化)则在此基础上引入了解耦的Clip-Higher机制和token级别的策略梯度更新。
具体地,每个决策日采样G=8条合法配置序列,用第21天的实际收益计算每条序列的奖励。奖励函数的设定很有讲究,它不只看夏普,还加了一个锚点一致性惩罚项:
策略奖励函数
也就是说,如果策略生成的权重偏离SFT的老师锚点太远,哪怕夏普高也会被扣分。未来收益只在奖励里出现,prompt和SFT目标中完全看不到,这从机制上掐断了信息泄漏。每组采样内部的相对优势用组内均值和标准差做标准化:
组优势计算公式
然后把标准化的优势代入一个带不对称裁剪的token级目标函数:
策略裁剪目标函数
这里 p_{tℓ}^g 是新旧策略的似然比,m_{gℓ} 是有效token掩码。裁剪范围设定在上限1.28、下限0.80,这是一种不对称裁剪——放大正向更新上限,压制负向更新下限,避免奖励噪声导致策略崩塌。训练全程保留行为KL早停阈值0.03,但参考模型的KL惩罚系数设为0,也就是说不需要额外的参考网络。
配置架构图
图2:配置架构图。三条流水线从左到右:部署(Deployment)直接用prompt生成合法配置;SFT通道用可见信息构建均值-方差锚点;策略通道用未来21天收益做奖励,更新同一套语言模型参数。未来收益只出现在策略奖励中,SFT目标里完全没有。
预测任务同样有策略优化阶段,但目标函数更复杂,由五部分加权组合而成:D1单日收益、三日路径收益、方向正确性、截面排序能力、top 20选股能力。这个机制与配置任务不同,用的是带参考KL惩罚的裁剪token-PPO更新,而不是零参考KL的DAPO增强GRPO。论文只做了单轮策略阶段,评估结果显示它对SFT的改善幅度相对有限。

实验结果解读:多模态优势为何集中在2025年?

实验设计是滚动时间窗的三段式样本外测试:每次训练集扩大一年,测试集依次是2023全年、2024全年、2025年1月到10月。这种设计的好处是不断用新数据刷新训练集,更贴近真实投资场景中模型持续更新迭代的节奏。
样本外五ETF结果表
表2:样本外五ETF结果。"Policy"表示DAPO增强GRPO从SFT初始化开始训练。收益和波动率均已年化;因果目标是数值参考而非学习的策略;2025年测试截至10月31日。
从表2里能读出几个关键信息。第一,策略阶段在2023年几乎没带来任何提升(夏普都是1.404),但从2024年开始发力,夏普从1.445提升到1.564,2025年更是从1.474提升到1.653。这说明策略优化在不同市场环境下收益差异很大,并不是"RL一上就万事大吉"。第二,2024年策略的夏普(1.564)已经超过了均值-方差老师(1.407),说明策略优化不是简单模仿老师,而是真正找到了比老师更优的夏普点。第三,等权组合在2024—2025年赚到了更高的年化收益(9.59%和15.72%),但波动率也高出好几个点,最大回撤更深,风险调整后依然不如FinATOM。
Sharpe对比表
表3:跨测试期的组合Sharpe。粗体表示学习策略相对于其SFT初始化的提升;Net 5bp 表示在考虑了5个基点单边换手成本之后的净夏普。
表3的池化视角更有说服力。把所有709个测试日拼起来算:策略优化把毛夏普从1.428提升到1.529,净夏普从1.394提升到1.494,而日均单边换手率只从1.481%微微涨到1.537%(每天多换5.6个基点)。这说明策略提升的来源主要是改善收益-风险权衡,而不是靠频繁交易硬刷收益——这点值得手动点赞,因为很多RL策略的"提升"都是拿换手堆出来的。
各测试期Sharpe对比图
图4:分测试期的Sharpe和池化全部709个交易日的Sharpe。策略曲线是DAPO增强GRPO从SFT初始化训练得到的结果。
多模态输入消融实验是本文最值得细品的部分。论文把输入模态分成三个对照组:仅新闻、仅时间序列、新闻+时间序列,三组都保留日期、资产顺序和上一期锚点,只有模态不同。从结果看,时间序列单独使用在2023年和2024年几乎追平了多模态组合(分别只差0.004和0.001),但2025年多模态组合一下子拉开差距:比仅时间序列高0.190,比仅新闻高0.180。
输入模态消融表
表4:全SFT到策略管线的输入模态消融,度量指标为年化Sharpe。每一组实验都保留日期和上一期因果锚点,最后一列是三个测试期的简单平均。粗体为每列最优值。
怎么解读这个结果?一个合理的推断是:2023和2024年的市场趋势更多由价格动量和波动结构驱动,新闻的增量信息有限;而2025年市场出现了一些新闻端强信号驱动的行情(比如政策转向、地缘事件、大宗商品异动),把宏观新闻喂给模型,正好弥补了纯价格数据看不见的"叙事变化"。当然,因为每个模态只有一条测试轨迹,这个解释只能算是"场景级推论",不能当作统计显著的一般性结论。论文自己也把话说得很谨慎:支持的是"市场状态依赖的互补性",而不是"加新闻永远有效"。
股票预测的FinTexTS对比实验走的是另一个路线:直接在2023年测试集上评估SFT和Policy策略的表现。
FinTexTS股票策略结果表
表5:2023年股票策略探索性结果。FinATOM SFT与Policy使用同一协议;与已发表FinTexTS系统的对比为上下文对比,因为其测试协议存在差异。
在FinATOM自己的共同协议内,策略阶段把累计收益从73.52%小幅提高到73.72%,夏普从2.68提到2.69。增量很小,说明预测任务里SFT已经学到了绝大部分信号,策略优化只提供微小修正。与FinTexTS原始系统的对比就要小心了:累计收益高出19.74个百分点,但夏普只高0.02。收益差距大而风险调整后差距小,说明两者之间的差异很可能来自复利效应、持仓暴露和回测协议的不同,而不是预测能力有代际差别。FinATOM的代码和数据没有开源,这也是复现时需要留意的地方。

局限与展望:单种子、五ETF与数据泄漏的边界

FinATOM的局限在论文里写得相当诚实。实验只覆盖五只ETF、三段约一年的测试期、2025年还只到10月,且每个实验设置只跑了一个随机种子。这属于"可行性证明"级别的工作,距离"通用稳健策略"还有差距。
数据泄漏控制方面,FinATOM做了三层防御:第一,prompt中的任何字段时间戳都不晚于决策日t;第二,因果锚点的计算在每次实验中顺序推进,上一期的锚点状态不会从测试期反向污染训练期;第三,未来21天收益只进入策略奖励,prompt和SFT目标里都没有。不过要提一个容易被忽略的点:Llama 3.2的预训练数据截止时间是2023年12月,也就是说2023年的测试数据和预训练语料有重叠,2024—2025年的数据则完全在截止之后。作者指出2023年的结果需要更谨慎地解读,因为存在预训练阶段"记忆"测试事件的可能性,尽管模型卡并未显示有针对ETF数据的专门训练。
未来方向其实已经写在论文的展望里了:更大范围的资产池、更多随机种子、更长的测试周期、更精细的交易成本建模,以及校准分析和非平稳市场下的表现归因。其中校准问题尤其值得关注——token生成模型天然倾向于"模态坍缩",即概率集中在少数几个分箱上,这会不会让预测分数失去细粒度?FinATOM用条件期望解码缓解了这个问题,但真正的答案需要更系统的校准实验来回答。
另外,有一个细节值得关注:作者没有声称完成了预测任务的策略优化结果。图3中明确写着"no completed forecasting policy-stage result is claimed",但表5又报告了Policy的73.72%累计收益。细看可以发现,这个Policy只是一轮token-level策略微调,而不是完整的多轮RLHF式训练循环。这也解释了为什么预测策略的增益相对温和。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:
这篇论文到底在解决什么问题?FinATOM用一个无任务头token接口同时完成三步股票收益预测与五ETF配置:先模仿因果均值-方差锚点,再用DAPO增强GRPO直接优化21天夏普。
这篇工作最值得看的点是什么?配置策略将池化毛Sharpe从1.428提升至1.529,净Sharpe从1.394提升至1.494;多模态输入在三个测试期平均Sharpe达1.540;FinTexTS上SFT和策略分别达到73.52%/2.68和73.72%/2.69的累计收益/Sharpe。
这篇工作的边界或风险在哪里?优点:(1) 统一的head-free token接口设计新颖,避免了任务特定头的碎片化;(2) 严格的因果性控制(训练目标仅使用可见信息,未来收益仅进入策略奖励);(3) 实验设计严谨,包含时间顺序扩展实验、输入模态消融和池化评估。缺点:(1) 仅使用单一训练种子,缺乏统计显著性检验;(2) 资产池仅限5只ETF,泛化性存疑;(3) 与FinTexTS的对比因协议不同仅为上下文性比较;(4) 2023年测试与Llama 3.2预训练截止时间重叠,存在潜在数据污染风险。
如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★☆

提出一种无任务特定数值头的统一约束token生成接口,使因果语言模型直接通过有序数值词汇表、显式输出语法和连续解码规则,同时完成三步股票收益预测与五ETF动态资产配置。

实验合理度:★★★★☆

年化收益率、年化波动率、Sharpe比率、最大回撤、累计收益率、净Sharpe(5bp交易成本模型)。

学术研究价值:★★★★☆

提出一种无任务特定数值头的统一约束token生成接口,使因果语言模型直接通过有序数值词汇表、显式输出语法和连续解码规则,同时完成三步股票收益预测与五ETF动态资产配置;更关键的是问题定义是否可复用到同类任务。

稳定性:★★★☆☆

现有材料未提供充分的极端条件、重复运行或扰动测试,稳定性暂按中性评价。

适应性以及泛化能力:★★★☆☆

现有材料未完整展示跨数据集、跨场景或分布外实验,泛化能力仍需进一步验证。

硬件需求及成本:★★★☆☆

推理时为单日约十几个answer token的约束生成,在bfloat16精度下可在单GPU上运行;训练为5轮SFT加1轮策略优化,数据规模为约5年日频数据。

复现难度:★★★☆☆

现有材料未确认完整代码、配置、数据处理脚本和权重是否齐备,复现难度暂按中性评价。

产品化成熟度:★★★☆☆

论文验证以研究实验为主,真实部署中的时延、成本、维护和异常场景仍需补充验证。

可能的问题:(1) 仅使用单一训练种子,缺乏统计显著性检验;(2) 资产池仅限5只ETF,泛化性存疑;


*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。

LONGGE AI COMMUNITY

把每天读到的论文,变成长期积累

加入「龙哥读论文」知识星球,持续获取 AI 论文、资讯、开源项目、招聘与研究思路。

加入龙哥读论文微信群:添加微信 kangjinlonghelper,备注“研究方向 + 地点 + 学校/公司 + 昵称”。

龙哥读论文知识星球二维码 微信扫码加入知识星球