Large Language Model Agent in Financial Trading
团队/作者:Han Ding、Yinheng Li、Junhao Wang、Hang Chen、Doudou Guo、Yunbai Zhang。日期:arXiv 初版提交于 2024-07-26,当前版本 v2 修订于 2026-03-01。
这篇综述适合用来建立领域地图。它把 LLM 交易系统分成两大方向:LLM as a Trader 和 LLM as an Alpha Miner。可以把前者理解成“让 LLM 扮演交易员”,后者理解成“让 LLM 扮演量化研究员”。
面向非技术听众的开场解释:LLM 在这里不是万能预测器,而是一种能阅读大量文本、总结线索、组织推理并调用工具的组件。关键问题是:我们把它放在交易链路的哪个位置?是让它直接参与交易判断,还是让它帮助研究员生成可回测的因子和策略?
LLM Trading Agent
|
+-- LLM as a Trader:LLM 扮演交易员
| |
| +-- News-driven:读新闻和财报,判断影响偏正面还是负面
| +-- Reflection-driven:读新闻 + 查历史记忆 + 写复盘,再判断
| +-- Debate-driven:多个角色争论,多头/空头/风险方互相挑战
| +-- RL-driven:把回测结果当反馈,让系统逐步修正行为
|
+-- LLM as an Alpha Miner:LLM 扮演量化研究员
|
+-- 生成 alpha factor
+-- 生成策略代码
+-- 通过 backtest / judge agent 迭代优化
一句话理解两大方向
| 方向 | 简明解释 | 系统输出 | 更像谁 |
|---|---|---|---|
| LLM as a Trader | 让 LLM 直接参与交易决策,读取信息后输出买入、卖出、持有,或给股票排序。 | 交易动作、方向判断、仓位建议、股票排序。 | 交易员 / 投资经理 |
| LLM as an Alpha Miner | 让 LLM 辅助提出因子、生成策略代码、解释市场规律,再交给回测系统验证。 | 因子公式、策略代码、研究假设、回测报告。 | 量化研究员 / 策略开发助手 |
1.1 News-driven:新闻驱动交易员
News-driven 是最直观的一条路线:把新闻、财报、宏观事件和价格摘要交给 LLM,让模型判断这些信息对股票未来价格是正面、负面还是中性。它的底层逻辑是:金融市场会对信息做反应,而 LLM 擅长读文本和总结语义。
输入:当天新闻 / 财报 / 宏观事件 / 价格摘要
↓
LLM 做信息理解
- 这条新闻讲了什么?
- 是利好、利空还是中性?
- 影响的是收入、成本、监管、竞争还是情绪?
↓
转成交易信号
- positive → buy / long
- negative → sell / short
- neutral → hold
↓
进入回测或模拟交易
第一篇细讲:Can ChatGPT Forecast Stock Price Movements?
团队/作者:Alejandro Lopez-Lira、Yuehua Tang。日期:arXiv 初版提交于 2023-04-15,当前版本 v6 修订于 2025-10-28。
这篇论文是 News-driven 路线中的经典工作。它关注的问题很直接:传统金融 NLP 模型通常需要训练数据、标签和专门模型,那么通用 LLM 是否可以仅依靠 prompt,从新闻标题中判断股票短期方向?
| 问题 | 做法 | 效果/结论 |
|---|---|---|
| 新闻是否包含可交易信息? | 给 ChatGPT 输入公司新闻标题,要求判断该新闻对公司股价是 good、bad 还是 unknown,并要求解释理由。 | ChatGPT 生成的情绪分数与后续股票收益存在正相关,说明 LLM 能从新闻标题中提取一定方向性信号。 |
| 如何从语言判断变成量化信号? | 把 good/bad/unknown 映射成数值情绪分数,再用这些分数预测下一交易日收益或构造交易组合。 | LLM 输出从自然语言解释变成可回测的 signal,这是它对 trading agent 的启发。 |
| 它解决了什么旧问题? | 避免为每个金融情绪任务重新标注训练集;用 zero-shot prompt 直接处理新闻。 | 证明通用 LLM 在金融文本理解上可以作为快速信号生成器。 |
演讲提示:这篇不是让 ChatGPT 承担完整交易员职责,而是把它作为“新闻打分器”。它读取一条新闻标题,判断这条新闻大概率利好还是利空,再把这个判断转化为可回测的数值信号。
| 其他代表 paper | 技术思想 | 简明解释 |
|---|---|---|
| Can Large Language Models Beat Wall Street? / Fatouros et al., 2024;综述中称 MarketSenseAI | 把每日新闻、基本面、宏观和价格动量先总结,再交给 LLM 做股票选择。 | 不是只看一条新闻,而是让助理先写一份“今日市场简报”,再给投资建议。 |
| LLMFactor / Wang, Izumi & Sakaji, 2024 | 先让 LLM 从历史新闻与股价反应中抽取重要因素,再用这些因素解释和预测后续走势。 | 让模型先学会“市场通常在意什么”,例如业绩、监管、供应链,再用这套因素看新新闻。 |
| Sentiment trading with large language models / Kirtac & Germano, 2024 | 用 LLM 情绪信号构造 long-short 策略,并和传统基线比较。 | 把 LLM 作为新闻情绪分类器,再检验情绪信号是否能够转化为收益。 |
| Unveiling the Potential of Sentiment / Zhang et al., 2024,中国股票市场 | 研究 LLM 情绪信号是否能预测中国股票价格变化,并按信号强弱分组回测。 | 同样是新闻打分,但换到 A 股语境,检查它是否还能工作。 |
这条路线的主要风险:新闻发布时间必须严格对齐交易时间。如果模型读取的是收盘后才发布的新闻,却在回测中被设定为开盘前已经可见,收益会被严重高估。
1.2 Reflection-driven:带记忆和复盘的交易员
Reflection-driven 可以理解成 News-driven 的增强版。它不只是读当天新闻,而是会把过去的新闻、判断和交易结果保存成 memory;新一天做决策时,先检索相似历史情境,再让 LLM 写 reflection,最后输出交易判断。
当天信息
↓
写入 memory
- 新闻摘要
- 财报摘要
- 价格变化
- 上次交易结果
↓
新决策时检索相关 memory
- 最近发生过什么?
- 历史上类似事件如何演化?
- 上次判断错在哪里?
↓
LLM 生成 reflection
↓
输出 buy / sell / hold
第一篇细讲:FinMem: A Performance-Enhanced LLM Trading Agent with Layered Memory and Character Design
团队/作者:Yangyang Yu、Haohang Li、Zhi Chen、Yuechen Jiang、Yang Li、Denghui Zhang、Rong Liu、Jordan W. Suchow、Khaldoun Khashanah。日期:arXiv 初版提交于 2023-11-23,当前版本 v2 修订于 2023-12-03。
FinMem 试图解决单次 prompt 的短视问题:如果模型只看当天新闻,就难以记住某家公司过去几周的连续事件,也难以从历史错误中形成经验。FinMem 因此把 trading agent 设计成一个带分层记忆和角色特征的系统。
| 模块 | 做法 | 解决的问题 |
|---|---|---|
| Layered Memory | 把新闻、财报、市场观察总结成记忆,并按短期/中期/长期或不同抽象层保存。 | 让 agent 不必每次从零开始看市场,能带着历史上下文做判断。 |
| Memory Retrieval | 新决策到来时,按 recency、relevance、importance 检索相关记忆。 | 避免把所有历史都塞进 prompt,只取和当前决策最相关的经验。 |
| Reflection | LLM 根据当前观察和检索到的记忆,总结高层经验和投资判断。 | 把零散新闻变成“这家公司当前处于什么状态”的研究结论。 |
| Character Design | 为 agent 设置风险偏好或交易风格,使不同角色在决策上呈现差异。 | 模拟不同交易员风格,观察风格对决策和收益的影响。 |
效果怎么理解:论文报告 FinMem 相比简单新闻/情绪型基线有更好的回测表现;但它更重要的架构价值在于提出“记忆检索 + 反思 + 决策”的 agent loop。
| 其他代表 paper | 技术思想 | 简明解释 |
|---|---|---|
| FinAgent / Zhang et al., 2024 | 在记忆和反思基础上加入多模态输入,包括文本、数值、技术指标和 K 线图。 | 让交易员不只读新闻,还能看图表、看指标、看分析师意见。 |
| Learning to Generate Explainable Stock Predictions using Self-Reflective LLMs / Koa et al., 2024;综述称 SEP | 利用历史预测对错生成自我反思,用反思来提高后续预测解释性和准确性。 | 类似复盘机制:每次判断后都追问“为什么错,下一次如何避免”。 |
1.3 Debate-driven:多角色辩论交易员
Debate-driven 的出发点是:单个 LLM 容易沿着同一叙事不断强化自身判断。于是系统会设置多个角色,让它们从不同视角互相挑战,例如多头、空头、风险、情绪、逻辑检查。最后再由一个 manager 或裁判 agent 汇总结论。
同一批市场信息
↓
多个角色分别分析
- 多头:为什么可以买?
- 空头:为什么不能买?
- 风险:最大风险是什么?
- 情绪:市场现在是否过热?
↓
角色之间辩论
↓
裁判 / manager 汇总
↓
最终交易判断
团队/作者:Yang Li、Yangyang Yu、Haohang Li、Zhi Chen、Khaldoun Khashanah。日期:arXiv 初版提交于 2023-09-07。
TradingGPT 试图解决“单个 agent 判断视角过窄”的问题。它在记忆型 agent 的基础上加入多角色和辩论,让不同 agent 带着不同 character 读取记忆、生成反思,并对彼此的交易动作提出质疑。
| 设计 | 怎么做 | 解决的问题 |
|---|---|---|
| Layered Memory | 和 FinMem 类似,保留历史新闻、观察和交易经验。 | 让 debate 不只是围绕当天新闻,而是能引用历史上下文。 |
| Distinct Characters | 不同 agent 拥有不同交易偏好、风险态度或分析角度。 | 制造观点差异,降低单一模型沿着同一叙事持续偏离的风险。 |
| Debate on Actions | agent 不只生成自己的动作,还会讨论其他 agent 的动作和反思。 | 让系统在最终决策前经历反方质询。 |
效果怎么理解:论文报告多 agent 和角色设计提升了交易表现;但对团队分享来说,更重要的是它展示了“记忆 + 角色 + 辩论”的可解释决策工作流。
| 其他代表 paper | 技术思想 | 简明解释 |
|---|---|---|
| Designing Heterogeneous LLM Agents for Financial Sentiment Analysis / Xing, 2024;综述称 HAD | 设计异构角色,例如 mood、rhetoric、dependency 等,从不同语言线索判断金融情绪。 | 同一条新闻,找不同“专家”分别看语气、因果关系和情绪,再综合判断。 |
注意:多 agent 的价值必须靠消融实验验证。如果去掉 debate 后结果差不多,那多出来的 agent 可能只是增加了成本和复杂度。
1.4 RL-driven:用交易反馈训练或修正交易员
RL-driven 希望让系统不只是“会解释”,还可以从交易结果里学习。直觉上,这条路线很容易理解:如果一次买入导致亏损,系统应该收到负反馈;如果风险调整后收益较好,系统应该强化类似行为。但金融市场噪声极高,reward 设计非常难。
历史市场环境
↓
agent 做交易决策
↓
回测得到反馈
- 收益
- 回撤
- Sharpe
- 是否预测正确
↓
更新系统
- 更新 prompt / memory
- 训练 policy network
- 微调模型或优化策略
↓
下一轮交易
第一篇细讲:Learning to Generate Explainable Stock Predictions using Self-Reflective Large Language Models
团队/作者:Kelvin J.L. Koa、Yunshan Ma、Ritchie Ng、Tat-Seng Chua。日期:arXiv 初版提交于 2024-02-06,当前版本 v3 修订于 2024-02-29;论文发表于 WWW 2024。
这篇论文关注“可解释股票预测”。它不只是让模型输出涨跌,而是让模型学习生成解释,并利用历史预测对错来进行自我反思。综述把它放在 RL-driven 附近,是因为它把历史反馈用于修正模型行为。
| 环节 | 怎么做 | 解决的问题 |
|---|---|---|
| Prediction | LLM 基于金融文本和市场信息生成股票方向预测。 | 从文本信息中提取对未来价格有用的判断。 |
| Explanation | 要求模型说明为什么做出这个预测。 | 避免只给黑盒标签,让人能审查推理链条。 |
| Self-reflection | 根据历史正确/错误样本,总结失败原因和可迁移经验。 | 把预测错误转化为后续 prompt 或模型行为的改进信号。 |
演讲提示:这类似给模型建立“复盘记录”。不是只告诉它预测错误,而是让它说明为什么错,下次遇到类似新闻和财务条件时应该注意什么。
| 其他代表 paper | 技术思想 | 简明解释 |
|---|---|---|
| Integrating Stock Features and Global Information via LLMs / Ding et al., 2023 | LLM 生成新闻 embedding,再与股票特征结合,输入 PPO 等强化学习策略网络。 | LLM 不直接下单,而是把新闻转化为模型可用的特征,最终决策由 RL 策略完成。 |
这条路线的主要风险:回测表现容易被过拟合放大。agent 可能在历史数据上学到许多阶段性有效的规则,但换一个市场环境后迅速失效。
1.5 LLM as an Alpha Miner:让 LLM 做量化研究员
Alpha Miner 路线和 Trader 路线最大的不同是:它不急于让 LLM 直接参与交易动作,而是让 LLM 产生可验证的研究产物,比如因子公式、策略代码、特征组合或投资假设。然后用标准回测系统检验这些研究假设是否有效。
人类给研究方向 / 市场现象
↓
LLM 生成因子假设或策略代码
↓
自动回测
↓
Judge agent 分析表现
- 收益是否稳定?
- 回撤是否可接受?
- 换时间段是否还有效?
↓
LLM 修改因子或代码
↓
进入下一轮迭代
第一篇细讲:QuantAgent: Seeking Holy Grail in Trading by Self-Improving Large Language Model
团队/作者:Saizhuo Wang、Hang Yuan、Lionel M. Ni、Jian Guo。日期:arXiv 初版提交于 2024-02-06。
QuantAgent 试图把 LLM 用在量化研究中较耗人力的一步:从研究想法生成可执行 alpha,并根据回测反馈持续改进。它不是让 LLM 直接输出买卖动作,而是让 LLM 进入“写代码、跑回测、看反馈、再修改”的研究循环。
| 机制 | 怎么做 | 解决的问题 |
|---|---|---|
| Inner loop | Writer agent 根据人类 idea 生成策略/因子代码,Judge agent 对代码和结果给反馈。 | 把研究员的自然语言想法快速转化为可运行实验。 |
| Outer loop | 把提交的代码放到真实市场数据上回测,用结果反过来改进 judge。 | 让系统不只会写代码,还能逐步学习哪些代码更可能有效。 |
| Self-improvement | 多轮迭代后,agent 根据历史尝试持续逼近更好的 alpha。 | 提高 alpha mining 的效率,减少人工试错成本。 |
效果怎么理解:论文报告 QuantAgent 能逐步改进生成的 alpha;但最值得借鉴的是它把 LLM 放在“研究自动化”而不是“直接实盘交易”的位置,工程边界更清晰。
| 其他代表 paper | 技术思想 | 简明解释 |
|---|---|---|
| AlphaGPT / Wang et al., 2023 | Human-in-the-loop alpha mining,让人类研究员和 LLM 共同生成、修改和验证 alpha。 | 不是全自动交易,而是把 LLM 当作研究搭档,加速找因子。 |
综述里提到的评测方式
| 评测类别 | 常见指标 | 适用对象 | 面向非技术听众的解释 |
|---|---|---|---|
| 组合表现 | 累计收益、年化收益、Sharpe、最大回撤。 | Trader agent、完整策略。 | 最终收益是否成立,过程是否过于波动,最大亏损有多深。 |
| 信号质量 | Accuracy、F1、win rate、Information Coefficient。 | 情绪信号、因子信号、股票排序。 | 模型给出的分数和未来涨跌有没有关系。 |
| 系统成本 | token cost、推理延迟、训练时间。 | 多 agent、实时系统、Alpha Miner。 | 系统单次运行的成本、延迟和实际部署可行性。 |
阅读这篇综述时需要保留审慎态度:它提到一些 agent 在回测中相对 baseline 取得更好表现,但对交易成本、执行价格、幸存者偏差、严格时间切分和可复现 artifact 的审计不深。分享时可以把它定位为“地图型综述”,不是“可信度审计报告”。