一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多粒度级联森林的股票走势预测方法与流程

2021-10-24 08:00:00 来源:中国专利 TAG:预测 股票 方法 走势预测 分类


1.本发明涉及一种股票走势预测方法,属于分类预测领域。


背景技术:

2.股票走势预测是金融领域和时间序列预测领域的研究热点,许多商业公司和研究机构都开发了基于统计模型的股票预测器,期望在对历史数据的分析中获取更有规律的信息或者直接辅助决策。当前的股票走势预测方法主要是使用技术面或基本面的数据,通过传统模型和集成模型进行数据分析。传统的股票走势预测模型主要有泰勒展开预测模型、支持向量机(support vectormachine,svm)、arima模型。随着机器学习领域的不断发展,对神经网络的不断探索,多粒度级联森林立足于神经网络逐层处理、特征转换和复杂性这些特点,又使用了基于决策树的集成方法,对股票走势预测的能力进一步提升。
3.然而目前的股票走势预测方法易受到时间序列和特征选择的影响造成预测准确性起伏过大,而且单一分类器模型的使用,容易在训练过程中产生过拟合现象。


技术实现要素:

4.本发明要解决的技术问题是时间序列下股票走势预测筛选特征和过拟合问题,提出了一种基于多粒度级联森林的股票走势预测方法。
5.为了达到上述目的,本发明采用的技术方案是:
6.s1、通过python第三方库yfinance获取股票数据;
7.s2、对获取的股票数据进行指数平滑处理;
8.s3、利用技术指标对步骤s2处理获取的数据提取特征;
9.s4、利用决策树的特征重要性排序,对步骤s3获取的特征数据进行3次评估并取平均值,选取强有效特征;
10.s5、将步骤s4获取的特征数据利用多粒度级联森林及默认参数进行分类预测;
11.s6、将步骤s5中使用的模型进行网格参数搜索优化,获取一组最优参数组合,输出优化的分类预测结果;
12.进一步的,所述步骤s1获取股票数据,其具体方法包括:
13.s11、yfinance结合pandas_datareader获取雅虎金融的历史股票数据。
14.s12、将步骤s11中获取的数据转存为csv文件。
15.进一步的,所述步骤s2中股票数据指数平滑的具体方法是:
16.对具有时间序列性质的历史股票数据进行指数平滑,在这一过程中对时间距离短的数据给予更大权重,对时间距离长的数据给予指数递减的权重。这种平滑方法可以减轻或消除历史数据中的随机变化或噪声。序列y的指数平滑可以递归表示:
[0017][0018]
式中:s
t
表示在时间t的平滑值,y
t
表示时间t的实际值,α作为平滑常数的取值范围
为0到1,α的值越大,则平滑程度越低。当α=1时,平滑后的数据与实际数据相等。
[0019]
进一步的,所述步骤s3中通过技术指标获取特征的具体内容是:
[0020]
技术面分析中使用的技术指标是从股票数据中计算出来用于预测股票市场走向的重要参数,也是广大投资者经常使用的工具。选择的技术指标包括指数移动平均值、指数平滑移动均线、动量指标、相对强弱指标、真实波幅平均值、震荡量指标、能量潮指标、真实强弱指数、估波指标、随机摆动指标、质量指数、简易波动指标。
[0021]
进一步的,所述步骤s4包括:
[0022]
s41、将步骤s3中获取的技术指标送入决策树进行特征重要性排序,其中集合的纯度可使用信息增益或基尼不纯度进行度量。从一个内部节点或叶子节点对应的集合抽取样本,y类实例的概率pr(y)正比于集合中该类实例所占比例,用标记概率分布的香农熵衡量所得类的统计不确定性如下所示:
[0023]
h(y)=


y∈y
pr(y)logpr(y)
[0024]
在信息增益方法中,由类别概率分布的熵来度量一集合的混乱程度。为了表示信息熵的单位为二进制位,如下公式采用log2pr(y):
[0025]
h(y)=

σ
y∈y
pr(y)log2pr(y)
[0026]
s42、信息增益表现为熵在数据集划分开始和结束期间的变化。当一个集合为所有类别的实例均分,熵取到最大值;当所有实例归为一类时,熵取到最小值。实例集由d表示,且d=d
t
ud
f
是某一次划分,信息增益可表示为:
[0027][0028]
进一步的,步骤s5中多粒度级联森林模型训练的具体方法为:
[0029]
s51、将步骤s4中提取到的特征输入到多粒度扫描部分,原始数据集是10维的,使用大小为5的滑动窗口进行滑动,得到6个实例为5维的子样本数据。
[0030]
s52、将多粒度扫描得到的数据送到级联森林,这里每层的随机森林是成对出现的,包括普通随机森林和完全随机森林。随机森林分类之后的类别个数为2,则经过一个随机森林可得到12个样本数据。
[0031]
进一步的,所述步骤s6具体为:
[0032]
网格搜索基于范围参数内点查找该集合内的最佳参数值,通过使用较广的参数范围,同时在每次参数改变时采用较小的步长以获得最优的参数组合。
[0033]
本发明的先进点在于:
[0034]
1、本发明采用指数平滑的方法对历史股票数据进行处理后,再使用技术指标进行特征提取。指数平滑用于预测模型,可以减轻或消除历史数据中的随机变化或噪声,更有利于模型训练阶段对特征的识别。
[0035]
2、在特征筛选中,多次使用决策树对特征进行重要性排序,并取得排序的平均值,这一过程使得特征数据更贴合多粒度级联森林的训练。
[0036]
3、采用的多粒度级联森林模型,表征学习能力经过多粒度扫描阶段加强,级联的层数可以通过自适应结构决定。
附图说明
[0037]
图1为基于多粒度级联森林的股票走势预测方法流程图。
[0038]
图2多粒度级联森林的多粒度扫描阶段示意图。
[0039]
图3多粒度级联森林的级联森林阶段示意图。
具体实施方式
[0040]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]
实施例1,
[0042]
参见图1

图3,本实施例1提供了一种基于多粒度级联森林的股票走势预测方法,
[0043]
包括如下步骤:
[0044]
s1、通过python第三方库yfinance获取股票数据;
[0045]
步骤s1中获取的股票数据来自于美国股票市场,包括英特尔(intc)、谷歌(goog)、超威(amd)、动视暴雪(intc),具体步骤为:
[0046]
s11、yfinance结合pandas_datareader获取雅虎金融接口的历史股票数据。
[0047]
s12、将步骤s11中获取的数据转存为csv文件,即将网络数据持久化为本地文件。
[0048]
具体的说,s1步骤是从雅虎金融接口获取历史股票数据,设置一个时间段,最终获得的股票数据维度包括日期、最高价、最低价、开盘价、收盘价、成交量。
[0049]
s2、对获取的股票数据作指数平滑处理处理;
[0050]
具体的说,数据的指数平滑方法是:对具有时间序列性质的历史股票数据进行指数平滑,在这一过程中对时间距离短的数据给予更大权重,对时间距离长的数据给予指数递减的权重。这种平滑方法可以减轻或消除历史数据中的随机变化或噪声。序列y的指数平滑可以递归表示为:
[0051][0052]
式中:s
t
表示在时间t的平滑值,y
t
表示时间t的实际值,α作为平滑常数的取值范围为0到1,α的值越大,则平滑程度越低。当α=1时,平滑后的数据与实际数据相等。
[0053]
具体的说,所述步骤s3中通过技术指标获取特征的具体内容是:
[0054]
技术面分析中使用的技术指标是从股票数据中计算出来用于预测股票市场走向的重要参数,也是广大投资者经常使用的工具。选择的技术指标包括指数移动平均值、指数平滑移动均线、动量指标、相对强弱指标、真实波幅平均值、震荡量指标、能量潮指标、真实强弱指数、估波指标、随机摆动指标、质量指数、简易波动指标。
[0055]
进一步的,所述步骤s4包括:
[0056]
s41、将步骤s3中获取的技术指标送入决策树进行特征重要性排序,其中集合的纯度可使用信息增益或基尼不纯度进行度量。从一个内部节点或叶子节点对应的集合抽取样本,y类实例的概率pr(y)正比于集合中该类实例所占比例,用标记概率分布的香农熵衡量所得类的统计不确定性如下所示:
[0057]
h(y)=


y∈y
pr(y)logpr(y)
[0058]
在信息增益方法中,由类别概率分布的熵来度量一集合的混乱程度。为了表示信息熵的单位为二进制位,如下公式采用log2pr(y):
[0059]
h(y)=

σ
y∈y
pr(y)log2pr(y)
[0060]
s42、信息增益表现为熵在数据集划分开始和结束期间的变化。当一个集合为所有类别的实例均分,熵取到最大值;当所有实例归为一类时,熵取到最小值。实例集由d表示,且d=d
t
ud
f
是某一次划分,信息增益可表示为:
[0061][0062]
进一步的,步骤s5中多粒度级联森林模型训练的具体方法为:
[0063]
s51、参见图2,将步骤s4中提取到的特征输入到多粒度扫描部分,原始数据集是10维的,使用大小为5的滑动窗口进行滑动,得到6个实例为5维的子样本数据。
[0064]
s52、参见图3,将多粒度扫描得到的数据送到级联森林,这里每层的随机森林是成对出现的,包括普通随机森林和完全随机森林。随机森林分类之后的类别个数为2,则经过一个随机森林可得到12个样本数据。最终以收盘价为基准判断股价涨跌:
[0065]
pred
n
=label(close
n horizon

close
n
)
[0066]
当pred
n
取值为 1时,表示horizon天后价格呈现正向变化趋势;当pred
n
取值为

1时,表示horizon天后价格呈现负向变化趋势。最终,股票数据作为数值型数据通过涨跌类别转化为标称型数据。
[0067]
进一步的,所述步骤s6具体为:
[0068]
网格搜索基于范围参数内点查找该集合内的最佳参数值,通过使用较广的参数范围,同时在每次参数改变时采用较小的步长以获得最优的参数组合。
[0069]
本发明未详述之处,均为本领域技术人员的公知技术。
[0070]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜