金融分析任务主要涵盖两个关键领域: 股票趋势预测 和相应的 金融问题回答 。目前,机器学习和深度学习算法(ML&DL)已广泛应用于股票趋势预测,取得了显著进展。然而,这些方法未能提供预测的理由,缺乏可解释性和推理过程。同时,它们也无法整合文本信息,如金融新闻或报告。与此同时,大型语言模型(LLMs)具有卓越的文本理解和生成能力。但由于金融训练数据集的稀缺和与实时知识的有限整合,LLMs仍然存在幻觉问题,无法跟上最新信息。
金融分析任务的一个例子 ,包括股票趋势预测和金融问答。传统的机器学习与深度学习方法仅提供不确定的预测(上涨/下跌),没有任何理由说明,而原始的大型语言模型虽然能够提供预测分析,但却没有实际帮助。
为了应对上述挑战:
- 发布了 AlphaFin数据集 ,结合了传统研究数据集、实时金融数据和手工编写的思维链(CoT)数据。这对训练LLMs完成金融分析产生了积极影响。
提出的AlphaFin数据集的来源和预处理
- 使用AlphaFin数据集来基准测试一种金融分析框架Stock-Chain,它有效处理金融分析任务,并整合了检索增强生成(RAG)技术。
Stock-Chain结合了大型语言模型(LLMs)和检索增强生成(RAG)技术,以提高股票趋势预测和金融问题回答的准确性和可解释性:
- 问题定义:Stock-Chain将金融分析任务分为两个阶段:股票趋势预测和金融问答。在股票趋势预测阶段,目标是预测给定公司股票的涨跌趋势;在金融问答阶段,目标是基于用户查询、对话历史和相关文档提供回答。
- 数据集:Stock-Chain使用AlphaFin数据集进行训练和测试,该数据集包括传统研究数据集、实时金融数据、金融新闻和手工编写的思维链(CoT)数据。
- StockGPT微调:通过两步微调过程,Stock-Chain训练了一个名为StockGPT的LLM,第一步使用AlphaFin的财务报告数据集进行训练,第二步使用手工创建的CoT数据集引导模型进行逐步思考。
- 预测和后处理:StockGPT用于预测股票的涨跌,并提供详细的分析和解释。预测结果经过后处理,选择所有预测为“上涨”的股票作为投资组合。
- 金融问答:Stock-Chain还具备金融问答能力,通过RAG技术增强LLMs的问答性能。这包括构建向量数据库、知识检索和响应生成。
金融分析中Stock-Chain框架两个阶段的示意图
实验结果表明,Stock-Chain在股票趋势预测任务上实现了最先进的准确性,并且年度回报率(ARR)超过30%。此外,Stock-Chain在金融问答中也能提供全面的分析,增强了投资者的决策信心,并为他们的投资选择提供了坚实的基础。
2020年1月至2023年7月期间,金融报告数据集测试集中每个基线的累积回报率(AR)。该图表显示了一些基线的曲线。
AlphaFin-Test上的主要实验结果 。年化回报率(ARR)和准确率(ACC)是核心指标,而中间指标(如AERR、ANVOL等)可以帮助投资者评估模型的有效性。由于回报率通常波动很大,为了确保性能的稳定性,对每个模型运行了10次,并获得了平均结果。
AlphaFin: Benchmarking Financial Analysis with RetrievalAugmented Stock-Chain Framework
https://arxiv.org/pdf/2403.12582.pdf
https://github.com/AlphaFin-proj/AlphaFin