股票交易控制方法及装置与流程

文档序号:18743454发布日期:2019-09-21 02:03阅读:285来源:国知局
股票交易控制方法及装置与流程
本发明涉及股票分析
技术领域
,更具体地,是一种股票交易控制方法及装置。
背景技术
:用户可以通过股票交易系统进行股票买卖的交易操作。具体地,用户可以向股票交易系统发送交易委托请求,交易委托请求中指示股票的交易量,股票交易系统根据所指示的交易量,在股票市场交易平台上完成相应交易量的交易操作。需要说明的是,交易委托请求中的交易量通常较大,股票交易系统如果将交易量一次性全部投入股票交易平台,交易冲击成本往往较大。因此股票交易系统通常将委托中的交易量拆分成多个小的交易量,将多个交易量在不同交易时间分多次投入股票交易平台,以降低冲击成本。目前的拆分方式为平均拆分,这种拆分方式所得到的各个交易量投入交易之后,得到的执行成本较大,用户体验较差。因此,需要一种股票交易控制方法,控制生成各个投入交易量,以降低股票交易执行成本,进而提高用户使用股票交易系统的体验满意度。技术实现要素:有鉴于此,本发明提供了一种股票交易控制方法。另外,本发明还提供了一种股票交易控制装置,用以保证所述方法在实际中的应用及实现。为实现所述目的,本发明提供的技术方案如下:第一方面,本发明提供了一种股票交易控制方法,包括:确定目标股票在多个交易时间区间的初始投入交易量;使用预先构建的神经网络模型,预测所述目标股票在各个所述交易时间区间的价格涨跌趋势;其中所述神经网络模型包含股价特征参数,所述股价特征参数用于预测所述目标股票在交易时间区间内的价格跌涨;依据所述价格涨跌趋势,对各个所述交易时间区间的初始投入交易量进行调整,得到各个所述交易时间区间的目标投入交易量。第二方面,本发明提供了一种股票交易控制装置,包括:初始交易量确定模块,用于确定目标股票在多个交易时间区间的初始投入交易量;涨跌趋势预测模块,用于使用预先构建的神经网络模型,预测所述目标股票在各个所述交易时间区间的价格涨跌趋势;其中所述神经网络模型包含股价特征参数,所述股价特征参数用于预测所述目标股票在交易时间区间内的价格跌涨;初始交易量调整模块,用于依据所述价格涨跌趋势,对各个所述交易时间区间的初始投入交易量进行调整,得到各个所述交易时间区间的目标投入交易量。第三方面,本发明提供了一种股票交易控制设备,包括处理器和存储器,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:确定目标股票在多个交易时间区间的初始投入交易量;使用预先构建的神经网络模型,预测所述目标股票在各个所述交易时间区间的价格涨跌趋势;其中所述神经网络模型包含股价特征参数,所述股价特征参数用于预测所述目标股票在交易时间区间内的价格跌涨;依据所述价格涨跌趋势,对各个所述交易时间区间的初始投入交易量进行调整,得到各个所述交易时间区间的目标投入交易量。第四方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的股票交易控制方法。由以上技术方案可知,本发明提供了一种股票交易的控制方法,该方法用于股票交易系统,该方法首先确定目标股票在多个交易时间区间的初始投入交易量,然后使用预先构建的神经网络模型,预测目标股票在每个交易时间区间的价格涨跌趋势,并根据该价格涨跌趋势来对初始投入交易量进行调整,从而得到目标投入交易量。可见,该方法所确定的目标投入交易量考虑到了价格涨跌趋势,使得基于该目标投入交易量所得到的执行成本更优,可以提高用户对股票交易系统的体验满意度。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为股票交易控制方法的一个流程图;图2为神经网络模型的一种结构示意图;图3为神经网络模型的一种具体结构示意图;图4为神经网络模型在1分钟及2分钟的预测上的一个分布密度图;图5为1分钟预测准确数据在设置不同的y_out阈值下预测准确的数据占据总数量的比例图;图6为1分钟和2分钟的预测准确度随阈值的一个变化趋势图;图7为股票交易控制装置的一个结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。目前,股票交易系统接收到用户的交易委托请求之后,将交易委托请求中的交易量进行平均拆分,得到各个投入交易量,然后将各个投入交易量投入至市场股票交易平台中进行交易。这种拆分方式导致股票交易的执行成本较高。发明人进行研究之后发现,导致股票执行成本较高的原因是,平均拆分的方式并没有考虑到股票价格的涨跌趋势,不能根据涨跌趋势来设置需要投入的交易量,这种机械的拆分方式造成了较高的执行成本。因此,本发明提供了一种股票交易控制方法,该方法考虑到价格涨跌因素,根据该因素对股票的投入交易量的生成过程进行控制。见图1,其示出了股票交易控制方法的一个具体流程。如图1所示,该股票交易控制方法流程可以具体包括步骤S101~S103。S101:确定目标股票在多个交易时间区间的初始投入交易量。其中,股票种类有多种,为了便于描述,将本发明所涉及的种类的股票称为目标股票。本发明可以以一个交易日作为总的控制时间范围,一个委托总交易量划分成多个小的交易量需要在一个交易日内分多次投入至股票交易平台,为了确定每次投入的时间点,本发明将一个交易日划分为多个时间区间,每个时间区间即本步骤中的交易时间区间。本发明以下步骤需要为每个交易时间区间确定最终投入至股票交易平台中的交易量,即目标投入交易量。首先确定目标股票在每个交易时间区间的初始投入交易量。在一种实现方式中,该初始投入交易量可以是按照现有的算法所确定的,现有算法可以是平均计算法、成交量加权平均价算法、隐藏交易目标的冰山算法、跟随市场交易量的比例成交算法等等。在另一种实现方式中,该初始投入交易量可以是由历史成交量计算出来的。该实现方式可以具体包括以下步骤1.1-1.3。1.1:获得目标股票在与每个交易时间区间对应的多个历史交易时间区间的投入交易量。其中,当前交易日被划分为多个交易时间区间,可以从历史交易数据中获得与每个交易时间区间对应的历史交易时间区间的投入交易量。例如,一个当前交易日(9:30-11:30,13:00-15:00)被划分为48个交易时间区间,每5分钟作为一个交易时间区间。从历史30天的交易数据中,获得每天相对应交易时间区间的投入交易量,得到48个交易时间区间分别对应的30个投入交易量。1.2:计算各个交易时间区间对应的多个历史交易时间区间的平均投入交易量的比例。首先,计算每个交易时间区间对应的多个历史交易时间区间的投入交易量的平均值,得到多个平均投入交易量。例如针对48个交易时间区间中的每个交易时间区间,将30个投入交易量求和后除以30得到投入交易量的平均值,得到48个平均投入交易量。然后,计算各个平均投入交易量的比例。平均投入交易量的比例也可以称为平均投入交易量的分布。1.3:依据总投入交易量以及比例,确定各个交易时间区间的初始投入交易量。其中,获得当前交易日的总委托交易量,总委托交易量即总投入交易量。使用总投入交易量乘以每个交易时间区间对应的比例,得到每个交易时间区间的初始投入交易量。需要说明的是,将总委托交易量拆分成多个初始投入交易量,可以认为是将一个大的委托交易单在时间轴上所拆分成一个子单序列。S102:使用预先构建的神经网络模型,预测目标股票在各个交易时间区间的价格涨跌趋势。其中神经网络模型包含股价特征参数,股价特征参数能够影响目标股票在交易时间区间内的价格跌涨。其中,本发明预先构建有神经网络模型,神经网络模型的作用是,对一个交易日内各个交易时间区间的价格涨跌趋势进行预测。神经网络模型是使用历史交易数据训练生成的,历史交易数据具有价格涨跌标签数据及股价特征参数,股价特征参数能够影响目标股票在交易时间区间内的价格涨跌,从而所构建的神经网络模型也具有股价特征参数的处理能力,进而在对输入的待分析的目标股票进行预测时,可以通过对目标股票在股价特征参数上进行分析,从而准确预测目标股票的价格涨跌趋势。需要说明的是,神经网络模型具有良好的非线性表达和特征学习能力,无论是在有监督的学习还是无监督的场景下都有着广泛的运用。在本发明中,将神经网络应用于股票交易日内的价格涨跌预测,同时对预测结果进行深入分析,客观地评估基于神经网络的股票价格预测的优势。首先对神经网络模型的结构进行说明。由于一个交易日内股价近似连续数值,所以训练时可以选用回归模型去拟合历史股价数据,同时也可以将股价的变动趋势离散化为价格涨跌,从而进行股价未来涨跌的分类。本申请是对股价涨跌进行分类预测,交易日内的一两分钟的短期价格走势,不同于日间长期的价格变动(日K线级别),其特点是大部分时间股价都在小幅波动,只有少量的时间段才存在大幅度波动。为了精细化的进行股票价格涨跌预测,本申请将问题定义为一个三分类问题,也就是对应着股价上涨、平稳、下跌三种状态,因此使用N输入、3输出的神经网络,N个输入对应着N个特征。见图2,其示出了神经网络模型的一种结构示意。如图2所示,该神经网络模型为全连接神经网络模型,输出端使用归一化指数函数(softmax)层,使得输出为0~1之间的数值。输出数据包括y1、y2及y3三个概率数值,分别对应上涨、平稳、下跌三个趋势。进一步地,可以将y1、y2、y3三个概率数值中最大值对应的趋势可以作为价格的最终涨跌趋势。更具体地,神经网络模型的一个具体结构如图3所示,该神经网络模型将传统的多层全连接神经网络与卷积神经网络相结合。其中卷积神经网络对股票历史高频数据(量价时空大数据)进行自动化的特征处理与训练。全连接网络的输入分为两部分,一是人工抽取的特征数据,二是卷积神经网络的输出。模型整体的输出为三分类数值,对应的是股票短期价格涨跌的预测。关于神经网络模型的具体训练过程以下说明,此处并不赘述。神经网络模型内部不同的网络节点具有相应的权重值,训练完成的神经网络模型中这些权重值已经设置完成。训练完成神经网络模型后,从目标股票在各个交易时间区间的交易数据中提取股价特征参数的值,将股价特征参数的值作为神经网络模型的输入值,经过神经网络模型的计算之后输出三个概率值,分别表示上涨的概率、平稳的概率以及下跌的概率。根据该三个概率值的大小关系,将最大概率值对应的涨跌标签确定为价格涨跌趋势。需要说明的是,针对每个交易时间区间,分别依次使用神经网络模型预测各个交易时间区间的股价涨跌趋势。S103:依据价格涨跌趋势,对各个交易时间区间的初始投入交易量进行调整,得到各个交易时间区间的目标投入交易量。其中,使用每个交易时间区间的价格涨跌趋势,对每个交易时间区间的初始投入交易量进行调整。调整方式是,如果交易时间区间的价格跌涨趋势为上涨,则将该交易时间区间的初始投入交易量提高;如果交易时间区间的价格跌涨趋势为下跌,则将该交易时间区间的初始投入交易量降低;如果交易时间区间的价格跌涨趋势为平稳,则不改变该交易时间区间的初始投入交易量。调整之后的初始投入交易量称为目标投入交易量。需要说明的是,目标投入交易量可以影响目标股票的执行成本,用户使用股票交易系统的需求是,目标股票的执行成本越低越好。因此以上对初始投入交易量的调整方式是,能够使目标投入交易量降低执行成本的调整方式。由以上技术方案可知,本发明提供了一种股价交易控制方法,该方法应用在股票交易系统,该方法首先确定待控制的目标股票在多个交易时间区间的初始投入交易量,使用预先构建的神经网络模型,对目标股票在各个交易时间区间的初始投入交易量的价格涨跌趋势进行预测,进而依据该价格涨跌趋势,对交易时间区间的初始投入交易量进行调整,从而得到交易时间区间的目标投入交易量。可见,该方法可以使用神经网络模型对价格涨跌趋势进行预测,基于价格涨跌趋势对初始投入交易量进行调整,调整得到的目标投入交易量可以降低交易执行成本,从而提高用户对股票交易系统的体验满意度。下述对神经网络模型的构建过程进行详细说明。具体地,神经网络模型的构建过程包括如下步骤2.1-2.2。2.1:获得与目标股票相关的模型训练样本数据;其中模型训练样本数据包括股价特征数据及价格涨跌标签数据,股价特征数据能够影响目标股票在交易时间区间内的价格跌涨。其中,目标股票相关的模型训练样本数据是由目标股票的历史交易数据得到的。模型训练样本数据包括两部分,分别为股价特征数据及价格涨跌标签数据。股价特征数据是由历史交易数据的各个字段综合计算后得到的,股价特征数据是能够影响目标股票价格短期变化的特征数据,例如可以包括成交价格的变化率、市场成交量的变化率、买卖委托量的比例等等。另外,价格涨跌标签数据表示的是价格是上涨、平稳还是下跌。模型训练样本数据的生成方式包括以下步骤:获得与目标股票相关的多条历史交易数据,历史交易数据包括若干与交易相关的字段;针对每一条历史交易数据,对历史交易数据中与交易相关的字段进行综合计算,得到股价特征数据;以及针对每一条历史交易数据,依据历史交易数据中与交易相关的字段计算价格涨跌标签数据;其中,每一条历史交易数据的股价特征数据及价格涨跌标签数据,用于组成一条模型训练样本数据。具体地,目标股票相关的历史交易数据,包括目标股票自身的历史交易数据,还可以包括与目标股票具有相似收益率的股票的历史交易数据,从而不仅可以增大参与训练的模型训练样本数据的规模,还可以减小由于股票特性的不同导致的模型训练样本数据的不稳定性。例如,获得多只股票的历史交易数据,计算每只股票在不同日期内30秒收益率的方差,并将每只股票所有日期内的30秒收益率方差进行平均。按照同样方式,计算目标股票在相应日期内的30秒收益率平均方差,从多只股票中选择预设数量的与目标股票的收益率平均方差相近的股票,相近可以指的是收益率平均方差差值在预设阈值范围内。获得的每条历史交易数据包括若干与交易相关的字段,字段的一个示例如表1所示。表1其中市场代码、证券代码为股票的编码信息,最新价、成交笔数、成交额、成交量、方向为股票成交信息,买一价~卖五价为盘口报价信息,买一量~卖五量为委托量信息。预先设置所需要提取的股价特征数据,按照股价特征数据所对应的计算方式,对历史交易数据的若干字段进行综合计算,从而得到股价特征数据。以下介绍几种股价特征数据的计算方式,作为示例说明。(1)收益率考虑N期价格变动所形成的对数收益率,每一期的时间间隔为30s,定义在t时刻i期的对数收益率为ri,其中pt为当前时刻的最新价字段的数据,pt-i为当前时刻的前i期的最新价字段的数据,且:ri=log(pt)-log(pt-i),i=1,2,3,…40。(2)价差令pt为当前时间点的最新价字段的数据,MAp,N为价格序列N期的算术平均价格,deltap,t,N为当前价格与N期平均价的价差;其中:N=2,3,5,10,15,20,40。(3)成交量变动令Vt为当前时间的成交量字段的数据,MAv,N为N期的成交量V的平均值,strengthv,t,N为成交量相对于N期平均值的强弱。其中:N=2,3,5,10,20,40,90,240。(4)成交笔数令ndeal,t为当前时间的成交笔数字段的数据,MAdeal,N为N期的平均成交笔数,strengthdeal,t,N为成交笔数相对于N期平均值的强弱:。其中:N=2,3,5,10,20,30,40。(5)盘口委比设定t时刻卖价为:对应着卖一价、卖二价…卖五价的字段;卖量为Vtask,i;买价为:买量为Vtbid,i。令Vttbid,∑i为盘口买1~买i的委托量之和,Vtask,∑i为盘口卖1~卖i的委托量之和,t时刻委比指标ratiot,i定义为:为N期ratiot,i的算术平均值:i=1,2,3,5;N=5,10,20,60,120。(6)波动性设pt为最新的价格,n期价格序列的波动性为σ(pt,n),strengthσ,n,N为n期波动性相对于N期波动性的强弱。其中:(7)时间在时间的维度上,使用hour、minute两个参数来表示当前交易的小时、分钟数。(8)买卖方向令T时刻买卖方向也就是对应于方向的字段的数据,为N个tick时间内type的算术平均值。其中,的计算方式为:当然,模型训练样本数据除了包括股价特征数据,还应包括价格涨跌标签数据。价格涨跌标签数据对于模型训练样本数据来说是一个标签,用于标注出该条模型训练样本数据的价格涨跌情况。为模型训练样本数据,确定价格涨跌标签数据的一种方式如下所示。其中,lable1、lable2、lable3为模型训练样本数据的三个价格涨跌标签数据,分别对应的价格上涨标签数据、价格平稳标签数据以及价格下跌标签数据。△p表示的是历史股票数据在t时刻与t+1时刻的价格差,因此可以通过计算t时刻与t+1时刻的价格差得到△p的值。根据△p的值的大小与0及0.01之间的关系,可以确定每个价格涨跌标签数据即lable1、lable2、lable3的值。需要说明的是,之所以需要与0.01进行比较,是基于如下考虑。一些股票价格的最小变动值为0.01,所以为了区分股价的上涨与下跌,使用了0.01元的变化幅度作为涨跌标签的区分。对应于1分钟股价预测,则t与t+1之间的时间差值为1分钟;对于2分钟股价预测,t+1替换为t+2。本发明并没有按照股价差值是否大于0将价格涨跌标签直接划分为0或1的数据,而是在0和1之间引入了其他的离散数据,这是因为对于交易时间内的股票交易来说,有主动买盘和主动卖盘的分别,即使是在股价平稳的状态,其所呈现出来的成交价格也会在买一价和卖一价之间随机的变动。如果买卖报价是一直连续的,也即买一价和卖一价相差0.01元,最新的成交价格也会在0.01元的范围内上下波动,那么我们认为留有0.01元的余量作为涨跌的判断标准是合理的。例如:对于价格涨跌标签数据lable1,在△p>0.01的情况下,将lable1确定为1,在△p=0.01的情况下,将lable1确定为0.7,在△p=0的情况下,将lable1确定为0.2,在△p<0的情况下,将lable1确定为0。对于这样的设置,主要是基于以下的思考:如果股价上涨超过了0.01元,那么可以确定股价确实是上涨的,但是如果股价的变化恰好为0.01元,那么此时股票价格的变动就带有一定的模糊性,从概率分配的角度,就确定股价上涨的概率为0.7,股价不变的概率为0.3。历史交易数据的股价特征数据以及价格涨跌标签数据,可以组成一条模型训练样本数据。2.2:使用神经网络模型训练算法,对模型训练样本数据进行训练,以得到满足损失函数要求的神经网络模型。其中,得到模型训练样本数据后,使用神经网络模型训练算法,对模型训练样本数据进行训练。模型训练样本数据组成的集合可以称为训练数据集。在一种具体实现方式中,神经网络模型训练算法可以是Adam优化算法,以下对该优化算法的训练过程进行详细说明。Adam优化算法是一种基于一阶梯度来优化随机目标函数的算法。Adam算法根据损失函数对每个进行训练的参数的梯度的一阶矩估计和二阶矩估计,动态调整针对于每个参数的学习率。训练过程中学习率是变化的,学习率的调整是采用指数衰减的办法,默认初始的学习率为1.0e-4,学习率的衰减系数为0.95,按照指数衰减的方式,随着每次轮询一遍整个训练数据集,按照学习率衰减系数逐步降低所使用的学习率。在训练足够的时间后,神经网络模型的性能将不再提高,从而可以停止训练的过程。其中神经网络模型的性能可以通过损失函数结果的变化情况反映出来,如果损失函数的值不再明显变化,则说明神经网络模型的性能不再提高。为了降低训练过程中过拟合所带来的不利影响,可以一方面在损失函数中添加L2正则化项,使得神经网络模型的参数更加均衡稳定;另一方面,由于采用的是按照批次训练的方法,所以在每一次训练的过程中,由于训练样本的不同,使得结果都带有一定的随机性,可以在训练过程中使用移动平滑的机制,将网络参数随着训练所产生的波动性大大降低。在一种实现方式中,默认L2正则化系数为0.0001,移动平滑系数为0.99。需要说明的是,本发明可以在损失函数中加入惩罚项,以提高所训练得到的神经网络模型的准确度。使用神经网络模型所预测的涨跌趋势调整初始投入交易量后,真正对最终的执行成本影响较大的是那些对于涨跌幅度比较大的预测,而那些涨跌幅很小的预测,对于平均执行成本的变化不会产生实质性影响。也就是说,如果模型能够在那些短期收益率绝对值较大的情况下具备较高的预测准确度,那么会期望获得更好的执行成本优化结果。为此,本发明重新设计损失函数,定义损失函数如下:loss=CE*(1+1000*|r|);其中:loss表示损失函数;CE表示交叉熵(crossentropy),具体为神经网络模型对模型训练样本数据预测的价格涨跌与模型训练样本数据的价格涨跌标签数据所表示的价格涨跌之间的交叉熵;r表示模型训练样本数据的未来短期的收益率。基于对损失函数的重新调整,对于短期收益率较大的情形,将给交叉熵乘以一个较大的系数,而对于短期收益率较小的情形,给交叉熵乘以一个较小的系数。这样设置的目的是尽量在收益率较大的情况下预测的准确度更高一些。通过以上训练过程,可以构建得到神经网络模型。以下说明如何具体依据价格涨跌趋势,对各个交易时间区间的初始投入交易量进行调整。调整过程包括如下步骤3.1-3.3。3.1:按照多个交易时间区间的前后排序,将首个交易时间区间作为当前交易时间区间。其中,交易时间区间可以具有区间序号,多个区间序号具有先后排序,本调整过程按照交易时间区间的先后排序依次循环执行,以分别针对每个交易时间区间执行步骤3.2的调整步骤。3.2:根据以下调整公式,对当前交易时间区间的初始投入交易量以及当前交易时间区间的下一交易时间区间的初始投入交易量进行调整:其中,t表示当前交易时间区间;k表示当前循环调整次数,在t=k的情况下,表示对当前交易时间区间的初始投入交易量进行调整后的值;在t=k+1的情况下,表示对当前交易时间区间的下一交易时间区间的初始投入交易量调整后的值;表示当前交易时间区间的初始投入交易量;ρ表示预设调整比例,其数值介于0到1之间;表示当前交易时间区间的下一交易时间区间的初始投入交易量;sk表示当前交易时间区间的价格涨跌趋势,当趋势为上涨时sk的值为1,当趋势为下跌时sk的值为-1,否则为0;表示当前交易时间区间的上一交易时间区间的初始投入交易量。具体地,使用神经网络模型预测当前交易时间区间的价格涨跌趋势,根据神经网络模型预测的价格涨跌趋势设置sk的值,具体地,涨跌趋势不同sk的值也不同,如下所示:依据sk的值对交易时间区间对应的初始投入交易量进行调整,调整的思路是:当预测未来价格上涨时,增大初始投入交易量;如果预测价格将下跌,则减少初始投入交易量。未进行调整前,初始投入交易量如下所示:其中N表示交易时间区间的总个数。为了简化调整过程,本发明仅仅在交易时间区间的末尾时刻进行T+1区间末尾时刻的价格涨跌预测(实际上预测的长度会有多种,例如1分钟预测、2分钟预测),也就是说,每一个交易时间区间的价格涨跌趋势仅仅影响相邻交易时间区间的初始投入交易量。那么,有如下调整规则:其中,有关参数的说明可以参见上述说明,此处并不赘述。需要说明的是,ρ表示预设的调整比例,不同的调整比例代表着不同的激进程度,ρ越高,对初始投入交易量的调整就越激进。通过上述调整规则可以看出,对于当前交易时间区间来说,如果对当前交易时间区间的初始投入交易量进行调整,则需要相适应地调整当前交易时间区间的下一交易时间区间的初始投入交易量。需要说明的是,该初始投入交易量可以具体为初始投入交易比例量,即每个初始投入交易量是与初始投入交易量总和相除之后的比例值。另外,每一交易时间区间的初始投入交易量被调整之后,该被调整的初始投入交易量会作为下一次循环过程中的初始投入交易量。3.3:返回将当前交易时间区间的下一交易时间区间作为新的当前交易时间区间,直至最后一个交易时间区间。综上,使用上述调整方法可以对每个交易时间区间的初始投入交易量进行调整,从而得到每个交易时间区间的目标投入交易量。为了证明执行成本的优化程度,本发明提供了执行成本的计算方式,并通过实验数据对本发明与现有算法得到的执行成本进行比对说明。具体地,执行成本的计算方式为:获得目标股票在各个交易时间区间的收盘价;以及依据每个交易时间区间的收盘价以及目标投入交易量,计算目标股票的执行成本。其中,可以从股票交易平台中获得目标股票在每个交易时间区间的收盘价。在一种实现方式中,目标股票的执行成本计算公式为其中:pricealgo表示目标股票的执行成本;k表示任一交易时间区间;N表示交易时间区间的总个数;pricek表示第k个交易时间区间的收盘价;pk表示第k个交易时间区间的目标投入交易量,需要说明的是,目标投入交易量具体为目标投入交易比例,即目标投入交易量与目标投入总量的比值。如果使用目标投入交易量进行计算,则上述计算公式修改为:其中pricem表示目标执行成本;volumek表示第k个交易时间区间的目标投入量。根据上述计算公式可知,将每个交易时间区间的收盘价与各自的目标投入交易量相乘,然后将相乘结果进行求和,得到目标股票的执行成本。该执行成本可以称为平均执行成本。在pk为目标投入交易比例的情况下,需要满足如下约束关系:使用满足该约束关系的pk进行计算,获得本发明所得到的执行成本。以下将本发明得到的执行成本与现有算法得到的执行成本进行对比说明。现有的TWAP交易算法中,在每一个交易时间区间均匀下单,从而TWAP交易算法的执行成本计算方式为:为了进行对比,定义delta为本发明得到的pricealgo相对于现有算法得到的priceTWAP降低的百分比。delta的计算方式为:相对于传统的TWAP算法,本发明获得了大约5BP的提升(不管是买入操作还是卖出操作);同样相对于VWAP算法,本发明的实验结果也获得了大约5BP的提升。这证明了基于本发明提供的短期价格预测的智能算法交易是有效的,基于短期价格预测的交易算法能够使得最终的交易成本降低,并获得更高的收益。另外,本发明还对神经网络模型的预测结果进行二次处理,并基于处理结果分析所预测的价格涨跌趋势的准确度,在本发明所述智能算法交易中,可以仅仅使用准确度最高的那一部分预测数据。针对本发明所构建的神经网络模型,假定最后一层神经元的输出记为y_i(i=1,2,3)。在最后一层神经元后面再接一层softmax层,对于三分类输出来说,softmax层的定义如下:其中i及j表示分类号。可以看出softmax层的输出满足概率分布的定义,即:也就是说,可以确定softmax(y)i即为对应类别的概率值,从而近似的认为softmax的输出即为预测上涨、平稳、下跌的概率分布。将softmax的输出值定义为y_out(取三分类最大的输出值),y_out在1分钟以及2分钟的预测上的分布密度如图4所示。其中,图4的左侧图为y_out在1分钟的预测上的分布密度,图4的右侧图为y_out在2分钟的预测上的分布密度。无论是1分钟的预测还是2分钟的预测输出,y_out的分布密度都很相似,均值、标准差也很接近。在小于0.5的位置有最多的数量,相比较于标准的正态分布,其分布图具有明显的左偏特性。y_out的最小值近似于0.333,这是最大概率本身所决定的(对于三分类,最优可能性的概率不低于0.333)。在分布图的右端,尤其是y_out>0.9的部分,呈现出细长的尾巴,说明输出值大于0.9的比例很低。需要说明的是,y_out可以称为输出值。图5示出了1分钟预测在设置不同的y_out阈值下预测数据占据总数量的比例,具体地,横坐标表示输出值阈值,纵坐标表示筛选出来的数据占据总数量的比例。可见,当y_out阈值为0.6时,数据比例近似为20%;当阈值为0.7时,筛选出的数量比例已不足10%。接下来是通过设置不同的y_out阈值,筛选出特定的数据。观察在不同的阈值下,所对应的的预测准确度。图6示出了1分钟和2分钟的预测准确度随阈值的变化情况,具体地,横坐标表示输出值阈值,纵坐标表示预测准确的数据占据总数量的比例。其中深色灰度的柱状图为1分钟预测准确度结果,浅色灰度的柱状图为2分钟预测准确度结果。具体的预测准确度随输出值阈值的变化如下表2所示,表2示出了在不同输出值阈值下预测准确度的具体比例值。从表2可以看出,当设置的输出值阈值越来越高时,预测的准确度也就越高,但预测的数据量也越来越少,这是准确度和信号数量之间的一个矛盾。预测的数据指的是通过设置输出值阈值,过滤出满足输出值大于输出值阈值的那一部分数据。表2输出值阈值1分钟预测准确度1分钟预测的数据量2分钟预测准确度2分钟预测的数据量0.30.56531.00000.55701.00000.350.57020.96020.56120.95860.40.58380.85220.57230.85180.450.60310.66050.59160.64820.50.64010.45210.62020.42270.550.66950.29050.65180.25670.60.69450.17120.66340.15170.650.71480.09260.67890.09660.70.73030.05190.69120.06120.750.74120.03240.71070.03840.80.74980.02090.72110.02350.850.76530.01380.73990.01310.90.78220.00710.73450.00630.950.81560.00290.73980.0022参见图7,本发明还提供了一种股票交易控制装置,具体包括:初始交易量确定模块701、涨跌趋势预测模块702以及初始交易量调整模块703,其中:初始交易量确定模块701,用于确定目标股票在多个交易时间区间的初始投入交易量。涨跌趋势预测模块702,用于使用预先构建的神经网络模型,预测目标股票在各个交易时间区间的价格涨跌趋势;其中神经网络模型包含股价特征参数,股价特征参数用于预测目标股票在交易时间区间内的价格跌涨。初始交易量调整模块703,用于依据价格涨跌趋势,对各个交易时间区间的初始投入交易量进行调整,得到各个交易时间区间的目标投入交易量。由以上技术方案可知,本发明提供了一种股价交易控制装置,该装置应用在股票交易系统,该装置首先确定待控制的目标股票在多个交易时间区间的初始投入交易量,使用预先构建的神经网络模型,对目标股票在各个交易时间区间的初始投入交易量的价格涨跌趋势进行预测,进而依据该价格涨跌趋势,对交易时间区间的初始投入交易量进行调整,从而得到交易时间区间的目标投入交易量。可见,该装置可以使用神经网络模型对价格涨跌趋势进行预测,基于价格涨跌趋势对初始投入交易量进行调整,调整得到的目标投入交易量可以降低交易执行成本,从而提高用户对股票交易系统的体验满意度。在一个示例中,初始交易量确定模块,具体包括:投入交易量获取子模块、交易量比例计算子模块以及初始交易量确定子模块,其中:投入交易量获取子模块,用于获得目标股票在与每个交易时间区间对应的多个历史交易时间区间的投入交易量。交易量比例计算子模块,用于计算各个交易时间区间对应的多个历史交易时间区间的平均投入交易量的比例。初始交易量确定子模块,用于依据总投入交易量以及比例,确定各个交易时间区间的初始投入交易量。在一个示例中,股票交易控制装置,还可以包括:神经网络模型构建模块。其中,神经网络模型构建模块,包括:样本数据获取子模块以及样本数据训练子模块,其中:样本数据获取子模块,用于获得与目标股票相关的模型训练样本数据;其中模型训练样本数据包括股价特征数据及价格涨跌标签数据,股价特征数据用于预测目标股票在交易时间区间内的价格跌涨。样本数据训练子模块,用于使用神经网络模型训练算法,对模型训练样本数据进行训练,以得到满足损失函数要求的神经网络模型。在一个示例中,样本数据获取子模块,具体包括:历史数据获取单元、相关字段计算单元以及涨跌数据计算单元。其中:历史数据获取单元,用于获得与目标股票相关的多条历史交易数据,历史交易数据包括若干与交易相关的字段。相关字段计算单元,用于针对每一条历史交易数据,对历史交易数据中与交易相关的字段进行综合计算,得到股价特征数据。涨跌数据计算单元,用于针对每一条历史交易数据,依据历史交易数据中与交易相关的字段计算价格涨跌标签数据。在一个示例中,损失函数要求为,神经网络模型对应的损失函数达到预设要求,其中:损失函数的计算方式为:loss=CE*(1+1000*|r|)。loss表示损失函数;CE表示交叉熵,具体为神经网络模型对模型训练样本数据预测的价格涨跌与模型训练样本数据的价格涨跌标签数据所表示的价格涨跌之间的交叉熵;r表示模型训练样本数据的未来短期的收益率。在一个示例中,初始交易量调整模块,具体包括:时间区间排序子模块、初始交易量调整子模块以及时间区间更新子模块。其中:时间区间排序子模块,用于按照多个交易时间区间的前后排序,将首个交易时间区间作为当前交易时间区间。初始交易量调整子模块,用于根据以下调整公式,对当前交易时间区间的初始投入交易量以及当前交易时间区间的下一交易时间区间的初始投入交易量进行调整:其中,t表示当前交易时间区间;k表示当前循环调整次数,在t=k的情况下,表示对当前交易时间区间的初始投入交易量进行调整后的值;在t=k+1的情况下,表示对当前交易时间区间的下一交易时间区间的初始投入交易量调整后的值;表示当前交易时间区间的初始投入交易量;ρ表示预设调整比例,其数值介于0到1之间;表示当前交易时间区间的下一交易时间区间的初始投入交易量;sk表示当前交易时间区间的价格涨跌趋势,当趋势为上涨时sk的值为1,当趋势为下跌时sk的值为-1,否则为0;表示当前交易时间区间的上一交易时间区间的初始投入交易量。时间区间更新子模块,用于返回将当前交易时间区间的下一交易时间区间作为新的当前交易时间区间。在一个示例中,股票交易控制装置,还可以包括:收盘价获取模块以及执行成本计算模块。其中:收盘价获取模块,用于获得目标股票在各个交易时间区间的收盘价。执行成本计算模块,用于依据每个交易时间区间的收盘价以及目标投入交易量,计算目标股票的执行成本。在一个示例中,执行成本计算模块,包括:执行成本计算子模块,用于按照计算公式计算目标股票的执行成本;其中:pricealgo表示目标股票的执行成本;k表示任一交易时间区间;N表示交易时间区间的总个数;pricek表示第k个交易时间区间的收盘价;pk表示第k个交易时间区间的目标投入交易量的比例。本发明还提供了一种股票交易控制设备,包括处理器和存储器,所述处理器通过运行存储在所述存储器内的软件程序、调用存储在所述存储器内的数据,至少执行如下步骤:确定目标股票在多个交易时间区间的初始投入交易量;使用预先构建的神经网络模型,预测所述目标股票在各个所述交易时间区间的价格涨跌趋势;其中所述神经网络模型包含股价特征参数,所述股价特征参数用于预测所述目标股票在交易时间区间内的价格跌涨;依据所述价格涨跌趋势,对各个所述交易时间区间的初始投入交易量进行调整,得到各个所述交易时间区间的目标投入交易量。本发明还提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任意一种的股票交易控制方法。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1