HATS:分层图注意力神经网络用于股票预测
HATS:分层图注意力神经网络用于股票预测
原创 QuantML QuantML 2024年08月09日 19:08 上海
Content
本文提出了一种名为HATS(Hierarchical Graph Attention Network)的分层图注意力网络,用于预测股市动向。HATS通过选择性地聚合不同类型关系的信息,并将其加入到每个公司的表示中,从而提高了预测的准确性。实验结果显示,HATS在个股价格预测和市场指数运动预测任务上的性能均优于现有方法,特别是在使用相关关系数据时,其性能提升显著。

1. 引言 (Introduction)
股市是市场经济的关键指标,每天有数十亿股股票在全球范围内交易,其预测对于金融行业至关重要,但同时也极具挑战性。尽管存在争议,但许多研究表明股市在一定程度上是可以预测的,这促使了学术界和工业界的研究者们投入大量精力去探索预测方法。
报告接着介绍了两种主要的股市分析方法:基本面分析和技术分析。基本面分析师通过深入研究公司的财务状况和盈利能力来评估其证券的内在价值,而技术分析师则专注于分析股票价格的时间序列数据,寻找可盈利的模式,这两种方法都对股市预测有着重要的影响。
现有方法在处理股市预测时存在局限,尤其是在利用关系数据方面。作者指出,利用图结构数据和关系数据的潜力尚未被充分挖掘,并提出了HATS模型,这是一个创新的层次化图注意力网络,旨在通过更智能地聚合不同类型关系的信息来提高股市预测的准确性
2. 预备知识 (Preliminaries)
本章详述了图论的基本概念,包括图的顶点(节点)、边(边缘)和邻接矩阵等,这些是理解和应用图神经网络(GNN)的基础。节点特征(属性)以特征矩阵形式存在,可以在时空图上随时间变化,通过特征矩阵的变化来定义。此外,图神经网络通过学习图上的节点表示来进行模式识别,其中谱方法如图卷积网络(GCN)利用傅里叶域中的局部模式来提取信息。
该章节还深入探讨了图神经网络的两大类方法:基于谱的方法和非谱方法。谱方法如GCN使用卷积神经网络来捕获图数据中的局部模式,而非谱方法则直接在图上定义卷积操作,利用空间上接近的邻居节点信息。此外,还讨论了注意力机制在图神经网络中的应用,这种机制可以为不同邻居节点的信息分配不同的权重,以选择性地聚合特征,这对于后续的节点分类和图分类任务至关重要。
3. 方法论 (Methodology)
-
总体框架:HATS框架包括以下模块:
-
特征提取模块:该模块负责从历史股价数据中提取特征,使用LSTM和GRU网络作为特征提取的工具。这些网络能够学习并捕捉股价随时间变化的模式,为模型提供每个公司基于历史数据的状态表示。
-
关系建模模块:这是HATS模型的核心,它利用图神经网络来处理公司之间的关系数据。该模块通过设计一种分层的注意力机制,能够在不同层次上评估和选择性地聚合来自邻居节点的信息,从而更新每个节点的表示。
-
任务特定模块:在节点表示经过关系建模模块更新之后,这些表示将被送入特定于任务的模块。该模块负责将更新后的节点特征用于执行具体的预测任务,例如个股价格预测或市场指数预测。
-
-
分层注意力网络:该网络通过两个主要的注意力层——状态注意力层和关系注意力层——来工作。状态注意力层负责在相同类型的关系中为邻居节点分配不同的权重,以便选择对未来趋势预测最重要的信息。接着,关系注意力层进一步对不同关系类型的聚合信息进行加权,确保模型能够识别并优先考虑对预测最为关键的关系类型。通过这种分层的注意力机制,HATS模型能够动态地从复杂的关系网络中提取出对股票价格预测最有价值的信息,同时忽略那些可能带来噪声的无关信息。这一过程不仅增强了模型对市场变动的敏感度,还提高了预测的准确性和鲁棒性。

-
个股预测层:作者介绍了如何使用更新后的节点表示来进行股票价格运动的分类预测。该章节提出了一个简单的线性变换层,用于将HATS模型的输出映射到三个可能的股价运动类别:上涨、中性、下跌。此外,还讨论了如何使用交叉熵损失函数来训练模型,并根据预测值和实际股价运动之间的差异进行优化。个股预测层的设计允许模型基于每个公司的时间序列数据和通过关系数据获得的增强信息,来预测其未来的股价走势。
-
图池化用于指数预测:作者详细描述了如何使用图池化技术来聚合市场指数中各个公司节点的表示,以形成对整个市场指数的预测。章节介绍了市场指数的构成,即基于特定标准选择的多只股票的集合,并说明了如何通过平均池化方法来整合这些公司的历史价格模式和特征。此外,章节还讨论了如何将通过图池化得到的指数特征与直接从历史价格数据中提取的特征相结合,以生成市场指数的最终表示。最后,章节提出了使用简单的线性变换和交叉熵损失函数来训练模型,并对市场指数的未来运动进行预测。这一方法允许HATS模型不仅预测个股价格,还能够预测整个市场指数的走势,为投资者提供了一种新的市场分析工具。
4. 数据 (Data)
-
价格相关数据:数据集涵盖了2013年2月8日至2019年6月17日期间的交易信息,包括了S&P 500指数公司的股价变动。股价数据被用来展示市场的整体趋势和波动性,以及在不同市场条件下模型的预测性能。研究者将数据分为不同的时间段,以评估模型在不同市场波动性下的表现。此外,研究者使用历史价格变化率作为输入特征,以预测公司股价的未来变动。

-
公司关系数据:关系数据从Wikidata收集,Wikidata是一个包含丰富实体关系信息的知识库。研究者利用Wikidata中的元路径技术,将原本的异构图转换为只包含公司节点的同构图,以便于分析公司间的关系。通过这种方法,研究者能够识别和利用75种不同类型的关系,包括直接关系和通过元路径建立的间接关系。这些关系数据被用来构建公司之间的关系网络,进而分析它们对股价预测的影响。研究者还讨论了如何选择和利用这些关系数据,以及它们如何被集成到模型中以提高预测的准确性。
5. 实验 (Experiments)
一般设置:
-
实验设计:
-
数据被划分为训练集、评估集和测试集,每阶段分别包含250天、50天和100天的数据。
-
模型使用50天的历史价格变化率作为输入特征,这些特征通过特征提取模块处理,采用LSTM和GRU网络。
-
所有模型采用Adam优化器,并在一定范围内调整超参数,如学习率、权重衰减和dropout比例。
-
实验实施了早期停止策略,基于评估集上的F1分数,以防止模型过拟合。
评估:
-
使用了多个指标来评估模型性能,包括准确率、F1分数、回报率和夏普比率。
-
准确率和F1分数是分类任务中常用的指标,用于衡量模型预测的精确性和综合性能。
-
回报率计算了基于模型预测结果构建的投资组合的日收益率。
-
夏普比率衡量了投资回报与风险的比值,使用13周美国国债收益率作为无风险利率的代理。
方法:
-
实验中包括了多种基线模型,以评估HATS模型与现有方法的性能差异。
-
基线模型包括基本的多层感知器(MLP)、卷积神经网络(CNN)和长短期记忆网络(LSTM)。
-
还包括了图卷积网络(GCN)及其变体,如仅使用表现最好的20种关系类型的GCN-TOP20,以及时序图卷积网络(TGC)。
-
所有使用关系建模模块的模型在个股预测任务中采用LSTM,在市场指数预测任务中采用GRU作为特征提取模块。
-
-
关系数据的影响:作者探讨了使用不同类型关系数据对股票市场预测性能的影响。实验旨在评估各种关系信息对模型预测能力的具体贡献,并识别出哪些类型的关系数据对预测最为有用。实验首先对个股预测任务中使用的基本图卷积网络(GCN)模型进行了测试,该模型不区分关系类型,而是将所有关系同等对待。通过改变输入到GCN的邻接矩阵,即关系类型,研究者能够观察到不同关系对模型性能的具体影响。研究者列出了在第四阶段测试集上表现最好和最差的10种关系类型,并报告了它们的F1分数。分析发现,并非所有关系数据都能提升预测性能,某些关系数据的使用甚至会导致性能显著下降。最佳关系类型的性能比最差关系类型高出6%,这表明在股市预测中,选择合适的关系数据至关重要。此外,实验还发现,通常密集连接的网络携带大量噪声,这可能会向目标节点的表示中添加不相关信息。例如,与国家和股票交易所相关的地理和法律形式关系就构成了密集网络,这些关系在预测中的作用不大。
-
个股预测:
分类准确性:

-
-
实验中,将股票价格运动方向的预测任务定义为三类:上升、中性、下降。
-
使用了准确率和F1分数作为评估分类性能的主要指标,其中F1分数是衡量模型精确性和召回率的平衡指标。
-
基线模型包括MLP、CNN和LSTM,这些模型没有使用关系建模模块。
-
包含关系建模模块的模型包括GCN、GCN-TOP20和TGC,这些模型利用了公司间的关系数据来增强预测。
-
实验结果显示,HATS模型在F1分数上超越了所有基线模型,包括LSTM,证明了其在个股预测任务中的优越性。
-
特别地,GCN-TOP20模型虽然在某些情况下表现良好,但HATS模型在整体上提供了更稳定和准确的预测。
-
盈利能力测试:


-
-
基于模型的预测结果,构建了一个中性和化的投资组合,并根据预测值选择了15家公司进行多头和空头操作。
-
使用了日回报率和夏普比率来衡量投资组合的盈利能力,其中夏普比率考虑了投资回报与风险之间的关系。
-
HATS模型在日回报率上表现优异,提供了较高的平均日回报率,显示出良好的盈利潜力。
-
在夏普比率方面,HATS模型同样展现出了其稳定性和风险调整后的回报能力。
-
-
指数预测:研究者应用HATS模型对市场指数的走势进行预测,选取了S&P 500指数中的431家公司数据,构建了五个代表不同行业领域的市场指数。通过图池化方法聚合公司节点特征,HATS在F1分数和准确率上均优于MLP、CNN、LSTM、GCN和TGC等基线模型,验证了其在市场指数预测任务中的有效性。尽管其他模型在市场指数预测上并未显著超越LSTM,但HATS模型的卓越性能突出了关系数据在股市预测中的价值

-
案例分析:研究者计算并可视化了每种关系类型的注意力分数,揭示了模型在预测过程中赋予不同关系的重要性。通过比较平均注意力分数最高和最低的20种和10种关系,发现模型倾向于重视如母子公司关系这样的支配-从属关系,以及代表产业依赖的其他关系,而地理特征类关系则得到了较低的注意力分数。其次,研究者通过T-SNE算法将HATS模型得到的公司节点表示映射到二维空间,进行了可视化。这些表示根据股票的当日运动(上升、中性、下降)以及公司的行业进行了颜色编码。可视化结果显示,具有上升标签的公司节点与具有下降标签的公司节点在二维空间中存在明显分离,而中性运动的公司节点则较为分散。此外,同一行业的公司节点形成了聚集的簇,表明HATS模型能够学习到反映公司特征和行业属性的有意义的表示。


6. 结论 (Conclusion)
本文总结了HATS模型在股市预测方面的研究成果,强调了模型通过选择性地聚合不同类型关系数据来学习有用的节点表示,并在个股价格预测和市场指数运动预测任务上均展现出优越性能。实验结果证明了适当使用关系数据的重要性,并且表明HATS模型在自动选择最相关信息方面超越了现有模型。
相关文章:
HATS:分层图注意力神经网络用于股票预测
HATS:分层图注意力神经网络用于股票预测 原创 QuantML QuantML 2024年08月09日 19:08 上海 Content 本文提出了一种名为HATS(Hierarchical Graph Attention Network)的分层图注意力网络,用于预测股市动向。HATS通过选择性地聚合…...
【日常记录-MySQL】MySQL设置root用户密码
Author:赵志乾 Date:2024-08-09 Declaration:All Right Reserved!!! 1. 简介 MySQL8.0.30安装后启动,发现root用户尚未设置密码。以下是两种设置root用户密码的方式。 2. 示例 2.1 mysqladmin…...
高级Web安全技术(第二篇)
我们继续第二篇,继续深入了解web的安全 一、概述 在Web应用的开发与部署中,安全问题不仅是技术挑战,更是对系统整体架构的考验。本篇文章将继续深入探讨高级Web安全技术,重点关注API安全的最佳实践、OAuth的安全实施以及安全编码…...
前端实现文件下载常用几种方式
项目中前端下载一般分为两种情况: 后端直接提供一个文件地址,通过浏览器打开就可以下载。需要发送请求,后端返回二进制流数据,前端解析流数据,生成URL实现下载。 前端对应的实质是a标签和Blob文件下载,这…...
Isaac Lab 安装 (ubuntu22.04环境)
Windows下的安装见这篇博客: Isaac Lab 安装与初体验 (windows环境)-CSDN博客 ubuntu22.04下的安装与windows下十分类似,还是参考官方的,Installation using Isaac Sim Binaries Installation using Isaac Sim Bina…...
todoList清单(HTML+CSS+JavaScript)
🌏个人博客主页: 前言: 前段时间学习了JavaScript,然后写了一个todoList小项目,现在和大家分享一下我的清单以及如何实现的,希望对大家有所帮助 🔥🔥🔥文章专题ÿ…...
LVS集群实现四层负载均衡详解(以nat,dr模式为例)
目录 一、LVS集群的介绍 1、LVS 相关术语: 2、lvs四层负载均衡工作原理 3、相关名词概念 4、lvs集群的类型 二、lvs的nat模式 1、介绍: 2、数据逻辑: 3、nat实验部署 环境搭建: 1、lvs中要去打开内核路由功能,…...
七夕表白网页效果实现与解析
七夕是中国传统的情人节,是一个充满浪漫与爱的节日。在这个特别的日子里,用代码来表达心意也是一种独特且有趣的方式。本篇文章将带你一步步实现一个简单但充满心意的七夕表白网页。通过使用HTML、CSS和少量的JavaScript,我们将创建一个包含跳…...
人工智能算法工程师(高级)课程11-自然语言处理之NLP的语言模型-seq2seq模型,seq+注意力与代码详解
大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(高级)课程11-自然语言处理之NLP的语言模型-seq2seq模型,seq+注意力,word2vec与代码详解。本课程面向高级人工智能算法工程师,深入讲解自然语言处理(NLP)中的关键语言模型技术,包括seq2seq模型及其增强版加入注意力…...
从PyTorch官方的一篇教程说开去(6.2 - 张量 tensor 矩阵运算等)
您的进步和反馈是我写作最大的动力,小伙伴来个三连呗!共勉~ 话不多说,书接上文,需要温习的小伙伴请移步 - 从PyTorch官方的一篇教程说开去(6.1 - 张量 tensor 基本操作)-CSDN博客 借图镇楼 - 1 - 矩阵乘…...
【网络层】直连路由、静态路由、动态路由
文章目录 路由表直连路由直连路由 技术背景直连路由 实战训练 静态路由静态路由 技术背景静态路由 概述静态路由 配置命令静态路由 实战训练 动态路由动态路由 技术背景路由协议概述路由协议分类 路由表 路由表的形成,路由的来源: 路由来源备注直连路由…...
tkinter用法总结
Tkinter 是 Python 标准库中的一个模块,用于创建图形用户界面 (GUI)。它是 Python 中最常用的 GUI 库之一,因为它集成在 Python 的标准发行版中,无需额外安装即可使用。 一、基本用法 1. 简单示例 import tkinter as tk# 创建主窗口 root …...
iOS基础-Block
系列文章目录 文章目录 系列文章目录一、Block是什么二、Block的使用场景1. 异步操作和完成处理器2. 动画3. 集合操作4. 定时器5. 自定义控件的事件处理6.错误处理 三、Block的底层实现1.结构分析2.Block的类型3.Block的copy4.变量捕捉 四、Block的使用细节1.auto变量的生命周期…...
本地图片瀑布流浏览器asonry Image Viewer
本地图片瀑布流浏览器asonry Image Viewer 前言效果图部分源码领取完整源码下期更新 前言 一款采用 HTML 的瀑布流本地图片浏览器「Masonry Image Viewer」只需要把你的图片文件夹拖到下载的 index 网页文件里面就可以实现瀑布流效果。项目免费开源,据介绍采用了HT…...
macos重装系统 启动U盘制作方法 - createinstallmedia 命令使用方法总结
macos重装系统比windows要稍微复杂一些,不过还好,macos系统安装app这个Apple官方提供的系统软件里面默认就内置了一个可用为我们制作启动盘的工具 createinstallmedia 我们下载的apple安装镜像要门是 dmg/pkg/iso 的压缩档案格式的,要么是 x…...
八问八答搞懂Transformer内部运作原理
最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。 最近,我们又陆续整理了很多大厂的面试题,帮助一些球友…...
MySQL增删改查(基础)
1、. 新增(Create) 语法: INSERT [INTO] table_name[(column [, column] ...)] VALUES (value_list) [, (value_list)] ... 例子: -- 创建一张学生表 DROP TABLE IF EXISTS student; CREATE TABLE student (id INT,sn INT com…...
Cairo库移植到安卓记录
前言 接Android Studio引入ndk编译的so库的故事,这个东西搞了两周以后,由于自己不熟悉Java和安卓开发,踩了不少坑,其中一周时间都是花在怎么用Android Studio上的。。。AS下的新版本Koala,结果网上资料全是旧版本&…...
Redis 哈希类型的常用命令总结
1. hset 设置哈希表中字段的值。 hset key field value示例: hset user:1000 name "Alice"2. hget 获取哈希表中字段的值。 hget key field示例: hget user:1000 name3. hgetall 获取哈希表中所有的字段和值。 hgetall key示例&#x…...
【物联网设备端开发】ESP开发工具:QEMU如何模拟以太网口接入网络
以太网口支持 ESP-IDF中添加了对Opencores以太网MAC的支持。 运行以太网示例时,启用CONFIG_EXAMPLE_CONNECT_ETHERNET和 CONFIG_EXAMPLE_USE_OPENETH.。运行自定义应用程序时,启用CONFIG_ETH_USE_OPENETH 并初始化以太网驱动程序,如示例 /c…...
Ubuntu系统下交叉编译openssl
一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...
Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
