COLING 2024 | AlphaFin:基于LLM的股票预测大模型,显著提高预测能力
发布于 2024-06-13 18:31:49
目前,机器学习和深度学习算法(ML&DL)已被广泛应用于股票趋势预测,并取得了显著进展。然而,这些方法未能为预测提供理由,缺乏可解释性和推理过程。此外,它们无法整合如财经新闻或报告等文本信息。与此同时,大型语言模型(LLMs)具有出色的文本理解和生成能力。但由于金融训练数据集稀缺以及与实时知识的整合有限,LLMs仍然存在幻觉问题,并且无法跟上最新信息。
本文介绍一篇 COLING 2024 的工作,研究者提出了一个名为 AlphaFin 的金融分析框架,它结合了机器学习和深度学习算法(ML&DL)以及大型语言模型(LLMs)来提高股票趋势预测和金融问题回答的准确性和可解释性。
【论文标题】AlphaFin: Benchmarking Financial Analysis with Retrieval-Augmented Stock-Chain Framework
【论文地址】https://arxiv.org/abs/2403.12582
【论文源码】https://github.com/AlphaFin-proj/AlphaFin
论文概述
目前,基于时间序列数据的 ML&DL 已被广泛用于股票趋势预测,对行业产生了积极影响。然而,ML&DL 算法的性能有限,只能提供不确定的结果,并且无法处理复杂的文本数据。同时,它们不能为投资者提供有效的理由和分析潜在原因,这可能会破坏他们的投资信心。
为解决上述问题,研究者做了以下4个工作:
- 正式定义了金融分析任务,旨在完成股票趋势预测以及相应的金融问答。这一任务的明确为金融领域的研究和应用提供了清晰的方向。
- 提出了 AlphaFin 数据集,其中包含传统研究数据集、实时金融数据和手写链式思考(CoT)数据。这些数据集的引入增强了大型语言模型(LLMs)在金融分析方面的能力,使它们能够更准确地理解和处理金融信息。
- 基于AlphaFin数据集微调了一个名为 StockGPT 的模型,并将其集成到 Stock-Chain 框架中。Stock-Chain 框架进一步通过检索增强生成(RAG)与实时金融数据库进行集成。通过与 RAG 的结合,研究者解决了 LLMs 输出中的幻觉现象和无法生成实时内容的问题,提高了模型的准确性和实用性。
- 在 AlphaFin 数据集上进行了广泛的实验,结果表明 Stock-Chain 在所有基线方法中都表现出色,并在金融分析任务中展现出有效性。这些实验验证了 Stock-Chain 的优越性和实用性,为金融领域的研究和应用提供了新的思路和工具。
AlphaFin数据集
研究者首先发布了 AlphaFin 数据集,如图1所示,它包含四个部分:研究数据集、StockQA、财经新闻和财务报告。AlphaFin 的数据来源于十几个数据源。从表1中可以看出,传统的研究数据集表现出相对较短的标签长度,这阻碍了金融长语言模型(FinLLMs)的训练。因此,AlphaFin 解决了传统研究数据集中质量低和长度短的问题。
- 研究数据集:使用传统的金融数据集,如 FPB、FinQA、convFinQA 和 Headline,来增强模型的信息提取和总结能力。
- StockQA 数据集:包含从 Tushare 和 AKshare 获取的股票价格和其他金融数据。
- 金融新闻数据集:整合在线新闻来源,如 CCTV 和 Wall Street CN 的金融板块,提供实时金融知识。
- 财务报告数据集:通过 DataYes 构建,包含机构对公司的专业化分析和知识。
图1 提出的AlphaFin数据集的数据来源和预处理过程
表1 AlphaFin数据集的详细情况。“Input”和“Label”分别表示它们的文本长度
Stock-Chain框架
研究者将金融分析任务视为两个相辅相成的部分,即股票趋势预测和相应的金融问答。因此,提出的 Stock-Chain 框架分为两个阶段,如图2所示。
图2 Stock-Chain 框架
01
问题定义
- 第一阶段:股票趋势预测。给定一组公司和相应的知识文档,预测股票趋势。
- 第二阶段:金融问答。将多轮对话会话视为查询-响应对的序列,基于当前查询、对话历史和相关文档获得响应。
02
股票趋势预测
如图2的左半部分所示,第一阶段是股票趋势预测。这一阶段使用 LLMs 和 AlphaFin 数据集来维护一个股票预测系统,以给出公司股票趋势的预测。
1)知识处理
- 检索相关文档。
- 设计提示模板(Prompt1),将提示与文档连接,形成输入 Ii。
2)StockGPT 微调
- 使用 AlphaFin 的所有财务报告数据集进行训练。
- 使用手动创建的报告 CoT 数据集引导模型逐步思考。
- 通过两步微调,获得 StockGPTstage1,它能够更准确地基于文档
预测公司
的股票趋势,并提供详细分析和解释。
3)预测和后处理
- 使用 StockGPT 预测股票的涨跌。
- 手动提取预测结果,并选择所有预测为“上涨”的股票作为投资组合。
03
金融问答
除了股票趋势预测外,提出的 Stock-Chain 还具有金融问答的能力,这对投资者来说可能更有建设性。给定一个对话历史、用户查询,以及与相关的检索文档,对话系统可以给出响应。研究者采用 RAG(Retriever-Augmented Generation)来增强 LLMs 的问答能力,这通常包括三个部分:向量数据库(DB)构建、知识检索和响应生成。
1)向量数据库构建
- 知识提取:使用 ChatGPT 进行文档级总结和 RefGPT 进行实体级对话生成。
- 知识嵌入:使用句子嵌入模型获得嵌入向量并存储在数据库中。
- 持续更新:通过在线数据回流不断更新数据库中的报告、市场数据和金融新闻。
2)知识检索
- 使用相同的句子嵌入模型获取用户查询的嵌入向量,并选择与查询余弦相似度最高的文档作为外部知识。
3)LLMs 微调
- 在第一阶段的基础上,继续在 AlphaFin 的研究数据集、金融新闻和 StockQA 数据集上训练 StockGPTstage1,获得 StockGPTstage2。
4)响应生成
- 给定对话历史、用户查询和相关文档,使用提示模板 Prompt2 生成响应。
实验情况
研究者在 AlphaFin 数据集上进行了广泛实验,以验证 Stock-Chain 完成财务分析任务的能力。由于框架的结构影响,实验可以分为两个部分:一是主要考察模型的年化收益率和准确性;二是通过人类与 GPT-4 的偏好评估、消融研究和案例研究来展示 Stock-Chain 的性能。
图3:从2020年1月到2023年7月,财务报告数据集测试集下每个基准模型的累积回报(AR)。该图显示了部分基准模型的曲线。
如图3所示,曲线代表每种方法的年化收益率(AR)。StockChain 实现了最高的年化收益率,并从 2023 年开始保持上升趋势,这表明 StockChain 在投资中的有效性。
表2:AlphaFin-Test数据集上的主要实验结果
参考表2,Stock-Chain 实现了最高的 30.8% 的年化收益率(ARR),这进一步证明了其有效性。因此,研究者得出以下结论:
- 机器学习和深度学习在股票趋势预测方面具有一定的分析能力,取得了较出色的年化收益率。
- 在将报告数据与市场数据相结合后,大型语言模型(LLMs)普遍超越了机器学习和深度学习,提高了股票趋势预测能力。ChatGPT 实现了 14.3% 的年化收益率。尽管 LLMs 在大量文本数据上进行训练,但它们缺乏对金融领域的优化。因此,通过针对金融领域进行微调,金融领域的大型语言模型(FinLLMs)可以提高股票趋势预测能力。FinGPT 模型实现了 17.5% 的年化收益率。
- 基于财务报告内容数据对 StockChain 进行微调后,实现了 30.8% 的年化收益率和 55.63% 的准确率(ACC)。AlphaFin 数据集在 LLMs 的训练中发挥了关键作用。通过利用全面的金融数据进行微调,提高了预测准确率和收益率,从而验证了 StockChain 的性能。
总结
在这项工作中,研究者正式定义了财务分析的任务,并提出用 AlphaFin 数据集来增强大型语言模型(LLMs)的能力,并在其基础上对 StockGPT 进行了微调。然后,又提出了 Stock-Chain 框架,该框架通过实时金融数据库(RAG)进行集成,以解决 LLMs 输出中的幻觉问题以及 LLMs 无法生成实时内容的问题。研究者在提出的 AlphaFin 数据集上进行了广泛的实验,以及一些补充实验,如消融研究、GPT4 与人类偏好评估以及案例研究,以揭示 Stock-Chain 在所有基线方法中的卓越表现,并展示了其在财务分析任务中的有效性。