一种基于情感分析和隐马尔科夫模型融合的股市预测方法

文档序号:6536143阅读:546来源:国知局
一种基于情感分析和隐马尔科夫模型融合的股市预测方法
【专利摘要】本发明涉及一种基于情感分析和隐马尔科夫模型融合的股市预测方法,包括以下步骤:信息采集:针对新浪网财经新闻网页,利用网络爬虫Heritrix采集财经新闻网页;信息预处理:对财经新闻网页进行正文抽取、分词、词性标注,以及停用词和标点符号过滤;语料构建:构建股票领域相关语料库;情感分析:对股票领域相关语料进行情感分析;股市技术分析:获取股市技术分析指标;采用基于情感分析和隐马尔科夫模型融合的预测方法预测股市走向。本发明通过利用财经新闻网页中的情感倾向性信息,提高了股市预测的准确性,在倾向性分析、主题检测、股市预测、网络内容监控等领域具有广阔的应用前景。
【专利说明】一种基于情感分析和隐马尔科夫模型融合的股市预测方法【技术领域】
[0001]本发明涉及一种基于情感分析和隐马尔科夫模型融合的股市预测方法,属于意见挖掘和股市预测领域,适用于倾向性分析、主题检测、网络内容监控等。
【背景技术】
[0002]证券市场与金融投资在现代社会中占有重要的地位。股市行情受国际环境、国家政策、经济形势、社会问题,以及投资者心理等诸多因素的影响。股市预测是经济、系统科学领域的重要研究问题。
[0003]常用的股市预测方法包括证券投资分析法、时间序列预测分析法、非线性预测法。证券投资分析法包括基本分析法和技术分析法。基本分析法主要包括宏观经济分析和产业周期分析等,技术分析法是根据股市行情变化进行分析的方法。时间序列预测分析法是根据股市行情的历史数据来预测股票价格未来的发展趋势和特点。非线性预测法包括基于统计学理论的预测方法、神经网络方法、模糊逻辑预测法等。
[0004]互联网的迅猛发展和广泛普及,使得人们能够及时获得众多财经新闻。由于财经新闻反映了政府与相关机构对证券市场发展变化的观点,这些观点信息不断在影响投资者对于市场趋势的判断,进而影响市场走势。另外,随着情感分析技术的发展,情感分析技术已被应用于证券领域。在现有的基于情感分析的股票预测方法中,处理对象主要包括互联网金融留言板和微博信息,处理方法是发现这些信息的情感倾向与股市行情的关联,进而预测未来股市的走势。
[0005]情感分析技术是指利用机器学习、信息抽取、自然语言处理等方法来判定文本所持有情感的倾向性和强度的技术。根据文本粒度不同,情感分析可以分为词汇级、句子级和篇章级。情感倾向性通常分为积极、消极和中性。情感分析方法可以分为基于监督、半监督和无监督的方法。情感倾向性分类方法主要包括贝叶斯、支持向量机、最大熵、条件随机场和决策树等。
[0006]隐马尔科夫模型最早被应用于语音识别和生物信息学等领域。目前,隐马尔科夫模型、以及它与人工神经网络的混合模型、与因果预测法和时间序列预测法的混合方法已被应用于股市预测。

【发明内容】

[0007]现有的基于隐马尔科夫模型的股市预测方法主要使用了股市运行过程中的基本信息,包括开盘价和收盘价等,而忽略了新闻媒体的观点和投资者的心理对股市波动的影响。由于中国股市易受政策影响等特点,仅仅利用这些基本信息难以反映股市的性质。
[0008]本发明的目的在于提出一种基于情感分析和隐马尔科夫模型融合的股市预测方法。将新闻网页的情感倾向性与股市技术指标有机地结合,构建了连续型隐马尔科夫模型来预测中国股市走势。该方法的特点是,其一,处理新数据具有较强的鲁棒性,能够有效地预测相似的模式信息。其二,通过利用新闻网页的情感倾向性信息,提高了股市预测的准确性。
[0009]本发明提供了一种基于情感分析和隐马尔科夫模型融合的股市预测方法,包括以下步骤:
[0010]步骤1、信息采集:针对新浪网财经新闻网页,利用网络爬虫Heritrix采集财经新闻网页,将其保存到本地计算机;
[0011]在网络爬虫中,分别输入四个种子网页地址,即新浪网财经新闻的“股市及时雨”、“主力动向”、“宏观研究”和“市场研究”四个频道的首页地址,下载这些频道的财经新闻网页,下载后的财经新闻网页按照新闻的发布时间顺序以超文本标记语言Html文件形式保存在本地计算机;
[0012]步骤2、信息预处理:对信息采集步骤中获取的财经新闻网页进行正文抽取、分词、词性标注,以及停用词和标点符号过滤;
[0013]首先,针对采集到的财经新闻网页,抽取新闻网页的标题、发布时间和正文文本信息,去除网页中的噪音信息;其次,人工构建财经领域词典和股市情感词典,由于财经领域新闻网页包含众多的专业词汇,因此通过构建财经领域词典和股市情感词典来提高分词的准确率;然后,利用分词工具ICTCLAS和这两个词典,对正文文本进行分词和词性标注?’最后,去除标点符号和停用词;
[0014]步骤3、语料构建:构建股票领域相关语料库,包括对财经新闻网页的主题词抽取、股票领域相关语料的识别;
[0015]对财经新闻网页的主题词,采用一种基于规则和统计的混合抽取方法,具体步骤包括:
[0016]首先,构建财经`新闻网页的候选主题词,包括网页中的名词,以及包含在财经领域词典和股市情感词典中的词语;
[0017]其次,计算候选主题词在网页中的词频TF,TF为该词语在文档中的出现频率与文档中所有词语数目的比值,若该词语在财经领域词典和股市情感词典中,则其TF值扩大两倍;
[0018]然后,计算候选主题词的文档频率DF,文档频率DF为该词语在语料库中出现的文档数目与语料库中所有文档数目的比值;
[0019]进一步,计算候选主题词的权重为a XTFXDF,其中α为位置衰减系数,位置衰减系数根据候选主题词在段首句、段尾句,段中句设置不同的值,候选主题词在段首句的权重设为0.9,段尾句设为0.75,其他语句中设为0.5 ;
[0020]最后,对于在句子中位置相邻的多个候选主题词,将它们合并为一个候选主题词,其权重为这些相邻词语的权重之和;将候选主题词的权重按照降序方式排列,输出前三个候选主题词作为网页的主题词;
[0021]对股票领域相关语料,采用主题词引导的识别方法,具体步骤为:
[0022]若新闻网页至少存在一个主题词在财经领域词典和股市情感词典中出现,则判别该网页与股票领域相关;最后将采集的财经新闻网页识别为三类:股票领域相关网页、股票领域无关网页,以及噪音网页,噪音网页是指含有超文本标记语言Html标签、结构混乱且缺乏正文信息的网页;
[0023]步骤4、情感分析:对股票领域相关语料进行情感分析,包括特征词提取、特征词权重计算、情感倾向性判别:
[0024]首先,提取新闻网页的特征词,针对股票领域文本的特点,根据词语的词性和专业性来提取文本的特征词:若词语的词性为名词、动词、形容词或副词,或者词语包含在财经领域词典或股市情感词典中,则将该词语作为新闻网页的特征词;
[0025]然后,计算新闻网页的特征词的权重,采用基于词频-逆文档频率TF-1DF(TermFrequency-1nverse Document Frequency)的方法来计算特征词的权重,也就是:特征词的权重为TF*IDF,其中词频TF为该词语在文档中的出现频率与文档中所有词语数目的比值;逆文档频率IDF为语料库中所有文档的数目与该词语在语料库中出现的文档数目加一的比值,再取对数;该方法的核心思想是:若词语在文档中出现的频率较高,且在其他文档中较少出现,则该词语具有较好的类别区分能力;
[0026]最后,对新闻网页进行情感倾向性的判别:新闻网页的情感倾向性分为积极和消极两类,“积极”表示新闻网页反映股票的走势为上涨,“消极”表示股票的走势为下跌,情感倾向性判别就是对新闻网页的情感倾向性进行两个类别的分类,构建新闻网页的特征向量,其中特征维数为特征词的数目,特征值为特征词的权重,采用支持向量机分类器对新闻网页进行分类;
[0027]步骤5、股市技术分析:获取股市技术分析指标,包括采集上证指数信息和深圳成指信息,计算股市技术分析指标;
[0028]步骤6、采用基于情感分析和隐马尔科夫模型融合的预测方法预测股市走向,包括连续型隐马尔科夫模型参数学习和股市预测;
[0029]本发明中,将股市走向预测问题转化为两个子问题:第一,解决隐马尔科夫模型的参数学习问题,获得股市预测模型;第二,解决由情感倾向值序列和股市技术分析指标值序列生成的观测状态序列的识别问题,根据测试集中的观测状态序列的模式识别结果来获得未来股市的走势信息。
[0030]隐马尔科夫模型包括五个元素:(I)隐含状态空间S,S= (S1, S2,…,SN},Si为隐含状态,其中i=l,2,…,N, N为隐含状态数量,隐含状态序列为一个满足马尔可夫过程的状态序列,通常无法通过观察来获得;(2)观测状态序列0,O=IO1, O2,…,0M},(^_为观测状态,其中j=l,2,…,M, M为观测状态数量,观测状态序列为一个与隐含状态相关联的状态序列,通过观察来获得;(3)隐含状态的初始概率矩阵Π,Π = {Ρ1, P2,…,ΡΝ},表示隐含状态在初始时刻的概率矩阵,Pr为初始状态的概率,其中r=l,2,…,N ; (4)隐含状态间的转移概率矩阵A,描述隐含状态之间相互转换的概率矩阵;(5)混淆矩阵B,描述观测状态转移行为的概率矩阵;
[0031]股市预测步骤采用连续型隐马尔科夫模型来进行建模,假定观测状态序列值服从高斯分布,使用三维混合高斯分布作为连续型隐马尔科夫模型中混淆矩阵的概率密度函数,在连续型隐马尔科夫模型中,设定隐含状态数量N为3,表示股市有上涨、下跌和持平三种走势,隐含状态序列为股市走势序列,即由上涨、下跌和持平构成的序列;
[0032]本发明采用高斯混合模型来模拟情感倾向值序列和股市技术分析指标值序列的概率分布,即使用M个服从单高斯分布的随机变量来表示M个观测状态。高斯混合模型的输入是情感倾向值序列和股市技术分析指标值序列,每个观测状态为一个服从单高斯分布的随机变量,观测状态序列是由M个观测状态即随机变量的取值组成的序列;[0033]在股市预测步骤中,由训练集构建训练样本,设每个样本的长度为k,也就是每个样本的观测状态序列是由高斯混合模型根据连续k天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值所构成的序列,若训练集包含连续t天的情感倾向值和股市技术分析指标值(t大于等于k),则由训练集可构建t-k+Ι个样本,第i(i=l,2,…,t-k+Ι)个样本的观测状态序列为第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列;
[0034]对于连续型隐马尔科夫模型的参数学习问题,采用Baum-Welch算法来求解:(I)根据情感分析步骤获得按照时间排序的每日新闻网页的情感倾向值序列,根据股市技术分析步骤获得股市技术分析指标值序列;(2)随机设置隐含状态的初始概率矩阵Π、隐含状态间的转移概率矩阵A,以及混淆矩阵B的初始值,设定迭代次数为零;(3)按照梯度下降原贝U,使用Baum-Welch算法朝梯度下降方向不断迭代进行模型参数调整,获得更新的隐含状态的概率矩阵Π',隐含状态间的转移概率矩阵A',混淆矩阵B',使得模型达到收敛。针对上证指数和深圳成指,分别学习连续型隐马尔科夫模型的参数。
[0035]对于观测状态序列的识别问题,即对于测试集中的每个样本,在训练集中找到其最可能符合的模式;
[0036](I)对于测试集中的样本,计算当前样本的观测状态序列的最大似然率L,设当前样本的观测状态序列为由第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,已知第I天到第k天的上证指数或深圳成指。
[0037](2)在训练集中寻找与L最接近的最大似然率L',获得L'对应的上证指数序列或深圳成指序列V,V={Vq+1, Vq+2,…,Vq+k},其中Vq+i (i=l, 2,…k)为第q+i天的上证指数或深圳成指,进一步,计算差值δ =Vq+k+1 - Vq+k,其中Vq+k为第q+k天的上证指数或深圳成指,Vq+k+1为第q+k+Ι天的上证指数或深圳成指。
`[0038](3)对于测试集中当前样本的上证指数序列或深圳成指序列U,U=IU1, U2,…,UJ,其中U/j=l,2,…k)为第j天的上证指数或深圳成指,获得该序列对应的预测值Uk+1=Uk+ δ,uk+1为预测的第k+1天的上证指数或深圳成指。
[0039](4)对于测试集的下一个样本,其观测状态序列为由第2天到第k+Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,第k+Ι天的上证指数或深圳成指为(3)所预测的数值;同(3)方法,预测第k+2天的上证指数或深圳成指,同理预测若干天的上证指数或深圳成指。
[0040]本发明的有益效果:本发明的方法针对中国证券市场,采用一种情感分析和隐马尔科夫模型融合的方法,能够更加准确地预测中国股市的未来走势。与现有技术相比,该方法具有如下特点:(1)它选取网络财经新闻信息作为情感倾向性分析的来源,具有实时性、多样性和海量性的特点。(2)针对网络财经网页信息主题混杂的特点,存在与股票领域无关的噪音信息,本发明采用主题词引导的方法来识别股票领域相关语料,解决了由于网页信息主题偏差而导致的情感倾向性识别准确率下降的问题。(3)该方法针对中国股市受政策面影响较大,仅依赖股市技术指标难以有效建模的现状,将情感倾向值与传统的股票技术分析指标值有机地结合,构造隐马尔科夫模型的观测状态序列。其应用价值在于有效地利用了网络财经新闻所反映的政府与相关机构对证券市场走势的观点对投资者产生的影响,进而能够更加准确地预测股市的未来走势。[0041]本发明中,将股市预测问题转化为隐马尔科夫模型中情感倾向值序列和股市技术分析指标值序列生成的观测状态序列的识别问题,对处理新数据具有较强的鲁棒性,能够有效地预测相似的模式信息;通过利用财经新闻网页中的情感倾向性信息,提高了股市预测的准确性。因此,本发明提供的股市预测方法在倾向性分析、主题检测、股市预测、网络内容监控等领域具有广阔的应用前景。
【专利附图】

【附图说明】
[0042]图1为本发明实施步骤的流程图。
【具体实施方式】
[0043]根据上述技术方案,下面结合附图对本发明进行详细说明。
[0044]基于本发明方法的股市预测系统,以Eclipse为开发平台,Java为开发语言,财经新闻网页采集工具为网络爬虫Heritrix,网页中文抽取工具为Html Parser,分词工具为ICTCLAso该系统将每个步骤开发为系统中的一个模块。
[0045]采用本发明的方法进行股市预测的步骤如下:
[0046]步骤1:针对新浪网财经新闻网页,进入信息采集模块。利用网络爬虫Heritrix采集财经新闻网页,将其保存到本地计算机。
[0047]在网络爬虫中,分别输入四个种子网页地址,即新浪网财经新闻的“股市及时雨”、“主力动向”、“宏观研究”和“市场研究”四个频道的首页地址,下载这些频道的财经新闻网页。下载后的财经新闻信息网页按照新闻的发布时间顺序以Html (超文本标记语言)文件形式保存在本地计算机,以提供给信息预处理模块。
[0048]在信息采集模块中,采用Heritrix来构建财经新闻主题爬虫,使用最佳优先搜索策略来采集网页。它由核心类和插件模块构成。本发明实现了针对新浪网特定抓取逻辑的第三方模块来取代默认的插件模块,从而采集财经新闻网页。
[0049]步骤2:将信息采集模块中获取的财经新闻网页提交给信息预处理模块,进行正文抽取、分词、词性标注,以及停用词和标点符号过滤。
[0050]具体地说,(I)针对采集到的财经新闻网页,抽取新闻网页的标题、发布时间和正文文本信息,去除网页中的广告链接、站点信息、风格样式表、JavaScript程序代码等噪音信息。(2)人工构建财经领域词典和股市情感词典。例如,“招商地产”为财经领域专业词语,“翻红”为股市情感词语。由于财经领域新闻网页包含众多的专业词汇,因此通过构建财经领域词典和股市情感词典来提高分词的准确率。(3)利用分词工具ICTCLAS,对正文文本进行分词和词性标注。该分词工具提供了进行词典扩充的接口,将财经领域词典和股市情感词典中的词语添加到该分词工具的词典中。(4)去除标点符号和停用词。停用词包括两类词语,一类是中文文本中使用频率较高的词汇。例如“我们”和“是”。另一类是汉语的功能词,包括副词、介词、连词和助词等,它们没有单独完整的词汇意义。
[0051]步骤3:由语料构建模块来构建股票领域相关语料库,包括对财经新闻网页的主题词抽取、股票领域相关语料的识别。
[0052]针对财经新闻网页,提出了一种基于规则和统计的混合方法来抽取主题词。具体地说:(1)构建财经新闻网页的候选主题词,包括网页中的名词,或者包含在财经领域词典和股市情感词典中的词语。(2)计算候选主题词在网页中的词频TF,TF为该词语在文档中的出现频率与文档中所有词语数目的比值。若该词语在财经领域词典和股市情感词典中,则其TF值扩大两倍。(3)计算候选主题词的文档频率DF。文档频率DF为该词语在语料库中出现的文档数目与语料库中所有文档数目的比值。进一步,计算候选主题词的权重为a XTFXDF,这里α为位置衰减系数。位置衰减系数根据候选主题词在段首句、段尾句和段中句设置不同的值。具体地说,候选主题词在段首句的权重设为0.9,段尾句设为0.75,其他语句中设为0.5。(4)由于分词工具可能将某些词语切分成粒度更小的词语,因此需要对词语进行合并。例如,对于词语“上证指数”,分词工具将其切分为“上证”和“指数”两个词语。对于在句子中位置相邻的多个候选主题词,将它们组合为一个候选主题词,其权重为这些相邻词语的权重之和。(5)将候选主题词的权重按照降序方式排列,输出前三个候选主题词作为网页的主题词。
[0053]在构建股票领域相关语料库中,提出了主题词引导的股票领域相关语料识别方法。在语料库构建的过程中,存在一部分新闻网页与股市领域不相关,因此需要判别网页是否与股票领域相关。若新闻网页至少存在一个主题词在财经领域词典和股市情感词典中出现,则判别该网页与股票领域相关。最后,采集的财经新闻网页被识别为三类:股票领域相关网页、股票领域无关网页,以及噪音网页。噪音网页是指含有超文本标记语言Html标签、结构混乱且缺乏正文信息的网页。
[0054]步骤4:将股票领域相关语料提交给情感分析模块,进行情感分析,包括特征词提取、特征词权重计算、情感倾向性判别。
[0055](I)提取新闻网页的特征词。针对股票领域文本的特点,若词语的词性为名词、动词、形容词或副词;或者词语包含在财经领域词典或股市情感词典中,则将该词语作为新闻网页的特征词。
[0056](2)计算新闻网页的特征词的权重。采用基于词频-逆文档频率(TermFrequency-1nverse Document Frequency, TF-1DF)的方法来计算特征词的权重。也就是,特征词的权重为TF*IDF,其中词频TF为该词语在文档中的出现频率与文档中所有词语数目的比值;逆文档频率IDF为语料库中所有文档的数目与该词语在语料库中出现的文档数目加一的比值,再取对数。该方法的核心思想是:若词语在文档中出现的频率较高,且在其他文档中较少出现,则该词语具有较好的类别区分能力。
[0057](3)对新闻网页进行情感倾向性的判别。新闻网页的情感倾向性分为积极和消极两类。“积极”表示新闻网页反映股票的走势为上涨,“消极”表示股票的走势为下跌。情感倾向性判别就是对新闻网页的情感倾向性进行两个类别的分类。构建新闻网页的特征向量,其中特征维数为特征词的数目,特征值为特征词的权重。进一步,采用支持向量机分类器对新闻网页进行分类。
[0058]步骤5:利用股市技术分析模块来获取股市技术分析指标,包括采集上证指数信息和深圳成指信息,计算股市技术分析指标。
[0059]上证指数(即上海证券综合指数)信息是指上证指数运行过程中的基本信息,包括开盘价、收盘价、最高价、最低价、成交量。股市技术分析指标包括移动平均线、平滑异同移动平均线、随机指标,以及布林轨道线。深圳成指(即深证成份股指数)是指从上市的所有股票中抽取具有市场代表性的四十家上市公司的股票作为计算对象,并以流通股为权数计算得出的加权股价指数。它是深圳证券交易所编制的一种成份股指数。
[0060]步骤6:对于中国股市走向,提出了一种基于情感分析和隐马尔科夫模型融合的预测方法。由股市预测模块来实现股市走势预测,包括连续型隐马尔科夫模型参数学习、股市预测。
[0061]本发明中,将股市走向预测问题转化为两个子问题。第一,解决隐马尔科夫模型的参数学习问题,获得股市预测模型;第二,解决由情感倾向值序列和股市技术分析指标值序列生成的观测状态序列的识别问题,根据测试集中的观测状态序列的模式识别结果来获得未来股市的走势信息。
[0062]隐马尔科夫模型包括五个元素:(1)隐含状态空间S,S=以,S2,…,SN},Si(i=l,2,...,N)为隐含状态,N为隐含状态数量。隐含状态序列为一个满足马尔可夫过程的状态序列,通常无法通过观察来获得。(2)观测状态序列(^O=IOpO2, - ,0J, OjCj=I, 2,…,M)为观测状态,M为观测状态数量。观测状态序列为一个与隐含状态相关联的状态序列,通过观察可以获得。(3)隐含状态的初始概率矩阵Π,Ir = IP1, P2,…,PN},表示隐含状态在初始时刻的概率矩阵。已(r=l,2,...,N)为初始状态&的概率。(4)隐含状态间的转移概率矩阵A,描述隐含状态之间相互转换的概率矩阵。(5)混淆矩阵B,描述观测状态转移行为的概率矩阵。
[0063]股市预测模块采用连续型隐马尔科夫模型来进行建模。假定观测状态序列值服从高斯分布,使用三维混合高斯分布作为连续型隐马尔科夫模型中混淆矩阵的概率密度函数。在连续型隐马尔科夫模型中,设定隐含状态数量N为3,表示股市有上涨、下跌和持平三种走势。隐含状态序列为股市走势序列,即由上涨、下跌和持平构成的序列。
[0064]本发明采用高斯混合模型来模拟情感倾向值序列和股市技术分析指标值序列的概率分布,即使用M个服从单高斯分布的随机变量来表示M个观测状态。高斯混合模型的输入是情感倾向值序列和 股市技术分析指标值序列。设定观测状态数量M为5,每个观测状态为一个服从单高斯分布的随机变量。观测状态序列是由M个观测状态(即随机变量)的取值组成的序列。
[0065]在股市预测模块中,由训练集构建训练样本,设每个样本的长度为k,k取值为15。也就是,每个样本的观测状态序列是由高斯混合模型根据连续k天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值所构成的序列。对情感倾向值序列0S,0s={0sl, Os2,…,OsJ , Osp(sp=sI,s2,…,sk)为第p天新闻网页的情感倾向性,即为积极或消极。对股市技术分析指标值序列Om, Om= {0ml, Om2,…,OmJ , Omq(mq=ml, m2,…,mk)为第q天新闻网页的股市技术分析指标值。若训练集包含连续t天的情感倾向值和股市技术分析指标值(t大于等于k),则由训练集可构建t-k+Ι个样本,第i (i=l,2,…,t-k+1)个样本的观测状态序列为第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列。
[0066]对于连续型隐马尔科夫模型的参数学习问题,采用Baum-Welch算法来求解。(I)根据情感分析模块获得按照时间排序的每日新闻网页的情感倾向值序列,根据股市技术分析模块获得股市技术分析指标值序列。(2)随机设置隐含状态的初始概率矩阵Π、隐含状态间的转移概率矩阵A,以及混淆矩阵B的初始值,设定迭代次数为零。(3)按照梯度下降原则,使用Baum-Welch算法朝梯度下降方向不断迭代进行模型参数调整,获得更新的隐含状态的概率矩阵n',隐含状态间的转移概率矩阵A',混淆矩阵B',使得模型达到收敛。针对上证指数和深圳成指,分别学习连续型隐马尔科夫模型的参数。
[0067]对于观测状态序列的识别问题,即对于测试集中的每个样本,在训练集中找到其最可能符合的模式。
[0068](I)对于测试集中的样本,计算当前样本的观测状态序列的最大似然率L。设当前样本的观测状态序列为由第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,已知第I天到第k天的上证指数或深圳成指。
[0069](2)在训练集中寻找与L最接近的最大似然率L'。获得L'对应的上证指数序列或深圳成指序列V,V= {Vq+1, Vq+2,…,Vq+k},其中Vq+i (i=l, 2,…k)为第q+i天的上证指数或深圳成指,进一步,计算差值δ =Vq+k+1 - Vq+k,其中Vq+k为第q+k天的上证指数或深圳成指,Vq+k+1为第q+k+Ι天的上证指数或深圳成指。
[0070](3)对于测试集中当前样本的上证指数序列或深圳成指序列U, U= (U1, U2,…,UJ,其中U/j=l,2,…k)为第j天的上证指数或深圳成指,获得该序列对应的预测值Uk+1=Uk+ δ,uk+1为预测的第k+Ι天的上证指数或深圳成指。
[0071](4)对于测试集的下一个样本,其观测状态序列为由第2天到第k+Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列。第k+Ι天的上证指数或深圳成指为(3)所预测的数值。同(3)方法,预测第k+2天的上证指数或深圳成指。同理,可以预测若干天的上证指数或深圳成指。
[0072]为说明本发明 的股票预测效果,本实验是在同等条件下,以相同的训练集和测试集分别采用基于隐马尔科夫模型、本发明的基于情感分析和隐马尔科夫模型融合的方法进行股票预测。采用的评测指标为平均绝对误差MAE (Mean Absolute Error),计算公式如下,其中η表示实验预测天数,sv (i)表示第i天的实际收盘指数,pv (i)表示第i天的预测收盘指数。
【权利要求】
1.一种基于情感分析和隐马尔科夫模型融合的股市预测方法,包括以下步骤: 步骤1、信息采集:针对新浪网财经新闻网页,利用网络爬虫HeritriX采集财经新闻网页,将其保存到本地计算机; 在网络爬虫中,分别输入四个种子网页地址,即新浪网财经新闻的“股市及时雨”、“主力动向”、“宏观研究”和“市场研究”四个频道的首页地址,下载这些频道的财经新闻网页,下载后的财经新闻网页按照新闻的发布时间顺序以超文本标记语言Html文件形式保存在本地计算机; 步骤2、信息预处理:对信息采集步骤中获取的财经新闻网页进行正文抽取、分词、词性标注,以及停用词和标点符号过滤; 首先,针对采集到的财经新闻网页,抽取新闻网页的标题、发布时间和正文文本信息,去除网页中的噪音信息;其次,人工构建财经领域词典和股市情感词典,由于财经领域新闻网页包含众多的专业词汇,因此通过构建财经领域词典和股市情感词典来提高分词的准确率;然后,利用分词工具ICTCLAS和这两个词典,对正文文本进行分词和词性标注;最后,去除标点符号和停用词; 步骤3、语料构建:构建股票领域相关语料库,包括对财经新闻网页的主题词抽取、股票领域相关语料的识别; 对财经新闻网页的主题词,采用一种基于规则和统计的混合抽取方法,具体步骤包括:` 首先,构建财经新闻网页的候选主题词,包括网页中的名词,以及包含在财经领域词典和股市情感词典中的词语; 其次,计算候选主题词在网页中的词频TF,TF为该词语在文档中的出现频率与文档中所有词语数目的比值,若该词语在财经领域词典和股市情感词典中,则其TF值扩大两倍;然后,计算候选主题词的文档频率DF,文档频率DF为该词语在语料库中出现的文档数目与语料库中所有文档数目的比值; 进一步,计算候选主题词的权重为α XTFXDF,其中α为位置衰减系数,位置衰减系数根据候选主题词在段首句、段尾句,段中句设置不同的值,候选主题词在段首句的权重设为0.9,段尾句设为0.75,其他语句中设为0.5 ; 最后,对于在句子中位置相邻的多个候选主题词,将它们合并为一个候选主题词,其权重为这些相邻词语的权重之和;将候选主题词的权重按照降序方式排列,输出前三个候选主题词作为网页的主题词; 对股票领域相关语料的识别采用主题词引导的识别方法,具体步骤为: 若新闻网页至少存在一个主题词在财经领域词典和股市情感词典中出现,则判别该网页与股票领域相关;最后将采集的财经新闻网页识别为三类:股票领域相关网页、股票领域无关网页,以及噪音网页,噪音网页是指含有超文本标记语言Html标签、结构混乱且缺乏正文信息的网页; 步骤4、情感分析:对股票领域相关语料进行情感分析,包括特征词提取、特征词权重计算、情感倾向性判别; 首先,提取新闻网页的特征词,针对股票领域文本的特点,根据词语的词性和专业性来提取文本的特征词:若词语的词性为名词、动词、形容词或副词,或者词语包含在财经领域词典或股市情感词典中,则将该词语作为新闻网页的特征词; 然后,计算新闻网页的特征词的权重,采用基于词频-逆文档频率TF-1DF(TermFrequency-1nverse Document Frequency)的方法来计算特征词的权重,也就是:特征词的权重为TFX IDF,其中词频TF为该词语在文档中的出现频率与文档中所有词语数目的比值;逆文档频率IDF为语料库中所有文档的数目与该词语在语料库中出现的文档数目加一的比值,再取对数;该方法的核心思想是:若词语在文档中出现的频率较高,且在其他文档中较少出现,则该词语具有较好的类别区分能力; 最后,对新闻网页进行情感倾向性的判别:新闻网页的情感倾向性分为积极和消极两类,“积极”表示新闻网页反映股票的走势为上涨,“消极”表示股票的走势为下跌,情感倾向性判别就是对新闻网页的情感倾向性进行两个类别的分类,构建新闻网页的特征向量,其中特征维数为特征词的数目,特征值为特征词的权重,采用支持向量机分类器对新闻网页进行分类; 步骤5、股市技术分析:获取股市技术分析指标,包括采集上证指数信息和深圳成指信息,计算股市技术分析指标; 步骤6、采用基于情感分析和隐马尔科夫模型融合的预测方法预测股市走向,包括连续型隐马尔科夫模型参数学习和股市预测; 隐马尔科夫模型包括五个元素:(1)隐含状态空间S,S= (S1, S2,…,SN},SiS隐含状态,其中i=l,2,…,N, N为隐含状态数量,隐含状态序列为一个满足马尔可夫过程的状态序列,通常无法通过观察来获得;(2)观测状态序列0,O=IO1, O2, -,OJ,Oj为观测状态,其中j=l, 2,-,M, M为观测状态数量,观测状态序列为一个与隐含状态相关联的状态序列,通过观察来获得;(3)隐含状态的初始概率矩阵Π,Π = {Ρ1, P2,…,PJ,表示隐含状态在初始时刻的概率矩阵,Pr为初始状态&的概率,其中r=l,2,…,N ; (4)隐含状态间的转移概率矩阵A,描述隐含状态之间相互转换的概率矩阵;(5)混淆矩阵B,描述观测状态转移行为的概率矩阵; 股市预测步骤采用连续型隐马尔科夫模型来进行建模,假定观测状态序列值服从高斯分布,使用三维混合高斯分布作为连续型隐马尔科夫模型中混淆矩阵的概率密度函数,在连续型隐马尔科夫模型中,设定隐含状态数量N为3,表示股市有上涨、下跌和持平三种走势,隐含状态序列为股市走势序列,即由上涨、下跌和持平构成的序列; 本发明采用高斯混合模型来模拟情感倾向值序列和股市技术分析指标值序列的概率分布,即使用M个服从单高斯分布的随机变量来表示M个观测状态。高斯混合模型的输入是情感倾向值序列和股市技术分析指标值序列,每个观测状态为一个服从单高斯分布的随机变量,观测状态序列是由M个观测状态即随机变量的取值组成的序列; 在股市预测步骤中,由训练集构建训练样本,设每个样本的长度为k,也就是每个样本的观测状态序列是由高斯混合模型根据连续k天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值所构成的序列,若训练集包含连续t天的情感倾向值和股市技术分析指标值(t大于等于k),则由训练集可构建t-k+Ι个样本,第i (i=l,2,…,t-k+Ι)个样本的观测状态序列为第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列; 对于连续型隐马尔科夫模型的参数学习问题,采用Baum-Welch算法来求解:(I)根据情感分析步骤获得按照时间排序的每日新闻网页的情感倾向值序列,根据股市技术分析步骤获得股市技术分析指标值序列;(2)随机设置隐含状态的初始概率矩阵Π、隐含状态间的转移概率矩阵A,以及混淆矩阵B的初始值,设定迭代次数为零;(3)按照梯度下降原则,使用Baum-Welch算法朝梯度下降方向不断迭代进行模型参数调整,获得更新的隐含状态的概率矩阵Π',隐含状态间的转移概率矩阵A',混淆矩阵B',使得模型达到收敛;针对上证指数和深圳成指,分别学习连续型隐马尔科夫模型的参数; 对于观测状态序列的识别问题,即对于测试集中的每个样本,在训练集中找到其最可能符合的模式; (1)对于测试集中的样本,计算当前样本的观测状态序列的最大似然率L,设当前样本的观测状态序列为由第i天到第i+k-Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,已知第I天到第k天的上证指数或深圳成指; (2)在训练集中寻找与L最接近的最大似然率L',获得L'对应的上证指数序列或深圳成指序列V,V={Vq+1,Vq+2,…,Vq+k},其中Vq+i为第q+i天的上证指数或深圳成指,i=l, 2,…k ;进一步,计算差值δ =Vq+k+1 - Vq+k,其中Vq+k为第q+k天的上证指数或深圳成指,Vq+k+1为第q+k+Ι天的上证指数或深圳成指; (3)对于测试集中当前样本的上证指数序列或深圳成指序列U,U=IU1,U2,…,UJ,其中Uj为第j天的上证指数或深圳成指,j=l, 2,…k,获得该序列对应的预测值Uk+1=Uk+ δ,uk+1为预测的第k+1天的上证指数或深圳成指; (4)对于测试集的下一个样本,其观测状态序列为由第2天到第k+Ι天的情感倾向值序列和股市技术分析指标值序列生成的M个观测状态的取值构成的序列,第k+Ι天的上证指数或深圳成指为步骤(3)所预测的数值;同步骤(3)方法,预测第k+2天的上证指数或深圳成指,同理预测若干天的上证 指数或深圳成指。
【文档编号】G06Q40/00GK103778215SQ201410023154
【公开日】2014年5月7日 申请日期:2014年1月17日 优先权日:2014年1月17日
【发明者】张春霞, 蒋一泽, 牛振东, 赵小林, 刘振岩 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1