中国科学院大学学报  2025, Vol. 42 Issue (3): 371-381   PDF    
基于DTW-SACP-LSTM模型的个股新闻信息挖掘及价格预测
王子平, 金百锁     
中国科学技术大学管理学院, 合肥 230000
摘要: 针对股票市场变化快、关系复杂的情况,提出一种结合个股新闻的股票价格预测方法。首先通过动态时间规整算法找到与目标个股序列相似度最高的基准序列,然后通过平滑突变点模型提取新闻影响的长度和时间,转化为时间序列数据,通过统计模型将股票之间的关系引入到时间序列预测,考察新闻影响力与股票历史价格数据之间的关系,同时利用长短期记忆网络将新闻影响与个股数据结合起来进行价格预测。结果表明,新闻在科技类行业领域的股票板块影响力最为明显;相比于已有的股票预测方法,融合模型的预测性能有所提升,并且随时间增长预测精度下降幅度较小。融合模型可以更精确地描述股票价格的变化,在模拟投资策略的条件下取得了14.50%的平均收益。
关键词: 金融新闻    股票预测    动态时间规整(DTW)    平滑突变点(SACP)    长短期记忆网络(LSTM)    
News information mining and price prediction of individual stock based on DTW-SACP-LSTM model
WANG Ziping, JIN Baisuo     
School of Management, University of Science and Technology of China, Hefei 230000, China
Abstract: Aiming at the rapid changes and complex relations in the stock market, this paper proposes a stock price prediction method based on individual stock news. First, through dynamic time warping algorithm, the benchmark sequence with the highest similarity to the target individual stock sequence is found, and then we can extract the length and time of news impact through smooth-and-abrupt change point model, which is converted into time series data. We introduce the relationship between stocks into time series forecasting through statistical models, examine the relationship between news influence and historical stock price data, and combine news influence with individual stock data for price forecasting by using long-and-short-term memory network. The results show that the stock sector's influence of news in the technology sector is the most obvious. Compared to existing stock prediction methods, the prediction performance of the fusion model has been improved, and the prediction accuracy has decreased slightly over time. The fusion model can more accurately describe the changes in stock prices, achieving an average return of 14.50% under the conditions of simulating investment strategies.
Keywords: financial news    stock forecast    dynamic time warping (DTW)    smooth-and-abrupt change point (SACP)    long-and-short-term memory network (LSTM)    

据统计,2021年,中国股市总市值已超过90万亿。随着股市市值不断增加,越来越多的投资者进入交易市场。对于普通投资者来说,想要在股票市场中进行有利的投资,就必须要有正确的股票选择。股票预测通过分析股票的历史数据和相关指标,利用一定的理论和算法模型,对股票进行趋势和价格的预测,是进行股票选择最流行的技术之一[1-2]

股票预测的传统解决方法是基于时间序列分析模型,例如邓凯旭和宋宝瑞[3]将金融时间序列转换为信号,应用小波变换进行分析和预测;Xu和Zhang[4]采用卡尔曼滤波器,建立股票价格的状态空间模型进行股票预测;Ariyo等[5]采用自回归方法,利用差分自回归移动平均(auto regression integrated moving average, ARIMA)模型在短期预测中更具鲁棒性和效率的优势,建立短期股价预测。这些方法大多直接使用股票的历史数据作为研究对象,对于相关行业或者其他潜在的关联因素基本没有考虑。而股票市场的价格波动和收益表现通常具有非线性、复杂性等特征,不仅仅有整体宏观市场的变化冲击,也有个体情绪导致的投资变化,所以单因子的模型往往实际表现不够理想。因此有一些研究加入相关外界因素,例如叶五一等[6]基于向量自回归模型及分位点模型对股市受流行性风险影响变化进行研究。更多研究人员在传统方法基础上,结合深度神经网络技术[7],特别是递归神经网络(recurrent neural network, RNN),加入多模态的数据信息,以此作为一种预测股票未来趋势或者价格的解决方法。综合多模态的数据信息不仅仅可以学习相同的信息提高原本模型的鲁棒性,还可以通过信息互补使模型更为全面。Feng等[8]设计了一种时间图卷积结构以时间敏感的方式捕获股票的关系信息,结合长短期记忆网络(long-and-short-term memory network, LSTM)捕获的序列信息以实现股票的排名预测;Chen等[9]研究基金经理的投资组合行为来挖掘股票之间的内在属性,在此基础上,进一步提出使用股票表示对动态市场状态进行建模生成股票与市场之间的动态相关性,从而达到更准确的股票预测。

当前大部分研究挖掘股票之间的关系信息主要依赖各类文本,以各类公告或者公司的基础信息为主。而对于普通投资者来说,这些文本信息可能难以接触或者整合,最容易获取信息的渠道为新闻信息,经济金融新闻也蕴含了大量的情绪或者倾向信息,这些信息对市场的研究不可或缺。使用新闻文本数据的研究通常将文本中的信息量化为情绪数据,例如Tetlock等[10]通过统计词频的方式将新闻文本分成正面新闻和负面新闻,他们认为负面新闻对股价的影响波动不明显;段江娇等[11]构建词向量自回归模型, 对情感词多级分类,检验情绪指数与上证指数之间的动态关系。这些工作重点多是通过自然语言处理技术去研究新闻情绪和倾向,以分类为主,较少有研究直接对新闻进行量化的分析。

针对以上问题,本文从个股新闻出发,通过“同涨同跌”的思想[12-13],历史变化相似的股票未来的变化趋势更有可能趋于相似,使用动态时间规整(dynamic time warping, DTW)算法从个股之间的相关性中挖掘新闻的实际影响力,通过平滑突变点(smooth-and-abrupt change point, SACP)模型将新闻量化成更加容易理解的可视化数据,将新闻强度与关键词相对应构建词典,衡量新闻的影响力,将这部分信息与股票历史价格数据结合起来,输入到LSTM模型中进行预测,最终建立DTW-SACP-LSTM融合模型的股票预测方法。

1 方法阐述 1.1 DTW算法

DTW算法是一种常用于测量时间序列之间距离的算法[14],主要解决2条时间序列长度不相等或存在时间位移的问题,从而衡量2条时间序列的相似性。

对于X=(x1, x2, …, xn)和Y=(y1, y2, …, yn)这样2条时间序列, 希望找到一条规整路径

$ W=w_1, w_2, \cdots, w_n, \quad \max (m, n) \leqslant k, $ (1)

其中:k为路径的长度,wk=(xa, yb)表示路径上xayb的对齐关系。这条路径必须是从w1=(x1, y1)开始,到wk=(xm, yn)结束,并且对于路径上的任意一点wk=(xa, yb),若该点并非路径结束点wk,则路径上下一个点wk=(xa, yb)应满足条件

$ a \leqslant a^{\prime} \leqslant a+1, b \leqslant b^{\prime} \leqslant b+1, $ (2)

该条件限制路径上的点随时间单调进行, 并且路径会经过2条序列上每一个点。

最终想要得到的是这条路径经过的点的距离之和,需要构造2个矩阵:距离矩阵Dm×n和累计距离矩阵Gm×n。距离矩阵D中的矩阵元素d(a, b)表示序列X中的点xa与序列Y中的点yb之间的欧式距离。累计距离矩阵G中的矩阵元素g(a, b)由以下公式定义

$ g(a, b)=\min \left\{\begin{array}{l} g(a-1, b)+d(a, b), \\ g(a-1, b-1)+2 d(a, b), \\ g(a, b-1)+d(a, b) . \end{array}\right. $ (3)

g(0, 0)=g(0, b)=g(a, 0)=0,这样就可以根据式(3)及距离矩阵D得到矩阵G。将g(m, n)记为dDTW,即为所求的最短路径长度。

1.2 SACP模型

SACP模型在Chen和Gupta[15]这篇文章有较为详细的研究,主要是用于估计时间序列中开始变化和结束变化的2个时间点。假定随机变量X1, X2, …, Xn是一系列正态随机变量,对应的均值和方差为(μ1, σ12), (μ2, σ22), …, (μn, σn2),我们关注的是以下零假设

$ H_0: \mu_1=\mu_2=\cdots=\mu_n=\mu, $ (4)

以及相应备择假设

$ H_1: \mu_i= \begin{cases}\mu, & 1 \leqslant i \leqslant k_1, \\ \mu+\beta\left(i-k_1\right), & k_1 \leqslant i \leqslant k_2, \\ \mu, & k_2+1 \leqslant i \leqslant n .\end{cases} $ (5)

其中: k1代表变化起始位置,k2代表变化结束位置,β是从变化起始位置k1到变化结束位置k2的线性趋势变化的斜率。该模型是在位置k1前均值为μk1时刻受到影响发生变化,产生一个斜率为β的线性趋势,在位置k2时结束变化,恢复到之前的均值μ。其中μβ均是未知的。当k1=1, k2=n时SACP模型变为普通线性回归模型,所以假定1≤k1n-2, k1 < k2n-1。我们的目标就是估计k1k2的位置。

为了估计k1k2的位置,Chen和Gupta[15]给出了一种贝叶斯方法,假定有以下先验分布条件

$ \begin{gathered} \pi_0\left(k_1, k_2\right)=\frac{2}{(n-1)(n-2)}, \\ 1 \leqslant k_1 \leqslant n-2, k_1<k_2 \leqslant n-1 ; \end{gathered} $ (6)
$ \pi_0\left(\sigma^2 \mid k_1, k_2\right) \propto \begin{cases}\frac{1}{\sigma^2}, & \sigma^2>0, \\ 0, & \text { 其他情况 } ;\end{cases} $ (7)
$ \pi_0\left(\mu, \beta \mid \sigma^2, k_1, k_2\right) \propto \text { 常量.} $ (8)

基于样本的似然函数为

$ \begin{aligned} & L_1\left(\mu, \beta, \sigma^2\right)=f\left(X_1, X_2, \cdots, X_n \mid \mu, \beta, \sigma^2, k_1, k_2\right) \\ & =(2 \pi)^{-\frac{n}{2}}\left(\sigma^2\right)^{-\frac{n}{2}} \cdot \exp \left\{-\frac{1}{2 \sigma^2}\left[\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-\right.\right. \\ & \left.\left.\quad 2 \beta \sum\limits_{j=1}^t j X_{j+k_1}+\lambda \beta \mu+\bar{\omega} \beta^2\right]\right\}, \end{aligned} $ (9)

其中: t=k2-k1, λ=t(t+1), ω=t(t+1)(2t+1)/6。

由先验条件式(6) ~式(8)和似然函数式(9),可得参数的联合密度为

$ \pi_1\left(\mu, \beta, \sigma^2, k_1, k_2\right) \propto L_1\left(\mu, \beta, \sigma^2\right) \pi_0\left(\sigma^2 \mid k_1, k_2\right) . $ (10)

注意到

$ \begin{aligned} & \int_{-\infty}^{\infty} L_1\left(\mu, \beta, \sigma^2\right) \pi_0\left(\sigma^2 \mid k_1, k_2\right) \mathrm{d} \beta \\ = & \int_{-\infty}^{\infty}\left(\sigma^2\right)^{-\frac{n}{2}-1} \cdot \exp \left\{-\frac{1}{2 \sigma^2}\right. \\ & {\left.\left[\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-2 \beta \sum\limits_{j=1}^t j X_{j+k_1}+\lambda \beta \mu+\bar{\omega} \beta^2\right]\right\} \mathrm{d} \beta } \\ \propto & \left(\sigma^2\right)^{-\frac{n+1}{2}} \bar{\omega}^{-\frac{1}{2}} \exp \left\{-\frac{1}{2 \sigma^2}\right. \\ & {\left.\left[\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-\frac{6\left[\sum_{j=1}^t j X_{j+k_1}-3 \lambda \mu\right]^2}{36 \bar{\omega}}\right]\right\}, } \end{aligned} $ (11)

以及

$ \begin{gathered} \int_{-\infty}^{\infty}\left(\sigma^2\right)^{-\frac{n+1}{2}} \bar{\omega}^{-\frac{1}{2}} \exp \left\{-\frac{1}{2 \sigma^2}\left[\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-\right.\right. \\ \left.\left.\frac{6\left[\sum_{j=1}^t j X_{j+k_1}-3 \lambda \mu\right]^2}{36 \bar{\omega}}\right]\right\} \mathrm{d} \mu \\ \propto\left(\sigma^2\right)^{-\frac{n+1}{2}} \bar{\omega}^{-\frac{1}{2}}\left[n-\frac{3 \lambda}{2(2 t+1)}\right]^{-\frac{1}{2}} \\ \exp \left\{-\frac{1}{2 \sigma^2}\left[\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-\frac{1}{\bar{\omega}}\left(\sum\limits_{j=1}^t j X_{j+k_1}\right)^2-\kappa\right]\right\} \end{gathered} $ (12)

其中: $ \kappa=\frac{2\left[(2 t+1) n \bar{X}-3 \sum_{j=1}^t j X_{j+k_1}\right]^2}{[2 n(2 t+1)-3 \lambda](2 t+1)} 。$

根据式(10) ~式(12),可以求得π1(μ, β, σ2, k1, k2)对μ, β, σ2的积分,从而得到(k1, k2)的后验密度

$ \begin{gathered} \pi_1\left(k_1, k_2\right) \propto \int_0^{\infty} \int_{-\infty}^{\infty} \int_{-\infty}^{\infty} L_1\left(\mu, \beta, \sigma^2\right) \\ \pi_0\left(\sigma^2 \mid k_1, k_2\right) \mathrm{d} \beta \mathrm{~d} \mu \mathrm{~d} \sigma^2 \\ \propto\left\{\frac{12}{\lambda[2 n(2 t+1)-3 \lambda]}\right\}^{\frac{1}{2}} . \\ \left\{\sum\limits_{i=1}^n\left(X_i-\mu\right)^2-\frac{1}{\omega}\left(\sum\limits_{j=1}^t j X_{j+k_1}\right)^2-\kappa\right\} . \end{gathered} $ (13)

将式(13)记为π1*(k1, k2),那么(k1, k2)的后验密度为

$ \pi_1\left(k_1, k_2\right)=\frac{\pi_1^*\left(k_1, k_2\right)}{\sum_{k_1=1}^{n-2} \sum_{k_2=k_1+1}^{n-1} \pi_1^*\left(k_1, k_2\right)} . $ (14)

于是时间序列中变化点(k1, k2)的估计$ \left(\hat{k}_1, \hat{k}_2\right)$可以由下式给出

$ \boldsymbol{\pi}_1\left(\hat{k}_1, \hat{k}_2\right)=\max _{k_1, k_2} \boldsymbol{\pi}_1\left(k_1, k_2\right) . $ (15)
1.3 LSTM模型

RNN是一种常见应用于时间序列预测的神经网络模型[16]。LSTM是由RNN延伸发展而来,解决了RNN存在的梯度消失和梯度爆炸导致的长期依赖问题,其特有的记忆单元结构更容易捕获序列中的长期相关,LSTM记忆单元结构如图 1所示。

Download:
图 1 LSTM记忆单元结构 Fig. 1 LSTM memory unit structure

LSTM的更新过程如下:1)遗忘门接收当前时刻的输入xt以及上一时刻隐藏层信息ht-1,经过sigmoid函数,产生一个输出ft∈[0, 1],乘以上一时刻的细胞状态Ct-1,调整上一时刻到这一时刻保留的信息量;2)输入门由两部分组成,tanh函数生成细胞新信息$ \widetilde{C_t}$,sigmoid函数同样起到调整信息量的作用,与遗忘门相结合将细胞状态Ct-1更新为Ct;3)输出门对当前细胞状态Ct乘以tanh,再通过sigmoid函数控制进入下一时刻的隐藏层信息量ht。LSTM通过这样的结构更新信息,能够有效地获得数据中的长期依赖性,目前已在很多时序数据的处理,例如自然语言数据[17]、图像数据[18]中广泛应用。

2 DTW-SACP-LSTM融合模型的股票价格预测方法 2.1 新闻影响强度计算方法

利用DTW算法可以为每一条股票序列在时间延迟TD范围内找到与其最相似的序列,这里的时间延迟TD是指选择的目标序列落后基准序列的时间。我们希望通过为目标序列找到类似的基准序列,利用“同涨同跌”的思想从基准序列的变化趋势来研究目标序列的变化趋势。下面通过模拟数据说明使用DTW算法的效果。如图 2(a)所示,假设(Xi, Yi), i=1, 2, …, 30服从二元正态分布,均值μ=0,协方差矩阵 $ \boldsymbol{\sigma}=\left(\begin{array}{cc}1 & 0.9 \\0.9 & 1\end{array}\right)$。将X图像向左平移5个单位,Y图像不变, 如图 2(b)所示,相当于Y对于X有时间延迟TD为5,此时相关系数变为0.14,但dDTW变化不大。现在令Xi, i=5, 6, …, 20保持不变,将其他部分替换为均值为0、方差为1的正态分布随机数,得到一个新的序列,如图 2(c)所示,这个序列只有中间部分与Y高度相关(ρ=0.9),整体与Y的相关系数为0.59,这种部分相似的序列更符合实际遇到的情况。类似地,在加入时间延迟TD=5以后, ρ变为-0.15,但dDTW依然变化不大,说明这种算法可以捕捉到序列之间局部的相似性,还可以确定2条时间序列之间的时间延迟,从而有效地衡量2条时间序列的距离。

Download:
图 2 时间延迟关系模拟 Fig. 2 Time delay relationship simulation

在无外界因素影响的情况下,我们认为对齐后的目标序列和基准序列变化趋势是相同的,当目标序列有新闻影响而基准序列无新闻影响时,就构成了SACP模型的条件。在使用个股历史数据时,先要将数据进行归一化。将2条归一化后的序列对齐后相减得到新序列(Z1, Z2, …, Zn)。在开始时刻, 2条序列同步变化时,新序列(Z1, Z2, …, Zn)均值为μ,方差为σ2k1时刻有新闻介入,注意,k1时刻并不一定是新闻实际发生的时刻,例如有时候股票先有变化趋势但实际事件还未曝光,这里的k1时刻描述的是新闻开始产生影响的时刻,这个影响强度为β,表示这段时间内序列(Zk1, Zk1+1, …, Zk2-1)受到新闻影响,对应均值变为μ+β(i-k1), k1+1≤ik2;在k2时刻序列(Zk2, Zk2+1, …, Zn)均值恢复为原来的μ,表明新闻产生的影响结束。使用式(15)即可得到时刻k1k2的估计。根据式(13) ~式(15),在使用时只需计算使π1*(k1, k2)最大的k1k2即可作为k1k2的估计$ \hat{k}_1, \hat{k}_2$。在确定$ \hat{k}_1, \hat{k}_2$以后,计算μβ的估计$ \hat{\mu}, \hat{\beta}$

$ \hat{\mu}=\frac{\sum\limits_{i=1}^{\hat{k}_1} Z_i+\sum\limits_{j=\hat{k}_2+1}^n Z_j}{n-\hat{k}_2+\hat{k}_1}, $ (16)
$ \hat{\beta}=\frac{2\left[\sum\limits_{i=\hat{k}_1+1}^{\hat{k}_2} Z_i-\hat{\mu}\left(\hat{k}_2-\hat{k}_1\right)\right]}{\left(\hat{k}_2-\hat{k}_1\right)\left(\hat{k}_2-\hat{k}_1+1\right)} . $ (17)

使用图 3中模拟数据来说明SACP模型的效果。假设X0, X1, …, X14X30, X31, …, X39均服从(μ=4, σ2=4)的正态分布,而X15, X16, …, X29方差不变,对应均值为4+2(i-14), i=15, 16, …, 29,采用式(15) ~式(17)获得的估计分别为$ \hat{k}_1=14, \hat{k}_2=29, \hat{\mu}=4.22, \hat{\beta}=2.10$, 可以成功提取真实变化点的位置以及估计影响强度。

Download:
图 3 SACP模型数据模拟 Fig. 3 SACP model data simulation

通过以上方法得到新闻的变化时间和变化强度。通过文本排序算法TextRank[19]对新闻提取关键词,假设新闻的影响强度S可以由提取到的关键词全部体现,表示为w1, w2, …, wn, 3≤n≤5,即每条新闻影响强度可以根据新闻的长度利用3~5个关键词来表示,计算关键词TextRank值就可以将原始新闻的影响强度分配到每一个关键词上,获得每一个词的影响强度wi。根据提取的强度将词语分成正、负、无影响3类。因为要考虑词语本身的倾向性,当新闻文本或者词汇包含否定词时将否定词删去并将强度反转,保证词语情感倾向的统一性。对于新的新闻,可以使用以下公式计算新闻强度

$ S_{\text {new }}=\sum\limits_{i=1}^n(-1)^{k_i} w_i \mathrm{TR}_i, $ (18)

其中:wi表示第i个关键词的影响强度,TRi表示第i个关键词在该条新闻中计算得到的TextRank值,ki表示第i-1到第i个关键词之间出现的否定词数量,k1表示句子开头到第1个关键词之间出现的否定词数量。这样就能够确定每一条新闻的影响强度。

2.2 结合新闻强度的股价预测方法

将以上DTW-SACP估计的新闻强度加入LSTM模型,这样LSTM模型建模的数据由股票数据以及提取的新闻强度数据组成。采用多对一的滑动窗口进行预测,设滑动窗口长度L为14,即每次利用前14天的新闻强度数据和股票数据来预测第15天的股票数据,通过不断后移完成对数据集的预测。采用的LSTM模型由3层LSTM层组成,每层LSTM层连接一个dropout层,dropout比率设置为0.2,即在训练过程中按照0.2的概率随机移除神经网络训练单元,以此防止模型出现过拟合,最后连接一个全连接输出层。使用Adam优化器进行训练。将得到的预测数据进行反归一化,转化为实际价格量纲,通过评价指标来判断方法的效果。整体融合模型预测流程如图 4所示。

Download:
图 4 DTW-SACP-LSTM融合模型预测流程 Fig. 4 DTW-SACP-LSTM fusion model prediction process
2.3 模型评价指标

为评估DTW-SACP-LSTM预测模型在股票预测任务上的性能,选取2个评价指标来衡量,分别为均方误差(mean square error, MSE)、平均绝对误差(mean absolute error, MAE),具体定义如下

$ \mathrm{MSE}=\frac{1}{n} \sum\limits_{i=1}^n\left(\hat{y}_i-y_i\right)^2, $ (19)
$ \text { MAE }=\frac{1}{n} \sum\limits_{i=1}^n\left|\hat{y}_i-y_i\right|, $ (20)

其中: n为预测值的数据量,yi为真实值,$ \hat{y}_i$为预测值。MSE和MAE越小,模型拟合效果越好。

3 实证分析 3.1 数据选取

考虑到新冠疫情对股票市场产生较大的影响,本文选取的实验数据时间跨度为2014年1月1日—2019年12月31日,股票市场整体相对平稳运行,在此期间收集100只股票所有1 464个交易日的历史数据,包含开盘价、收盘价、最高价、最低价、交易量等信息。以各个股票交易日的收盘价作为研究对象。LSTM的滑动预测窗口为14。我们的目标就是根据过去14个交易日的每日数据预测下一个交易日的数据。收益率设为rit+1=(pit+1-pit)/pit, 其中pit表示第i只股票第t天收盘价。对于部分股票有极个别交易日停牌造成数据缺失的情况,采用前一日收盘价将其作为填充。从优矿网站(https://uqer.datayes.com)获取所使用的新闻数据,共计166 233条。将数据集进行4∶1的划分:以2014年1月1日—2018年10月23日的数据作为训练集,共计1 172个交易日; 2018年10月24日—2019年12月31日的数据作为测试集,共计292个交易日。

3.2 实验与结果分析

我们主要关心2个问题:1)新闻是否对股票产生影响?具体是如何影响;2)我们的模型相对于只使用股票历史数据的预测模型是否有提升?

对于第1个问题,首先通过DTW-SACP提取新闻的强度和持续时间。对每一只股票确定其基准序列以及与基准序列之间的时间延迟和距离。在实验过程中提取方式为单向筛选,这里的时间延迟均是所选股票序列相对于基准股票序列的时间延迟,是希望利用“同涨同跌”的思想,通过过去的信息指导未来的预测。表 1展示了通过DTW算法得到的股票相似性的情况,002144与002177均为科技股,600519和000568均为白酒股,可以看到它们相比于其他相似股票对之间的距离更小,这也可以说明来自相同行业的股票可能具有更相似的变化趋势。另外,由于提取方式是单向,基准股票对于同一支股票600519,它作为600309的基准股票,当它自身作为目标股票时,可以找到更相近的基准股票000568。

表 1 部分股票相似性情况 Table 1 Similarity of some stocks

从相似股票中通过SACP模型提取新闻强度和新闻持续时间,我们设置新闻持续时间上限为30 d,在此条件下确定划分阈值。新闻强度从0.001~0.1,每0.001划分一档,共划分10档,采用方差分析检验新闻影响,当新闻强度绝对值小于0.005时,新闻发生前后在p=0.05显著水平下认为无差异。因此可以将新闻分成正影响、负影响和无影响3类,划分阈值为0.005,新闻强度绝对值大于0.005划分为影响新闻,包括正影响新闻和负影响新闻,强度绝对值小于0.005认为该新闻无影响。对于无影响的新闻,实验中就不考虑新闻的持续时间。在同一影响区间内的新闻,例如2018年9月4日“平安银行郑州违法以贷转存虚增存贷款,吃河南银监罚单”以及后续新闻“河南银监局开2张罚单,广发银行与平安银行共罚没100万”,新闻描述的是同一事件及后续,我们认为是同一簇新闻,这些新闻的影响由同一事件产生,在预测时就无需多次更新影响强度和新闻影响区间。对于不同媒体描述的相同事件,也认为是同一簇新闻。在提取出3类新闻后,通过自然语言处理分词包jieba,使用TextRank方法对新闻进行提取关键词,将新闻信息压缩到少量词上,例如新闻“海印股份2月12日晚间公告,与平安银行签署《银企战略合作协议》,平安银行拟提供授信额度30亿元作为意向性授信表示,合作期限暂定为二年”提取到的关键词是“签署、合作”。这里的新闻强度、持续时间以及关键词都是在基准股票相对稳定、无重大新闻影响的时期得到的关于目标股票的信息,而对于基准股票受新闻影响这部分信息,会从基准股票对应的相似股票中得到。表 2展示了从平安银行(000001)历史数据中提取到的新闻信息,可以看到,对于平安银行这支股票,对股票产生正面影响的新闻主要存在强度更高、时效更短的特点,而产生负面影响的新闻影响较小但会产生更长时间的影响。从中长期来看,负面影响的新闻对股价产生的影响幅度更大。

表 2 平安银行股票新闻强度范围、持续时间情况 Table 2 Ping An Bank stock news intensity range and duration

对于相同的新闻关键词,在不同股票上表现的新闻强度和新闻持续时间并不相同,但是类别表现基本相同。排除关键词在同一时期不同媒体重复报道或同一簇新闻重复出现的情况,统计每个类别出现次数最多的3个词展示在表 3中。例如关键词“增长”,在新闻数据中总计出现28 710次,排除掉在同一簇新闻中重复出现的次数,剩下有效次数共计2 605次,表现为正影响的有2 302次,表现为无影响的有288次,表现为负影响的有15次,可以认为是一个具有正面情绪倾向的词语,在产生负面影响的新闻中出现通常会结合其他否定词或者负面情绪倾向的词语,例如“利率增长”。对于出现关键词“下跌”的新闻,如果使用普通情感分类方法一般会认为是负面,但在我们的数据中大多以无影响新闻出现(占比89.88%)。经过对于具体新闻的分析,发现“下跌”在金融语境下通常只是一种客观描述,企业出现上涨或者下跌是正常现象,并没有特别的情感倾向。由此根据这种方法可以无监督地建立一个金融语料情感词典,将情感倾向、影响强度与词语相对应。

表 3 高频关键词出现次数分布情况 Table 3 Frequency distribution of high-frequency keywords

根据词典和式(18)可以确定每一条新闻的影响强度。在确定影响强度后,本文根据历史的新闻影响强度序列以及历史股票价格序列研究两者之间的相关性。这里使用Pearson相关系数分别对正面新闻和负面新闻进行计算,结果展示在图 5。可以发现,正面新闻产生影响速度更快,影响时间更短,峰值在7 d左右;而负面新闻影响持续时间久,峰值在14 d左右。这与表 2中平安银行的强度信息相一致。这里的影响机制在于:个体投资者具有的投机特征使他们在关注到上涨契机时,就会立刻跟进,促进股票价格的上涨; 而对于负面新闻,通常披露得较慢,但在披露时更容易引起投资者的抛售而导致价格下跌,并且在后续时间内若没有整体市场变化或者个体正面新闻影响,投资者关注度降低,价格会持续下跌。

Download:
图 5 股票价格与新闻的相关系数 Fig. 5 Correlation coefficient between stock prices and news of positive and negative

本文从数据集中选取5个行业:金融类、资源类、科技类、实业类以及综合类,参考Jiang等[20]的工作设置回归方程,研究新闻对各行业的影响。

$ R_t=\alpha+\beta S_{t-1}+\varepsilon_t, $ (21)

其中:Rt表示t期回报率,St-1t期新闻影响变量,εt为随机误差项。把时间跨度14 d作为一期,可以通过求当期内所有新闻文本的影响平均值来获得当期新闻影响。表 4展示综合以及各个行业的实验结果。在Campbell和Thompson[21]的工作中,预测回归方程在月度频度上R2统计量大于0.5%经济意义显著。

表 4 各行业新闻影响与回报的关系 Table 4 The relationships between news impact and returns of industries 

可以看到新闻影响对于市场回报是呈现正相关的。在14日的频度上就基本接近了1%,并且金融类、科技类、实业类效果较高,说明新闻对于这几类行业的影响更为显著,结合实际来看这几个行业市场变化快,尤其是科技类企业产品更新迭代快,行业竞争激烈,其股票价格受新闻影响最大;资源类行业新闻较少,且市场变化相对稳定,受新闻影响最小。

从新闻中获取强度数据和持续时间数据后,转化为序列数据加入到LSTM进行预测,对于第2个问题,我们验证DTW-SACP-LSTM融合模型在测试集(292个交易日)上的融合效果,将其预测结果与多种模型的预测结果进行对比,用评价指标MSE、MAE评价模型效果。对比方法采用:1) ARIMA模型,对序列进行平稳化和数据平滑后进行预测;2) 时间卷积网络(temporal convolutional network, TCN)模型, 卷积神经网络模型的变种,更适合时间序列的预测;3) LSTM模型。每个模型都会单独进行实验,以及与DTW-SACP得到的新闻信息序列相结合再进行实验。在14个交易日、30个交易日、60个交易日,即短期(14 d)、中期(30 d)、长期(60 d)3个时间点上进行预测。为检验模型的性能,对所有股票进行实验并将最后的结果取平均,表 5展示在我们数据集上所获得的效果。

表 5 多种模型预测效果对比 Table 5 Comparison of prediction effects of various models

从实验结果中可以看到:在对于时间序列的预测上,LSTM在3种模型中表现最好,在加入DTW-SACP的新闻信息以后,各个模型效果均有一定提升。从时间上来看,LSTM以及DTW-SACP-LSTM融合模型预测精度下降幅度较小,而单一的ARIMA模型在长期(60 d)的预测误差显著变大。单从LSTM模型角度,加入DTW-SACP的新闻信息以后在短期、中期、长期的预测中MSE值分别降低3.67%、4.34%、10.27%,可见新闻因素对于短期的预测效果并不明显,但对于中长期的预测效果来说比单一模型的时间序列预测效果提升较为显著。

图 6展示平安银行(000001)60个交易日预测结果,LSTM模型在MSE指标上为0.168 0,在加入新闻信息后,融合模型在MSE指标上为0.165 5,相比LSTM模型降低1.4%。与整体股票数据情况类似。

Download:
图 6 平安银行融合模型和LSTM模型60个交易日预测效果对比 Fig. 6 Comparison of Ping An Bank's 60 trading days forecast effect between fusion model and LSTM model
3.3 投资策略

我们设计一种股票交易策略,整个测试集的长度292个交易日作为评估收益的区间,以此考察模型在中长期预测的效果。采取一个保守型的策略,更倾向于低风险获得收益,减少损失的优先度高于追求收益。假定股票能每次交易成功且忽略交易手续费,进行交易时将会使用所有资金,使用融合模型对历史数据进行后一日的预测,如果该股票上涨了就买入/继续持有,如果下跌了就全部卖出/观望。如果今天发生了新闻,除对新闻数据的更新外,考虑到新闻持续时间的影响,设定一个阈值α= 0.8,从历史数据得到的正面和负面新闻最长持续时间ToptTneg,如果在一个正面新闻的影响下连续买入一个股票,则达到α×Topt天时将持有股票全部卖出,即使在预测第二天结果仍是上涨的情况下。到Topt天之前不进行交易以避免新闻影响结束后股票回落带来的损失。对于负面新闻,在达到α×Tneg天前不进行交易,之后以正常的预测结果进行交易。

对比策略选取3种:1)简单持有策略,在第1天买入后一直持有;2)简单交易策略,当价格相比前一天上涨时买入,当价格相比前一天下跌时卖出;3)根据LSTM给出股市价格预测结果,预测为上涨就买入,预测为下跌就卖出。

根据上文各行业受新闻影响不同的结论,考虑行业间带来的收益差距,每次在金融类、资源类、科技类、实业类以及综合类这5个行业中各取一支股票组成一组,进行多次模拟实验。使用回报率R以及夏普比率SR进行评价。夏普比率SR是一种广为使用的回报指标,它对收益和风险同时加以考虑,其公式如下

$ \mathrm{SR}=\frac{R-R_f}{\sigma}, $ (22)

其中:Rf表示无风险利率,选择的是2019年央行年利率1.5%;σ表示收益率标准差。

表 6展示了股票测试集上的平均收益结果,融合模型的R为14.50%,比LSTM模型高1.19个百分点,收益率有一定提升。SR也高于LSTM模型,说明融合模型能够更早地提取到新闻信息中的风险变化,在这种保守策略下虽然收益比LSTM提升有限,但是更加稳定。

表 6 选取股票292日平均结果 Table 6 The 292 day average results of selected stocks
4 结语

本文提出的基于DTW-SACP-LSTM融合模型的股票价格预测方法,通过DTW算法找到相似序列,再使用SACP模型提取新闻影响强度和影响持续时间,将新闻信息转换为易于使用的序列信息,再结合股票历史数据输入到LSTM模型中,充分利用了股票自身的时序信息以及新闻特征。通过新闻影响与股票价格之间关系的实验考察,发现负面新闻对于股价的影响更为长远;新闻对于资金雄厚、规模庞大的资源类、综合类板块股票影响较小,而对于产业发展快、产品更新快的高新企业影响较大,其股价更容易受到波动。对于指导普通投资者进行投资决策能够发挥一定作用。在单一时间序列预测和融合模型的对比实验,同时在短期、中期、长期进行预测结果的对比。在单一模型中,传统LSTM模型效果更优,即使在预测时间较长的情况下预测误差也并没有显著增大。而在加入新闻信息后,所有模型相比于单一模型均有一定程度的提升。在所有模型中,DTW-SACP-LSTM融合模型对真实值的拟合差距更小,预测结果最好,在使用我们设计的相对保守的投资策略条件下经过较长时间(292个)的交易日依然可以取得良好的收益,并且风险更低,获取收益稳定。

本文设计的融合模型在金融时间序列预测领域也具有良好的泛化能力,可以结合其他类型的数据进行更进一步的改进。另外,本文对于新闻特征进行了简单的分类和量化,在以后的研究中可以对新闻进行更细的切分而不是仅使用个别关键词,利用强度数据来量化词语,探索新闻词语特征对金融数据的影响。

参考文献
[1]
Farias Nazário R T, e Silva J L, Sobreiro V A, et al. A literature review of technical analysis on stock markets[J]. The Quarterly Review of Economics and Finance, 2017, 66: 115-126. Doi:10.1016/j.qref.2017.01.014
[2]
徐飏, 王艳, 赵子龙. 基于资产选择的投资组合模型与中国股市实证检验[J]. 中国科学院大学学报, 2015, 32(4): 446-452. Doi:10.7523/j.issn.2095-6134.2015.04.004
[3]
邓凯旭, 宋宝瑞. 小波变换在金融数据分析中的应用[J]. 数理统计与管理, 2006, 25(2): 215-219. Doi:10.13860/j.cnki.sltj.2006.02.016
[4]
Xu Y, Zhang G S. Application of Kalman filter in the prediction of stock price[C]//Proceedings of the 5th International Symposium on Knowledge Acquisition and Modeling. June 27-28, 2015. London, UK. Paris, France: Atlantis Press, 2015: 197-198. DOI: 10.2991/kam-15.2015.53.
[5]
Ariyo A A, Adewumi A O, Ayo C K. Stock price prediction using the ARIMA model[C]//2014 UKSim-AMSS 16th International Conference on Computer Modelling and Simulation. March 26-28, 2014, Cambridge, UK. IEEE, 2015: 106-112. DOI: 10.1109/UKSim.2014.67.
[6]
叶五一, 赵晋海, 缪柏其. 欧美与国内股市流动性风险间的相互关系及风险溢出效应研究: 流行病爆发背景下的分析[J]. 数理统计与管理, 2021, 40(2): 292-309. Doi:10.13860/j.cnki.sltj.20201205-002
[7]
次必聪, 张品一. 基于ARIMA-LSTM模型的金融时间序列预测[J]. 统计与决策, 2022, 38(11): 145-149. Doi:10.13546/j.cnki.tjyjc.2022.11.029
[8]
Feng F L, He X N, Wang X, et al. Temporal relational ranking for stock prediction[J]. ACM Transactions on Information Systems, 37(2): Article No. 27. Doi:10.1145/3309547
[9]
Chen C, Zhao L, Bian J, et al. Investment behaviors can tell what inside: exploring stock intrinsic properties for stock trend prediction[C]//Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. August 4-8, 2019, Anchorage, AK, USA. New York: ACM, 2019: 2376-2384. DOI: 10.1145/3292500.3330663.
[10]
Tetlock P C, Saar-Tsechansky M, Macskassy S. More than words: quantifying language to measure firms' fundamentals[J]. The Journal of Finance, 2008, 63(3): 1437-1467. Doi:10.1111/j.1540-6261.2008.01362.x
[11]
段江娇, 刘红忠, 曾剑平. 投资者情绪指数、分析师推荐指数与股指收益率的影响研究: 基于我国东方财富网股吧论坛、新浪网分析师个股评级数据[J]. 上海金融, 2014(11): 60-64. Doi:10.13910/j.cnki.shjr.2014.11.012
[12]
Ewing B T. The transmission of shocks among S&P indexes[J]. Applied Financial Economics, 2002, 12(4): 285-290. Doi:10.1080/09603100110090172
[13]
杜伟锦, 何桃富. 我国证券市场的板块联动效应及模糊聚类分析[J]. 商业研究, 2005(22): 41-45. Doi:10.13902/j.cnki.syyj.2005.22.014
[14]
Salvador S, Chan P. Toward accurate dynamic time warping in linear time and space[J]. Intelligent Data Analysis, 2007, 11(5): 561-580. Doi:10.3233/IDA-2007-11508
[15]
Chen J, Gupta A K. A Bayesian approach to the statistical analysis of a smooth-abrupt change point model[J]. Advances and Applications in Statistics, 2007, 7(1): 115-125.
[16]
Graves A. Generating sequences with recurrent neural networks[EB/OL]. 2013. arXiv: 1308.0850. (2014-06-05)[2023-02-29]. https://arxiv.org/abs/1308.0850.
[17]
Yan R, Song Y P, Wu H A. Learning to respond with deep neural networks for retrieval-based human-computer conversation system[C]// Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval. July 17-21, 2016, Pisa, Italy. New York, NY, USA: ACM, 2016: 55-64. DOI: 10.1145/2911451.2911542.
[18]
Chen J Y, Li S E, Tomizuka M. Interpretable end-to-end urban autonomous driving with latent deep reinforcement learning[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23(6): 5068-5078. Doi:10.1109/TITS.2020.3046646
[19]
Mihalcea R, Tarau P. TextRank: bringing order into Text[C/OL]//Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing. Barcelona, Spain: Association for Computational Linguistics, 2004: 404-411(2004-07-01)[2023-02-29]. https://web.eecs.umich.edu/~mihalcea/papers/mihalcea.emnlp04.pdf.
[20]
Jiang F W, Lee J, Martin X, et al. Manager sentiment and stock returns[J]. Journal of Financial Economics, 2019, 132(1): 126-149. Doi:10.1016/j.jfineco.2018.10.001
[21]
Campbell J Y, Thompson S B. Predicting excess stock returns out of sample: can anything beat the historical average?[J]. The Review of Financial Studies, 2008, 21(4): 1509-1531. Doi:10.1093/rfs/hhm055