一种基于W-TSTM模型的股票指数预测系统及其方法
未命名
08-27
阅读:91
评论:0

一种基于w-tstm模型的股票指数预测系统及其方法
技术领域
1.本发明涉及指数预测技术领域,具体涉及一种基于w-tstm模型的股票指数预测系统以及应用该系统的预测方法。
背景技术:
2.股票市场作为金融市场的重要组成部分,是各方投资主体配置资产和融资的重要途径。而由股票市场上股票数据编制而成的股票价格指数,反映了股票市场的整体价格水平与趋势,被称为股票市场的晴雨表。因此,股票价格及股票价格指数的趋势预测也是学者们热门研究的课题。
3.然而,股指趋势预测本质上属于金融时间序列预测问题,是极具挑战性的研究课题。现今的预测方法主要可以分为三类:传统的基于统计学的计量模型、基于机器学习算法的人工智能模型和复合预测模型。
4.以广义自回归条件异方差模型(garch)、差分整合移动平均自回归模型(arima)为代表的传统基于统计学的计量模型,虽然有着较为完善的统计理论和数学理论作支撑,有利于对所建立模型和参数进行检验,评估模型和参数拟合。但此类模型大多为线性模型,且对数据存在平稳性、正态分布的统计假设限制,导致预测效果较为欠佳。
5.基于机器学习的人工智能模型在构建金融时间序列预测模型时,绕开了统计假设的限制。因此,在提取非平稳、非线性特征过程中,人工智能分析技术相较传统计量模型有着明显的优势。机器学习已经在金融时间序列的建模和预测汇总取得了相对成功的应用,现今最常被使用、被认为效果较好的模型为rnn、cnn、lstm模型及其改进模型。transformer模型在股指预测任务上应用较少。
6.在复合的预测模型中,2020年,wenjie lu等人提出了一种基于cnn-lstm的股票价格预测方法。同时,使用mlp、cnn、rnn、lstm、cnn-rnn等预测模型对上证股指进行预测,所提出的cnn-lstm模型效果最好。
7.另外,有不少基于信号分解的复合模型应用于股指预测任务中。这类模型主要利用数据预处理的方法,如小波变换,经验模态分解等方法对数据进行去噪,或对数据进行分解提取更深层次的特征。在当前的文献与专利中,许多基于分解的模型被错误地开发出来;因此,它们不能被适当地用于执行现实世界的预测任务。基于分解的模型的错误开发是由于包含了未来的数据以获得当前的分解值,这在现实世界的应用中几乎是不可能的。这是因为,研究者在使用dwt等信号分解技术的方法中,往往没有考虑到隐含的数据泄漏和边界问题。更具体的,现有的基于分解的混合模型,倾向于首先将整个时间序列数据集分解为子序列。然后,每个子系列被分成训练集合测试集。例如:2019年qiu x等人提出的dwt-rvfl方法、feng zhou等人提出的emd2fnn、2020年,xu等提出的modwt-lstm方法、2021年,乔泽东构建的dwt-lstm方法。
8.数据泄漏问题的忽视,会导致未来数据被纳入预测模型并且边界问题在分解过程中被忽略时,所得模型通常会导致误导和高估性能,而不是实际可实现的性能。
9.现今基于rnn、lstm、cnn-rnn、cnn-lstm等深度学习模型的股指预测方法虽然取得了一定的成绩,但面临高复杂度、高波动性的金融市场,依然面临预测精度不够准确、预测结果难以为实际决策所服务的问题。相对于传统的循环神经网络,transformer模型能够处理并行处理数据,学习多个特征,因此具有更加高维、更加复杂的数据的能力。
10.但是股指预测作为金融时间序列预测任务,transformer decoder部分不太适用于相关场景,主要存在以下问题:
11.1、长期依赖问题
12.transformer模型在处理金融时间序列任务时可能存在长期依赖问题。长期依赖问题指的是在序列中,当前时刻的状态依赖于很远之前的状态,但是随着时间的推移,这种依赖关系会被模型忘记或者淡化,导致模型无法捕捉到这种长期依赖关系,从而影响预测性能。
13.在金融时间序列任务中,长期依赖问题尤为明显。例如,在股票价格预测任务中,历史的股票价格可能对未来的预测产生重要影响,但这种依赖可能是非常长期的,可能会跨越数年或者几十年的时间。如果使用transformer decoder进行预测,可能会由于模型的记忆能力有限而无法捕捉到这种长期依赖关系,从而影响预测性能。
14.2、序列长度问题
15.transformer decoder本身并不是固定长度的,它的输入和输出序列长度可以根据具体的任务需求进行调整。在机器翻译任务中,decoder的输入序列是由encoder输出的一个固定长度的向量表示,而输出序列的长度是由翻译句子的长度决定的。例如对于翻译英语句子的任务,输入句子和输出句子的长度通常都在几十个词左右,不会出现非常长或非常短的句子。因此,在机器翻译任务中,本技术可以通过将输入序列和输出序列填充到相同长度来处理序列长度不一致的问题。
16.当transformer模型应用在金融时间序列任务中,输入和输出的序列长度通常是可变的,例如,对于股票价格预测任务,我们需要预测未来若干天的股票价格,而未来的时间长度是不确定的,可能是几天、几周或几个月。这时,如果仍然使用transformer decoder模型进行预测,就会存在序列长度问题。因此,在金融时间序列任务中,我们无法直接将输入序列和输出序列填充到相同长度,需要使用其他的方法来处理可变长度的序列。
17.另外,基于信号分解技术与深度学习的复合模型的方法中,往往没有考虑到信号分解过程中隐含的数据泄漏和边界问题,导致处理过程操作不当,方法虽有较好的预测效果,但在实际应用场景中无法复现。
18.对于数据泄漏问题,数据泄漏是指在模型训练过程中使用的信息,这些信息在预测时不可用,导致预测分数(评价标准)在生产环境中运行时高估了模型的效用。数据泄漏的产生原因是:当采用具有平移不变性的信号分解技术时,子序列的长度等于原始序列的长度,这使得许多研究者误认为他们可以一次性分解原始序列,然后在子序列的基础上进行数据划分以及设置滑动窗口,并进行模型训练和预测。这样会导致未来信息在分解过程被泄漏到数据集中。这是因为小波变换的工作原理是计算时间序列与所选小波函数的卷积运算。在计算时间序列中一个点的输出时,需要将小波函数与该点及其前后的几个点进行卷积。如图1所示,x0到x9是按时间顺序排列的时间序列数据。数据点x1的输出需要通过与x0、x2、x3、x8和x9进行卷积计算得到。数据点x3的输出需要通过与x0、x1、x2、x4和x5进行卷
积计算得到。因此卷积运算的输出是数据点的局部组合,分解的分量涉及历史和未来数据。这是一个典型的数据泄漏问题。
19.对于边界问题,边界问题则是由于循环假设,在计算窗口边界处的输出结果会涉及到窗口另一边界的数据,预测结果的图形表示可能会在边界点附近出现不连续或突然变化,这可能导致预测不正确或不可靠。不连续性或突然变化也可能导致实际数据与预测结果之间的拟合不佳。因此,边界问题对预测的准确性会产生重大影响。当采取措施精确控制分解后的序列以避免数据泄漏时,如滑动窗口,预测结果受到边界问题的显著影响,模型不能产生准确的预测。
20.为了进一步说明边界问题,如图2所示,图2可以用来显示不同长度的时间序列的差异。它还显示了对应输出之间在边界处的差异。数据是实施例的部分数据。基于长度为200的序列数据,以起始点计算划分出长度分别为50、100、150的序列数据,然后对4条长度不一的序列数据使用离散小波分解。从图01中可以看出,对长度分别为50、100、150和200的序列数据的离散小波分解结果显示,在序列边界处的计算结果有很大的差异。在边界处的子系列是偏离轨道和扭曲的。如图2所示,a、b、c、d的四个区域。这是由循环假设所导致的,在这个假设下窗口边界的计算涉及到窗口的另一边界的数据。例如,图1中的x9的输出需要与x0、x1一起计算。未来数据的预测应该使用尽可能靠近预测点的数据,而不是来自窗口另一端的数据,这将导致预测结果有较大的偏差。
技术实现要素:
21.本发明提供的一种基于w-tstm模型的股票指数预测系统及其方法,主要用于解决现有技术中存在的长期依赖问题,序列长度问题,数据泄漏问题,以及边界问题。
22.本发明通过以下技术方案来实现上述目的:
23.一种基于w-tstm模型的股票指数预测系统,包括输入模块、用于对输入的数据进行预处理;
24.wstm模块,包括mwdn模型、多个lstm模型以及全连接层,将单特征数据输入mwdn模型后生成多条不同频率的子序列,将每条子序列分别输入对应的lstm模型中进行迭代,得到多个子序列预测结果,将子序列预测结果输入全连接层,得到wstm模块的预测结果;
25.tstm模块,将多特征数据输入tstm模块进行训练,得到tstm模块的预测结果;
26.输出模块,对wstm模块、tstm模块输出的预测结果进行融合并生成最终的预测结果。
27.进一步的方案是,tstm模块包括transformer encoder模型以及基于lstm的decoder模型以及全连接层,将多特征数据输入transformer decoder模型中,进行特征提取;将特征提取后的输出结果输入decoder模型中;将decoder模型的输出结果输入全连接层中,得到tstm模块的预测结果。
28.一种基于w-tstm模型的股票指数预测方法,应用于上述的一种基于w-tstm模型的股票指数预测系统进行测试,包括:
29.将原始数据分为训练集及验证集;
30.对输入的数据进行预处理,并分为单特征数据及多特征数据;
31.构建同时提取时域特征和频域特征的w-tstm模型,其中,w-tstm模型包括用于提
取时域特征的tstm模块和用于提取频域特征的wstm模块;
32.将单特征数据输入wstm模块中进行训练,得到第一预测结果;
33.将多特征数据输入tstm模块中进行训练,得到第二预测结果;
34.将wstm模块和tstm模块产生的预测结果进行融合得到最终的输出预测值。
35.根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,在融合得到最终的输出预测值后,还执行:
36.基于损失函数公式将输出预测值与真实值计算得出损失值,并将损失值反向传播,对模型参数进行更新迭代,得到训练后的w-tstm模型;
37.基于验证集对w-tstm模型进行验证,根据预测值和真实值计算出模型误差。
38.根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,所述对输入的数据进行预处理,包括:
39.对训练集进行标准化,根据滑动窗口设置序列数据集,将滑动窗口大小设置为m,即使用前m天的数据预测后1天的数据;
40.其中,对训练集进行标准化公式表示为公式(1):
[0041][0042]
其中,xi为输入数据,为输入数据的平均值,s为输入数据的标准差,yi为标准化值。
[0043]
根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,在提取时域特征和频域特征时,包括:
[0044]
通过设置滑动窗口以及wstm模块的mwdn模型来实现离散小波分解,以及提取频域的周期性特征,然后使用lstm模型网络学习和记忆周期性特征中的长期、短期信息,并做出预测;
[0045]
通过tstm模块的transformer encoder对时域特征进行提取,然后使用基于lstm改造的decoder模型对结果进行预测。
[0046]
根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,在得到训练后的w-tstm模型,以mae为损失函数,公式表示为公式(2):
[0047][0048]
其中,为预测值,yi为真实值。
[0049]
根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,在基于验证集对w-tstm模型进行验证时,采用平均绝对误差、均方根误差和r平方做为模型评价标准,来评估模型的有效性、预测精度。
[0050]
根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,使用基于lstm改造的decoder模型,包括:
[0051]
在股指预测这一时间序列预测任务中滑动窗口数据之间的映射关系时,针对股指预测任务机器翻译任务的差异,将transformer模型的decoder部分替换或修改为lstm层,从而构建基于lstm改造的decoder模型。
[0052]
根据本发明所提供的一种基于w-tstm模型的股票指数预测方法,在输出最终的输
出预测值时,其融合公式表示为公式(3):
[0053][0054]
其中,w为融合权重。
[0055]
由此可见,本发明提供的基于w-tstm模型的股票指数预测系统及其方法,通过在wstm模块中基于滑动窗口与mwdn规避了数据泄漏问题,使方法可以在现实生产场景中实现;基于卷积矩阵的重新设计以及mwdn的自适应参数调整机制,缓解了边界问题,让预测结果没有失真;本发明正确且有效的提取了周期性特征,提高了模型对于频域特征提取的能力。
[0056]
另外,在tstm模块,利用transformer encoder的强有力的特征提取能力,提高了模型对于时域特征的提取能力。如此,基于wstm模块、tstm模块构建的w-tstm复合模型拥有强力的时频域特征提取能力,保障了其对于股市中不同特征的学习能力及效果。
[0057]
因此,本发明的基于w-tstm模型的股票指数预测系统及其方法相较于其他模型在股指的转折点和趋势阶段都提升了预测精度。
[0058]
下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
[0059]
图1是现有技术中计算时间序列输出时的时间序列数据示意图。
[0060]
图2是现有技术中不同长度的时间序列的差异示意图。
[0061]
图3是本发明一种基于w-tstm模型的股票指数预测系统实施例的原理图。
[0062]
图4是本发明一种基于w-tstm模型的股票指数预测系统实施例中wstm模块的原理图。
[0063]
图5是本发明一种基于w-tstm模型的股票指数预测系统实施例中tstm模块的原理图。
[0064]
图6是本发明一种基于w-tstm模型的股票指数预测系统实施例中mwdn卷积运算矩阵原理图。
[0065]
图7是本发明一种基于w-tstm模型的股票指数预测方法实施例的流程图。
[0066]
图8是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于dwt-lstm的示意图。
[0067]
图9是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于mlp的示意图。
[0068]
图10是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于cnn的示意图。
[0069]
图11是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于rnn的示意图。
[0070]
图12是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于lstm的示意图。
[0071]
图13是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于cnn-lstm的示意图。
[0072]
图14是本发明一种基于w-tstm模型的股票指数预测方法实施例中关于w-tstm的
示意图。
[0073]
图15是本发明一种基于w-tstm模型的股票指数预测方法实施例中为dwt-lstm1、mlp、cnn、rnn、lstm、cnn-lstm,以及w-tstm模型在3个性能评价指标mae、rmse、r平方的结果示意图。
具体实施方式
[0074]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0075]
一种基于w-tstm模型的股票指数预测系统实施例
[0076]
参见图3至图5,本发明所涉及的一种基于w-tstm模型的股票指数预测系统100,包括:
[0077]
输入模块10、用于对输入的数据进行预处理,其包括:标准化数据,以及设置滑动窗口。
[0078]
wstm模块20,包括mwdn模型21、多个lstm模型22以及全连接层23,将单特征数据输入mwdn模型21后生成多条不同频率的子序列,将每条子序列分别输入对应的lstm模型22中进行迭代,得到多个子序列预测结果,将子序列预测结果输入全连接层23,得到wstm模块20的预测结果。可见,wstm模块20通过mwdn实现离散小波分解,提取频域的周期性特征,然后使用lstm网络用于学习和记忆周期性特征中的长期、短期信息,并做出预测。
[0079]
tstm模块30,将多特征数据输入tstm模块30进行训练,得到tstm模块30的预测结果。其中,tstm模块30包括transformer encoder模型31以及基于lstm的decoder模型32以及全连接层33,将多特征数据输入transformer decoder模型32中,进行特征提取;将特征提取后的输出结果输入decoder模型32中;将decoder模型32的输出结果输入全连接层33中,得到tstm模块30的预测结果。可见,tstm模块30通过transformer encoder模型31对时域特征进行提取,然后使用基于lstm改造的transformer decoder模型32对结果进行预测。
[0080]
输出模块40,对wstm模块20、tstm模块30输出的预测结果进行融合并生成最终的预测结果。可见,输出模块40用于对wstm模块20及tstm模块30的输出结果进行融合并生成最终的预测结果。
[0081]
在w-tstm模型的wstm模块20中,其包括一个mwdn模型21和多个lstm模型22以及一个全连接层23。基于对数据泄漏问题的考量,通过设置滑动窗口以及wstm模块20的mwdn来实现离散小波分解,保证了每次分解的数据都是已知数据,规避了数据泄漏问题,使方法可以在现实场景中复现。
[0082]
在w-tstm模型的tstm模块30中,其包括一个transformer encoder模型31以及一个基于lstm的decoder模型32以及一个全连接层33;由于传统transformer模型预先设计是用于机器翻译任务中的,但是股指预测这一时间序列预测任务中滑动窗口数据之间的映射关系与机器翻译任务不同,所以无法使用transformer模型decoder部分的masked multi-head attention层。再者,由于股指的[数据,标签]序列是基于滑动窗口产生的,标签端的大部分数据来自于数据端,在标签端再加入注意力机制是没有必要的。故在使用时需要对
decoder进行替换或修改。针对transformer模型的transformer decoder部分针对股指预测任务机器翻译任务的差异,将decoder部分替换为lstm层。
[0083]
在本实施例中,w-tstm模型的训练过程如下:
[0084]
(1)、将原始数据分为训练集及验证集;
[0085]
(2)、数据预处理,对训练集进行标准化并根据滑动窗口设置为【数据,标签】的序列数据集,并分为单特征数据及多特征数据;
[0086]
(3)、构建wstm模块20和tstm模块30;
[0087]
(4)、将单特征数据输入wstm中进行训练,得到预测结果
[0088]
(5)、将多特征数据输入tstm模块30进行训练,得到预测结果
[0089]
(6)、将wstm模块20和tstm模块30产生的预测结果进行融合得到最终的预测值
[0090]
(7)、基于损失函数公式,计算预测值与真实值的损失值,将损失值反向传播,对模型参数进行更新迭代,得到训练后的w-tstm模型。
[0091]
(8)、基于验证集对w-tstm模型进行验证,根据预测值和真实值计算出模型误差。
[0092]
在具体应用中,本实施例提供的一种基于w-tstm模型的股票指数预测系统,具有这样的特征:其中,在将单特征数据输入wstm中进行训练时,其具体包括:将单特征数据输入mwdn生成多条不同频率的子序列(包含周期性特征);对每条子序列分别输入对应的lstm模型22中进行迭代,得到多个子序列预测结果;将子序列预测结果输入一个全连接层23,得到wstm模块20的预测结果
[0093]
本实施例提供的一种基于w-tstm模型的股票指数预测系统,具有这样的特征:其中,在将多特征数据输入tstm模块30进行训练时,其具体包括:将多特征数据输入tstm模块30的transformer encoder模型31中,进行特征提取;将特征提取的结果输入decoder模型32中;将decoder模型32的输出结果输入全连接层33中得到预测结果
[0094]
在实际应用中,本实施例涉及的基于w-tstm模型的股票指数预测系统为计算机程序。
[0095]
本实施例以上证指数(000001)从1991年7月1日至2020年8月31日的7127个交易日的每日交易数据为例,数据均来自于wind数据库。每条数据所包含的特征:开盘价格、最高价格、最低价格、收盘价、成交量、营业额、起伏和波动率。最终预测结果以收盘价指标进行预测研究。
[0096]
在本实施例中,基于对边界问题的考量,为了减少边界处距离较远数据的计算,对wstm模块20中的mwdn卷积运算矩阵重新设计。如图6所示,图6为重新设计的mwdn卷积运算矩阵,位于mwdn模型2121中。其中,w
l
(i)为低频矩阵,wh(i)为高频矩阵,lk为低频小波系数,hk为高频小波系数,i为分解的层数,∈为随机数。
[0097]
一种基于w-tstm模型的股票指数预测方法实施例
[0098]
一种基于w-tstm模型的股票指数预测方法,应用于上述的一种基于w-tstm模型的股票指数预测系统进行测试,如图7所示,该方法包括:
[0099]
步骤s1,将原始数据分为训练集及验证集。其中,以前6627个交易日的数据作为训练集,以后500个交易日的数据作为测试集。
[0100]
步骤s2,对输入的数据进行预处理,并分为单特征数据及多特征数据;
[0101]
步骤s3,构建同时提取时域特征和频域特征的w-tstm模型,其中,w-tstm模型包括用于提取时域特征的tstm模块30和用于提取频域特征的wstm模块20;
[0102]
步骤s4,将单特征数据输入wstm模块20中进行训练,得到第一预测结果
[0103]
步骤s5,将多特征数据输入tstm模块30中进行训练,得到第二预测结果
[0104]
步骤s6,输出模块40融合预测结果,将wstm模块20和tstm模块30产生的预测结果进行融合得到最终的输出预测值
[0105]
步骤s7,基于损失函数公式将输出预测值与真实值计算得出损失值,并将损失值反向传播,对模型参数进行更新迭代,得到训练后的w-tstm模型;
[0106]
步骤s8,基于验证集对w-tstm模型进行验证,根据预测值和真实值计算出模型误差。
[0107]
在上述步骤s2中,对输入的数据进行预处理,包括:
[0108]
对训练集进行标准化,根据滑动窗口设置为【数据,标签】的序列数据集,将滑动窗口大小设置为m,即使用前m天的数据预测后1天的数据。其中,滑动窗口大小设置为32,即使用前32天的数据预测后1天的数据。并将数据集分为单特征数据及多特征数据,单特征数据仅包括收盘价数据,用于输入wstm模块20提取周期性特征;多特征数据包括所有的8项特征。
[0109]
对训练集进行标准化公式表示为公式(1):
[0110][0111]
其中,xi为输入数据,为输入数据的平均值,s为输入数据的标准差,yi为标准化值。
[0112]
在上述步骤s3中,在提取时域特征和频域特征时,包括:
[0113]
通过设置滑动窗口以及wstm模块20的mwdn模型21来实现离散小波分解,以及提取频域的周期性特征,然后使用lstm模型22网络学习和记忆周期性特征中的长期、短期信息,并做出预测。单特征数据输入wstm中进行训练,得到预测结果可见,将单特征数据输入mwdn生成多条不同频率的子序列(包含周期性特征);对每条子序列分别输入对应的lstm模型22中进行迭代,得到多个子序列预测结果;将子序列预测结果输入一个全连接层23,得到wstm模块20的预测结果
[0114]
然后,通过tstm模块30的transformer encoder对时域特征进行提取,然后使用基于lstm改造的decoder模型32对结果进行预测。可见,将多特征数据输入tstm模块30进行训练,得到预测结果即将多特征数据输入tstm模块30的transformer decoder模型32中,进行特征提取;将上一步结果输入decoder中;将上一步结果输入全连接层33中得到预测结果
[0115]
在上述步骤s7中,在得到训练后的w-tstm模型,以mae为损失函数,公式表示为公式(2):
[0116][0117]
其中,为预测值,yi为真实值。
[0118]
在本实施例中,在基于验证集对w-tstm模型进行验证时,采用平均绝对误差(mae)、均方根误差(rmse)和r平方(r-squared)做为模型评价标准,来评估模型的有效性、预测精度。
[0119]
在本实施例中,使用基于lstm改造的decoder模型32,包括:
[0120]
在股指预测这一时间序列预测任务中滑动窗口数据之间的映射关系时,针对股指预测任务机器翻译任务的差异,将transformer模型的decoder部分替换或修改为lstm层,从而构建基于lstm改造的decoder模型32。
[0121]
在上述步骤s6中,在输出最终的输出预测值时,其融合公式表示为公式(3):
[0122][0123]
其中,w为融合权重。
[0124]
在本实施例中,分别对dwt-lstm1、mlp、cnn、rnn、lstm、cnn-lstm,以及本发明提供的w-tstm模型对上证指数进行预测。其中,dwt-lstm1为存在数据泄漏的情况下的案例,先对原始数据进行一次性数据分解,然后输入lstm中进行预测。
[0125]
参见图8至图14,预测模型与预测结果之间的对应分别为,dwt-lstm(图8)、mlp(图9)、cnn(图10)、rnn(图11)、lstm(图12)、cnn-lstm(图13)、w-tstm(图14)。
[0126]
如图15所示,图15为dwt-lstm1、mlp、cnn、rnn、lstm、cnn-lstm,以及本发明提供的w-tstm模型在3个性能评价指标mae、rmse、r平方的结果。
[0127]
如图8和图15所示,为存在数据泄漏问题的预测结果dwt-lstm。类似的结果通常会导致研究者高估小波分解等信号分解技术的性能,但具有数据泄漏的混合模型在应用场景中是无法复现的。
[0128]
如图9至图15所示,与其他模型相比,w-tstm在转折点和趋势持续时间阶段的预测值和真实值之间的误差最小。因此,w-tstm的预测值序列与实值序列的拟合程度最高,预测精度最高所有模型的拟合程度的下降顺序分别为w-tstm、cnn-lstm、lstm、rnn、cnn和mlp。
[0129]
由此可见,本发明可应用于指导指数基金投资、开发基于趋势和价值的策略。本发明预测股指数据未来趋势的思路如下:股指数据预测本质属于金融时间序列预测问题。金融时间序列特征可以分为时域特征和频域特征,综合考虑时域特征和频域特征对于金融时间序列预测是非常重要的。本发明通过构建能同时提取时域特征和频域特征的时频域复合模型w-tstm来为股指的未来趋势进行预测。其中,本发明针对transformer应用在金融时间序列预测场景的长期依赖问题和序列长度问题进行分析和改进,基于此构建了tstm模块来提取时域特征;针对dwt等信息分解技术应用于金融时间序列预测场景遇到的数据泄漏问题和边界问题进行分析并改进,基于此构建了wstm模块来提取频域特征。通过针对性改进,融合所得的时频域模型能够在股指预测上获得更高精度的预测效果。
[0130]
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
技术特征:
1.一种基于w-tstm模型的股票指数预测系统,其特征在于,包括:输入模块、用于对输入的数据进行预处理;wstm模块,包括mwdn模型、多个lstm模型以及全连接层,将单特征数据输入mwdn模型后生成多条不同频率的子序列,将每条子序列分别输入对应的lstm模型中进行迭代,得到多个子序列预测结果,将子序列预测结果输入全连接层,得到wstm模块的预测结果;tstm模块,将多特征数据输入tstm模块进行训练,得到tstm模块的预测结果;输出模块,对wstm模块、tstm模块输出的预测结果进行融合并生成最终的预测结果。2.根据权利要求1所述的基于w-tstm模型的股票指数预测系统,其特征在于:tstm模块包括transformer encoder模型以及基于lstm的decoder模型以及全连接层,将多特征数据输入transformer decoder模型中,进行特征提取;将特征提取后的输出结果输入decoder模型中;将decoder模型的输出结果输入全连接层中,得到tstm模块的预测结果。3.一种基于w-tstm模型的股票指数预测方法,其特征在于,应用于如权利要求1或2所述的一种基于w-tstm模型的股票指数预测系统进行预测,该方法包括以下步骤:将原始数据分为训练集及验证集;对输入的数据进行预处理,并分为单特征数据及多特征数据;构建同时提取时域特征和频域特征的w-tstm模型,其中,w-tstm模型包括用于提取时域特征的tstm模块和用于提取频域特征的wstm模块;将单特征数据输入wstm模块中进行训练,得到第一预测结果;将多特征数据输入tstm模块中进行训练,得到第二预测结果;将wstm模块和tstm模块产生的预测结果进行融合得到最终的输出预测值。4.根据权利要求3所述的基于w-tstm模型的股票指数预测方法,其特征在于,在融合得到最终的输出预测值后,还执行:基于损失函数公式将输出预测值与真实值计算得出损失值,并将损失值反向传播,对模型参数进行更新迭代,得到训练后的w-tstm模型;基于验证集对w-tstm模型进行验证,根据预测值和真实值计算出模型误差。5.根据权利要求3所述的基于w-tstm模型的股票指数预测方法,其特征在于,所述对输入的数据进行预处理,包括:对训练集进行标准化,根据滑动窗口设置序列数据集,将滑动窗口大小设置为m,即使用前m天的数据预测后1天的数据;其中,对训练集进行标准化公式表示为公式(1):其中,x
i
为输入数据,为输入数据的平均值,s为输入数据的标准差,y
i
为标准化值。6.根据权利要求3所述的基于w-tstm模型的股票指数预测方法,其特征在于,在提取时域特征和频域特征时,包括:通过设置滑动窗口以及wstm模块的mwdn模型来实现离散小波分解,以及提取频域的周期性特征,然后使用lstm模型网络学习和记忆周期性特征中的长期、短期信息,并做出预测;
通过tstm模块的transformer encoder对时域特征进行提取,然后使用基于lstm改造的decoder模型对结果进行预测。7.根据权利要求4所述的基于w-tstm模型的股票指数预测方法,其特征在于:在得到训练后的w-tstm模型,以mae为损失函数,公式表示为公式(2):其中,为预测值,y
i
为真实值。8.根据权利要求4所述的基于w-tstm模型的股票指数预测方法,其特征在于:在基于验证集对w-tstm模型进行验证时,采用平均绝对误差、均方根误差和r平方做为模型评价标准,来评估模型的有效性、预测精度。9.根据权利要求6所述的基于w-tstm模型的股票指数预测方法,其特征在于,使用基于lstm改造的decoder模型,包括:在股指预测这一时间序列预测任务中滑动窗口数据之间的映射关系时,针对股指预测任务机器翻译任务的差异,将transformer模型的decoder部分替换或修改为lstm层,从而构建基于lstm改造的decoder模型。10.根据权利要求3至9任一项所述的基于w-tstm模型的股票指数预测方法,其特征在于:在输出最终的输出预测值时,其融合公式表示为公式(3):其中,w为融合权重。
技术总结
本发明提供一种基于W-TSTM模型的股票指数预测系统及其方法,该系统包括输入模块、用于对输入的数据进行预处理;WSTM模块,将单特征数据输入mWDN模型后生成多条不同频率的子序列,将每条子序列分别输入对应的LSTM模型中进行迭代,得到多个子序列预测结果,将子序列预测结果输入全连接层,得到WSTM模块的预测结果;TSTM模块,将多特征数据输入TSTM模块进行训练,得到TSTM模块的预测结果;输出模块,对WSTM模块、TSTM模块输出的预测结果进行融合并生成最终的预测结果。本发明可以解决现有技术中存在的长期依赖问题,序列长度问题,数据泄漏问题,以及边界问题,相较于其他模型,融合所得的时频域模型能够在股指预测上获得更高精度的预测效果。度的预测效果。度的预测效果。
技术研发人员:袁明川 温华锐 王书鑫 李响 冯超男
受保护的技术使用者:深圳技术大学
技术研发日:2023.03.01
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/