📑 本文目录
FinSMART金融情感分析强化学习GRPOFinBERTLLMAI 前沿算法交易市场对齐

FinSMART:用强化学习把金融情感分析和市场状态对齐——为什么你的FinBERT在牛熊判若两人


这是 AgentQuant 「LLM×量化前沿」系列的一篇论文解读。上一篇我们拆了 《LLM能执行母单吗?PACE母单拆单框架》,讲的是LLM在执行层的新尝试。这一篇换个维度——情感层:当LLM读新闻做情感打分时,为什么静态模型会”跟不上市场”,以及最新的强化学习方法怎么把它和市场状态重新对齐。两篇合在一起,恰好是2026年LLM在金融的两个最前沿方向:会拆单的执行器 + 会读市场的情感器。

一、痛点:同一句话,牛市是利好,熊市是利空

如果你做过基于新闻的情感交易,大概率踩过这个坑。

新闻标题:“某公司净利润同比增长200%”

在牛市里,FinBERT 给它打 +1(利好),股价第二天涨3%——模型对了。 在熊市里,同一个 FinBERT 仍然给它打 +1(利好),但市场解读成”利好出尽”,股价第二天跌5%——模型错了。

这不是 FinBERT 笨,是它的训练范式决定的。FinBERT、FinGPT、FinLlama 这一整条线的训练方式是监督微调(SFT):找一批金融新闻,让人工标注员打上”利好/利空/中性”标签,然后用这些标签微调语言模型。标注是某一天做的、标完就固定了,模型学到的映射是**“这句话≈利好”**——一个和市场状态无关的静态映射。

问题在于:金融市场的语义是状态依赖的。“业绩大增”在流动性宽松周期是利好,在紧缩周期可能是最后一搏;“加息”对银行是利好,对成长股是利空,但在已经充分预期的环境下又变成”靴子落地”的利好。一个不感知市场状态的静态分类器,本质上是在用昨天的词典读今天的盘面。

Imperial College London 的 Giorgos Iacovides、Wuyang Zhou、Danilo Mandic 在 2026年7月的论文《FinSMART》里,把这层窗户纸捅破了。他们的核心命题一句话就能讲清:

与其让人工标注”这句话是利好还是利空”,不如让模型看这句话说完之后,市场到底涨了还是跌了——用真实的市场收益当老师。

这就是 FinSMART 的”市场对齐强化学习”(Market-Aligned Reinforcement Learning)。

二、核心设计:三种范式的代际差异

理解 FinSMART,最好先把它放进金融情感分析三代范式的演进里看。论文的 Figure 1 把这三代画得很清楚,我用表格重述一遍:

代际代表方法监督信号来源是否感知市场演化能否持续更新
第一代FinBERT / FinGPT / FinLlama人工标注的静态标签(+1/0/-1)否(标注固定)
第二代FinDPO人工偏序对(哪个更利好)间接(仍依赖人工偏好)
第三代FinSMART发布日之后的市场真实收益是(直接用市场反馈)是(可周期重训练)

第一代是经典的 SFT:人标数据,模型学映射。第二代 FinDPO(同一个作者团队2025年的工作)改用直接偏好优化(DPO),不让人标绝对标签,而是标”A比B更利好”的偏序关系,再让模型对齐。但偏序还是人写的,本质上没逃出”静态人工数据”的框。

FinSMART 是第一次有人彻底把人工标注拿掉,监督信号直接来自市场:

  • 新闻 A 发布 → 看它提到的股票第二天涨没涨 → 涨了说明这条新闻偏利好,跌了偏利空 → 用这个”市场裁决”当奖励信号训练模型。

这等于把情感分析从”语言理解任务”重新定义成了”用语言预测市场方向的任务”——和单纯的语义判别已经不是一个东西了。

三、技术架构:三个模块怎么协作

FinSMART 的训练管道分三段(论文 Figure 2),我把它拆成三步:

模块一:数据门控——不是所有新闻都配当训练样本

金融新闻有两个天然的脏数据来源:一是同一篇文章可能提十几家公司,你不知道市场收益该归谁;二是大量新闻根本不带明确情感(比如纯数据播报),硬给它打标签只会污染奖励信号。

FinSMART 用两道闸门过滤:

  1. 实体链接(NER)+ 置信度门槛:用命名实体识别把每篇文章关联到它讨论的具体公司,只保留目标公司置信度超过 98% 的样本。一篇提了五家公司的综述文,直接扔掉——因为你没法判断第二天的股价变动是该归这条新闻的。

  2. 情感门控(Sentiment Gating):用参考模型(未训练的 Llama-3-8B)先做一次”情感可解码性”筛查。如果连基础模型都觉得这条新闻没法给出明确的利好/利空/中性判断,就丢掉。直觉上,这一步筛掉的是那些”读了等于没读”的无效文本。

这两道闸门的设计哲学和量化因子工程的思路完全一致——信号质量比信号数量重要。在金融里,市场收益是个信噪比极低的监督信号(一天涨跌的影响因素太多,新闻只是其一),如果你还往里灌大量无关样本,RL 根本学不动。

模块二:双过滤交易奖励矩阵——把”对错”翻译成钱

这是 FinSMART 最有创意的部分,也是整篇论文工程含量最高的地方。

朴素的想法是:新闻发布后股票涨了就给正奖励,跌了就给负奖励。但作者没这么做,他们设计了一个离散非对称交易奖励矩阵。先定义”市场真实方向” y:

  • 如果股票的特异性收益 α(个股收益减去 SPY 指数收益)绝对值超过阈值 0.5%,且和大盘同向,才算”经济上有意义”的方向——否则归为”中性”(市场没真正反应)。

然后对模型预测的情感方向 d(+1/0/-1),按下表打分:

预测 d \ 真实 y看多 y=+1中性 y=0看空 y=-1
预测看多 d=+1+2.0(正确做多)-1.0-1.5(方向反了)
预测中性 d=0-1.0+0.1(正确保守)-1.0
预测看空 d=-1-1.5(方向反了)-1.0+2.0(正确做空)

这个矩阵有三层精巧设计:

  1. 正确给大分,错误扣中分,乱猜小惩:判断对方向拿 +2.0,但判断错只扣 -1.0 到 -1.5。这种非对称设计降低了模型”宁可不预测”的恐惧,鼓励它去捕捉真正的信号——否则 RL 会塌缩成”全都预测中性”这种零风险但无用的模式。

  2. 中性预测的奖励特别低(+0.1):正确识别”这条新闻不影响市场”只给 0.1 分,远低于 +2.0。这是在告诉模型——中性判断虽然对,但价值有限,别躲在舒适区里。

  3. 用特异性收益 α 而不是总收益 r:个股涨了5%但大盘也涨了5%,α≈0,这条新闻没有特异性信息含量。用 α 做 ground truth,剥离了系统性 beta,让监督信号更干净。这一步和量化里”因子提纯”的逻辑一模一样。

模块三:GRPO 优化——不用 critic,靠组内相对优势

最后的优化器选了 GRPO(Group Relative Policy Optimization)——就是 DeepSeek 在 DeepSeekMath 里提出的那个,DeepSeek-R1 也是用它训练推理能力的。

GRPO 相比传统 PPO 的优势在于不需要训练一个 critic 网络。PPO 要评估”这个动作有多好”,得有个 value model 估基准线;GRPO 改成:对同一条新闻,让模型采样 G=8 个情感预测,计算这 8 个预测的组内奖励均值和标准差,用归一化后的相对优势更新策略。

为什么这在金融里特别合适?因为金融的奖励信号是出了名的嘈杂——“涨了”和”涨了很多”之间没有可靠的绝对刻度。GRPO 只问”在这8个候选里,哪个相对更好”,不问”绝对有多好”,这天然规避了奖励标定难题。

整个训练在 Llama-3-8B-Instruct 上用 LoRA 做参数高效微调,单卡 GPU 就能跑。论文特别强调一点:GRPO 在这里不是用来训练推理能力(不像 R1 那样),而纯粹是当作一个高效的 RL 优化器来用——而且引用了另一篇研究指出,reasoning(无论 prompt 诱导还是内建)并不能提升金融情感准确率,所以没必要走那条路。

四、实验结果:碾压式的代际差距

实验在 S&P 500 成分公司上跑,数据是 Motley Fool 和 MarketWatch 从 2015年2月 到 2021年6月的约 32.5 万篇新闻,样本外回测期是 2019年1月 到 2021年6月。组合构造是经典的 35% 多空(top 35% 做多、bottom 35% 做空),T+1 开盘到开盘,无前视偏差。

核心结果(论文 Table 1):

方法累计收益年化收益SharpeSortinoCalmarRankIC
S&P 500 基准69.3%26.9%1.091.180.79
VADER(词典)-38.8%-21.9%-0.45-0.57-0.35+0.011
LMD(词典)-31.6%-17.3%-0.28-0.37-0.32+0.029
HIV-4(词典)-13.0%-6.8%-0.03-0.07-0.18+0.006
FinBERT45.2%20.6%0.670.860.52+0.043
FinLlama87.9%37.3%0.981.240.97+0.048
FinDPO(前SOTA)109.8%45.0%1.121.441.48+0.053
FinSMART264.9%91.5%1.972.404.23+0.061

几个值得拎出来单独说的发现:

第一,绝对碾压。 FinSMART 比此前的 SOTA(FinDPO)累计收益高出 141%(264.9% vs 109.8%),年化翻倍(91.5% vs 45.0%)。作者在摘要里说的”比最强基准高 220%“,是把 FinSMART 和它之前的所有方法比——这种量级的代际跃迁在金融 NLP 里相当罕见。

第二,词典法全军覆没。 VADER、LMD、HIV-4 三个传统词典法全部亏损(年化 -6.8% 到 -21.9%)。这不是意外——词典法完全不感知上下文,把”not good”和”good”都往”good”里算,在真实交易里就是送钱。这个结果再次提醒:任何还在用关键词词典做情感信号的同学,该升级了。

第三,风险调整后收益更夸张。 Calmar 比率(年化收益 / 最大回撤)从 FinDPO 的 1.48 跳到 FinSMART 的 4.23——意味着同样的回撤下,FinSMART 的收益是 FinDPO 的近3倍。这说明它的超额收益不是靠承担更大风险换来的,而是真的提取出了更干净的 alpha。

第四,RankIC 提升相对温和。 从 FinDPO 的 0.053 到 FinSMART 的 0.061,提升 15%。RankIC 衡量的是情感分数和次日收益的横截面相关性——0.06 这个绝对值在因子库里其实算不错(很多基本面因子的 RankIC 也就 0.03-0.05),但和收益率的翻倍幅度对比,说明市场对齐带来的提升不止是”预测更准”,更重要的是”该重仓时重仓、该空仓时空仓”的择时能力变强了

五、最关键的实验:周期重训练——让模型跟上市场

论文的第二组实验我个人觉得比主结果更有实践价值:周期性市场对齐重训练

做法是 expanding window:用截至2018年底的数据训练第一版模型 → 跑2019上半年的样本外 → 用累计到2019年6月的数据重训练第二版 → 跑2019下半年 → ……每半年迭代一次,四年内做了4次重训练。

结果(论文 Table 2):

版本累计收益年化收益SharpeSortinoCalmarRankIC
FinSMART 静态版264.9%91.5%1.972.404.23+0.061
FinSMART 重训练版406.2%125.7%2.412.965.65+0.065

累计收益从 264.9% 推到 406.2%,所有风险调整指标同步上升。更妙的是,作者发现每个半年周期新增文章数量该周期相对静态模型的增益之间有中等正相关(r = 0.72)——喂给模型的新市场数据越多,它适应得越好。

这才是 FinSMART 相对前两代方法真正的护城河。FinBERT/FinDPO 的训练数据是固定的,标注完就定型了,市场风格一变就失效(想想 2021 年的 meme 股、2022 年的加息周期、2023 年的 AI 狂飙——每一轮都需要重新理解”利好”的含义)。FinSMART 天然支持”用新文章 + 新市场收益持续重训练”,这才是”自适应金融 LLM”该有的样子。

六、和已有系统的对比:把 FinSMART 放进我们的工具箱

现在把这论文和我们 AgentQuant 实际在用的系统对照看。

和 FinBERT/FinGPT 的本质区别

我们之前解读过一篇 TDA + FinBERT 动态组合优化 的论文,那篇用 FinBERT 打情感分做选股。读完 FinSMART 再回看,会发现 TDA-FinBERT 的核心局限和 FinSMART 解决的痛点完全重叠:FinBERT 是 SFT 出来的静态模型,它给同一条新闻打分,牛市熊市给一样的分。TDA 那篇论文想用拓扑数据分析绕开这个限制,但本质上还是把一个有缺陷的情感器套进了更精巧的组合层。

FinSMART 的解法更底层——直接换掉情感器的训练范式。

和 PACE 母单执行框架的互补

上一篇 PACE 母单拆单框架 讲的是 LLM 在执行层:怎么把一个大单拆成很多小单、最小化冲击成本。FinSMART 讲的是 LLM 在情感/信号层:怎么从新闻里提取和市场对齐的 alpha 信号。

合起来看,2026年 LLM 在金融的两个最前沿突破正好覆盖了交易链的两端:

信号生成(FinSMART)→ 组合构建 → 订单执行(PACE)
   市场对齐RL情感          35%多空         LLM母单拆分

中间的组合构建层目前还是传统多因子在主导,但按这个演进速度,下一个被 LLM 改写的可能就是它。

和”LLM vs 传统因子”讨论的关系

我们之前写过一篇 LLM 和传统因子谁更强的对比。FinSMART 给这个讨论提供了一个关键证据:LLM 之于金融,不是在替代传统因子的”预测能力”,而是在开拓一个传统因子根本进不来的新维度——对非结构化文本的状态依赖性解读。RankIC 0.06 这个量级,单看和好的量价因子差不多,但它的 alpha 来源和量价因子是正交的(一个看新闻语义、一个看价格动量),组合起来有分散价值。

七、A股落地的三个现实障碍

论文做的是美股 S&P 500,结论能不能平移到 A 股?我的判断是方向成立,但有三个硬障碍需要工程化处理

障碍一:T+1 + 涨跌停,让”市场裁决”变得模糊

FinSMART 的奖励信号依赖”新闻发布后股票的可交易收益”。美股 T+0、无涨跌停,新闻早上发、收益当天就能兑现。A 股 T+1 制度下,第二天才能交易,而且有 10%/20% 涨跌停板——利好新闻可能直接一字涨停封死,你想买也买不到,但模型以为”市场验证了利好”给了正奖励,这是奖励信号的系统性失真。

工程化对策:在奖励计算里加可成交性过滤——如果次日开盘涨停封单过大(买不进),这条样本不进训练集,或者奖励按可成交的那部分折算。

障碍二:中文金融语料的规模和标注基础设施

论文用了 32.5 万篇英文新闻(Motley Fool + MarketWatch)。中文金融新闻的开放语料规模小一个量级,而且 NER 工具对”贵州茅台""宁德时代”这种中文实体的识别准确率远不如英文。没有干净的实体链接,奖励信号就会污染。

工程化对策:可以参考 LLM Agent 量化交易 2026 论文综述 里提到的几篇中文金融 NLP 工作,先搭一个中文 NER + 财报/公告/新闻的多源数据管道,再谈训练。

障碍三:A 股”市场状态”的定义比美股复杂

FinSMART 隐含假设是”市场是单一状态”。但在 A 股,“市场状态”是个高维概念——小盘 vs 大盘、价值 vs 成长、消费 vs 周期,不同板块对同一条新闻的反应完全不同。

一个可以借鉴的做法:我们自己的 估值周报系统 已经在算一个宏观综合评分(从 +10 到 -10),可以把这个评分离散化成”进攻/中性/防守”三个状态,作为 FinSMART 的条件输入——让模型不仅看新闻,还看当前市场状态,在”防守状态”下自动下调对利好新闻的敏感度。这等于把 FinSMART 的”市场对齐”从隐式学习改成显式条件化,理论上能进一步降低奖励噪声。

八、局限性:论文没明说,但实践者要警惕的

最后讲几点论文自己承认的局限,和几个我从实操角度的额外质疑。

论文承认的:

  • 奖励稀疏:大量新闻对应的 α 小于 0.5% 阈值,被归为”中性”,真正的强信号样本占比低,RL 训练数据效率不高。
  • 回测期偏短:样本外只有 2019-2021 两年半,覆盖了疫情牛市,但没覆盖 2022 加息熊市。重训练版增益显著,但这个增益在真正的大熊市里能否保持,是个问号。
  • RankIC 绝对值不高:0.06 这个量级说明情感信号本身的预测力有限,超额收益里有相当一部分来自 35% 多空组合的杠杆结构和 T+1 持仓的择时。

我额外质疑的:

  • 过拟合新市场范式:2020 年的疫情行情、2021 年的散户狂潮,都是历史级异常。FinSMART 在这段时间表现好,会不会是因为它的市场对齐机制特别擅长捕捉这种极端状态切换,但放到正常年份就泯然众人?需要更长的样本验证。
  • 没有交易成本:35% 多空、T+1 换手,年化换手率会非常高,扣除手续费 + 滑点 + 借券成本后,91.5% 年化还能剩多少?论文只字未提。对一个声称”可直接落地”的框架,这是硬伤。
  • LoRA 容量上限:用 LoRA 微调 Llama-3-8B,参数预算有限。当市场风格剧烈切换时,这点微调容量够不够把模型”掰”过去?周期重训练的增益(264% → 406%)部分回答了这个问题,但四年四次重训练的样本太少,不足以下结论。

九、总结句

FinSMART 的最大贡献不是又一个跑赢 SOTA 的数字,而是第一次把”金融情感分析”从一个语言理解任务,重新定义成了一个和市场状态对齐的强化学习任务——这个范式转换的意义,比 +220% 收益率更大。它告诉我们:在金融这种状态依赖、持续演化的领域,最好的监督信号不是人写的标签,是市场自己的裁决

这个思路和我们做量化因子时反复强调的一句话是同一个道理:**别问你自己觉得这个信号好不好,去问回测的 PnL 觉得它好不好。**FinSMART 只是把这句话,从因子工程搬到了语言模型训练上。


论文信息

  • 标题:FinSMART: Financial Sentiment Analysis for Algorithmic Trading through Market-Aligned Reinforcement Learning
  • 作者:Giorgos Iacovides, Wuyang Zhou, Danilo Mandic
  • 机构:Imperial College London
  • arXiv:2607.28127(2026年7月)
  • 基础模型:Llama-3-8B-Instruct + LoRA
  • 优化器:GRPO(Group Relative Policy Optimization,源自 DeepSeekMath)

相关阅读

💬 评论