GPT-4预测股票涨跌更更更准了!东京大学新框架LLMFactor提升显著 | ACL 2024

news2024/11/17 15:51:02

花一秒钟就看透事物本质的人,和花一辈子都看不清的人,注定是截然不同的命运。——唐·柯里昂

除了少数天纵奇才,大多数人都是通过知识和阅历的不断积累,才逐渐锻炼出观察和判断事物变化规律的能力。而如果说有一件事,可以牵动着我们去不断追踪、分析和判断,那无疑就是明天的彩票号码(划掉),股票涨跌了!尤其对许多曾经或者现在仍在股市征战四方的朋友来说。

那么不知道大家有没有想过,作为世界上最博学的存在,大模型是否能做到透过某一事件的变化,就能准确预测出相应股票涨跌的能力呢?或许今天这篇文章,会给你答案。

论文标题:
LLMFactor: Extracting Profitable Factors through Prompts for Explainable Stock Movement Prediction

论文链接:
https://arxiv.org/pdf/2406.10811.pdf

图片

金融市场分析

近年来,大模型(LLM)在处理文本数据,尤其是对文本数据的分析和理解方面取得了巨大成功,但金融市场的预测依赖于对时间序列数据的复杂分析,这要求模型不仅要理解历史数据,还要能够从中提取对未来有预测价值的信息。

现有方法,如基于关键词或情感分析的预测模型,虽然能够提供一定程度的市场洞察,但往往缺乏对股票价格变动的清晰解释和人类可读性。此外,有效市场假说(Efficient Market Hypothesis,EMH)虽然提出股票价格反映了所有可用信息,从而使得预测未来价格变动变得困难。但后续研究揭示了市场效率的局限性,如信息不对称和非理性行为等现象,这为通过识别市场低效性来寻求超额回报提供了机会。

图片

因此,研究者开始探索包括新闻报道和社交媒体在内的多种数据类型,以增强预测能力。同时,随着公众情绪对市场趋势影响的实证研究增多,研究者尝试从这些数据中提取情绪和关键词来预测市场动态。然而,这些方法在提供预测结果的同时,往往忽略了解释性,而这对于投资者和分析师来说是至关重要的。

本文提出了LLMFactor框架,旨在通过序列知识引导提示(Sequential Knowledge-Guided Prompting,SKGP)策略,从LLMs中提取与股票市场动态直接相关的因素,并提供清晰的解释,以增强预测的可信度和实用性。

LLMFactor

任务定义

考虑某股票的历史价格序列,其中表示时间窗口的大小。预测股票走势的任务被公式化为一个二元分类问题,其中股票价格序列被转换为一系列股票走势,在这个序列中,表示股票价格从到的上升,而表示下降。

本文的任务目标是对于目标股票,在给定目标预测日期,相关新闻和的情况下,预测其,即预测特定股票在未来某一时间点的价格走势。

第一阶段:匹配和获取新闻背景知识

匹配和获取新闻背景知识(Matching and Acquiring News Background Knowledge)的过程是SKGP的首要阶段。

这一阶段的核心在于将目标股票与目标预测日期的相关新闻进行匹配,并从中获取有助于理解新闻内容和预测股票价格走势的背景知识。

具体来说,研究者首先构建了一个包含公司、其股票代码和所属行业的元组列表,这些信息从纽约证券交易所(NYSE)和纳斯达克(NASDAQ)交易所收集而来。然后,通过匹配过程,确定与目标新闻相关的股票列表,即。

接下来,利用LLMs通过填空提示(fill-in-the-blank)技术来获取目标股票与匹配股票之间的关系。这种提示方法定义为。输入是一个关系模板,例如“请填空:和最可能处于 ___ 关系”,输出是关系类型,记为 。

这种获取新闻背景知识的方法显著提高了对新闻内容的理解,并且由于公司之间的关系在预测股票市场走势中起着关键作用,因此这种填空技术旨在通过限制响应格式来直接且明确地识别关系类型。例如,如果目标股票和匹配股票被识别为竞争对手,那么匹配股票的信息可能对目标股票产生负面影响。这一过程不仅增强了对新闻文本的理解,而且为后续的因素生成和股票价格走势预测提供了坚实的基础。

生成可能影响股票价格的因素

生成可能影响股票价格的因素(Generating Factors that May Affect Stock Prices)是SKGP的第二阶段。

在这一阶段,研究者指导LLMs分析目标新闻内容,识别出可能对股票价格产生影响的关键因素。这些因素与股票走势的关联度比关键词、情感、新闻摘要或整篇新闻文章更为紧密,因此提供了更高可能性的市场趋势预测。

为了生成可靠的因素,研究者使用特定的提示模板(FactorTemplate),要求LLMs从新闻中提取可能影响目标股票价格的前k个因素。LLMs在生成因素时,不仅考虑新闻中出现的词汇,而且综合考虑新闻内容及其对股票走势的潜在影响,并将内容中的重要元素进行概括。例如,如果新闻中提到“Nvidia股票在一月份的增长”,这表明Nvidia过去的股票表现良好,这种增长可能会对Nvidia未来的股价产生积极影响。

生成的因素不仅提供了对股票价格波动更即时和详细的见解,而且提高了股票价格趋势的可解释性以及LLMs预测背后的理由。这些因素随后被用于预测模型中,与历史股票价格数据和背景知识相结合,以提高预测的准确性和可解释性。通过这种方式,LLMFactor框架能够将从新闻文本中提取的深层次信息转化为对股票市场动态的清晰理解和预测。

预测股票价格走势

预测股票价格走势是LLMFactor框架的核心环节,它融合了新闻背景知识和可能影响股票价格的因素,以指导LLMs进行预测。这一过程始于将时间序列数据转换为文本格式,使LLMs能够理解并处理。具体来说,股票价格走势序列被转换成一个文本序列,其中上升和下降分别用“rose”和“fell”表示。

接着,研究者构建了一个时间模板(TimeTemplate),将过去的股价走势转换成具有特定结构的句子,例如“在,的股价”。此外,还构建了一个价格模板(PriceTemplate),它包括一个初始指令,要求基于所提供的信息判断股票价格的走向(上升或下降),并给出理由,以及一个结论性指令,用于预测特定日期的股价走势“在,的股价”。

通过这种方式,LLMFactor框架不仅能够预测股票价格的未来走势,还能够提供对这些预测背后逻辑的清晰解释,从而增强了预测的可解释性和透明度。

图片

实验

实验设置

实验使用了四个基准数据集,包括:

  • StockNet:包含87个美国股市股票,相关的推文和2014-01-01至2016-01-01期间的历史价格数据。

  • CMIN-US:包含110个美国股市股票,相关的推文和2018-01-01至2021-12-31期间的历史价格数据。

  • CMIN-CN:包含300个中国股市CSI300指数股票,相关的推文和同一时间段的历史价格数据。

  • EDT:包含54,080篇新闻文章,以及2020-03-01至2021-05-06期间的相关股票和价格信息。

本文使用了准确率(Accuracy, ACC)和马修斯相关系数(Matthews Correlation Coefficient, MCC)作为评估模型效果的指标。

同时,采用了:

  • 基于关键词提取的模型(如PromptRank,KeyBERT,YAKE,TextRank,TopicRank,SingleRank,TFIDF)。-

  • 基于情感分析的模型(如EDT,FinGPT,GPT-4-turbo,GPT-4,GPT-3.5-turbo, RoBERTa,FinBERT)。

  • 结合文本和时间序列数据的模型(如CMIN,StockNet)。

共同作为本文的基线

实验结果

LLMFactor 在所有评估方法中表现最佳,其性能优于基于关键词、情感分析和多模态数据输入的现有最先进方法(SOTA)。在四个数据集上,LLMFactor的MCC分别实现了2.9%,0.4%,11%,和4.8%的改进。

图片

对比基线模型,关键词模型在预测股价走势方面表现有限,这表明仅依靠关键词可能不足以提供对股价变动的深入洞察。而情感分析方法在不同模型间表现不一,其中一些基于LLM的模型(如GPT-4和GPT-4-turbo)在文本情感分析方面表现较好。结合文本和时间序列的模型(如CMIN, StockNet)整体性方面表现良好,但可能缺乏对文本细节的深入分析。

实验中使用了三种不同的LLM模型变体(LLMFactorGPT-4-turbo, LLMFactorGPT-4, LLMFactorGPT-3.5-turbo)来评估框架的性能。这些变体在不同数据集上的表现略有差异,但总体上都优于基线模型。

此外,通过消融研究,发现LLMFactor的因素层(factor layer)对整体性能的提升贡献最大,其次是关系层(relation layer)。价格层(price layer)虽然提供了基础的股价走势信息,但其对性能提升的贡献相对较小。

图片

总的来说,LLMFactor通过结合背景知识、从新闻中提取的因素以及历史股价数据,显著提高了预测的准确性和可解释性。尽管LLMFactor在所有数据集上都取得了良好的结果,但在不同市场和数据类型上的细微性能差异表明,模型对英语文本的处理可能更为熟练。

图片

结论和展望

股市就像是一个巨大的海洋,里面充满了各种各样的信息。有的像是水面上的波纹,一眼就能看出来,比如公司的新闻报道或者社交媒体上的热门话题。但是,真正影响船只方向的,可能是那些藏在水下的暗流,也就是那些不容易被发现,但影响力巨大的因素。

LLMFactor就像是一个熟练的潜水员,依托于LLM的强大基础能力,它能够深入到这些信息的海洋里,找到那些关键的暗流。通过SKGP方法,先了解一些背景知识,比如公司之间的关系,然后再从新闻报道中提取出可能影响股票价格的因素,从而更加准确地预测股票价格将会上涨还是下跌。

当然,正如文中提到,LLMFactor对不同语言之间存在一定的性能差异,而它在预测时,也会出现一些不确定性,这就需要未来对其鲁棒性改进的研究。此外,如果能更充分地应用上LLM的知识储备,尤其是金融zhuan,或许还能进一步提高LLMFactor对事件的理解和分析能力。

图片

图片

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

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

相关文章

数据库系统概论 | MySQL | 数据定义 | 单表查询 | 嵌套查询 | 连接查询 | 带有谓词的查询

数据定义 模式的定义与删除 定义模式与删除模式: CREATE SCHEMA S_C_SC; DROP SCHEMA S_C_SC;进入模式: USE S_C_SC;建立学生表: CREATE TABLE Student (Sno CHAR(8) PRIMARY KEY, Sname VARCHAR(20) UNIQUE, Ssex CHAR(6), Sbirthdate …

从零构建vue3+ts项目(三):vite plugin与打包配置

一、Svg配置 每次引入一张 SVG 图片都需要写一次相对路径,并且对 SVG 图片进行压缩优化也不够方便。 vite-svg-loader插件加载SVG文件作为Vue组件,使用SVGO进行优化。 插件网站https://www.npmjs.com/package/vite-svg-loader 1. 安装 pnpm i vite-svg…

反射(通俗易懂)

一、反射(Reflection) 反射就是:加载类,并允许以编程的方式解剖类中的各种成分(成员变量、方法、构造器等) 动态语言,是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他…

【软件测试】快速定位bug,编写测试用例

作为一名测试人员如果连常见的系统问题都不知道如何分析,频繁将前端人员问题指派给后端人员,后端人员问题指派给前端人员,那么在团队里你在开发中的地位显而易见 ,口碑、升值、加薪那应该是你遥不可及的梦 但是作为测试人员来说&…

强化学习的数学原理:值迭代与策略迭代

概述 从课程地图上可以看出来,这是本门课程中第一次正式的介绍强化学习的算法,并且是一个 model-based 的算法,而在下一节课将会介绍第一个 model-free 的算法(在 chapter 5)。而这两节和之前所学的 BOE 是密切相关的&…

比较多种msvcr110.dll丢失的解决方法,哪一种更加方便?

当遇到“msvcr110.dll丢失”这种问题时,这通常意味着你的系统中缺少了Microsoft Visual C 2012 Redistributable的组件。下面我将详细介绍五种解决方法,并对比它们的优点。 一.多种msvcr110.dll丢失的解决方法 方法 1: 重新安装Microsoft Visual C 2012…

在CMD中创建虚拟环境并在VSCode中使用和管理

1. 使用Conda创建虚拟环境 在CMD或Anaconda Prompt中执行以下代码以创建一个新的虚拟环境: conda create -n my_env python 3.8 这样会创建一个名为 my_env 的环境,并在Anaconda环境目录下生成一个相应的文件夹,包含该虚拟环境所需的所有…

Steam夏促商店不是人民币/商店怎么改回人民币教程

游戏玩家们的狂欢节来了,steam夏促进行中,G胖真够舍得,好多游戏低到无法想象,steam其实也不止是游戏方面比较优秀,相关的拓展也非常全面,比如说创意工坊就是很强的一个功能,简单来说就是给玩家创…

【关注】科大睿智祝贺企业上榜2024年第六批CS资质名单公示

​ 近日,经审核拟定,现将中国电子信息行业联合会会员单位开展信息系统建设和服务能力贯标评估结果公示如下(排名不分先后):拟授予基本级(CS2级)企业:22家,拟授予初始级&…

SSM中小学生信息管理系统-计算机毕业设计源码02677

摘要 随着社会的发展和教育的进步,中小学生信息管理系统成为学校管理的重要工具。本论文旨在基于SSM框架,采用Java编程语言和MySQL数据库,设计和开发一套高效、可靠的中小学生信息管理系统。中小学生信息管理系统以学生为中心,通过…

查找python包的安装路径

前提:自己已经安装过的包 1、打开任一python解析器,如VSCode 2、 以matplotlib为例,敲下面命令 import matplotlibprint(matplotlib.path) 3、运行代码就可以了 需要注意: 部分包没有path(比如time)&am…

JS(JavaScript)数据校验 表单校验-案例

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

PyPDF2拆分PDF文件为单个页面

本文目录 前言一、拆分成为单页1、代码解析2、处理效果图3、完整代码二、其它知识1、enumerate是什么① 语法② 功能③ 示例④ 更改起始索引前言 感觉之前写的不是很满意,为了充分满足付费用户的权益,所以打算把PyPDF2的各种类和用法都重新写一下,以便满足所有订阅用户的各…

Megatron-DeepSpeed与Megatron-LM在reduce grad上的差异

Megatron-DeepSpeed与Megatron-LM在reduce grad上的差异 一.Megatron-DeepSpeed 实现【deepspeed/runtime/engine.py】二.ModelLink 实现【ParamAndGradBuffer】1.ParamAndGradBuffer功能介绍2.实现原理A.分配一大块内存B.获取视图C.all_reduce grad 测试DP1,TP2,PP1,MBS1,zero…

匠心独运:红酒与手工艺的很好结合

在岁月的长河中,红酒与手工艺都以其不同的魅力和技艺,书写着各自的故事。当这两者相遇,仿佛是一场跨越时空的对话,不仅展现了匠心独运的技艺之美,更在无声中诉说着对品质与生活的热爱。今天,就让我们一起探…

CVE-2024-6387漏洞预警:尽快升级OpenSSH

OpenSSH维护者发布了安全更新,其中包含一个严重的安全漏洞,该漏洞可能导致在基于glibc的Linux系统中使用root权限执行未经身份验证的远程代码。该漏洞的代号为regreSSHion,CVE标识符为CVE-2024-6387。它驻留在OpenSSH服务器组件(也…

基于Vue.js和SpringBoot的地方美食分享网站系统设计与实现

你好,我是计算机专业的学姐,专注于前端开发和系统设计。如果你对地方美食分享网站感兴趣或有相关需求,欢迎随时联系我。 开发语言 Java 数据库 MySQL 技术 Vue.js SpringBoot Java 工具 Eclipse, MySQL Workbench, Maven 系统展示…

swiftui中常用组件picker的使用,以及它的可选样式

一个可选项列表就是一个picker组件搞出来的,它有多个样式可以选择,并且可以传递进去一些可选数据,有点像前端页面里面的seleted组件,但是picker组件的样式可以更多。可以看官方英文文档:PickerStyle | Apple Developer…

1分钟了解,预写日志WAL的核心思路...

上一篇《刷盘,还是不刷盘,是一个问题》中我们遇到了哪些问题? 1. 已提交事务未提交事务的ACID特性怎么保证? 画外音:上一篇中遇到的问题,主要是原子性与持久性。 2. 数据库崩溃,怎么实施故障恢复…

Python28-5 k-means算法

k-means 算法介绍 k-means 算法是一种经典的聚类算法,其目的是将数据集分成 ( k ) 个不同的簇,每个簇内的数据点尽可能接近。算法的基本思想是通过反复迭代优化簇中心的位置,使得每个簇内的点与簇中心的距离之和最小。k-means 算法的具体步骤…