在股票交易中,“买入、持有还是卖出”看似只是三个简单动作,但真正困难的是:面对不断变化的市场信息,系统究竟应该依据什么做出判断?如果只看 RSI、MACD、均线等技术指标,系统或许能够捕捉局部走势;但当突发新闻出现、市场情绪转变、历史上发生过类似事件,或者此前几次交易已经连续失误时,单一指标往往不足以支撑一个更完整、可追溯的决策过程。 那么,一个更像“研究员”的交易智能体,应该具备哪些能力?它不仅要会看行情,还要能理解新闻、记住历史、解释价格变化、复盘过去的交易,并在综合多种信息后给出可追溯的买卖理由。
2024年发表在KDD上的论文《A Multimodal Foundation Agent for Financial Trading: Tool-Augmented, Diversified, and Generalist》提出的 FinAgent,正是在这一思路下构建的金融交易智能体。它试图将股票交易从“根据几个指标直接给出 Buy 或 Sell”,转变为一条完整的连续决策链: 看市场 → 查历史 → 做反思 → 听工具建议 → 再做决策。
本文将围绕 FinAgent 的五个核心模块,拆解它们分别在做什么、如何协作,并分享基于该框架进行轻量化复刻和交互式仿真界面搭建的一些初步尝试。
论文题目:A Multimodal Foundation Agent for Financial Trading: Tool-Augmented, Diversified, and Generalist;论文链接:https://doi.org/10.1145/3637528.3671801
1. 交易智能体为什么不能只看技术指标?
传统量化交易中,很多策略都围绕技术指标展开。例如:MACD 金叉,买入;RSI 超买,卖出;均线向上,持有;布林带下轨,尝试抄底。
这类策略有一个优点:规则明确、计算快速、容易实现。但真实市场并不会只提供整齐的技术信号。同一天里,股票可能同时受到多种因素影响:公司公告、财报或行业新闻;政策变化和市场情绪;价格突破、成交量异动;过去相似事件后的市场演化;当前账户的持仓、浮盈亏和风险暴露。
单独依赖某一个技术指标,很容易忽略市场信息之间的关联。例如,RSI 进入超卖区,未必意味着应该立刻买入;如果此时市场正受到重大利空冲击,超卖也可能只是下跌趋势中的一个阶段。反过来,MACD 出现金叉,也不一定意味着趋势已经真正反转。因此,交易智能体不能只是“指标触发器”,而应该像一个具备研究、复盘和决策能力的投资团队:它需要理解今天发生了什么,也需要知道过去发生过什么;它需要解释市场为什么这样走,也需要反思自己此前为什么判断失误。这正是 FinAgent 想要解决的问题。
2. FinAgent 是什么:一套面向金融交易的多模态智能体框架
所谓“多模态”,是指它并不只依赖价格序列,而是同时利用:股票价格和技术指标;新闻、报告等文本信息;K 线图、交易曲线等视觉信息;专家指导或传统策略工具;历史市场情报与历史交易经验。
需要注意的是,FinAgent 并不是五个大模型角色围坐在一起讨论股票。更准确地说,它由五个核心功能模块构成:市场情报模块;记忆模块; 低层反思模块;高层反思模块;工具增强决策模块。其中,MACD、KDJ、RSI、均值回归等辅助策略工具,并不是独立的大模型智能体,而是作为“辅助工具”被整合进最终决策过程。
FinAgent 的核心思想可以概括为一句话:不让大模型直接凭当天信息决定买卖,而是先让它理解市场、检索历史、分析价格变化、复盘过去决策,再综合形成带有理由的交易动作建议。
风险提示: 本文内容仅用于论文导读、系统设计讨论和历史数据仿真展示,不构成任何投资建议或交易推荐。文中涉及的 Buy / Hold / Sell 仅为模型在历史仿真环境下的输出示例,不代表真实市场交易建议。历史回测结果不代表未来收益,任何真实投资决策均需结合个人风险承受能力并独立判断。
3. FinAgent五个核心模块
3.1 市场情报模块:看懂今天发生了什么
市场情报模块相当于整个系统的“研究员”。它接收当天的多源输入,例如:开盘价、最高价、最低价、收盘价、成交量;技术指标和价格波动; 新闻、公告、财报等文本信息;K 线图等视觉信息;可选的专家指导。但它的输出并不只是简单判断“利好”还是“利空”。FinAgent 会生成两类不同内容:
第一类是市场摘要。它服务于后续交易决策,帮助智能体概括今天的市场状态,例如当前趋势、市场情绪、潜在支撑位与压力位,以及需要关注的风险。
第二类是检索 Query。它服务于历史记忆检索,用于回答“历史上是否出现过类似情境”。
摘要是为了帮助系统理解“今天发生了什么”;Query 则是为了帮助系统寻找“过去有没有发生过类似事情”。例如,当天出现一条关于产品发布的新闻,市场情报模块并不只是总结新闻内容,还会进一步生成类似以下的检索线索:这类新闻对短期价格可能有什么影响?类似事件在中期通常如何演化?是否存在长期风险因素?
因此,市场情报模块并不是信息搬运工,而是负责将杂乱的市场信息转化为“可用于决策”和“可用于检索”的结构化内容。
3.2 记忆模块:从历史中找相似经验
人类交易员的优势之一,在于能够从过去的经历中学习。例如,看到某类利空新闻时,经验丰富的交易员可能会想到:“以前发生过类似情况,当时股价先跌后稳,还是持续下行?”
FinAgent 的记忆模块,就是为了让智能体具备类似能力。它并不是只有一个统一记忆库,而是把不同类型的经验分别保存。
第一类:市场情报记忆。保存过去的新闻、市场摘要、情绪判断和价格背景,用于检索“类似事件”。
第二类:低层反思记忆。保存过去对价格变化原因的分析,用于检索“类似行情是怎样演化的”。
第三类:高层反思记忆。保存过去交易成功或失败后的经验,用于检索“类似决策过去做得对不对”。
这意味着,FinAgent 不只是记住“某天涨了还是跌了”,而是记住:当时发生了什么;市场为什么这样走;自己当时做了什么;最终结果如何;下次遇到类似场景应当注意什么。 这种记忆结构使交易智能体从“只根据当前输入做判断”,逐步变成“能够结合历史经验做判断”。
3.3 低层反思:解释行情为什么这样变化
低层反思模块关注的不是“这笔交易赚没赚钱”,而是:当前市场为什么会出现这样的价格变化?它通常结合:当天及历史市场情报;K 线图与技术指标;短期、中期、长期价格变化;历史相似行情的解释。在论文设定中,低层反思会从多个时间尺度分析价格变化,例如短期、 中期和长期的走势。
它试图回答的问题包括:这一次上涨主要由新闻驱动,还是技术突破驱动?当前下跌是短期情绪扰动,还是趋势性走弱?市场情绪、价格形态和成交量是否指向同一方向?历史上类似的信号组合出现后,后续通常如何演化?
可以把低层反思理解为“行情解释器”。如果市场情报模块负责说“今天发生了什么”,那么低层反思负责回答:这些信息为什么会对应当前的价格变化?例如,当某只股票短期上涨时,低层反思不会只记录“上涨了 3%”,而会尝试分析:这次上涨是否与积极新闻、技术形态改善、成交量变化或市场情绪提升有关。它的价值在于帮助系统区分:偶然波动、事件驱动、趋势延续、潜在反转。
3.4 高层反思:复盘过去交易做得对不对
如果低层反思关注的是“市场为什么这样走”,那么高层反思关注的就是:面对当时的市场,系统此前的交易决策是否合理?高层反思会读取一段时间内的:Buy / Hold / Sell 决策;每次决策对应的理由;买卖点;组合收益曲线;历史市场状态与价格变化。它试图分析:哪些买入是合理的?哪些卖出过早或过晚?哪些亏损是因为忽略了风险信号?哪些策略在趋势市场中有效,却在震荡市场中失效?下一次遇到相似情境时,应该如何修正?可以把它理解成“交易复盘员”。
低层反思关注的是微观行情逻辑,高层反思关注的是宏观决策逻辑。例如:低层反思可能说:“近期下跌与负面新闻和 MACD 走弱有关。” 高层反思则进一步说:“在负面新闻出现、趋势走弱的情况下,之前继续持有的决定不够谨慎。” 这种双层反思机制,正是 FinAgent 与单纯“看新闻做交易”系统的差异之一。
3.5 决策与工具:综合证据后再买卖
最终的决策模块相当于“投资经理”。它不会只看一个指标,而是综合多个来源的信息:最新市场情报;历史相似市场经验;低层反思结果;高层反思总结;专家指导;当前账户持仓;交易者偏好;MACD、KDJ、RSI、均值回归等辅助策略工具。最后给出:BUY / HOLD / SELL + 对应的决策理由。这里有一个非常重要的思想:工具不是替代决策,而是为决策提供证据。
例如,MACD 可以提示趋势是否转强;KDJ、RSI 可以提示动量是否过热;均值回归工具可以提示价格是否偏离均值。但最终是否买卖,不由某个工具单独决定,而是由决策模块综合判断。这使得系统不再是“MACD 金叉就买”的刚性规则,而是能够形成更具上下文的决策逻辑:新闻偏积极、历史相似事件后通常上涨、低层反思判断趋势延续、工具信号也较一致,因此提高买入倾向。或者:虽然 RSI 已经超卖,但当前市场情绪偏负面、历史类似事件后仍可能继续下跌、趋势工具没有确认,因此暂不抄底。
4. 一次交易日中,它们如何协作?
如果把 FinAgent 放到某一个交易日,它的协作过程可以概括为以下八步。
第一步:读取当天信息 。系统读取当天的价格、成交量、新闻、技术指标、K 线图和可选专家指导。
第二步:生成市场情报。市场情报模块总结当前市场状态,并生成短期、中期、长期等不同方向的检索 Query。
第三步:检索历史相似经验。记忆模块根据 Query,从市场情报记忆中找到历史上的相似事件和相似行情。
第四步:进行低层反思。低层反思模块结合当前信息、历史相似信息、K 线图和价格变化,分析市场为什么会这样走。
第五步:检索历史反思。系统进一步检索历史上相似的价格变化逻辑和交易经验。
第六步:进行高层反思。高层反思模块查看近期交易动作、交易理由、买卖点和组合曲线,复盘此前决策是否合理。
第七步:辅助工具提出建议。MACD、KDJ、RSI、均值回归等辅助策略工具分别给出自己的判断,形成多角度的辅助证据。
第八步:综合决策并写回记忆。最终决策模块综合所有输入,输出 Buy、Hold 或 Sell,并附带理由。随后,当天的市场信息、反思结果和交易记录会再次写入记忆库,成为未来决策的参考。
因此,FinAgent 的核心不是“今天预测明天涨跌”,而是形成一个持续循环:观察 → 检索 → 解释 → 复盘 → 决策 → 记忆更新。
5. 轻量化复刻:一个可交互的 FinAgent 历史仿真工作台
为了更直观地理解 FinAgent 的模块协作逻辑,本文基于论文框架完成了一个轻量化的历史仿真原型。这里需要先说明:这项工作不是对论文原始实验设置的完全复现。原论文使用了更完整的数据来源、GPT-4、GPT-4V、文本嵌入模型以及多资产实验环境。本次轻量化实现则更关注于保留其核心工作流:市场情报→ 历史记忆检索→ 低层反思→ 高层反思→ 策略工具→ 最终交易决策。同时,将它做成一个可操作的交互式仿真界面。
在这个原型中,用户可以导入历史价格数据,并可选导入新闻和专家指导数据;然后设置初始资金、训练段比例、交易偏好、手续费、滑点和仓位限制等参数。训练段主要用于构建历史记忆;测试段则用于逐日观察智能体的决策过程。整个系统仅面向历史数据仿真,不连接券商,也不会进行真实下单。
整体上,平台由以下四个部分组成。
第一,参数配置区
用户可以上传价格、新闻和专家指导等数据文件,并设置资产名称、初始资金、训练段比例、交易者偏好、LLM 调用预算、手续费、滑点和仓位控制等参数。其中,训练段主要用于构建历史信息与决策记录,测试段用于后续的历史仿真交易。
第二,投研决策区
平台会展示当前资产、回测进度、组合资产、累计收益、最大回撤、基准收益、超额收益、仓位、交易次数以及 LLM 调用预算等核心信息。同时,系统会显示当前是否存在待执行委托,以及最新的 Buy、Hold 或 Sell 决策及其理由。
第三,Agent 推理过程区
为了让交易过程不再是黑箱,平台将一次决策拆分为“市场数据、技术分析、新闻情绪、风险控制、LLM 推理和最终决策”六个环节。用户可以看到MACD、KDJ、RSI、均值回归等辅助策略工具给出的意见,也可以查看新闻情绪、风险控制是否介入,以及最终决策由哪些因素主导。
第四,回测与交易审计区
平台以 K 线图叠加买卖点、组合净值曲线、回撤曲线和仓位暴露曲线等形式展示回测过程;同时保存每笔交易、风险覆盖记录、LLM 调用记录和逐日决策日志,支持导出为 CSV 或 JSON 文件。
此外,平台采用“信号日生成委托、下一交易日开盘模拟成交”的方式,将交易信号与实际成交分开处理,避免直接按当天收盘价成交带来的理想化假设。用户还可以在仿真过程中人工覆盖下一交易日委托,用于观察人机协作下的不同交易结果。
通过这个平台,FinAgent 不再只是论文中的流程图,而成为一个可以逐日观察“系统看到了什么、如何分析、为何决策、最终如何成交”的历史仿真原型。
需要说明的是, 当前平台仍处于一次初步尝试阶段。现阶段主要完成了论文核心流程的轻量化落地与交互式呈现,能够将市场数据、技术分析、新闻情绪、风险控制、LLM 推理和最终交易决策串联起来,并保留完整的交易与调用审计记录。但要进一步接近论文中的完整 FinAgent,后续仍有较大的完善空间:一方面,可以补充更多决策指标与辅助工具,例如波动率、成交量异动、行业指数、财务指标和更丰富的策略信号;另一方面,也可以尝试替换或接入更适合金融文本与图表理解的大模型,增强市场信息总结、历史经验检索和反思复盘的质量。此外,还需要在更多股票、更多市场状态和更长时间区间上进行系统测试,进一步验证该框架的稳定性、泛化能力与实际决策价值。
6. 小结
FinAgent 带来的启发在于,交易智能体不应只是技术指标的触发器,也不应让大模型仅凭一条新闻或一天行情直接给出买卖结论。更合理的方向,是构建一个能够整合价格、新闻、技术信号等多源信息,检索历史经验,解释行情变化,复盘交易行为,并保留完整决策依据的连续决策系统。
当前搭建的轻量化仿真工作台,仍然只是一次初步尝试。它的主要价值不在于证明某一段历史行情中能够获得多高收益,而在于将“系统看到了什么、调用了哪些工具、风险控制是否介入、为什么做出某个动作、最终如何成交”这一过程变得可追溯、可检查和可讨论。
后续还可以从多个方向继续完善:一是补充更丰富的决策指标与辅助工具,例如成交量异动、波动率、行业指数、财务指标和更全面的市场情绪信息;二是尝试接入更适合金融文本理解、图表分析和结构化推理的大模型,进一步增强市场情报总结、历史经验检索和反思复盘的质量;三是在更多资产、更多市场状态和更长时间区间上进行系统测试,验证框架的稳定性与泛化能力。同时,还需要持续完善风险控制、交易成本建模、模型幻觉约束以及人机协作机制,使该原型逐步从“可观察的研究工具”走向更严谨的智能交易决策实验平台。