基于动态影响图的股市趋势预测
2022-08-09姚宏亮徐礼维
姚宏亮,徐礼维,杨 静,俞 奎
合肥工业大学 计算机与信息学院,合肥 230009
从数据中发现知识是数据挖掘研究的核心任务,股票市场是数据挖掘的一个重要应用研究领域。股市的历史数据与股市未来状态之间具有高度的相关性[1],历史数据蕴含的信息量大,但数据含有噪声且有价值信息以隐蔽的方式在时间上进行传递,导致利用历史数据预测股市的未来状态仍是一个公开的难题。因而,将股票的历史数据通过阶段分割方式进行信息整合,从结构角度研究阶段之间的作用关系,以及这种结构关系对于未来状态的影响力,利用动态影响图来研究历史数据信息在时间上的传递,通过概率推理预测股市趋势。
概率图模型是结构建模和自动推理领域中的一种有力工具,在处理结构关系问题方面具有独特的优势。在利用概率图模型研究股市数据方面,相关研究工作有:Zuo等[2]针对股票价格波动不完全符合正态分布情况,使用贝叶斯网络(Bayesain networks,BNs)建模股票价格间的依赖关系,对NIKKH225股市和Toyota股市的趋势进行预测,结果优于ARMA和ARCH等[2]时间序列预测算法。Cheng等[3]利用贝叶斯网络提取影响股票波动的关键指标,并结合决策树算法建立一种混合分类模型,对股票回报进行预测,由于仅考虑前一天的数据,忽略了历史序列数据所含有的知识,效果一般。动态贝叶斯网络(dynamic Bayesain networks,DBNs)是贝叶斯网络时间上的扩展,数据在时间上具有记忆性,Li等[4]用动态贝叶斯网络框架来模拟亚太地区、欧洲和南北地区的股市,揭示全球市场在同一个交易日内的信息传播所产生的影响。Zhang等[5]提出一种基于历史数据的高阶隐马尔可夫模型,相比一阶隐马尔可夫模型对市场价格趋势有更高的识别能力,但数据噪声较多,影响预测效果。因而,对数据进行分段来整合更多历史信息,以增强容噪声能力,同时又可降数据复杂性,有利于概率图模型表示股票的历史数据在结构上的关系。
股票的成交量数据与股票的价格数据存在高度相关性,通过量价关系预测股票趋势是一个重要研究方向。Zhao等[6]提取股票数据相关特征,结合时间序列邻近时间点的重要性,提出一种时间加权的LSTM模型。Wen等[7]通过MDTW[8]提取股票数据的序列特征,对序列进行重构后,利用卷积神经网络对价格趋势进行预测,但仅考虑了价格序列信息,忽视了成交量对于股价趋势的影响,算法的适应性一般。孙彦林等[9]讨论了股市成交量与股价趋势的关系,指出股票价格与成交量之间具有联动性。Mitchell等[10]从量价关系角度,提出一种维度转换方法,将成交量融入价格序列中,但没有考虑量价关系在时间上的演化,导致模型预测精度一般。当前,关于股市预测问题主要是利用基本交易数据,这些特征变量之间不具有结构关系,系统状态整体表达能力弱,特征变量在时间上的作用关系难以清晰表示,通常主要使用基于神经网络模型和基于支持向量机模型进行表示,但这些模型都难以表示特征变量之间的结构关系以及这种结构关系在时间上的传递过程。本文所提取的数据具有结构特征和时序关系,因而使用动态影响图模型进行问题表示。
考虑股票价格的变化是成交量作用的结果,这种作用具有阶段性,且不同阶段作用效果不同,因而在数据分段基础上,研究各个阶段成交量与对应价格序列之间的配合度,以及量价关系对于未来股票状态所产生的影响力,并利用动态影响图建模成交量与价格在时间上的演化过程。
通过股票市场价格波动与成交量之间相关性的挖掘是研究股票趋势的一种重要途径,针对结构放量的股票数据,通过阶段分割实现对离散的成交量数据进行整合,以提高融噪能力、降低数据复杂性和提高数据信息的表达能力;利用动态影响图建模阶段成交量与阶段K线形态之间的结构关系,引入配合度来量化阶段成交量与阶段股票价格之间的作用关系;进而,利用联合树推理方法推演股票的历史信息在时间上的传播过程。
1 量价形态特征提取
1.1 阶段成交量形态特征
股市成交量是买卖双方达成交易的数量,成交量是股票价格波动的源动力[9]。阶段放量是股市的一种常见成交量变化情况,针对这种典型成交量时序场景,研究成交量阶段与对应的K线阶段之间的关系(如图1),以及这种量价关系在时间上的传递,对于股票趋势所产生的影响。
图1 阶段放量Fig.1 Stepped volume
定义1(放量)在一定交易日内,股票成交量呈阶段式增长。每个阶段中每天的成交量在该阶段的均量附近。持续k个交易日后,成交量出现跳跃式增长。
定义2(平量阶段)成交量序列在当前时间区间内处于小幅度波动的水平状态。
定义3(增量阶段)由当前平量阶段变换到下一个平量阶段过程中,有两种变换方式:逐步增量(如图1的V2阶段)和大幅增量(如图1的V4阶段)。
图1中横坐标为交易日,纵坐标分别为价格、成交量。V1、V3、V5分别对应三个阶段的平量阶段,K1、K3、K5分别对应三个阶段的价格走势;V2、V4处于增量阶段,K2、K4分别与增量阶段对应的价格走势。
1.2 股票K线的形态特征
股票价格时序数据描述为股票的K线,主要有5种基本K线形态:单边上涨、震荡上涨、横盘整理、震荡下跌、单边下跌(如图2所示)。股票K线形态划分是对于股票时序数据的一种整合,对于噪声数据具有包容性,从而提高数据表达能力。
图2 阶段趋势Fig.2 Stepped trend
股票价格趋势由时间和股票价格组成,可表示为:Y={(x1,t1),(x2,t2),…,(x i,t i),…,(x n,t n)},其中元素yi=(x i,t i)表示时间序列在x i时刻的股票价格为t i。利用序列重要点[11]方法来提取股票价格序列的K线形态,重要点即序列中首尾连线垂直距离dist最大的点,dist计算公式见式(1),式中i表示序列中第i个点(xi,t i),i+h表示第i+h个点(x i+h,t i+h),而j表示第i到第i+h的任意一个点。
1.3 阶段放量的作用性质
在阶段放量过程中,成交量变化是一种能量变化,成交量为股票走势的变化提供能量。
每一阶段股票价格涨跌幅与成交量成正比关系,具体关系式如下:
其中,m表示在Δt时间内的平均波动率,v表示当前阶段相对于上一阶段的阶段放量比,Δr表示当前阶段K线涨跌幅,α表示股票市值s的倒数关系,(c是一个常数),股票市值越大,波动幅度越小,ε表示利好或利空的扰动。
阶段放量是一个持续性放量过程,成交量的持续作用,成交量对于股票价格的影响效果,会在时间在进行传递,影响股票状态。因而,在给定的时间内股票价格波动r是阶段成交量以及相关扰动合力作用的结果,即:
2 量价配合度
2.1 阶段放量比计算
阶段放量比是相邻两个阶段的成交量均值之比,阶段成交量放量比如式(4)所示:
其中,Vol t为第t个阶段的成交量的均值,阶段放量比离散化如表1所示。
表1 阶段放量比离散化Table 1 Discretization of phase discharge ratio
2.2 K线强弱状态
股票价格序列反映了K线的强弱,K线与价格均线的位置关系也是K线状态强势的一种表现形式。
当前阶段K线状态强弱KE,如下式所示:
其中,Δr表示当前阶段K线的涨跌幅,T为阶段持续天数,qs10表示当前阶段10日均价距离。
2.3 量价配合度计算
成交量与股价变化相一致时,表明投资者对未来市场走势看法相近,反之表示看法出现分歧。
量价配合度体现当前阶段量价关系的一个重要特征。为了方便对阶段量价配合度的度量,对阶段放量V j、K线状态强弱KE j进行标准化处理。量价配合度可表示为:
其中,σKE表示当前阶段KE的方差,表示当前阶段KE的均值,σV表示当前阶段V的方差,表示当前阶段V的均值,量价配合度D离散化结果如表2所示。
表2 量价配合度离散化Table 2 Discretization of cooperation
3 量价结构关系的动态影响图推理算法
3.1 阶段放量影响图建模
贝叶斯网络[12](Bayesian networks,BN)是表示数据变量之间的依赖关系的一种概率图模型。动态贝叶斯网络[13](dynamic Bayesian networks,DBNs)是贝叶斯网络在时间上的扩展,由初始网络和转移网络组成。
阶段放量过程中每个阶段量价趋势特征直接影响到下一阶段价格走势,其阶段动态影响图结构如图3所示;其中,Kt表示第t阶段K线形态结点,V t表示第t阶段成交量结点,D t表示第t阶段量价配合度结点,Ut表示第t阶段效用结点,S t为第t阶段价格状态结点。
图3 阶段放量过程的动态影响图结构Fig.3 Structure of dynamic influence diagram of stepped volume process
在时间片为t时,随机变量为St,观察变量集为{K t,V t,Dt}。该动态影响图模型由概率模型和效用模型组成,这两个子模型的具体描述如下:
3)教师队伍结构有待优化。目前基地的师资队伍青年教师占多数,部分年轻教师知识结构、教学经验、学术研究和科研能力欠缺。双师素质有待进一步提升、双师结构需进一步优化。
(1)概率模型
状态变量集为S t,观察变量集为{K t,V t,D t}在t时间片的联合概率分布为:
设动态影响图模型满足一阶马尔可夫假设,有P(S t|S0:t-1,K0:t,D0:t)=P(St|St-1,V t,D t)、P(V t|V0:t-1)=P(V t|V t-1)和P(D i|V0:i,S0:i)=P(D i|V i,S i),给定状态变量的转移概率分布P(S t|S t-1,V t,D t)和观察变量的概率分布P(V t|V t-1)和P(D i|V i,S i),状态变量的概率分布将通过转移模型进行传播,则t时状态变量的先验概率分布为:
在给定观察变量(K i,V i,D i)时,状态变量的条件先验概率分布,可以得到状态变量的后验分布:
(2)效用模型
股票市场未来走势依赖于当前阶段K线强弱指标、成交量、量价配合度,根据多属性效用理论[14],当前阶段的局部效用函数可表示如下:其中,K E t、V t、Dt分别表示第t个阶段的K线强弱指标、成交量放量比、量价配合度,α1、α2、α3表示相应的权值,通过多维最小二乘进行无偏参数估计,可表示为方程组Y=Xα+ε,其中X为常数矩阵,Y表示下一阶段前a日内K线涨跌幅,αi为权值向量,ε为随机向量。各个变量权重为:
综合以上两个模型可知,在给定量价配合度D j=d j时,则在t时刻联合期望效用为:
3.2 动态影响图推理算法
通过展开(Unrolling)技术[15]将动态贝叶斯网络转换成全贝叶斯网络。
3.2.1 构建联合树
定义4接口在DBNs中,接口连接两个相邻的时间片t和时间片t+1,包含时间片t内所有向时间片t+1发出弧的结点集合(如图4所示),时间片t的接口可表示为I t。
图4 一个动态概率模型的接口Fig.4 Dynamic probability model interface
展开网络中任意两个相邻时间片t和t+1,消除时间片t中所有的非接口结点和与之相连的边,再和时间片t进行组合,对该部分网络进行正规化、三角化等操作,可生成联合树JT t。
图5是对3.1节中阶段放量动态影响图模型前2个时间片通过接口进行粘合得到的,I t表示时间片t和时间片t+1中的接口结点,B t为包含接口I t={S t,V t}的团,Ct为包含接口I t+1={St+1,V t+1}的团。
图5 一个具有2个时间片DBN通过接口进行粘合Fig.5 DBN with 2 time slices is bonded through interface
以接口I t为分割团,可将不同时间片的联合树粘合起来,生成完整的联合树。图6中JTt是第t个联合树,每个联合树中含有接口I t-1和I t(JT1仅包含I1),分割团I t是JT t和JT t+1间的接口,Ft表示时间片中非接口结点。每个联合树的团树结构如图5中JT2所示。
图6 通过接口粘合相邻联合树的示意图Fig.6 Schematic diagram of bonding adjacent junction trees through interfaces
3.2.2 趋势预测的推理算法
阶段放量的联合树推理算法的描述:
输入:阶段放量过程对应数据集Dataset。
输出:阶段放量后K线走势。
(1)在A股数据中提取符合阶段放量形态的数据集,将实验数据划分为训练数据和测试数据。
(2)利用序列重要点提取各阶段形态K,计算阶段放量比V,并计算量价配合度D。
(3)构建联合树JT t,初始化JTt中所有团和分割团的概率分布,从t=1开始。
(4)从JTt-1中提取Ct-1的概率分布,边缘化Ct-1得到I t-1的概率分布,吸收证据得到先验分布P(I t-1|E1:t-1),其中E1:t-1表示证据(包含效用证据),并将该先验概率分布作为Bt的概率分布,将Ct作为根结点,在JT t中执行收集证据的操作。
(5)使J T t从JT t+1中吸收概率,并实现对JTt的概率分布进行更新,边缘化Bt+1得到I t的联合概率分布,吸收JT t+1中Bt+1的概率分布来更新JT t中C t中概率分布,即,然后从根Ct开始进行证据的分发。
(6)t=t+1,若t<n返回(4)。
(7)整个网络趋于一致后,对于预测目标结点S i所在的团或分割团,给定证据E,求得S i的后验概率P(S i|E)。
4 实验结果及分析
从沪深A股市场选取2015年1月1日至2020年3月1日,1 000个交易日中出现的1 234条阶段放量形态数据,其中90%作为训练集用于模型的训练,另外10%作为测试数据。
根据阶段放量的量价特征对每次放量后起始日至第a个交易日的涨跌趋势s i+a进行预测,其中s i+a为起始日至第a个交易日的涨跌幅度。当涨幅大于8%时,标记为涨,涨跌幅在-8%到8%之间时,标记为横盘,当跌幅大于8%时,标记为跌。
4.1 评价标准
为了验证算法的有效性,主要采用常用指标:准确率P、召回率R和F1值对算法的预测结果进行度量。
其中,TP(真正)是被模型预测为正的正样本,TN(真负)是被模型预测为负的负样本,TP(假正)是被模型预测为正的负样本,FN(假负)是被模型预测为负的正样本。
4.2 实验对比
以T-LSTM-R[6]和RTS-CNN[7]为对照实验,持续平量之后出现显著放量为一个阶段,分别针对阶段放量第一阶段、第二阶段、第三阶段之后的价格走势进行预测,实验结果如表3、表4、表5所示。
表3 第一阶段放量实验对比表Table 3 Comparison table of algorithms of the first stage volumetric experiment
表4 第二阶段放量实验算法对比表Table 4 Comparison table of algorithms of the second stage volumetric experiment
表5 第三阶段放量实验算法对比表Table 5 Comparison table of algorithms of the third stage volumetric experiment
表3是以第一阶段放量区间量价特征作为输入,预测后续股票价格走势,对三种算法进行比较;表4是前两阶段放量区间量价特征作为输入,预测后续股票价格走势,对三种算法进行比较;表5是以前三阶段放量区间量价特征作为输入,预测后续股票价格走势,三种算法进行比较,结果如表5所示。
由表3、表4和表5可见,针对股票阶段放量场景,对上涨、横盘、下跌趋势预测准确率大部分优于T-LSTM-R算法和RTS-CNN算法。VP-JT的综合精确率分别为64.37%、63.89%和69.78%,明显高于T-LSTM-R和RTSCNN两种算法,其召回率、F1值也普遍高于该两种算法,说明引入量价间结构关系的VP-JT算法,相比T-LSTM-R和RTS-CNN单纯从价格序列出发,在模型预测的精度和模型预测稳定性上相比更具有优势。
对以上三组实验第一阶段、第二阶段、第三阶段放量后股票走势的真实样本数量分布情况统计如图7所示,由图可知,第一阶段放量后股票价格上涨和横盘的可能性更大,下跌可能性较小;第二阶段放量后股票价格横盘可能性较大,股票上涨和下跌可能性变大;第三阶段放量后,成交量过高,股票下跌可能性增大,投资不确定性风险增大;算法预测的结果符合市场实际情况。
图7 放量后走势分布Fig.7 Trend distribution after heavy volume
个股002237(恒邦股份)和000413(东旭光电)的阶段放量过程如图8所示,图中蓝色箭头表示T-LSTM-R算法的预测结果,绿色箭头表示RTS-CNN算法的预测结果,红色实线箭头表示VP-JT算法的预测结果。分别对两只股票每阶段增量放量(V2,V4,V6)后K线走势进行预测,T-LSTM-R和RTS-CNN分别失败2次,而VP-JT算法仅在002237(恒邦股份)增量阶段(V2)预测失败,说明仅从价格序列对未来趋势进行预测的局限性,从而体现结合量价结构关系的必要性。
图8 阶段放量过程案例Fig.8 Cases of stepped volume process
5 结束语
动态影响图模型能有效地表示结构关系在时间上演化的不确定性问题。提出一种基于量价结构关系的联合树推理预测算法(structural relationship between volume and price-JT,VP-JT),从成交量阶段放量过程中量价相关性出发,捕获各个阶段K线形态特征,提升数据的表达能力,计算配合度量化相应阶段量价间的结构关系,建立阶段放量过程量价关系动态演变的动态影响图模型,通过联合树推理技术研究股票的历史数据在时间的传播和对于未来股票趋势的影响,将考虑引入市场情绪,进一步提升算法的预测精度。