一种基于强化学习的股票预测方法及系统技术方案

技术编号:21715757 阅读:20 留言:0更新日期:2019-07-27 19:34
本发明专利技术公开了一种基于强化学习的股票预测方法及系统,按下述步骤进行:a、获取目标股票的历史数据,并对所述历史数据进行归一化处理,使历史数据中各类数值缩放到同一尺度,形成训练集;b、基于强化学习理论构建股票预测模型,所述的股票预测模型中包括一层输入层、一层隐含层和一层输出层;再将训练集输入至股票预测模型进行训练;c、利用训练后的股票预测模型进行股票预测,并以夏普比率和最大回撤率作为依据对股票预测模型进行评价;本发明专利技术能够达到预测股票价格趋势方向的目的,帮助股票市场投资者降低股票投资的风险度,获得期望收益。

A Stock Forecasting Method and System Based on Reinforcement Learning

【技术实现步骤摘要】
一种基于强化学习的股票预测方法及系统
本专利技术涉及神经网络和强化学习领域,具体为一种基于强化学习的股票预测方法及系统。
技术介绍
股票市场作为金融领域的重要运转重心,往往从侧面反映着一个国家的经济状况,作为能获得重大收益的股票投资,吸引着越来越多投资者的关注,因此如何从海量的股票交易数据中找出股票市场时间序列的规律,从而对股票市场的价格趋势走向作出准确预测,成为众多股票投资者关心的热点话题。金融时间序列作为时间数据序列的一种,有着强烈的时间性和周期性,其数据序列前后往往具有很深的依赖性,这些特性使得针对股票市场的价格趋势走向预测成为一种可能,同时这也是目前金融时间序列预测的热点和难点。现有技术如公开号CN201711232195的专利技术公开了一种基于深度学习的股票市场预测方法。该专利技术的技术方案通过将长短期记忆网络LSTM和扩张因果卷积网络DCC相结合构建深度学习环境获取上证指数、美国市场标普500和恒生指数的历史股票数据,选取训练数据,输入训练数据,再通过构建的神经网络求得下一时刻的最大似然估计,以此作为网络模型预测股票市场的价格走势。但其应用研究主要集中在股票价格的趋势走向,缺乏金融时间序列数据中的投资风险和收益情况,使得市场投资者投资股票的风险还大大存在。
技术实现思路
本专利技术的目的在于,提供一种基于强化学习的股票预测方法及系统。本专利技术能够达到预测股票价格趋势方向的目的,帮助股票市场投资者降低股票投资的风险度,获得期望收益。本专利技术的技术方案:一种基于强化学习的股票预测方法,按下述步骤进行:a、获取目标股票的历史数据,并对所述历史数据进行归一化处理,使历史数据中各类数值缩放到同一尺度,形成训练集;b、基于强化学习理论构建股票预测模型,所述的股票预测模型中包括一层输入层、一层隐含层和一层输出层;再将训练集输入至股票预测模型进行训练;c、利用训练后的股票预测模型进行股票预测,并以夏普比率和最大回撤率作为依据对股票预测模型进行评价。上述的基于强化学习的股票预测方法,所述步骤a中目标股票的历史数据包括开盘价、最高价、最低价、收盘价、前一天收盘价、换手率、涨跌幅、成交额和成交量共九个因素;将除换手率和涨跌幅之外的股票各字段历史数据进行归一化处理,将其压缩为0到1之间的实数,其归一化处理的公式如下:其中,d为归一化处理之前的历史数据,d*为归一化处理后的数据,dmax为历史数据各字段中数据最大值,dmin为历史数据各字段中数据最小值。前述的基于强化学习的股票预测方法,所述步骤b中,股票预测模型的训练是先对训练集进行序列特征提取,将其作为股票预测模型输入层的输入数据;股票预测模型隐含层采用Actor-Critic框架,股票预测模型输出层输出股票价格的近期趋势走向。前述的基于强化学习的股票预测方法,所述训练集进行序列特征提取是利用PPO网络进行,对于目标股票,假定训练集的9个输入因素按照开盘价、最高价、最低价、收盘价、前一天收盘价、换手率、涨跌幅、成交额和成交量表示为股票时间序列数据的输入因素集合:其中,i=1,2,…9表示训练集的9个输入因素,n表示每个数据字段相对应的有n个数据,表示第i个输入因素的第j个数据;取batch_size为一整数作为股票预测模型训练的批次大小,在股票时间序列数据的输入因素集合S的基础上,股票预测模型以batch_size为固定值,循环截取集合S中各数据字段以指定交易日及其之前的batch_size个交易日的历史股票数据作为股票预测模型的输入特征值,该输入特征值为一个batch_size行9列的二维数组,股票预测模型输出为指定交易日之后的n-M个交易日的股票趋势;其中M≥batch_size,M表示为指定交易日,batch_size表示为批量尺寸。前述的基于强化学习的股票预测方法,所述Actor-Critic框架包括一个Actor网络、一个Critic网络;所述Critic网络通过值函数反馈给Actor网络用于反馈训练的好坏,其中Actor网络和Critic网络的计算过程如下:L_actorj=relu(L_criticjwa+ba)其中,为输入层第i个因素的第j个数据,wc和bc分别是Critic网络的权重和偏置,L_criticj作为Actor网络的第j个输入,wa和ba分别是Actor网络的权重和偏置,relu为激活函数,L_actorj为股票预测模型的输出,rt(θ)为当前t时刻股票预测模型新旧策略的比值,在此处该新旧策略即为股票预测模型训练前后的状态值,θ表示策略参数更新的向量,表征一种映射关系,为策略更新的优势,ε为近端策略优化算法的超参数,取0.2,LCLIP(θ)表示通过截断概率比,将概率比rt(θ)处于区间[1-ε,1+ε]之外的激励消除,最后取截断目标和未截断目标中的最小值的均值,并将该均值的最小值作为模型损失函数loss。前述的基于强化学习的股票预测方法,所述在Actor网络和Critic网络计算各自损失函数loss值时,使用Nadam随机梯度下降算法对Actor和Critic网络的loss值进行优化,奖励值表征了预测数据与实际数据的偏离程度,奖励值越大表示偏差越小;所述Nadam随机梯度下降算法是带有Nesterov动量项的Adam优化算法,其计算过程如下:mt=ut*mt-1+(1-ut)*gt其中,gt是当前t时刻的梯度,mt、nt分别是t时刻对梯度的一阶矩估计和二阶矩估计,mt-1、nt-1分别为t-1时刻对梯度的一阶矩估计和二阶矩估计,分别是对mt、nt、gt的校正,是mt的平均值,ζ是一个接近于0但不为0的正数,η为Nadam算法学习率,Δθt即为更新后的梯度值,v是二阶矩估计的动量因子,ui为i时刻一阶矩估计的动量因子,i=1、2、…、t、t+1。前述的基于强化学习的股票预测方法,所述步骤c中,股票预测模型进行股票预测后,对其结果进行反归一化处理,其反归一化的方法如下:z*=z*(zmax-zmin)+zmin其中,z是股票预测模型输出的各数据字段压缩数据,zmax是股票历史数据中的最大值,zmin是股票历史数据中的最小值,z*是反归一化处理后的各数据字段数据。前述的基于强化学习的股票预测方法,所述步骤c中,夏普比率可以用来表征投资者每承担一单位的风险,能够获得的多大的超额回报,夏普比率计算公式可表示如下:其中,Rp表示本次投资的期望回报,Rf表示投资的无风险利率,默认为0.04,σ表示投资的收益波动率,使用标准偏差表示。前述的基于强化学习的股票预测方法,所述步骤c中,最大回撤率用于表征投资者在投资周期内可能会面临的最大亏损,其计算公式为:其中,i为数据集内某一天,j为i后的某一天,Pi为第i天的投资净值,Pj则是Pi后某一天的净值,Drawdown用于表征投资者在投资周期内可能会面临的最大亏损。一种基于强化学习的股票预测系统,包括股票历史数据获取及数据归一化处理模块、系统模型构建及训练模块和股票价格趋势预测及模型评价模块;所述股票历史数据获取及数据归一化处理模块用于获取待预测股票的历史数据并进行该数据的归一化处理,并将归一化处理后的数据转化为一二维数组作为系统模型构建及训练模块的输入;所述系统模型构建及训练模块用于利用股票的历史数据对股票预测本文档来自技高网...

【技术保护点】
1.一种基于强化学习的股票预测方法,其特征在于:按下述步骤进行:a、获取目标股票的历史数据,并对所述历史数据进行归一化处理,使历史数据中各类数值缩放到同一尺度,形成训练集;b、基于强化学习理论构建股票预测模型,所述的股票预测模型中包括一层输入层、一层隐含层和一层输出层;再将训练集输入至股票预测模型进行训练;c、利用训练后的股票预测模型进行股票预测,并以夏普比率和最大回撤率作为依据对股票预测模型进行评价。

【技术特征摘要】
1.一种基于强化学习的股票预测方法,其特征在于:按下述步骤进行:a、获取目标股票的历史数据,并对所述历史数据进行归一化处理,使历史数据中各类数值缩放到同一尺度,形成训练集;b、基于强化学习理论构建股票预测模型,所述的股票预测模型中包括一层输入层、一层隐含层和一层输出层;再将训练集输入至股票预测模型进行训练;c、利用训练后的股票预测模型进行股票预测,并以夏普比率和最大回撤率作为依据对股票预测模型进行评价。2.根据权利要求1所述的基于强化学习的股票预测方法,其特征在于:所述步骤a中目标股票的历史数据包括开盘价、最高价、最低价、收盘价、前一天收盘价、换手率、涨跌幅、成交额和成交量;将除换手率和涨跌幅之外的股票各字段历史数据进行归一化处理,将其压缩为0到1之间的实数,其归一化处理的公式如下:其中,d为归一化处理之前的历史数据,d*为归一化处理后的数据,dmax为历史数据各字段中数据最大值,dmin为历史数据各字段中数据最小值。3.根据权利要求2所述的基于强化学习的股票预测方法,其特征在于:所述步骤b中,股票预测模型的训练是先对训练集进行序列特征提取,将其作为股票预测模型输入层的输入数据;股票预测模型隐含层采用Actor-Critic框架,股票预测模型输出层输出股票价格的近期趋势走向。4.根据权利要求3所述的基于强化学习的股票预测方法,其特征在于:所述训练集进行序列特征提取是利用PPO网络进行,对于目标股票,假定训练集的9个输入因素按照开盘价、最高价、最低价、收盘价、前一天收盘价、换手率、涨跌幅、成交额和成交量表示为股票时间序列数据的输入因素集合:其中,i=1,2,…9表示训练集的9个输入因素,n表示每个数据字段相对应的有n个数据,表示第i个输入因素的第j个数据;取batch_size为一整数作为股票预测模型训练的批次大小,在股票时间序列数据的输入因素集合S的基础上,股票预测模型以batch_size为固定值,循环截取集合S中各数据字段以指定交易日及其之前的batch_size个交易日的历史股票数据作为股票预测模型的输入特征值,该输入特征值为一个batch_size行9列的二维数组,股票预测模型输出为指定交易日之后的n-M个交易日的股票趋势;其中M≥batch_size,M表示为指定交易日,batch_size表示为批量尺寸。5.根据权利要求4所述的基于强化学习的股票预测方法,其特征在于:所述Actor-Critic框架包括一个Actor网络、一个Critic网络;所述Critic网络通过值函数反馈给Actor网络用于反馈训练的好坏,其中Actor网络和Critic网络的计算过程如下:L_actorj=relu(L_criticjwa+ba)其中,为输入层第i个因素的第j个数据,wc和bc分别是Critic网络的权重和偏置,L_criticj作为Actor网络的第j个输入,wa和ba分别是Actor网络的权重和偏置,relu为激活函数,L_actorj为股票预测模型的输出,rt(θ)为当前t时刻股票预测模型新旧策略的比...

【专利技术属性】
技术研发人员:岑跃峰张晨光岑岗张宇来马伟锋程志刚林学芬周闻王佳晨曹家伟石龙杰
申请(专利权)人:浙江科技学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1