← 返回 PaperDaily
视觉与图像
UIUC提出FinATOM:无头token直接炒股,ETF组合夏普1.428→1.529
同样一个因果语言模型,不加回归头、不加策略头,只靠输出token就把三步收益预测和五ETF动态配置全干了;池化净夏普从1.394提到1.494,2025年多模态优势最猛。想看看语言模型怎么绕过"换任务就换头"的套路直接当金融决策接口?这篇值得一读。
龙哥读论文
发布于 2026-08-15 00:20:19
阅读 4
查看原文
原论文信息如下:
市面上的AI炒股系统,几乎清一色是"语言模型编码信息,然后挂一个任务特定的回归头、排序头或策略头"。预测收益就加回归头,构建组合就加策略头,换一个任务就像换插座一样换一个头。语言模型本身只是个"读题机器",真正下判断的是后面那个数值头。
这种"多任务多头"架构有几个麻烦:每个任务都要单独设计参数、损失函数、解码器和合法性校验机制;语言模型并不直接表达最终的金融对象。换句话说,模型的"嘴"和"手"是分开的,嘴负责理解,手负责算数,两边各干各的。
FinATOM这篇论文想搞明白一个反常识的问题:能不能让语言模型自己直接吐出数字决策,而不是加一个数值头? 也就是让同一个因果语言模型,通过约束token生成的方式,直接输出预测结果和资产配置权重。这听起来很美,但直接把数字当token生成会遇到四座大山:普通数字字符串的token化不规整、数值顺序信息会丢失;无约束解码可能生成畸形预测或违反约束的组合权重;监督目标可能不小心引入未来信息;token交叉熵本身并不直接优化部署时用的收益-风险指标。
FinATOM给出了一个完整的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监督目标里——这是整个因果设计的底线。
*表格超出部分左右可以滑动
共享接口的价值在于:同一个骨干、同一套词表投影、同一种训练管线,可以同时支撑两类语义完全不同的数值任务 。配置任务考验的是接口对"联合受限动作"的生成能力,预测任务考验的是接口对"有序未来路径"的编码能力。
从模仿到优化:DAPO增强GRPO如何提升投资组合Sharpe?
FinATOM在配置任务上的训练采用了一个非常重要的两步走设计:先用SFT学会"像老师一样说话",再用策略优化学会"比老师更会赚钱" 。这里的"老师"是什么?是一个严格因果的均值-方差锚点目标,它只用决策日t之前可观测的数据构造。
具体来说,配置任务使用的资产池是五只ETF,按固定顺序排列:GLD(黄金ETF)、SPY(标普500ETF)、TLT(美国长期国债ETF)、UUP(美元指数ETF)、XLE(能源板块ETF)。前20个交易日的收益窗口记为R_t,算样本均值 μ_t 和协方差 Σ_t ,求解一个带约束的优化问题:
收缩: 0.85×老师解 + 0.15×等权重,防止极端仓位。量化: 在50单位的整数网格上使用最大余数法配平,强制1000单位预算并且每只资产至少1个网格步长。最终的量化解就是SFT阶段逐token监督学习的标准答案。
SFT阶段的目标答案长这样:<|GLD><250><200>...<150>。每个token(包括边界、ETF标签、网格值)都计算序列交叉熵,同时五个值槽位还有一个额外的高斯序数交叉熵损失,让模型学到"250比240更接近目标260"这种数值顺序关系:
具体地,每个决策日采样G=8条合法配置序列,用第21天的实际收益计算每条序列的奖励。奖励函数的设定很有讲究,它不只看夏普,还加了一个锚点一致性惩罚项:
预测任务同样有策略优化阶段,但目标函数更复杂,由五部分加权组合而成:D1单日收益、三日路径收益、方向正确性、截面排序能力、top 20选股能力。这个机制与配置任务不同,用的是带参考KL惩罚的裁剪token-PPO更新,而不是零参考KL的DAPO增强GRPO。论文只做了单轮策略阶段,评估结果显示它对SFT的改善幅度相对有限。
实验设计是滚动时间窗的三段式样本外测试:每次训练集扩大一年,测试集依次是2023全年、2024全年、2025年1月到10月。这种设计的好处是不断用新数据刷新训练集,更贴近真实投资场景中模型持续更新迭代的节奏。
从表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。
表3的池化视角更有说服力。把所有709个测试日拼起来算:策略优化把毛夏普从1.428提升到1.529,净夏普从1.394提升到1.494,而日均单边换手率只从1.481%微微涨到1.537%(每天多换5.6个基点)。这说明策略提升的来源主要是改善收益-风险权衡,而不是靠频繁交易硬刷收益——这点值得手动点赞,因为很多RL策略的"提升"都是拿换手堆出来的。
多模态输入消融实验是本文最值得细品的部分。论文把输入模态分成三个对照组:仅新闻、仅时间序列、新闻+时间序列,三组都保留日期、资产顺序和上一期锚点,只有模态不同。从结果看,时间序列单独使用在2023年和2024年几乎追平了多模态组合(分别只差0.004和0.001),但2025年多模态组合一下子拉开差距:比仅时间序列高0.190,比仅新闻高0.180。
怎么解读这个结果?一个合理的推断是:2023和2024年的市场趋势更多由价格动量和波动结构驱动,新闻的增量信息有限;而2025年市场出现了一些新闻端强信号驱动的行情(比如政策转向、地缘事件、大宗商品异动),把宏观新闻喂给模型,正好弥补了纯价格数据看不见的"叙事变化"。当然,因为每个模态只有一条测试轨迹,这个解释只能算是"场景级推论",不能当作统计显著的一般性结论。论文自己也把话说得很谨慎:支持的是"市场状态依赖的互补性",而不是"加新闻永远有效"。
股票预测的FinTexTS对比实验走的是另一个路线:直接在2023年测试集上评估SFT和Policy策略的表现。
在FinATOM自己的共同协议内,策略阶段把累计收益从73.52%小幅提高到73.72%,夏普从2.68提到2.69。增量很小,说明预测任务里SFT已经学到了绝大部分信号,策略优化只提供微小修正。与FinTexTS原始系统的对比就要小心了:累计收益高出19.74个百分点,但夏普只高0.02。收益差距大而风险调整后差距小,说明两者之间的差异很可能来自复利效应、持仓暴露和回测协议的不同,而不是预测能力有代际差别。FinATOM的代码和数据没有开源,这也是复现时需要留意的地方。
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,泛化性存疑;
*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击 "阅读原文", 查看更多原论文细节哦!