[发明专利]一种基于改进随机森林算法的股票收益率预测方法在审

专利信息
申请号: 201910180723.7 申请日: 2019-03-11
公开(公告)号: CN110059852A 公开(公告)日: 2019-07-26
发明(设计)人: 方昕;陈玲玲 申请(专利权)人: 杭州电子科技大学
主分类号: G06Q10/04 分类号: G06Q10/04;G06Q10/06;G06Q40/04;G06K9/62;G06N3/00
代理公司: 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人: 朱月芬
地址: 310018 浙*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 随机森林 股票 算法 趋势预测 特征选择 预测 粒子群算法 参数选择 分类性能 趋势变化 属性特征 算法优化 特征属性 特征子集 网格搜索 预测性能 分类 准确率 维度 剔除 改进 筛选 引入 重复 优化
【权利要求书】:

1.一种基于改进随机森林算法的股票收益率预测方法,其特征在于,具体包括以下步骤:

步骤1:数据获取,通过网站获取股票日数据;

将数据分为训练集,验证集,测试集;

步骤2:获取数据进行指数平滑:

S0=Y0 t=0 (1)

St=α*Yt+(1-α)*St-1 t>0 (2)

式中St表示时间t的平滑值,Yt表示时间t的实际值;

S0表示t=0时的数据平滑值,Y0表示t=0的实际值,t表示获取股票日的天数;St-1时间为t-1的平滑值,α为指数平滑因子,0<α<1;步骤3:特征提取

根据指数平滑结果计算技术指标,平滑的时间序列数据计算特征矩阵,将被投资者用来判断股票趋势涨跌的技术指标作为特征;

步骤4:PSO算法进行特征选择

将技术指标作为粒子群算法中的粒子,PSO算法中粒子的初始速度与位置随机分配,局部最优解Pidbest是当前迭代情况下粒子的最优位置,全局最优解Pgdbest是整个种群的最优位置;假设粒子群搜索空间维度为D,共有m个粒子,则粒子在空间的位置为xi=[xi1,xi2,…,xiD],速度为vi=[vi1,vi2,…,viD],i=1…m,计算公式如下所示:

调整空间位置

式中:Vk对应某粒子局部极值在第k维的速度,Xk粒子局部值第k维最优位置,代表第k次迭代过程时粒子群的局部最优位置,代表第k次迭代过程时粒子群的全局最优位置,S(·)表示sigmoid函数,以速度作为sigmoid函数的变量,调整空间位置是将粒子速度映射到[0,1]之间,并与随机数比较,更新粒子的位置状态,c1,c2是学习因子,且为正数,w是惯性权重,rand1,rand2∈[0,1],随机均匀分布;

步骤5:设定判定条件:

设定判定条件:若迭代次数超过最大迭代次数,适应度低于设定的值,则跳出循环;

步骤6:特征选择:

将步骤4粒子群特征选择得到的二进制编码作为输入特征用于趋势预测,其中1表示被选中,0表示不被选中;

步骤7:输出最优特征:

若满足步骤5,设定的条件输出最优特征,否则返回步骤4;

步骤8:构建数据矩阵:

根据步骤7选择出的最优特征构建输入随机森林的数据矩阵;

步骤9:训练集和验证集进行交叉验证:

为提高随机森林的预测精确度,将训练集,验证集采用交叉验证进行调参,90%用于训练模型,10%用于验证模型;利用网格搜索算法对随机森林进行参数寻优,包括树的深度,随机状态,树节点的变量数、树的个数、OOB误分率以及变量重要性估计来提升预测准确度,从而得到预测模型,使得模型对数据有较好的适应度和更高的精度;

步骤10:股票交易信号即数据标签的建立:

将步骤8构建的数据矩阵作为训练数据,输入到随机森林算法进行训练,构建交易信号Yj={y1,y2,…,yj},其中j=1,2,…,n为样本编号;交易信号的具体构建步骤如下:

1)计算日均价pj

其中Cj表示股票收盘价,Hj表股票最高价,Lj表示最低价;

2)计算未来k天的算数收益Vj,k=1,2,…,10;

3)构建交易信号yj

步骤11:样本内训练:

将由最优特征构建的数据矩阵输入随机森林算法模型进行训练,并用网格搜索算法对新的最优特征数据集进行参数寻优,并与实际股票趋势进行比较,得出股票预测的趋势以及预测的准确性;

步骤12:模型评价:

根据随机森林算法分类过程中,分类预测结果可以用混淆矩阵表示,如下表1所示:

表1混淆矩阵

预测为+1预测为0预测为-1
真实为+1TPFZ1FN1
真实为0FP1TZFN2
真实为-1FP2FZ2TN

其中TP为正确分类的+1,TZ正确分类的0,TN为正确分类的负类,FP1为0类错误分为+1类,FP2为-1类错误分为+1类,FZ1为+1类错误分为0类,FZ2为-1类错误分为0类,FN1为+1类错误分为-1类,FN2为0类错误分为-1类,FP为FP1+FP2,FN(为FN1+FN2,FZ为FZ1+FZ2,N=NTP+NFN+NFP+NTN+NTZ表示样本总量;

准确率Accuracy表示测试集中被预测正确的概率,召回率Recall表示原来是正类的样本预测对的概率,查准率Precision表示所有被预测为正类的样本中正确的概率,计算公式分别如下所示:

Recall=TP/(TP+FN) (11)

Precision=TP/(TP+FP) (12)

F是由灵敏度和查准率的加权平均值组成的综合性能指标,F值越趋近于1表示分类结果越好,公式如下:

以上这些参数是从混沌矩阵中获得的另一方面,在随机森林生成过程中,用bootstrap方法生成训练集,由于是有放回的重复抽样,与原始数据相比,只有大约63%的数据被重复抽取,其余数据不会出现,其中其余数据就是袋外数据OOB,使用袋外数据来估计随机森林算法的泛化能力,称之为OOB估计;以一棵树为单位,用OOB数据检测到的正确率为OOBscore,检测到的误差就是袋外误差OOBerror,将所有树的OOBerror取平均就是随机森林的OOB'error,OOB'error越小说明RF的泛化能力越强;适应度值Fitness由F与OOB'error组成,值越小越好,公式如下:

OOBerror=1-OOBscore (14)

Fitness=OOB'error+(1-F) (15)

步骤13:样本外测试:

确定最优参数后,再用测试数据来测试训练完后的随机森林算法模型,得到分类结果,以测试集所有预处理后的样本特征作为模型的输入,得到每个样本的T+k预测值得到分类结果,并与实际股票趋势进行比较,得出股票预测的趋势以及预测的准确性。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910180723.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top