股票预测 stock prediction领域一直都是很有趣的研究方向,但是奈何行业的特点,很少有统一的数据集和一些评估方法,本文是来自我们IJCAI 2022的finnlp 录取的论文:Astock: a new dataset and automated stock trading based on stock-specific news analyzing Model.

论文的地址:https://arxiv.org/abs/2206.06606

数据集及code的地址:GitHub - JinanZou/Astock: Astock

本文提供了中文股票的数据集包括了新闻财报,股价,成交量,市盈率等20多个基本面和技术面的指标数据。也欢迎在量化及fintec的从业者和研究者和我们交流。

Abstract

自然语言处理(NLP)通过分析社交媒体或新闻机构的文本,显示出支持金融决策的巨大潜力。在这项工作中,我们建立了一个平台来系统地研究NLP辅助的股票自动交易算法。与之前的工作相比,我们的平台有三个特点。(1) 我们为每只具体的股票提供金融新闻。(2) 我们为每只股票提供各种股票因素。(3) 我们从更多的金融相关指标来评估业绩。这样的设计使我们能够在一个更现实的环境中开发和评估NLP辅助的股票自动交易算法。除了设计一个评估平台和数据集的收集,我们还在技术上做出了贡献,提出了一个从各种输入信息中自动学习良好特征表示的系统。我们算法的关键是一种叫做语义角色标记池(SRLP)的方法,它利用语义角色标记(SRL)来创建每个新闻段落的紧凑表示。在SRLP的基础上,我们进一步结合其他股票因素来进行最终预测。此外,我们提出了一种基于SRLP的自我监督学习策略,以提高我们系统的分布外泛化性能。通过我们的实验研究,我们表明所提出的方法取得了更好的性能,超过了所有基线的年化收益率以及沪深300指数和XIN9指数在实际交易中的最大跌幅。

Introduction

长期以来,股票预测一直是一项有吸引力的任务,由于市场的随机性和参与者的行为模式是波动的和难以捉摸的,所以它仍然具有挑战性。基于自然语言处理(NLP)技术的股票预测是一个很有前途的解决方案,因为文本信息,如推文、金融新闻等,与股票价格密切相关。然而,基于NLP的股票预测研究仍然是分散的,没有统一的定义、基准数据集、明确的任务阐述,这在一定程度上阻碍了这个领域的进展。

现有的方法通常基于市场情绪分析,并使用新闻来预测下一个交易日的相关证券的价格。尽管这些研究取得了有限的成功,但现有的工作仍然离现实很远,原因有二。首先,以前的方法忽略了金融因素,而金融因素在实际交易中起着关键作用。其次,这些模型只在中间的性能指标上进行评估,例如,股票走势预测的准确性。目前还不清楚它们能在多大程度上支持一个实际的交易系统获得足够的利润。为了解决上述问题,本文构建了一个包含新闻和股票因素的中国A股市场数据集,称为Astock。具体来说,本文对40,963条新闻中所有出现的三种交易行为(多头、保值、空头)进行注释,这些新闻描述了主要的金融事件。该数据集还包括各种股票因素,以建立一个现实的系统。基于Astock,本文建立了一个语义角色标签池(SRLP),为股票特定的新闻建立一个紧凑的表示,并预测股票的运动。这项工作还探索了如何更好地利用自监督的方法来升级SRLP方法,从而达到更好的分类性能和高领域泛化能力。在实验中,我们进一步提出了一个现实的交易平台,该平台在2021年1月至2021年11月的测试期的沪深300指数和XIN9指数上的平均收益和夏普比率优于最先进的文本分类基线。本文的主要贡献有:

  1. 构建了一个全新的中国股票预测任务数据集,其中包括股票的具体新闻和股票因素。

2.SRLP对金融事件的关键属性进行了描述,这有利于将其他股票因素纳入其中,并在SRLP方法的基础上进一步创建一个自我监督模块。我们的自监督SRLP方法获得了有竞争力的股票走势预测和分布外(OOD)的泛化结果。

3. 进一步从更多的金融相关指标来评估算法在真实世界交易中的表现。通过进行广泛的实验研究,表明自监督SRLP在这些指标上取得了显著的性能。

Methodology

Semantic Role Labelling Pooling

在这项工作中,我们建议利用现成的语义角色标签,即Propbank,来汇集预先训练好的语言模型的输出嵌入,以构建一个替代的表示。其理由是,Propbank中的语义角色,即动词(V)、原代理人(A0)和原病人(A1),都是通用的,而且也与事件论据紧密相关。我们在图中展示了一个金融新闻的语义角色标记的例子。

具体地说,首先使用语言技术平台(LTP)从整篇新闻的句子中自动标记语义角色,然后选择V、A0和A1来代表每句的角色。其次,我们用预先训练好的语言模型处理每个句子,得到一连串的输出詞嵌入。 接下来我们对V,A0 和A1进行average pooling得到Semantic Role Labeling Pooling的结果。拿A0举例:

对于一个有V、A0和A1的句子,我们把每个句子的A0, V, A1和Factor串联成一个数据矩阵如下图。

自监督方法

在此基础上,我们设计了一个针对SRL的自监督方法,我们发现提升效果非常明显。

实践中的一个重要问题是确保我们的模型能够泛化到与训练集不同的场景。我们在SRLP的基础上进一步创建了一个自我监督的学习方法。 如图所示,自我监督任务被定义为从一则新闻中的所有SRL角色中预测一个随机掩盖的SRL角色的位置。直观地说,自监督学习任务的设计应该鼓励特征的有利属性。在这项工作中,我们建议从一个随机选择的句子中随机掩盖一个集合嵌入,即VA0或 A1,然后要求网络从候选嵌入中识别掩盖的嵌入。这种隐蔽式的任务鼓励网络对其他未被掩盖的线索进行推理,以找出mask的部分。我们假设这样的推理能力有利于理解金融新闻,从而有助于股票走势的预测。

我们从上面提到的E中随机中选择一个SRL的role元素, 之后我们用一个全零的向量替换所选元素,表示一个 "MASK "操作。于是我们得到了E'。

然后我们将E'送入Transformer,得到一个Quary矢量序列。

没有被mask的SRLP-V特征(或SRLP-A0、SRLP-A1特征,取决于选择哪种类型的SRLP特征)也被发送到编码器,以计算候选K:

然后将查询向量与K中的每一个列向量进行比较,预计在第t个位置有最高的匹配分数。在第t个位置上有最高的匹配分数。这个过程可以通过矩阵乘法和softmax运算来实现。

最后,模型的训练损失为

我们进行实验来评估所提出的模型的性能。我们在每个模型的两个不同的数据集上进行了实验。

对每个模型的数据集进行了两种不同的分割。in-distribution 和 out-of-distribution。我们还将我们的方法的预测结果反馈给 我们还将我们的方法的预测结果输入到所提出的交易策略中。我们还将我们的方法的预测结果输入到拟议的交易策略中,通过对真实世界的股票数据进行回溯测试,分析其盈利能力。

Conclusion

在本文中,我们研究了基于NLP的股票预测问题,并通过一个新的数据集AStock建立了一个平台,其特点是。(1) 大量的股票,与股票有关的新闻。(2)各种金融因素的可用性。(3) 与金融相关的评估指标。该平台基于两项新技术。一个是利用Propbank式的语义角色标签结果来创建紧凑的新闻表示。在这个表征的基础上,另一项技术是一个定制的自我监督学习训练策略,以提高泛化性能。我们通过广泛的实验证明,所提出的方法比其他基线取得了更高的性能,包括在in-distribution和out-of-distribution的设置。同时,通过将我们的预测结果反馈给实际的模拟交易,在回溯测试中实现了更好的盈利能力。

有一些实现的细节文中有限,可能没有说的非常清晰,欢迎查看项目的github地址是:GitHub - JinanZou/Astock: Astock

Fintec 和 finance on NLP是一个非常有趣的研究领域,也欢迎更多的小伙伴加入。

股票预测论文精读:Astock: a new dataset automated stock trading based on stock-specific news analyzing mod相关推荐

  1. 【论文精读】AVP-Loc: Surround View Localization and Relocalization Based on HD VectorMap for AVP

    [论文精读]AVP-Loc: Surround View Localization and Relocalization Based on HD VectorMap for Automated Val ...

  2. 量化金融论文:Astock

    最近看到了一些NLP在金融量化方面应用的文章,感觉idea很新颖,就写个博客记录一下. 一:AStock 题目为<Astock: A New Dataset and Automated Stoc ...

  3. 股票预测 预测结果一条直线 无特征 烦恼一周了

    学习率调整无效果 数据归一化无效果 特征字段添加减去 效果忽略 模型增加RNN层 无效果 添加模型天数 效果不明显 import numpy as np import matplotlib.pyplo ...

  4. 论文精读——基于机器学习的越南生活固体废弃物预测

    论文精读--基于机器学习的越南生活固体废弃物预测 Abstract 1. Introduction(partly) 2. ML - based models and applications for ...

  5. Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset I3D论文精读

    Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset I3D论文精读 论文地址:https://openaccess. ...

  6. 【CrowS-Pairs: A Challenge Dataset for Measuring Social Biases in Masked Language Models 论文精读】

    CrowS-Pairs: A Challenge Dataset for Measuring Social Biases in Masked Language Models 论文精读 Informat ...

  7. 论文精读——CenterNet :Objects as Points

    论文精读--CenterNet :Objects as Points 论文地址:https://arxiv.org/pdf/1904.07850.pdf 机构:UT Austin,UC Berkele ...

  8. 每周论文精读05-A2J:AnchortoJointRegressionNetwork for 3D ArticulatedPoseEstimation from a SingleDepthImage

    https://download.csdn.net/download/Jason_____Wang/16502249 论文精读--A2J: Anchor-to-Joint Regression Net ...

  9. 【推荐系统多任务学习 MTL】PLE论文精读笔记(含代码实现)

    论文地址: Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized ...

最新文章

  1. 用脑机接口创作音乐,将音乐与思想进行合成
  2. [C编码笔记] 空串与NULL是不一样的
  3. 虚幻四如何实现第一人称_虚幻周报20200930 | 双节快乐么么哒!
  4. C# 获取对象 大小 Marshal.SizeOf (sizeof 只能在不安全的上下文中使用)
  5. php按城市显示搜索结果,搜索结果页(通过数据库搜索)
  6. java ==和=_Java ==和equals()的区别
  7. SpringBoot+JWT整合-解决登陆验证问题
  8. Python入门到精通三天速成第一讲——创建自定义类
  9. 深入理解javascript中的立即执行函数(function(){…})() 1
  10. pycharm使用pip install安装速度慢,更换镜像源
  11. 下载verycd的方法下载电驴资源隐藏资源的最新可用方法
  12. matlab 转子振动,转子—支承系统振动不平衡响应的MATLAB实现
  13. MATLAB图像处理_YUV格式详解
  14. 图片用Adobe PDF打开后尺寸变大的问题解决
  15. 浅谈医疗卫生系统人事档案管理
  16. python lncrna_一文解决TCGA任意肿瘤的差异lncRNA,miRNA,mRNA
  17. FinTech普惠中国,技术创新智慧杭州
  18. 如何用Pytorch读取自己的数据集
  19. 架构设计---技术栈01
  20. FPGA项目开发之时钟规划

热门文章

  1. Android11对比IOS14,iPhone11升级至iOS14,对比苹果iOS13,迎来3大新变化
  2. 【大厂面试】堆的内存结构及GC垃圾回收机制
  3. 如何在树莓派上搭建基于6LowPAN的边界路由器(基于cetic/6LBR方案)
  4. 差分定位和精密定位(一)--差分定位
  5. c与c++的struct区别
  6. 计算机公办学校招收人数,2018长沙市小升初微机派位一共有多少人参加
  7. [转] “嫁给我是你一生的赌注,我怎么舍得让你输”
  8. 怎么在应用中实现自助报表功能?
  9. 超详细!个人网盘搭建教程
  10. 图片 EXIF 信息中旋转参数 Orientation 的理解