COLING 2024 | AlphaFin:基于LLM的股票预测大模型,显著提高预测能力

news2024/11/15 11:04:03

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个工作:

  1. 正式定义了金融分析任务,旨在完成股票趋势预测以及相应的金融问答。这一任务的明确为金融领域的研究和应用提供了清晰的方向。
  2. 提出了 AlphaFin 数据集,其中包含传统研究数据集、实时金融数据和手写链式思考(CoT)数据。这些数据集的引入增强了大型语言模型(LLMs)在金融分析方面的能力,使它们能够更准确地理解和处理金融信息。
  3. 基于AlphaFin数据集微调了一个名为 StockGPT 的模型,并将其集成到 Stock-Chain 框架中。Stock-Chain 框架进一步通过检索增强生成(RAG)与实时金融数据库进行集成。通过与 RAG 的结合,研究者解决了 LLMs 输出中的幻觉现象和无法生成实时内容的问题,提高了模型的准确性和实用性。
  4. 在 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 在所有基线方法中的卓越表现,并展示了其在财务分析任务中的有效性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1927257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CSS在页面中使用的三种方式:行内样式、内嵌式样式表、链接式样式表

CSS样式如何在页面中使用,包含三种方式:行内样式、内嵌式样式表、链接式样式表。 CSS样式的使用系列博文: 《CSS在页面中使用的三种方式:行内样式、内嵌式样式表、链接式样式表》 《CSS选择器:基本选择器、复合选择器、…

Android TabLayout+ViewPager2如何优雅的实现联动详解

一、介绍 Android开发过程中,我们经常会遇到滑动导航栏的做法,之前的做法就是我们通过ViewGroup来转动,然后通过大量的自定义来完成,将导航栏item与viewpage 滑动,达到业务需求 二、现实方案 通过介绍,我…

Springboot 校园安全通事件报告小程序-计算机毕业设计源码02445

Springboot 校园安全通事件报告小程序系统 摘 要 随着中国经济的飞速增长,消费者的智能化水平不断提高,许多智能手机和相关的软件正在得到更多的关注和支持。其中,校园安全通事件报告小程序系统更是深得消费者的喜爱,它的出现极大…

揭秘|SSL证书年度费用:网络安全预算规划指南

在数字化时代,网络安全已成为企业不可或缺的一部分。对于任何在线业务而言,保护客户数据和维护网站安全至关重要。其中,SSL(Secure Sockets Layer)证书扮演着关键角色,它通过加密网站与用户之间的通信来确保…

[JS]Generator

介绍 Generator函数是 ES6 提供的一种异步编程解决方案, async是该方案的语法糖 核心语法 Generator对象由生成器函数返回, 并且它符合可迭代协议和迭代器协议 生成器函数在执行时能暂停, 后面又从暂停处继续执行 <script>// 1.定义生成器函数function* testGenerato…

前端实现一键复制功能

1、下载插件 npm i vue-clipboard32.0.0 2、在需要复制的文件中引入插件并使用&#xff1a; JS: import useClipboard from "vue-clipboard3"; const { toClipboard } useClipboard(); HTML: <el-tooltip content"复制内容" placement"top&…

继承和多态(上)

目录 继承 继承方式 切片&#xff08;切割&#xff09; 重定义&#xff08;隐藏&#xff09; 继承的6个默认成员函数 继承与友元&#xff0c;静态成员 菱形继承 菱形继承的冗余和二义性 继承和组合 继承 什么是继承&#xff1f; 是代码复用的一种手段。 语法&#xff…

生物科技食品公司企业网站模板带手机端:完整源代码包及搭建教程

系统概述 本模板设计秉承“科技引领健康&#xff0c;绿色塑造未来”的理念&#xff0c;融合生物科技的先进性与食品行业的健康属性&#xff0c;通过简洁大气的界面布局、清新自然的色彩搭配以及流畅的用户体验&#xff0c;展现企业的专业实力与品牌形象。无论是产品展示、企业…

Java 实验四:类和对象的应用

一、实验目的 1、掌握类的声明、对象的创建、方法的定义和调用、构造函数的使用。 二、实验环境 1、windows11; 2、JDK1.8,集成开发环境Eclipse。 三、实验内容 &#xff08;一&#xff09;定义一个表示学生信息的类Student ①类Student的成员变量&#xff1a; sNo …

Java 客户端操作 Redis 命令(端口号映射方法,命令演示,注意事项)

文章目录 开放端口号问题引入依赖验证连接通用命令使用set 和 get 命令的使用exists 和 del 命令的使用keys 命令的使用expire 和 ttl 命令type 命令的使用 String 类型命令使用mset 和 mget 命令getrange 和 setrange 命令append 命令incr 和 decr 命令 list 类型命令使用lpus…

AI会不会让更多人失业?

最近网上热议的内容&#xff1a;武汉市萝卜快跑无人驾驶的网约车与出租车抢生意&#xff0c;惹来了很多人的非议。 有的人说AI科技应该是帮助人们去做一些高危险的事情&#xff0c;或者是一些比较脏&#xff0c;累的工作&#xff0c;比如救灾&#xff0c;排爆&#xff0c;航天探…

docker emqx 配置密码和禁用匿名连接

mqtt版本emqx/emqx:4.4.3 1.首先把镜像内目录/opt/emqx/etc拷贝到本地 2.做映射 3.allow_anonymous&#xff0c; false改成true 4. 5.MQTTX连不上的话看看下图的有没有打开

电商数据分析在品牌控价中的关键作用

品牌在进行控价操作时&#xff0c;会运用电商价格监测系统来监测线上数据&#xff0c;这些数据可能涵盖本品牌以及竞品的数据&#xff0c;其数据量无疑是巨大的。倘若只是单纯地进行品牌数据监测&#xff0c;并输出所监测到的低价数据&#xff0c;对于数据的价值挖掘而言&#…

【线程安全】关于死锁问题

文章目录 死锁的基本概念死锁的四个必要条件避免死锁避免死锁的算法死锁检测算法 死锁的基本概念 死锁是指在一组进程中的各个进程均占有不会释放的资源&#xff0c;但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。当然&#xff0c;线程之间同样也有死…

Chrome浏览器的Profile数据内容简介

前文简介了Chrome存储的账密/Cookie数据&#xff1a;一段代码读取Chrome存储的所有账号密码和Cookie 本文再扩展介绍一下Chrome存储的其它一些隐私数据。 注&#xff1a;因为业务需要&#xff0c;简单调研了一些基本内容和存储路径&#xff0c;没有深入去研究&#xff0c;有啥…

C 语言指针进阶

1.0 指针的定义 指针是内存中一个最小单元的编号&#xff08;内存单元的编号称之为地址【地址就是指针指针就是地址】&#xff09;指针通常是用来存放内存地址的一个变量。本质上指针就是地址&#xff1a;口语上说的指针起始是指针变量&#xff0c;指针变量就是一个变量&#…

本地部署,Flash Diffusion: 加速条件扩散模型实现快速图像生成

目录 引言 技术背景 Flash Diffusion 的架构与原理 Flash Diffusion 的主要特点 本地部署 运行结果 实验结果与分析 应用实例 结论 GitHub - gojasper/flash-diffusion: Official implementation of ⚡ Flash Diffusion ⚡: Accelerating Any Conditional Diffusion M…

uniapp:国家、省市区,4级联动

使用uview的Select 列选择器 选择器完成国家&#xff0c;省市区&#xff0c;4级联动 要求后台数据格式&#xff1a; list: [{label: 中国,value: 1,children: [{label: 河南省,value: 2,children: [{label: 郑州市,value: 3,children: [{label: 中原区,value: 4},{label: 郑东…

系统架构师考点--系统安全

大家好。今天我来总结一下系统安全相关的考点&#xff0c;这类考点每年都会考到&#xff0c;一般是在上午场客观题&#xff0c;占2-4分。 一、信息安全基础知识 信息安全包括5个基本要素&#xff1a;机密性、完整性、可用性、可控性与可审查性 (1)机密性&#xff1a;确保信息…

嵌入式智能手表项目实现分享

简介 这是一个基于STM32F411CUE6和FreeRTOS和LVGL的低成本的超多功能的STM32智能手表~ 推荐 如果觉得这个手表的硬件难做,又想学习相关的东西,可以试下这个新出的开发板,功能和例程demo更多!FriPi炸鸡派STM32F411开发板: 【STM32开发板】 FryPi炸鸡派 - 嘉立创EDA开源硬件平…