[发明专利]基于多特征因子的隐马尔科夫模型的自适应股票预测方法在审
申请号: | 201711488697.1 | 申请日: | 2017-12-30 |
公开(公告)号: | CN108241872A | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 蒋强荣;张军超 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06K9/62 | 分类号: | G06K9/62;G06Q40/04 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 股票预测 隐马尔科夫模型 特征因子 预测能力 时间点 自适应 标注 动量 历史数据 特征属性 特征向量 样本数据 分类 预测 残差 初选 筛选 股票 | ||
1.基于多特征因子的隐马尔科夫模型的自适应股票预测方法,其特征在于:该方法包括三个步骤,
第一,通过股票样本数据训练HMM模型,建立基于HMM模型,通过限定模型的适用条件,以达到最优的预测效果;限定模型的适用条件为训练样本的长度、观测值的预测窗口、HMM的隐状态数、避免适用未来数据的窗口,并对这些数据参数进行最优化处理;
第二,在训练好的HMM模型,得到最优化的限定参数后,对共53个特征因子进行适用,并各自对待预测观测值进行价格预测,按照预测的准确率的高低排列,选取高区分能力的因子,考虑特征因子间的相关性,提取不相关的特性因子,同时考虑PCA选取较好的二次特征因子作为模型的预测特征,作为最终稳定的基于HMM的股指预测模型特征;
第三,通过模型训练得到收敛的HMM参数,利用已得到的模型计算待观测值序列标记为各个隐状态的可能,并标记为最可能的隐状态序列及相应的似然值;然后利用HMM模型,计算待预测的观测值序列最可能的隐状态序列及似然值,并通过在时间和似然函数值作为最相近历史点的寻找依据,基于时间的权值分配使用:wm=exp(1/(i-m+1)),wm为不同相近历史点和后一日间升降幅度所占的权值,i为当前带预测天的前一日序号,m为相近历史天的序号;L函数使用欧氏距离公式配备权值,从而得到训练样本天后一日的价格涨跌幅度,通过此幅度计算得带预测日和前一日的涨跌幅度,进一步得到待预测日的股价趋势分类。
2.根据权利要求1所述的基于多特征因子的隐马尔科夫模型的自适应股票预测方法,其特征在于:隐马尔可夫模型是统计模型,是在探究一个马尔可夫过程与背后隐藏状态的关系过程中建立的模型,即它用来描述一个含有隐含未知参数的马尔可夫过程;HMM根据使用背景不同分为离散型和连续型,典型的离散型是隐状态和观测值得概率是一一对应,而连续性HMM的隐状态和观测值的概率是通过隐状态的概率分布得到的;一个隐马尔科夫模型通过一个三元组表示:(π,A,B),完整表示为:(N,M,π,A,B),其中:
N:隐状态数;
M:一个隐状态对应的观测值数;
Pi:隐状态的初始概率分布π=P{q1=Sj},sum(π)=1;
A:隐状态间的转移概率分布;Aij=P{qt+1=Sj|qt=Si},1≤i,j≤N.sum(Ai)=1;
B:某隐状态对应观测值的概率分布;Bij=P{ot|qt=Si},1≤i≤M,1≤j≤N;
离散型观测概率分布:bjk=bj(ot)=P(ot=k|st=j),1≤k≤U;
连续型观测概率分布:bj(ot)=∑wjk·bjk(ot),j=1...N,1≤k≤M;
连续性一般观测值的概率分布使用混合高斯函数近似拟合,∑wjk=1,j=1...N,k=1...M,如果观测序列为多维的,则:bjk=bj(ot)=N(O,Ujk,∑jk);
其中:Ujk=E[O(t)|Q(t)=j,M(t)=k];∑jk=Cov[O(t)|Q(t)=j,M(t)=k]
在寻找历史点时,涉及到要寻找的历史区间,判别相似历史点的方法,历史点的标注时,需要解决类别数的计算方法,在选择特征时,使用多维的股票指标;
通过训练学习将数据集长度和预测窗口区间调整到最优值,同时保证相近历史点的精准和特征多样性,并采用状态数的自学习,实现自动更新模型的方法;
在一定历史点区间,判别相似历史点的方法,历史点的标注时,类别数的计算方法,在HMM的基础上实现股指的预测;本发明也具有一定的实际应用价值:一是作为机器学习算法的实际应用平台辅助教学;二是在当前机器学习的领域,实现股票预测,从而使用HMM来处理语音信号;三是由于使用硬件成本资源较少以及计算简单快捷,易于实现。
3.根据权利要求1所述的基于多特征因子的隐马尔科夫模型的自适应股票预测方法,其特征在于:
S1数据准备:
步骤1:通过财经网、Scapy、指标计算公式搜集数据;
步骤2:将这些搜集数据进行归一化规整等预处理;
步骤3:对预处理的搜集股票数据划分为训练数据集和测试数据集;
S2构建模型参数:
步骤1:将S1中的步骤3的训练数据集在因子情况下,运用python的hmmlearn.hmm,学习hmm算法的内部参数,此算法是本模型的核心算法:
(1)输入特征向量X是由55为指标最终确定为12为S3特征选择;
(2)输出为每个样本点的类别标记,范围是在隐状态数目N内S2的步骤4确定由解码算法Viterbi标注得到;
(3)hmm的转移概率矩阵A=[aij],1≤i,j≤N,定义了某交易日i和后相邻交易日j之间的隐状态转移的概率,利用了1阶马尔可夫性原理;
(4)hmm观察概率分布B=Bj(k),1≤j≤N,此矩阵定义了某个交易日的隐状态被标记为j时,观测到的特征向量是为k向量的概;
(5)在S2步骤1中涉及到的hmm算法中的参数,是通过学习算法baum-welch多次的迭代学习,收敛取得最优的时得到;
步骤2:首先确定在总数据集中,划分的每批次训练样本集的长度,在各种值下取得最优;
步骤3:在历史数据区间确定后,调整预测窗口的长度;
步骤4:本次运行的HMM的隐状态的数目的确定是有程序自学习得到的,是通过OEHS准则,运行ncomponents.py获取最稳定的隐状态值,作为hmm的隐状态数目N;
S3特征选择:
步骤1:通过S2部分取得的模型适用最优参数后,同时利用过滤式的特征过程方法,得到各个因子预测能力的排序;
步骤2:同时使用PCA和pearson系数,过滤出预测结果较好的不相关的因子;
步骤3:由S3的步骤1,2得到55个属性指标中的12维作为hmm算法的输入特征,即特征向量;
S4模型适用:
步骤1:通过S2,S3部分,构建模型中涉及到的适用参数和hmm算法的参数的最优值:单批次训练数据样本长度、预测区间长度、寻找的相似历史点数、隐状态的数N、12维输入特征向量;在模型构建完整的基础后,将历史时间点和待测日计算出似然值且标记分类;
步骤2:通过距待预测日的距离和似然函数的距离程序,筛选出最相近的历史点,通过加权平均得到涨跌幅度,从而得到待测日的走势分类;
步骤3:通过在测试集上运行,得出不同情况的模型的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711488697.1/1.html,转载请声明来源钻瓜专利网。