一种金融交易价格预测方法、装置、介质及设备与流程

文档序号:17444333发布日期:2019-04-17 05:18阅读:173来源:国知局
一种金融交易价格预测方法、装置、介质及设备与流程

本发明涉及数据预测技术领域,具体涉及一种金融交易价格预测方法、装置、介质及设备。



背景技术:

随着互联网行业的发展,信息技术占主导地位,证券市场向着现代化的市场方向发展。现在沪深上市公司已经超过几千家,然而金融投资的收益与风险往往是成正比的,即投资收益越高,可能冒得风险越大。因此,金融交易预测的研究具有极其重要的应用价值和理论意义。历来有不少的传统分析技术,应该说这些传统的技术分析方法在股票分析上还是取得了较大的成就的,然而,不难发现,这些现有的理论和方法也是存在着很大的缺陷,它们无不是采用静态的方法,定性描述的多,定量描述的少,将影响金融交易的众多因素割裂开来单一分析。因此,这些局限性使得这些方法在变幻莫测的金融交易价格波动中不能有效和准确地把握金融交易价格的变化。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种金融交易价格预测方法、装置、介质及设备,能够更加准确地预测未来任一时间段和/或任一时刻的金融交易数据,提高用户体验。

第一方面,本发明提供了一种金融交易价格预测方法,包括:

采集金融交易的历史数据;设置不同预定时间步长的滑动窗口,利用所述滑动窗口在所述历史数据滑动以获取多个窗口数据,对每一个窗口数据进行采样,获得各预定时间步长对应的样本数据;

对所述样本数据进行预处理,获得训练数据;

利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型;

根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。

可选的,所述对所述样本数据进行预处理,获得训练数据,包括:

对所述样本数据进行清洗;

对清洗后的样本数据进行归一化处理;

对归一化处理后的数据进行分类,获得训练数据。

可选的,所述训练数据包括:训练样本数据、验证数据和测试数据,所述利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型,包括:

利用所述训练样本数据训练lstm-rnn模型;

利用所述验证数据对训练后的lstm-rnn模型进行修正;

利用所述测试数据对修正后的lstm-rnn模型进行测试;若测试成功,则修正后的lstm-rnn模型为交易价格预测模型;若测试失败,则重新获取验证数据,对训练后的lstm-rnn模型重新进行修正。

可选的,还包括:

采用adam算法,利用所述当前交易数据,实时优化所述交易价格预测模型。

可选的,所述金融交易的样本数据,包括:金融产品交易价格、交易时间和交易对象。

可选的,还包括:

采用可视化方式显示所预测的未来任一时间段和/或任一时刻的金融交易数据。

第二方面,本发明提供一种金融交易价格预测装置,包括:

数据采集模块,用于采集金融交易的历史数据;设置不同预定时间步长的滑动窗口,利用所述滑动窗口在所述历史数据滑动以获取多个窗口数据,对每一个窗口数据进行采样,获得各预定时间步长对应的样本数据;

数据处理模块,用于对所述样本数据进行预处理,获得训练数据;

训练模块,用于利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型;

预测模块,用于根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。

第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中的一种金融交易价格预测方法。

第四方面,本发明提供一种金融交易价格预测设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面中的一种金融交易价格预测方法。

本发明通过基于lstm-rnn模型建立的预测模型,相较于现有技术,能够更加准确地预测未来任一时间段和/或任一时刻的金融交易数据,提高用户体验。

本发明提供的一种金融交易价格预测装置、一种计算机可读存储介质和一种金融交易价格预测设备,与上述一种金融交易价格预测方法出于相同的发明构思,具有相同的有益效果。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例提供的一种金融交易价格预测方法的流程图;

图2为本发明实施例提供的一种金融交易价格预测装置的示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

本发明提供了一种金融交易价格预测方法、装置、介质及设备。下面结合附图对本发明的实施例进行说明。

请参考图1,图1为本发明具体实施例提供的一种金融交易价格预测方法的流程图,本实施例提供的一种金融交易价格预测方法,包括:

步骤s101:采集金融交易的历史数据;设置不同预定时间步长的滑动窗口,利用所述滑动窗口在所述历史数据滑动以获取多个窗口数据,对每一个窗口数据进行采样,获得各预定时间步长对应的样本数据。

其中,金融交易可以包括:股票交易、期货交易、外汇、数字货币交易等。

历史数据是指在过去一段时间内发生的金融交易的数据信息,包括:交易对象、交易金额、交易时间等。其中,交易对象是指金融交易的具体交易产品。例如,某支股、某个数字货币等。其中,一段时间可以是半年、一年、两年等,这都在本发明的保护范围内。

由于历史数据量庞大,若都用来训练模型,则将会耗费大量计算资源,因此,需要有选择的获取样本数据,利用样本数据训练模型。

在获取样本数据时,可以设置不同预定时间步长的滑动窗口,利用所述滑动窗口在所述历史数据滑动以获取多个窗口数据,对每一个窗口数据进行采样,获得各预定时间步长对应的样本数据;若所述历史数据有缺失值,则获取所述历史数据中的缺失值的位置及缺失值的位数,并通过贝叶斯分类计算出所述缺失值概率最大的取值作为缺失值的填充值。

其中,预定时间步长包括6个时间单位、11个时间单位及16个时间单位,时间单位是指历史数据的粒度单位。例如,时间单位为天、分钟等。

对于6个时间单位的滑动窗口,对应的窗口数据的位数为6位,采样得到的样本数据的位数为6位;对于11个时间单位的滑动窗口,对应的窗口数据的位数为11位,采样得到的样本数据的位数为6位,例如,采样得到的样本数据为(x1,x3,x5,x7,x9,x11),即采样窗口数据中的第1、3、5、7、9、11位的数据;对于16个时间单位的滑动窗口,对应的窗口数据的位数为16位,采样得到的样本数据的位数为6位,例如,采样得到的样本数据为(x1,x4,x7,x10,x13,x16),即采样窗口数据中的第1、4、7、10、13、16位的数据。

通过设置不同预定时间步长的滑动窗口的目的在于在有限的计算资源下,扩大所捕获信息的久远度及联系关系。对不含有缺失值的历史数据进行采样得到样本数据,利用该样本数据来训练模型,能够得到准确度较高的模型。

若历史数据中有缺失值,则获取所述历史数据中的缺失值的位置及缺失值的位数,并通过贝叶斯分类计算出所述缺失值概率最大的取值作为缺失值的填充值,以补充完整历史数据,进而确保样本数据的完整性。

通过贝叶斯分类计算出概率最大的取值作为缺失值的填充值,根据数据属性确定各填充值的概率,通过mapreduce取概率最大的填充值进行填充。

步骤s102:对所述样本数据进行预处理,获得训练数据。

在对样本数据进行预处理时,包括以下步骤:

第一步,对所述样本数据进行清洗。

在清洗数据时,根据金融交易的需求分析、数据类别分析、任务定义,获取数据清洗方案;对数据进行预处理,检测属性错误数据、冗余数据,并对检测结果进行统计;确定脏数据的类别及相应的清洗方案;根据条件函数、格式函数、汇总分解函数定义完整性约束,通过完整性约束进行不一致数据修复;利用基于欧几里德距离的聚类方法自动检测数据集中的属性错误,获得修改后的数据;通过n-gram算法清理重复数据;干净数据回流至样本数据库,通过该方法能够降低数据清理成本,提高数据的质量,保证数据的正确性和准确性,进而能够提高预测的准确性。

第二步,对清洗后的样本数据进行归一化处理。

由于金融交易市场的数据与其它影响因素数据在数值上相差较大,且有较大的波动,因此,需要对数据进行归一化处理,计算公式为:

其中,x为原始数值,xmin为当前维度所有数据中数值最小的值,xmax为当前维度所有数据中数值最大的值,x*为缩放后的归一化数值。

第三步,对归一化处理后的数据进行分类,获得训练数据;其中,训练数据分为训练样本数据、验证数据和测试数据。

其中,三部分数据所占比例依次为70%、20%、10%,用于之后的交易价格预测模型的训练、验证和测试。

在对数据进行分类时,将每个时间窗口的数据都按照上述比例分类到三部分数据中,以保证数据的平衡性。

步骤s103:利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型。

其中,lstm-rnn模型表示长短期记忆循环神经网络模型。

在利用训练数据,训练lstm-rnn模型时,包括以下步骤:

第一步,利用所述训练样本数据训练lstm-rnn模型。

本发明采用具有一个输入层,5个隐藏层、一个输出层,输出层使用identity函数来执行回归,隐藏层采用lstm单元,该单元具有三个门,输入门表示是否允许采集的新的污染物浓度数据信息加入到当前隐藏层节点中,如果为1,则门开,允许输入,如果为0,则门关,不允许输入,这样就可以摒弃掉一些没用的输入信息;遗忘门表示是否保留当前隐藏层节点存储的样本数据,如果为1,则门开保留,如果为0,则门关,清空当前节点所存储的样本数据;输出门表示是否将当前节点输出值输出给下一层(下一个隐藏层或者输出层),如果为1,则门开,当前节点的输出值将作用于下一层,如果为0,则门关,当前节点输出值不输出。lstm单元结构弥补了传统rnn结构上的不足,即后面的时间节点对前面的时间节点感知力下降。lstm单元是一种称作记忆细胞的特殊单元,类似于累加器和门控神经元:它在下一时间步长将拥有一个权值并连接到自身,拷贝自身状态的真实值和累积的外部信号,但这种自联接是由另一个单元学习并决定何时清除记忆内容的乘法门控制,具体内容如下:

it=σ(wxixt+whiht-1+wcict-1+bi)

ft=σ(wxfxt+whfht-1+wcfct-1+bf)

ct=ftct-1+ittanh(wxcxt+whcht-1+bc)

ot=σ(wxoxt+whoht-1+wcoct-1+bo)

ht=ottanh(ct)

其中σ为逻辑sigmoid函数,i、f、o、c、h分别表示输入门(inputgate)、遗忘门(forgetgate)、输出门(outputgate)、单元激活向量(cellactivationvectors),隐藏层单元,wxi、whi、wci分别为输入特征向量、隐藏层单元、单元激活向量与输入门之间的权重矩阵,wxf、whf、wcf分别为输入特征向量、隐藏层单元、单元激活向量与遗忘门之间的权重矩阵,wxo、who、wco分别为输入特征向量、隐藏层单元、单元激活向量与输出门之间的权重矩阵,wxc、whc分别为输入特征向量、隐藏层单元与单元激活向量之间的权重矩阵,所述权重矩阵均为对角阵;bi、bf、bc、bo分别为输入门、遗忘门、输出门、单元激活向量的偏差值,t作为下标时表示采样时刻,tanh为激活函数。

gate使用一个sigmoid激活函数,而input和cellstate通常会使用tanh激活函数来转换。当输入为0时,tanh函数输出为0。

在训练模型时,采用dropout的连接形式,即在模型训练时随即让网络某些隐含层节点的权重不工作,不工作的节点可暂时认为不是网络结构的一部分,但其权重需保留下来(只是暂时不更新),以便下次样本输入时重新工作。dropout可以有效防止网络训练过程中出现过拟合现象。

本发明中使用的基于lstm单元的rnn网络结构训练10000epochs,学习速率(learningrate)为1,训练2500epochs后的每一个epoch开始以系数1.15降低学习速率。在训练的每一步过程中,依据交叉熵(crossentropy)准则计算误差向量,根据标准反向传播算法更新权重:

error(t)=desired(t)-y(t)

其中desired为预测输出值,y(t)为实际网络输出值,error为误差值。

第二步,利用训练样本数据训练完模型后,需要利用验证数据对模型进行验证,更新参数,具体过程为:

将验证输入训练后的模型,验证数据在训练网络的过程中每迭代1000次进行一次测试,最终比较testloss和trainloss。当testloss不再降低时,终止网络训练,标志着包含lstm单元的rnn网络验证完成。

第三步,利用所述测试数据对修正后的lstm-rnn模型进行测试;若测试成功,则修正后的lstm-rnn模型为交易价格预测模型;若测试失败,则重新获取验证数据,对训练后的lstm-rnn模型重新进行修正。

在利用测试数据进行测试时,将测试数据输入到训练好的模型中,查看预测数据与相应的样本数据之间的差距,判断该差距是否在期望值之内,若在,则表明测试成功,可以利用该模型进行预测;若不在,则表明测试失败,需要对模型再进行训练测试,修正网络参数,进而逐步提高预测精度。

步骤s104:根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。

建立好交易价格预测模型后,根据当前交易数据,预测未来某一个时刻或者某一个时间段内的金融交易数据,预测完成后,可以以可视化的方式进行展示,例如,柱状图格式、圆盘图格式、曲线图格式等,这都在本发明的保护范围内。通过采用可视化的展示方式,能够使用户更加清楚的看到预测结果,提高了用户体验。

在每一个时刻,金融交易市场都会产生新的数据,都可以作为训练模型的数据,因此,为了保证模型预测的准确性,需要利用新产生的当前交易数据,实时优化交易价格预测模型,调整模型网络参数。

在优化模型时,可以采用adam算法,adam算法是一种有效的基于梯度的随机优化方法,该算法融合了adagrad和rmsprop算法的优势,能够对不同参数计算适应性学习率并且占用较少的存储资源。相比于其他随机优化方法,adam算法在实际应用中整体表现更优。

lstm模型一种高度可靠的模型,本发明通过基于lstm-rnn模型建立的预测模型,相较于现有技术,能够更加准确地预测未来任一时间段和/或任一时刻的金融交易数据,提高用户体验。

以上,为本发明提供的一种金融交易价格预测方法。

基于与上述一种金融交易价格预测方法相同的发明构思,与之相对应的,本发明实施例还提供了一种金融交易价格预测装置。由于装置实施例基本相似与方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

本发明提供的一种金融交易价格预测装置,包括:

数据采集模块101,用于采集金融交易的历史数据;设置不同预定时间步长的滑动窗口,利用所述滑动窗口在所述历史数据滑动以获取多个窗口数据,对每一个窗口数据进行采样,获得各预定时间步长对应的样本数据;数据处理模块102,用于对所述样本数据进行预处理,获得训练数据;

训练模块103,用于利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型;

预测模块104,用于根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。

在本发明提供的一个具体实施例中,所述数据处理模块102,包括:

清洗单元,用于对所述样本数据进行清洗;

归一化单元,用于对清洗后的样本数据进行归一化处理;

分类单元,用于对归一化处理后的数据进行分类,获得训练数据。

在本发明提供的一个具体实施例中,所述训练数据包括:训练样本数据、验证数据和测试数据,所述训练模块103,包括:

训练单元,用于利用所述训练样本数据训练lstm-rnn模型;

修正单元,用于利用所述验证数据对训练后的lstm-rnn模型进行修正;

测试单元,用于利用所述测试数据对修正后的lstm-rnn模型进行测试;若测试成功,则修正后的lstm-rnn模型为交易价格预测模型;若测试失败,则重新获取验证数据,对训练后的lstm-rnn模型重新进行修正。

在本发明提供的一个具体实施例中,还包括:

优化模块,用于采用adam算法,利用所述当前交易数据,实时优化所述交易价格预测模型。

在本发明提供的一个具体实施例中,所述金融交易的样本数据,包括:金融产品交易价格、交易时间和交易对象。

在本发明提供的一个具体实施例中,还包括:

显示模块,用于采用可视化方式显示所预测的未来任一时间段和/或任一时刻的金融交易数据。

以上,为本发明提供的一种金融交易价格预测装置。

基于与上述一种金融交易价格预测方法相同的发明构思,与之相对应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述一种金融交易价格预测方法。

由上述技术方案可知,本实施例提供的一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,能够采集金融交易的历史数据;从历史数据中获取样本数据,再对所述样本数据进行预处理,获得训练数据;利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型;根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。本发明通过基于lstm-rnn模型建立的预测模型,相较于现有技术,能够更加准确地预测未来任一时间段和/或任一时刻的金融交易数据,提高用户体验。

基于与上述一种金融交易价格预测方法相同的发明构思,与之相对应的,本发明实施例还提供了一种金融交易价格预测设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种金融交易价格预测方法。

由上述技术方案可知,本实施例提供的一种金融交易价格预测设备,能够采集金融交易的历史数据;从历史数据中获取样本数据,再对所述样本数据进行预处理,获得训练数据;利用所述训练数据,基于lstm-rnn模型,训练获得交易价格预测模型;根据当前交易数据,利用所述交易价格预测模型,预测未来任一时间段和/或任一时刻的金融交易数据。本发明通过基于lstm-rnn模型建立的预测模型,相较于现有技术,能够更加准确地预测未来任一时间段和/或任一时刻的金融交易数据,提高用户体验。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1