硕士研究生学位论文题目:股票市场预测的文本挖掘技术和系统实现姓名:陈日闪学号:10948230院系:信息科学技术学院专业:计算机系统结构研究方向:搜索引擎与网络数据挖掘导师:李晓明教授二〇一二年六月版权声明任何收存和保管本论文各种版本的单位和个人,未经本论文作者同意,不得将本论文转借他人,亦不得随意复制、抄录、拍照或以任何方式传播.
否则,引起有碍作者著作权之问题,将可能承担法律责任.
股票市场预测的文本挖掘技术和系统实现陈日闪北京大学信息科学技术学院2012年5月摘要本文研究历史网页文档与股票市场行为的相关性,并建立预测模型来深入分析和定量评估网页文档在股票市场预测中的作用和效果.
通过中国网络信息博物馆(WebInfomall[1])的历史文档数据,本文使用网页文本数据建立了一个预测模型和实现了一个辅助定量交易的系统.
最后我们通过此系统模拟了对中国股票市场交易行为,实验显示我们的预测模型和交易系统取得了良好的回报率.
本文的主要内容包括以下三个部分:我们通过仔细分析和研究,通过统计的验证,针对每个股票选取了与之高度相关的网页文档,用于后续的预测和分析.
我们定量的识别出股票序列的趋势走向,并基于此作为预测模型的指标.
传统股票分析技术基于时间序列的线性回归来分析和预测股票,我们使用了相关的文本特征来改进这个过程.
同时,我们还使用文本特征建立了基于SVM的分类模型,和CRF的序列标注模型.
实验表明,通过结合文本特征,线性回归模型和SVM分类模型能够优于传统的股票分析技术,达到良好的预测效果.
基于上述理论模型和技术研究的成果,我们开发了辅助定量交易决策的ChinaStockAnalyst系统.
该系统使用了WebInfomall的历史网页数据,从中选取了2006年到2011年6年间的485,700篇高质量的新闻网页来训练模型.
通过这个系统,交易员能够更高效地浏览和评估网络中对股票的新闻报道和评论,通过预测的趋势能更好地捕获市场的看法,从而做出合理有力的决策.
关键词:文本挖掘,股票市场,分类模型,序列标注模型StockMarketPredictionusingTextAnalysis:ModelingandSystemImplementationRishanChenSchoolofElectronicEngineeringandComputerScience,PekingUniversityMay23,2012AbstractThisarticlestudiescorrelationbetweenhistoricalwebpagedocumentsandstockmarketbehaviors,andbuildspredictmodeltoquantitativelyanalyzeeffectivenessofdoingthis.
BasedonhistoricalwebtextofWebInfomall[1],wedevelopedasystemtoassistquantitativetradingsystembypredictingthemarketwiththetextdata.
Weperformamarketsimulation,demonstratingthatoursystemiscapableofproducingreasonableprofits.
Wepresentourresearchinthefollowingthreeparts:Thoughcarefullyanalysisandstudies,weselectedhighrelatedtextfeaturesforeachstock,usingstatisticshypothesisverification.
Wequantitativelyidentifiedthetrendsofeachstocktimeseriesasthepredictindicator.
Conventionally,stockanalysistechniquesemploylinearregressiontopredictfuturestockprice,suchasmoveaveragemodel.
Weaddtextfeaturestoimprovethistechnique.
Moreover,webuildSVMclassificationmodelandCRFsequencelabelingmodelforprediction,bothontextfeatures.
Experimentsshowedthattheysignificantlyoutperformlinearregressionmodelwithouttextfeatures.
Usingthemodelsbuilt,wedevelopedautomatictradingsystemcalledChinaStockAnalyst.
ThesystemtrainedthesemodelsusingwebpagesofWebInfomall,whichincluding485,700highqualitynewspagesfrom2006to2011.
Tradercouldefficientlyevaluatestockmarketbythesystem,andbetterunderstandthemarketviewthroughpredictedtrendsothattheycouldmakegooddecisions.
Keywords:TextAnalysis,StockMarket,ClassificationModel,SequenceLabelingModel目录摘要1Abstract1第一章:绪论41.
1研究背景41.
2中国网络信息博物馆(WebInfomall)系统51.
3本文结构6第二章:股票的传统技术分析72.
1移动平均线72.
2线性回归模型7第三章:系统设计103.
1趋势的确定和离散化113.
2文本序列和股票序列的对齐133.
3文本特征选取143.
3.
1文本特征离散化143.
3.
2卡方检验173.
3.
3皮尔森线性相关系数检验183.
4带文本特征的线性回归模型193.
5基于文本特征的分类模型203.
5.
1只使用股票特征203.
5.
2只使用文本特征213.
5.
3文本特征结合股票序列213.
6基于文本特征的序列标注模型21第四章:实验与评测234.
1中国股市数据集234.
2文档数据集244.
3预测模型的实现与评估284.
4模拟交易实验37第五章:ChinaStockAnalyst系统功能与实现415.
1功能介绍415.
2系统实现41第六章:文本挖掘的相关工作426.
1文本分析和股票市场426.
2Web数据和其他预测指标436.
3社交网络相关的模型43第七章:总结和未来工作457.
1总结和主要贡献457.
2未来的工作457.
2.
1股票预测模型的优化457.
2.
2与社交网络的结合467.
2.
3完善ChinaStockAnalyst系统467.
2.
4其他社会文化相关的研究46参考文献47图目录图表1-系统设计图10图表2-股票趋势指标分布图13图表3-文本特征文档频率分布图15图表4-文本特征词类频率分布图16图表5-线性回归模型步长变化图31图表6-线性回归模型步长变化图(召回率)31图表7-线性回归模型步长变化图(精确率)32图表8-结合文本特征的线性回归模型效果图33图表9-结合文本特征的线性回归模型效果细分图34图表10-模拟交易实验效果图39表目录表格1-股票趋势离散值表13表格2-文本特征离散阈值表16表格3-卡方检验双变量观察值表17表格4-卡方检验双变量期望值表17表格5-卡方检验结果样例表18表格6-皮尔森检验结果样例表19表格7-股票序列长度样例表23表格8-股票价格异动样例表24表格9-文档数据来源分布表25表格10-股票相关文档数量样例表26表格11-股票离散化趋势分类计数28表格12-移动平均线模型预测结果30表格13-传统股票技术分析的对比30表格14和实验效果对比33表格15-模型不同特征的预测效果对比34表格16-预测效果35表格17-预测效果35表格18-预测效果36表格19-SVM与CRF模型预测效果对比37表格20-部分股票真实趋势模拟交易ROI效果39表格21-各预测模型模拟交易结果40第一章:绪论1.
1研究背景以史为鉴可以知兴衰,以史为源可以明事理.
随着互联网的大规模应用和发展,无数的网页文档忠实地记录了各行各业的发展状况,以及人们对于社会现象的不同看法.
这使得我们从浩瀚的互联网历史记录中了解过去、展望未来提供了可能.
中国网络信息博物馆(WebInfomall[1])是北京大学网络实验室开发建设的中国网页历史信息存储、展示检索的系统,她记录了过去十几年来中国的互联网的点点滴滴.
完整而巨大的历史文档数据库使我们能够理解过去的社会、经济和文化环境的状况,从而通过学习连续的历史资料,能够进一步的审视现在和展望未来.
从WebInfomall的历史数据中了解和学习中国的经济状况就是其中一个很有意义的课题.
新闻网页能够解释中国的进出口贸易总量和沿海工人失业率的关系,人们也会在网络论坛发表自己对房地产行业的关心并从中反映房价的未来走势,更不用说重要的政治、财经新闻对股市的冲击.
人们通过阅读网上的新闻、论坛讨论、行业讯息来了解现在正在发生的事情以及未来可能会出现的事情.
互联网的信息影响了人们的行为和决策,最后会直接或间接地体现到经济活动的动态变化中.
WebInfomall巨大海量且时间连续的历史文档,正好为我们提供了从互联网分析经济活动提供了基本的数据源保证.
我们分析了WebInfomall历史文档与中国的股市价格浮动的相关性.
首先,我们从WebInfomall中抽取有意义的相关文档分为两个连续的时间序列:训练序列和测试序列.
然后,我们将训练文档时间序列与股市价格时间序列进行建模对齐,通过海量的历史数据来训练模型.
最后,我们在测试序列上应用训练好的模型,计算得到预测的股市价格.
股票的一项最基础的技术分析基于道琼斯的移动平均线技术,利用前N天的平均股票价格来预测未来一天的股票价格.
这其实也是在时间序列上的一种基本的回归模型.
我们从海量的网页历史文档中抽取到和股市价格波动相关联的文本特征词,如收购、发布产品、破产等等,作为辅助的时间序列特征,加入到预测的线性回归模型中,从而能够使用新闻文本数据来改进股票价格趋势预测模型的预测能力.
此外,本文还提出了SVM分类模型和CRF序列标注模型来使用文本特征预测股票趋势.
我们的实验结果显示,历史文档中的相关文本特征,能够有效的改进移动回归模型的预测效果达13%;加入文本特征的线性回归模型和SVM分类模型的预测结果都有较高的召回率和精确率.
最后,实际交易模拟实验表明利用这两个预测模型能够获取较高的收益率,显著高于整个大盘的平均收益.
值得说明的是,这个工作的目的并不是说文本信息能够完全预测未来.
我们要强调的是Web的历史文档蕴含着巨大的价值,能够有助于预测未来的经济活动.
另一方面,我们相信WebInfomall中含有更多丰富的数据特征来提高股票价格的关联预测效果:比如利用情感分析来判断新闻报道的倾向,从而预测未来股市的反映;分析突发事件和股票价格的关联性,找到相关性强的事件信号,监察未来是否有类似的信号出现.
我们相信,这只是WebInfomall挖掘探索的第一小步,这个巨大的数据宝库还有很多未知的宝藏等着我们.
1.
2中国网络信息博物馆(WebInfomall)系统从2001年开始,北京大学网络实验室天网小组开始建设了中国网络信息博物馆(WebInfomall).
在网络信息搜索与挖掘研究技术的基础上,迄今为止她已经收集了近40亿中国互联网上超过千万网站的网页,并且以每天上百万网页的数量不断增加,是我国唯一的一个大规模网络历史信息库.
WebInfomall是以一种集中的形式,全面展现中国互联网上信息的历史,为社会提供海量的历史数据,也供相关的科研人员使用.
通过十余年的努力,Infomall搭建了一个坚实的基础,为社会、文化、经济等各学科提供了信息分析的基础和技术平台.
目前,基于WebInfomall,天网实验室已经开发了数个子系统,分别为:WebInfomall检索系统.
提供历史网页回放的功能,返回给定URL的历史网页,用户可以浏览旧时网站的变迁,了解各种中文网页的历史版本.
Histrace系统.
提供历史踪迹的查询和查看服务,提供了基于关键词的搜索功能.
用户可以搜索某一特定关键词,得到与该关键词相关的网页数据集.
EventSearch系统.
提供事件检索和发现的服务;该系统对历史事件进行预处理的挖掘和整理,同时利用burst信息来提高挖掘的运行效率.
用户可以通过EventSearch系统搜索特定历史事件,了解历史事件的成因结果和各方面的反映评价.
该系统具有高效的搜索系统和丰富直观的展示界面.
从WebInfomall的一系列系统的研发历程,我们可以看到历史事件搜索、知识发现的过程在走向自动化和智能化.
这也是WebInfomall不断发展的要求,因为她每天都增量处理了上千万的网页,基本的网页查看、事件文档浏览已经难以满足人们挖掘历史了解社会的需求.
所以我们希望能够进行更深入的分析和研究,自动发现WebInfomall和经济活动的关联性.
从而不需要用户花费大量事件进行搜索查询分析,能够有效的帮助用户来做出更加客观的决策.
为此我们基于中国的股市数据和WebInfomall海量数据开发了ChinaStockAnalyst系统,用于建模回归分析和预测计算未来的股票价格动向.
ChinaStockAnalyst是一个完整的系统,她分为两部分:预处理建模和监控预测.
首先,我们收集股票数据、相关的文档数据并进行预处理建模.
系统监控新进来的文档流,并按照建立的模型进行分析和预测计算.
模型得到的预测估计可以帮助交易员或者是自动交易系统来做出合理的买入或卖出的交易策略.
从ChinaStockAnalyst系统中可以查看大规模新闻报道对特定股票的倾向、高关联特征词(实体)的日常走势、捕捉到的关联事件信号以及系统自动建立的预测模型.
这些模型和提取的特征都是从海量的WebInfomall中计算训练得到的,从而能让交易员或自动交易系统很方便准确地了解市场的看法和提供股票未来走势的建议.
1.
3本文结构本文首先在第2章对股票的传统技术分析方法进行研究和调研,分别介绍移动平均线模型和基于时间序列的一些基本的回归模型.
第3章具体阐述系统的设计过程:预测指标的选取,WebInfomall历史网页文档中文本特征的提取,提出了加入文本特征的线性回归模型、SVM分类模型和CRF序列标注模型.
我们基于WebInfomall特征的模型,在第4章进行了实验的模拟和验证,比较了各个模型的优劣和相关的模型参数;还得到了模拟股票交易得到的收益.
第5章介绍了ChinaStockAnalyst系统的各项功能和实现的细节.
第6章里面我们从文本挖掘的角度回顾了相关的工作,总结了此类工作和股票分析的一些研究结合点.
最后我们在第7章总结了本文的工作,指出了整个预测系统中一些有待改进的地方,并提出了未来工作的一些方向.
第二章:股票的传统技术分析传统的股市技术分析根据统计学原理得来,主要是利用统计学的各种工具来分析市场的行为,建立价格随股价历史序列波动的模型,预测股价后从而为交易提供决策.
传统的股市技术分析有很多种工具和方法,如毫秒级别的高频交易、K线图的各种形态分析等等;由于精力有限,我们只考虑股价按天变化的时间序列,并主要考察研究基于此时间序列的回归模型和基本相关技术.
2.
1移动平均线移动平均线(MA)[2]是以道·琼斯的"平均成本概念"为理论基础.
采用统计学中"移动平均"的原理,它将一段时间内的股票价格各个平均值串联成曲线来表示,用来显示股价的历史波动变化情况.
所以它是道·琼斯理论的形象化表述,是用来反映股价指数未来发展趋势的一种技术分析方法.
移动平均线是将某一段时间股指或股价的平均值画在坐标图上所连成的曲线,用它可以研判股价未来的运动趋势.
其公式为:其中为股票序列中第天的股票收盘价格,为移动平均线模型预测的第天的股票价格.
所以,可以很明显的看出来,移动平均线模型实际上过去天股票价格序列的算术平均值,是一种对过去股票惯性的体现.
移动平均线计算方法将某一时间段的收盘股价或收盘指数相加的总和,除以时间周期,即得到这一时间的平均线,如5日移动平均线.
移动平均线常用线有5天、10天、30天、60天、120天和240天的指标[2].
由于本文的工作主要是为自动化交易辅助决策,我们主是使用短线分析的指标,也就是使用过去5天左右的数据来建立模型.
我们使用移动平均线预测模型,作为第一个基准模型实现.
我们将这个基准模型标记为.
2.
2线性回归模型回归分析研究变量和另一个(或者一些)变量之间的依赖影响关系[3].
从样本数据开始回归,确定变量之间的数学关系对这些关系式的可信程度进行统计假设检验,并从影响结果变化的输入变量中找出哪些输入变量对结果变量的影响显著,哪些对结果变量的影响不显著[3].
利用所求的关系式,根据一个或几个输入变量的取值来回归预测另一个特定结果变量的值,并给出回归预测数学公式中的常量参数的值.
移动平均线模型也是一种简单的回归模型,它考虑前天的股票时间序列,然后用加权平均值作为回归的模型.
移动平均线模型简单易懂,不过它并未对回归的模型系数和模型整体进行显著性检验,所以在模型设计上,含有一定的偏差.
因此我们使用多元线性回归模型[3]作为我们的第二个基准模型.
对于一个以天为单位的股票时间序列(该股票每交易日收盘价组成的时间序列),为股票序列中第天的股票收盘价格.
基准的多元回归模型预测的股价为:所以从到的股价序列,可以组成一个线性方程组如下:将记录到数据矩阵,参数到记做参数矢量,方程的结果为观察值记作,则这个线性方程组可以写成下面的矩阵:对于上述方程组,运用最小二乘法[4]导出式子中的参数,使得算出来的值与观察值之差的平方和最小.
也就是求解此方程组:对每个参数求偏导后,解得如下形式:求得到后,带入方程可以解得:我们使用多元线性回归预测模型,作为第二个基准模型实现.
我们将这个基准模型标记为.
第三章:系统设计我们的系统实现了建立预测模型到模拟市场得到交易策略的完整过程.
下图展示了我们的系统运行流程.
系统以实际的股票市场数据和公司相关的文本数据为基本的输入.
我们从Yahoo!
Finance爬取到了2006年到2011年间中国A、B股上的共108支股票的每日交易数据.
与此对应的是,我们从WebInfomall中抽取了485,700篇与这些股票相关的网页新闻报道和评论文章.
从每支股票的价格时间序列中,我们生成了对应的趋势数据.
然后我们从相关公司的新闻报道文章抽取到与该股票的趋势序列高度相关的文本特征和信号,建立预测模型来拟合真实的股票趋势时间序列.
得到具体的模型后,我们就可以利用观察到了新的文章报道来估计该股票趋势时间序列的未来走向.
通过模拟真实市场的交易验证后,为交易员或自动交易系统提供合理的决策.
系统的设计如下图所示:图表1-系统设计图由系统的设计图可以看到,我们对文档序列集合和股票价格序列分别进行预处理,两个时间序列对齐后得到相关文本特征和对应的离散化股票时间序列.
预测的任务可以抽象表达为:为未来的股票序列的各个数据点,计算得到走势值.
所以预测模型的关键在于有效地抽象及描述文本特征和股票离散值的对应关系,这个问题可以从对数据点预测过程的两个不同的角度来思考:数据点间无关的分类问题.
我们收集选取得到每一天的相关文本特征,我们也知道这天的股票走势.
所以,很自然地,我们可以建立一个文本特征集到股票走势的映射关系模型.
这也就将连续序列上复杂的预测问题简化成了一个离散特征集合中的分类问题.
对于未来的股票序列,模型依次得到各个点的预测值,各个点之间的预测过程是独立的.
数据点间依赖的序列标注问题.
我们可以把一个时间段内的股票数据点作为一个序列,使用文档特征来对股票序列进行标注,而不是对单个数据点进行预测.
序列标注与分类模型主要的区别是,它考虑序列之间的上下文语境和关系,在股票市场中的表现就是投资者通常会考虑最近的市场情况,以及自己的交易记录,作为未来交易的考虑因素.
这样我们联合标注得到一个序列的值,在序列的预测中数据点前后之间的取值会互相影响.
剩下的任务就是使用文本特征结合股票序列自身的信息来建立上述两种模型.
在这个过程中,我们会不断地检查模型的效果,调整模型参数来逼近真实的观察数据.
3.
1趋势的确定和离散化股票交易员通常以很多方面的研究依据和收集的信息来做出交易的决策.
所以除了最近股票的价格,通常他们还会考虑更多方面的股票趋势,如市场的看法、基本面的分析.
Victor等人的工作[5]中使用了分段线性回归的方法来对股票价格进行分段离散化,我们同样地也遵循这一思路对股票数据进行预处理,不过简化了这一过程.
我们在得到基本的股价时间序列后,首先从中抽取出离散化的趋势.
趋势定义为表征一段股价时间序列的变化走向.
很显然对于交易员来说,捕捉到股价的变化趋势是一个基本且重要的任务.
所以对于股票实际价格的原始时间序列,我们会先预处理并从中找到成段的趋势.
交易员通常只关注几种类型的趋势.
平稳的趋势走向通常不是值得关注的,交易员更关心大幅的增长或者下跌,或者是拐点的位置.
因为这些趋势都意味着套利或止损的机会,比如抄底买入或者提前卖出离场.
我们认为股价序列的斜率比具体的价格值在交易中更为重要.
所以我们关注在这些重要趋势时刻前期的舆论走向,分析WebInfomall中对应时期的网页报道模式,总结学习高度相关联的文本特征以建立模型进行未来的预测.
我们系统首先将原始的连续股价平滑归并为离散成段的趋势,这样将本质上时间序列的预测回归问题转变为在重要趋势时间段上的分类问题,将学习到的股票历史特征以及WebInfomall的文本历史特征预测分类到具体的趋势走向:如大幅增长、大幅下跌、小范围波动、平稳等.
按照这样的思路,我们将股票的时间序列重新分段为离散的趋势.
由于趋势有多方面定量的特征来描述:如股价绝对值、长度、斜率、截距,甚至是趋势离散模型的决定系数[6].
所以我们需要对离散化的趋势进行定量的分析,以决定合理的特征指标来区分不同的趋势.
通常情况下,交易系统最关注的是斜率和决定系数.
前者意味着未来股价的走向,后者是离散值和真实数值之间相关的密切程度.
而对于其他的几个特征,我们进行了默认的一致的处理.
如我们在系统中选取趋势长度为1,也就是说我们是按一个交易日来进行趋势的预测,选取这个长度的考虑是因为通常计算驱动的定量交易都是短线交易行为.
接下来,我们针对斜率和决定系数对我们的股票数据进行了统计分析.
计算的公式如下.
决定系数用来考察模型值和观察值的拟合程度,对于股票序列第天的价格,离散化后值为,那么决定系数为:,,我们选取股票600036SH(招商银行)离散化后得到的结果为下图:图表2-股票趋势指标分布图所以从图中可以得到,我们的离散化和真实数据都有较高的决定系数,从而我们选取斜率为趋势的主要特征.
根据斜率聚类的分布,以及交易中一般的套利要求,我们将斜率分成了主要的以下四类:斜率范围离散分类值小幅波动大幅增长大幅减少平稳表格1-股票趋势离散值表从而,我们的任务就是需要预测未来一天(或多天)的股价是落到哪个分类中,然后根据对应的交易策略进行相应的投资分配和交易.
所以综合上述分析,我们得到了趋势的离散量化和准确的定义.
一支股票在某一个交易日的趋势表述为,该交易日的股票价格与前一个交易日的斜率比值按上述离散值表离散化后得到的类别.
所以,我们的任务是,在给定的网页文本数据和已知的股票序列信息后,要预测未来的一个交易日的股票趋势.
3.
2文本序列和股票序列的对齐选择合适的相关文档后,我们将这些文档(或者抽取的文本特征)序列和对应的股票序列进行对齐,用于建立预测模型.
这一步是通过两者的时间标签来确定的,我们将某一天的股票价格和前k天(k>=0)的相关网页文档进行对齐.
因为我们认为新闻或者网络披露的新闻会影响市场的看法,从而对当天以及后来几天的股价造成影响.
值得注意的是,对齐的所有文档都必须是在股票价格的时间之前,WebInfomall文档和我们收集到的股票数据的时间标签都是精确到分钟的,所以我们能够严格的筛选出有意义的相关文档来和股票价格进行对齐.
所以,文本序列和股票序列的对齐有一个时间窗口的参数k,这是用来决定使用多少文档来建立预测模型.
根据Victor等人的研究[7],时间相隔太远的文本和股票的相关性减弱.
这一方面是因为交易人员都时刻关注着最近的新闻,特别是重大事件的影响可以立即体现出来,或者是在第二天市场能够对敏感的事件有明显的反应.
另一方面,这一类的定量交易系统都倾向于短线交易和套利.
所以,综合上述相关工作和我们的认识,我们将对齐的窗口参数默认设置为1,也即用前1天的文档来预测这天的股票趋势;也即我们认为网页报道对市场产生影响的滞后性大约在5~10小时左右.
3.
3文本特征选取经过文本和股票两个时间序列的对齐后,我们需要从海量的文本数据特征中挑选出高度相关、有意义的特征来建立预测模型.
这是由于文本的信息太过于庞大,如果全部都作为模型的特征参数,容易引入很多不必要的噪音,反而影响了预测的效果.
给定两个随机变量,它们是否相关,正相关或负相关这个问题基本的概率统计科学有很好的回答,基本的假设检验的工具有卡方检验[8]和皮尔森检验[9]等.
所以对于文本特征选取的问题,我们也遵循这一思路来过滤噪音.
比如一篇分析报道招商银行股价变化的文章,经过切词处理和停用词过滤等预处理后,我们会得到很多词和短语.
要判断"利率调整"这个短语的出现频率是否和招商银行股价变化有关系、是否正相关,我们可以使用统计学的假设检验工具来回答这个问题.
所以,对于每个文本特征和股价,他们构成一个协随机变量,我们假设这两个随机变量没有关联,然后挑选出拒绝此假设的那些文本特征出来作为相关特征.
接下来,我们就这两种基本工具,分别进行了特征的选取.
具体的过程如下.
3.
3.
1文本特征离散化每篇文章经过预处理后得到的每个词或者短语,与股票价格构成了两个随机变量.
我们表示为和,如短语"利率调整"和股票600036SH(招商银行).
从经验上来考虑,我们倾向于认为"利率调整"出现频率高,可能导致银行股票的股价有波动.
首先我们分析这两个变量各自可能的取值.
对于来说,比如"利率调整"这个短语,在每个时间点(交易日)上,出现的不同频率可以认为了该变量的不同取值.
不过如果我们直接只用原始的出现频率作为这个变量的取值,那么会使得的取值过于分散,股价变化就更难以和文本特征建立联系.
还是以"利率调整"为例,该词出现频率从每天0次到545次不等,共有上百个不同的出现频率.
所以我们需要更进一步地离散化的取值空间,从而和股票价格建立合理的相关性联系.
下图是我们对切词过后得到的文本词和短语每天的文档频率和词类频率统计:图表3-文本特征文档频率分布图图表4-文本特征词类频率分布图所以我们可以看到,大部分的词的每日出现的文档频率和词类频率基本上是服从幂次法则分布的.
所以我们根据每个词自己统计得到的词类频率和文档频率的比值来确定离散化的程度,然后将这些原始频率映射到两个值{高频、低频}上,用来表示这个文本随即变量的取值.
下表展示了选取的一些词的分布系数和映射空间的分割选取.
DFTF离散化阈值(TF/DF)发展5815986409169.
6318143公司58322935152503.
2839506管理5398553961102.
623379经济559953386695.
35024111企业57541200327208.
6074035投资5277811361153.
7542164业务5190586094112.
927553银行59971504178250.
8217442表格2-文本特征离散阈值表如"投资"一词,我们根据它的文档频率和词类频率得到离散化的阈值,假如某篇文章中"投资"一词的词类频率超过此阈值,我们将这个这个文本特征变量,反之亦然.
而对于股票价格来说,根据我们3.
1节的处理,我们共有{大幅增长、大幅下跌、小幅波动、平稳}四类取值.
3.
3.
2卡方检验这样,我们接下来的任务是使用卡方检验[8]来判断在多大程度上这两个随机变量是否相关.
更具体的,我们使用卡方检验的双变量表格分析这种方法来实现这个过程.
如"利率调整"和600036SH(招商银行),我们根据对齐后两者的共同出现频率来得到如下的取值表格:"利率调整"vs600036SH大幅增长大幅下跌小幅波动平稳高频10011低频023640表格3-卡方检验双变量观察值表这个表格就是我们观察到的双变量分布.
而我们的假设是它们不相关,期望分布的取值表格如下:"利率调整"vs600036SH大幅增长大幅下跌小幅波动平稳高频5118.
520.
5低频5118.
520.
5表格4-卡方检验双变量期望值表对于期望值来说,表格中的每个单元格取值为:ExpectedValue=rowtotal*columntotal/tabletotal根据卡方检验的公式[10],得到:根据计算得到的值,我们可以查询分布表[11]得到之于关联的概率值,表明上述假设成立的概率.
所以如果得到的概率太小,我们就能认为这个假设应该被拒绝.
根据双变量表格的表格行数和列数,我们可以计算得到Degreeoffreedom:Degreeoffreedom=(r-1)(c-1);r:#ofrows,c:#ofcolumns对于我们的双变量,因为文本特征只有两种取值,股票价格有四中取值,所以最后的Degreeoffreedom等于3.
使用Degreeoffreedom,就可以查表得到假设成立的概率.
所以在上述例子中,有99.
9%的概率使得假设被拒绝;也就是说,"利率调整"这一词组和招商银行股具有相关性.
我们还选取了一部分在只有0.
1%概率使得假设成立的变量,这些文本特征和股票价格都有很高的关联性:股票代号上市公司名称关联文本特征卡方检验值600000SH浦发银行欧元24.
07692308600004SH白云机场规划19.
23992674600005SH武钢股份盈利25.
44112219600005SH武钢股份追捧18.
1600015SH华夏银行收益率17.
11127355600015SH华夏银行信贷20.
36853147600016SH民生银行净资产21.
04191919600018SH上港集团货运18.
1600026SH中海发展土地20.
09090909600028SH中国石化超跌股23.
45114345600028SH中国石化加息26.
85706148600030SH中信证券股指17.
57442138600030SH中信证券基数49.
06423351600048SH保利地产建房30.
23529412600050SH中国联通费率17.
6356982600104SH上汽集团法拉利23.
2962963600601SH方正科技液晶22.
0525512601668SH中国建筑成果57.
03389831601766SH中国南车客运22.
58247218601919SH中国远洋亚洲17.
04016517601186SH中国铁建开发商28.
64505723601600SH中国铝业需求量17.
21046761表格5-卡方检验结果样例表可以看到,卡方检验还是需要较好的效果,这些文本特征都与股票对应的上市公司业务有语义上的关联关系,所以也和股票市场的表现有较强关联性.
3.
3.
3皮尔森线性相关系数检验同时,我们还使用了皮尔森相关系数[9]来考察和的线性相关程度.
这样,我们可以了解不同的文本特征变量和股票价格的线性相关程度的强弱,从而过滤掉线性相关较弱的那些文本特征.
另外,通过皮尔森相关系数,我们还可以知道这两个变量是正线性相关还是负线性相关,从而为我们的后续建模提供更多的思路.
对于成对出现的样本数据,皮尔森相关系数的公式[9]如下:其中,为观察到的第个值,为样本平均值,为样本标准差.
对于变量亦然.
经过皮尔森相关系数的计算,我们挑选出皮尔森系数绝对值大于0.
8的那些文本特征,这表示他们与股票价格成强烈的正相关或者负相关.
下表中是一些我们得到的文本特征和他们与对应股票600036SH(招商银行)的皮尔森相关系数.
文本特征皮尔森相关系数在途资金1.
0万事达卡1.
0退税款1.
0年产量1.
0穆迪1.
0贸易业1.
0产品化1.
0征纳-1.
0探矿权-1.
0燃油税-1.
0扭亏为盈-1.
0国有化-1.
0地产指数-1.
0表格6-皮尔森检验结果样例表3.
4带文本特征的线性回归模型在第二章中,我们考察了传统的时间序列分析技术.
线性回归模型是我们的第二个基准模型,也是比移动平均线模型理论上更好的模型.
在使用假设检验选取完股票相关的文本特征后,我们已经有较高的信心认为这些文本特征可以用来建模.
所以接下来第一步,我们就使用文本特征来辅助提高线性回归模型的效果.
对于一个以天为单位的股票时间序列(该股票每交易日收盘价组成的时间序列),为股票序列中第天的股票收盘价格.
基准的多元回归模型预测的股价为:在加入m个抽取出来与该股票相关的文本特征后,此多元回归模型扩展为:同样地,我们使用最小二乘法计算导出式子中的参数,包括到,使得算出来的值与观察值之差的平方和最小,参数推导过程不在赘述.
我们将这个模型标记为.
同时,为了更进一步得说明文本特征对线性回归模型的影响作用,我们还提出了一个只使用文本特征的线性回归模型:我们将这个模型标记为.
3.
5基于文本特征的分类模型支持向量机(SVM)[12]方法是一种用于分类和回归的统计方法,它通过指导学习来识别高维空间数据中的模式,并在训练数据上建立一个分类模型.
支持向量机模型能够找到分类最佳的超平面,使得不同类的数据点距离间隔最大.
从而,能够最小程度得减少分类器的总误差.
可以看到,SVM的方法对于预测股票序列的数据点来说,每次的预测过程是独立的.
也就是说,SVM并不考虑预测的历史记录,分类得到每个数据点的预测值.
3.
5.
1只使用股票特征首先,作为SVM分类模型的基准模型,我们将股票趋势自身序列作为分类器的训练输入,将他们映射到未来一天的趋势分类上,空间的维度为过去k天的股票序列特征.
所以训练数据为n个此空间上的点:其中为过去的股票特征集合,为那天的股票趋势.
经过SVM训练建立模型,然后用训练得到的SVM模型来对其分类,得到预测的趋势值.
我们将这个模型标记为.
3.
5.
2只使用文本特征我们将对齐后的股票趋势序列和文本特征序列,将他们映射到一个高维空间,空间的维度为我们提取的文本特征的总个数.
所以训练数据为n个此空间上的点:其中为第i天的相关文本特征集合,为那天的股票趋势.
经过SVM训练建立模型,我们获取新文档的相关文本特征集合,然后用训练得到的SVM模型来对其分类,得到预测的趋势值.
我们将这个模型标记为.
3.
5.
3文本特征结合股票序列除了提取的相关文本特征,我们也可以借鉴移动平均线或线性回归模型中考虑股票自身序列信息的思想,将前k天的股票趋势值作为新的特征,加入到模型的高维数据空间中.
这样,训练数据每个点的维度增加了k维:训练和预测的过程同上述模型的对应步骤,我们将这个模型标记为.
3.
6基于文本特征的序列标注模型对于普通的分类或回归模型来说,在预测时一般不会考虑到邻近的样本的情况,也不会考虑预测一系列数据点之间的依赖关系.
对于股票趋势的时间序列来说,通常情况下多个数据点的预测是有依赖关系的.
相对于分类模型来说,序列标注的模型是用来解决预测序列之间的依赖性的问题.
条件随机场[13]是一种概率图模型,具有表达距离依赖的能力,能够较好地解决标注偏置的问题,且能够对所有特征进行全局归一化,求得全局的最优解[14].
我们使用条件随机场(CRF)[13]作为序列标注的工具,遵循这一思路进行建模.
对于相关文本特征来说,它们构成了如下的序列:我们使用对齐的股票趋势序列来标注相关文本特征序列:使用CRF去学习这些标注好的训练数据,通过设置上下文关联规则的模板,它能够学习一些上下文相关的语义.
然后对于新的相关文本特征序列,CRF能够预测整个序列的标号,也就是对应股票趋势序列值.
因为我们是使用文本特征来标注股票的趋势值,我们将这个模型标记为.
第四章:实验与评测4.
1中国股市数据集我们使用R软件从Yahoo!
财经[15]搜集到了从2006年1月到2011年3月中国股市的共108支股票,都为A股上海交易所的股票.
每只股票的数据为这段时间内每个交易日的价格,包括该交易日当日的开盘价、收盘价、最低价、最高价.
为了简化处理,我们只选取收盘价作为股票时间序列上的点参与到后续的建模中去.
在数据集的收集中我们发现了因为由于并购、退市等原因,有一些股票的持续时间并不长,缺乏足够的数据,对后续的分析建模造成一定影响.
所以我们只保留了数据较丰富的那些股票,下表是过滤后保留的部分股票,我们列出了收集到的交易日天数.
过滤后共有95支股票保留下来.
部分分滤后保留的股票交易日统计,这个文本特篇散化的阈值,加入下:上市公司名称股票代号收集的交易天数宝钢股份600019SH1347武钢股份600005SH1337民生银行600016SH1333中国石化600028SH1314中国联通600050SH1310招商银行600036SH1309中信证券600030SH1308上汽集团600104SH1293贵州茅台600519SH1276浦发银行600000SH1275国电电力600795SH1271华夏银行600015SH1254中国银行601988SH1186上港集团600018SH1181振华重工600320SH1172大秦铁路601006SH1165工商银行601398SH1096长江电力600900SH1092中国人寿601628SH1060保利地产600048SH1051中国国航601111SH1043江西铜业600362SH1042兴业银行601166SH1039表格7-股票序列长度样例表此外,我们分析了获取的股价数据,考察了股价异动(大涨大跌30%以上)的时间点,发现有一部分原因是该股票本身的增发、送股、配股、拆细、资产重组、除权除息等行为造成的股本数量变化.
也就是说,并不能体现市场对该股票看涨和抛售行为.
我们选取了一些列举如下表:股票代号异动日期股本变动原因601600SH2008/04/30中国铝业解禁24.
915亿股600519SH2008/05/25贵州茅台解禁4719万股600000SH2010/06/10浦发银行除权增发表格8-股票价格异动样例表对于我们的模型来说,并不能预测公司的增发、除权除息等计划.
所以我们修正了这些由于公司计划产生的正常股价变动,将它们按照摊薄的比例修正回复至原有的股价水平,解决了这个可比性的问题.
我们使用了CSMAR数据库[16]记录的人工校订数据,得到一个以上市首日收盘价为基准的各个交易日收盘价时间序列.
4.
2文档数据集选择合适的文档数据是非常重要的.
对于我们的预测任务来说,最重要的标准就是相关性.
选取的文档需要是与股票公司相关的新闻报道或者评论,如评论股票走势和公司状态的财经新闻,以及关注对应公司市场和产品的评论文章等等.
如果选取的方法不当,很容易引入大量的噪音和无关的信息,从而降低了文档的相关性最后导致模型预测失败.
其次,我们有大量的股票价格序列,也有海量的WebInfomall文档,要让两者中具体的某一篇文章和具体某一个股票关联在一起,才能准确的建立此模型.
综合上述两点来看,这也是文档数据集选取的困难所在,否则如果模型在不准确的数据上进行训练,最后的预测也会夹杂大量的错误和遗漏关键的信息.
首先,我们使用了外部的可靠来源来保证了文档的相关性.
我们人工挑选出了可信和高质量的财经与商业评论站点,比如新浪财经、财经周刊等国内著名财经媒体站点.
考虑到WebInfomall的网页文档数量巨大,这个方法可能不具有很好的扩展性,不过对于保证文档的质量和相关性来说,却是目前找到的可行方法.
我们根据上述方法按URL提取了从2006年到2011年的485,700篇高质量新闻文档,这些站点的文档数据集合分布选取部分如下表所示:来源网站文档集合数量百分比(%)累计百分比(%)所有网站485,700100.
0100.
0leadership.
finance.
ifeng.
com54,88211.
311.
3finance.
cz001.
com.
cn16,1813.
314.
6finance.
qianlong.
com15,9003.
317.
9finance.
116.
com.
cn9,2511.
919.
8finance.
asiaec.
com8,0161.
721.
5finance.
easychart.
net7,5831.
623.
0guba.
finance.
qq.
com5,6621.
224.
2stockhtm.
finance.
qq.
com5,4951.
125.
3finance.
hebei.
com.
cn5,1491.
126.
4finance.
beelink.
com4,4880.
927.
3finance.
qq.
com3,5140.
728.
0www.
baida-finance.
com3,5020.
728.
7finance.
eastday.
com.
cn2,7910.
629.
3finance.
zjol.
com.
cn2,6270.
529.
9finance.
qingdao.
gov.
cn2,4720.
530.
4finance.
xbol.
net2,4640.
530.
9quotes.
finance.
21cn.
com2,4100.
531.
4www.
easyfinance.
com.
cn2,3470.
531.
9finance.
baidu.
com2,0740.
432.
3www.
finance-cost.
net2,0570.
432.
7finance.
aweb.
com.
cn2,0490.
433.
1finance.
newssc.
org2,0180.
433.
5finance.
eastday.
com1,8990.
433.
9finance.
cctv.
com1,8190.
434.
3finance.
xilu.
com1,8070.
434.
7表格9-文档数据来源分布表其次,我们将这些可信的文档数据集对应到了股票公司上,进一步地精确了文档和股票公司的对应.
若股票代码或者该公司名字在文档中出现频率超过一定范围,或者处于段首主题句中,这个文档才会被分配关联到对应的股票公司.
下表中展示了部分公司关联得到的文档数量.
上市公司名称股票代号相关文档集合数量工商银行601398SH49,845中国银行601988SH43,911中国联通600050SH34,116中国石油601857SH26,589中国石化600028SH21,692建设银行601939SH18,677农业银行601288SH17,890中国建筑601668SH17,624兴业银行601166SH7,250东方明珠600832SH6,873马钢股份600808SH2,201上海机场600009SH2,174中远航运600428SH537辽宁成大600739SH536广州控股600098SH517福建高速600033SH500西部矿业601168SH495中煤能源601898SH461驰宏锌锗600497SH406宏达股份600331SH405上港集团600018SH394大唐发电601991SH359中国中冶601618SH349中原高速600020SH348五矿发展600058SH324潞安环能601699SH316包钢股份600010SH263航天电子600879SH260通宝能源600780SH192振华重工600320SH188金钼股份601958SH96S上石化600688SH86*ST上航600591SH78城投控股600649SH71招商轮船601872SH66S山东铝600205SH33齐鲁退市600002SH1表格10-股票相关文档数量样例表可以看到,有的公司如"工商银行"在媒体中处于"明星公司"的地位,有大量报道和评论.
但是有的公司如"振华重工"相对来说在网络上出现频率少一些.
这些公司由于相关文档太少,我们放弃了对他们的建模,最后我们得到了实验使用的数据集合共90支股票和对应的文档集合.
我们选取了一段报道作为例子展示,这篇新闻对国航业务的报道,表明了其对中国国航(601111SH)的股票走向的一些看法:中航"敦请"东航修改条款"东新恋"前景暗淡2008-01-03东航将于1月8日在上海同步举行A股及H股股东的股东大会,表决定向增发方案.
此前东航一再强硬表态"方案不变、价格不变",但"搅局者"国航更加强硬,1月2日,国航母公司中航集团所属的中航有限公司首次在香港发布公开声明,"敦请"东航与新航、淡马锡修改相关的条款.
"搅局者"的再次发力,使得东航热衷的"东新恋"前景变得相当暗淡.
中航公开发话.
在东航即将举行股东大会的节骨眼上,东航H股流通股大股东―――中航有限公司正式表态了.
记者昨天下午拿到了中航有限公司在香港发布的名为"就有关新航及淡马锡的子公司认购东方航空(600115行情,股吧)新股及相关事宜的澄清说明".
这份声明的核心内容有二:一、中航有限公司对目前公告的东新方案从未表达过是否支持的意向;二、关于东新方案,中航有限公司接受公司财务顾问中国国际金融有限公司的分析结论.
分析认为,东新方案下每股3.
80港元的入股价格未能反映东方航空应有的价值.
另外,东新方案中赋予新航及淡马锡的反摊薄条款和投资者认购协议中的竞业禁止条款存在对其他股东、国内外投资人及国内同业不公平对待的问题,有可能构成影响行业未来发展的潜在障碍.
中航有限公司是国航母公司中航集团在香港的全资子公司,今年4月以来,中航集团在香港市场数次增持东航H股是通过中航有限公司来进行的.
目前中航有限公司拥有的东航H股的比例为12.
07%,中航有限公司为东航H股流通股的最大股东.
中航有限公司在声明中不仅"敦请"东航及淡马锡就上述相关事项进行再商讨并修改有关条款,以便形成一个宜于中航有限公司接受的方案,而且还暗示可能会考虑发起对东方航空控股权的竞购,声明还说:"将保留提出其他更有利于全体股东利益之提议的权力.
"近期,国航与东航就"东新恋"有关交易的攻防战愈演愈烈.
国航这样的国有公司公开反对兄弟公司引入外资,这种事此前在国内是很罕见的.
为了阻止国航"搅局",东航董事长此前抬出了"'东新合作'已经通过了国资委的批准"这把尚方宝剑来,但事实上可能没有什么收效.
12月25日晚,中航集团新闻发言人有针对性地发出一份声明,阐述了对于"东新恋"的看法.
声明说:政府已归位到管宏观层面的事,企业主要是做好微观层面的事.
按照市场规则办事,具体到"东新合作",政府有关部门不可能干预投票这样的小事.
"东新合作"除政府有关部门审核外,作为上市公司还要通过股东大会的批准,这是该交易实施的必要条件.
政府有关部门没有理由、也不应该要求所有股东与其意见完全一致.
中航集团在声明中还重申了"一联一合一交换"的合作三原则,表明中航集团和国航愿与国内兄弟航空公司开展合作.
所谓"一联",是开展共飞的国际航线等层面的业务联营,目的是提高国际竞争力;"一合"是把货运整合起来,成立一家合资货运公司,这样就能大大提高国际货运市场的国际竞争力;"一交换"是互换双方股权.
按照既定步骤,东航于1月8日在上海同步举行A股及H股股东的股东大会,表决定向增发方案.
方案需要出席或已授权股东的2/3赞成通过.
东航去年12月24日发表公告称,少于一半的H股股东回复将会出席或授权出席股东会,如以出席的股权为H股股权50%计算,中航持股将会占出席股权的24%,只要再有一两个持股量高的基金与中航结成同一阵线,方案便不能通过H股股东部分.
由于新航的收购价大大低于东航H股现价7.
71元,中航的投票态度将对基金、散户等其余股东产生重大影响.
"东新恋"难成正果.
针对中航有限公司的公开声明,记者昨天下午联系东航董秘罗祝平,但罗的手机一直处于无人接听状态.
上周本报记者对于罗祝平进行专访时,他明确表示:东航一不会改变合作伙伴,二不会提高收购价格,这是两条基本原则.
不过,计划不如变化快.
国航的"搅局"极可能将"东新恋"搅黄了.
中信建投证券航空板块分析师李磊分析认为,作为能够左右"东新恋"成败的核心成员―――中航有限公司的此次声明,与上周末民航总局主要领导的变动有极大的关系.
上周末,中航集团公司总经理、国航股份公司董事长李家祥出任了民航总局的主要负责人.
李家祥一直力主国航东航联合,希望通过打造一家"超级承运人"的方式来壮大国内航空公司,与其他航空巨头竞争.
显然,"东新恋"的结果会造成国内航空运输业整合难度的加大.
李磊进一步解释,国航接下来行动的第一步应该是将"东新合作"议案在股东大会上否决,第二步则将提出新的收购方案.
虽然东航非常反感国航"搅局",但这个问题的关键点是,国航与东航这种国企的并购行为要看行业主管部门和国资委的态度,企业的话语权并不大.
李家祥"掌舵"民航总局之后,"东新合作"很难再得到民航总局的支持,尽管此前最大的支持意见来自民航总局.
而国资委是不会干预企业自主经营的,国资委考虑的主要是国有资产的保值增值.
因此,行业主管部门的态度非常关键.
他个人判断,"东新恋"修成正果的可能性非常小.
此外,投资银行花旗昨天也发布一份报告,认为东航的股东会在股东会上否决新航入股的建议.
预期国航与国泰航空会出高的收购价,国航、东航、国泰三家航空公司在北京、上海、香港三个枢纽机场更具有协同效益.
(来源:http://news.
hexun.
com/2008-01-03/102598281.
html)4.
3预测模型的实现与评估我们在上述的股票数据集和文档数据集上实现了第二章的基准模型和第三章提出的预测模型.
两个数据集合经过离散化后对齐成为相关联的两个时间序列.
股票离散化指标的确定使用了Python来实现分析的过程;文档集合的处理考虑到大规模数据处理的扩展性问题,我们使用了基于Hadoop[17]集群的Pig[18]语言来编写预处理脚本.
模型的实现和预测评估都是使用Pig在Hadoop上实现完成的.
我们使用了libsvm[19]和CRF++[20]来分别实现了SVM模型和CRF模型.
我们使用2006年到2010年的数据对各个模型进行训练,然后使用2011年的数据来进行测试.
对于传统的股票分析技术模型,就是使用归一化的股票价格真值来训练和测试;文中的其他模型则使用股票价格离散化后的趋势值来训练和测试.
我们的股票价格数据集经过归一化和离散化后,对于每一类的股票趋势计数如下表,可以看到小幅波动和平稳的数据点占绝大部分,大幅变动的时间点属于少数情况:大幅下跌大幅上涨小幅波动平稳所有趋势17923735321553032968011表格11-股票离散化趋势分类计数所以接下来,我们将介绍模型实验的量化指标和实验的效果.
需要说明的是,所以的模型和实验,训练和预测采用的特征,包括股票序列特征和文本特征,都是和每个股票自身相关的.
我们避免使用统一的特征,而采用与股票相关特征来预测,这样可以取得更好的预测效果.
本文使用一系列的量化指标来评测模型的预测效果.
我们将模型预测得到的结果(股票价格值或预测趋势)都进行离散归一化处理成为预测的趋势值,然后与真实的股票序列的趋势值进行对比和分析.
所以对于离散化后的四类趋势(大幅上涨、大幅下跌、小幅波动、平稳)来说,我们对每一类的预测结果都分析其精确率、召回率和F值.
值得注意的是,我们特别关心大幅上涨、大幅下跌这两类的预测结果,因为这两类趋势都意味着较大的套利空间或者是重要的止损信号.
对于每一类趋势和预测结果的趋势集合.
每一类的预测指标如下:这三个主要指标对于交易系统的指示作用如下:精确率说明了对于这一类趋势的预测是否准确的比例,是用来判断系统是否"误报",如大幅上涨此趋势90%的预测精确率就意味着在100次大幅上涨的预测结果中,有90次是准确的,符合实际的.
召回率说明了对于这一类趋势的预测是否全面的比例,是用来判断系统是否"漏报",如大幅上涨此趋势90%的预测召回率就意味着在100次真实的大幅上涨的实际情况中,有90次都被我们的系统捕获了,能够抓住大部分的机会.
F1值是精确率和召回率的一个组合情况.
是一个整体的衡量指标,在实际的系统中,我们希望系统既能"准确预测,不误报",又能"全面预测,不漏报".
所以F1值能够提供一个直观的指标来衡量不同模型间的整体好坏程度.
所以,我们使用上述三个主要的指标,来评测模型的效果;在下面的文章中,我们使用P来代表精确率,R来代表召回率,F来代表F1值.
文中在第二章、第三章中描述的模型及实验效果如下:4.
3.
1下表中展示了模型预测结果.
可以看到,由于模型综合了过去一段时间的平均值,所以预测结果带有股票本身的惯性.
也就是说,从整体上来看,模型有较好的稳定性,特别是对于平稳或者小幅波动的预测能力较强.
不过对于大幅变动的趋势,由于移动平均惯性的原因,它并不能及时捕捉到股价趋势的变动,所以大幅变动的预测效果也较差,在20%~30%之间.
大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF20.
6%34.
0%25.
7%25.
9%35.
2%29.
9%49.
5%55.
1%52.
1%53.
3%42.
5%47.
3%表格12-移动平均线模型预测结果4.
3.
2我们使用模型来进行线性回归,预测未来的股票价格.
相比模型,消除了系统误差,只包含纯偶然误差.
我们在之前的实验中,使用了过去5天的数据来作为的输入,同样的,我们也使用过去5天来进行线性回归.
实验的结果对比如下表:大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF移动平均线20.
6%34.
0%25.
7%25.
9%35.
2%29.
9%49.
5%55.
1%52.
1%53.
3%42.
5%47.
3%线性回归模型10.
7%36.
6%16.
5%14.
3%37.
8%20.
8%60.
9%55.
2%57.
9%67.
8%42.
0%51.
9%表格13-传统股票技术分析的对比可以看到,相对于移动平均线技术,线性回归对于小幅波动的趋势,都有较好的召回率和精确率.
不过对于大幅波动的趋势,线性回归模型的效果却略低于移动平均线模型.
我们接下来,分析了模型的回归步长.
我们选取了过去1到5天的股票值参与回归,作为短期交易的线性回归模型的变化参数,通过实验考察不同步长对于线性回归模型的影响.
实验结果如下图:图表5-线性回归模型步长变化图可以看到,对于召回率和精确率,模型都随着步长的增加而降低.
也就是说,如果只利用过去1天的股票值,能够比较有效地预测股票的趋势.
但是这并不符合我们的分析和预期,因为很多股票在发生比较剧烈的价格变化时,只依据过去1天的走势并不能准确地预测这样的变化趋势.
况且,我们以前已经分析说明了,我们特别注意和关心大幅上涨和大幅下跌这两类趋势的预测结果.
所以,我们又分析了模型在四个趋势类上的细分指标,结果如下图:图表6-线性回归模型步长变化图(召回率)图表7-线性回归模型步长变化图(精确率)可以看到,随着步长的增加,在大幅上涨和大幅下跌两个关键类上的召回率在稳步增加,不过精确率随着步长增加略有下降.
这说明多使用过去来回归预测,能更全面的捕获到大幅变化的情况,因为股票序列本身在过去一段时间内已经有所反映这样的趋势.
不过,也带来了预测准确率可能会下降的问题.
对于召回率和精确率,平稳和小幅波动这两类,都随着步长增加而导致指标下降.
这也很好理解和自然,因为这两类的股票波动幅度很小(-2.
0~1.
5%),所以如果只使用过去一天的股票数据,当然能很好的预测此类趋势.
过多的步长反正使得小幅变化趋势类的预测效果变差.
又由于这两类在整个数据集中占有很大比例,所以我们如果只考虑整体的预测指标,就会产生步长越短,预测效果越好的"错觉".
我们经过上述的分析,通过着重考虑大幅变化趋势类的预测效果.
可以选择步长为4或者5,作为模型的合适步长参数.
4.
3.
3我们也考虑使用选取的文本特征,来作为线性回归的输入变量.
也就是利用当天的新闻报道,来回归预测股票的变化.
下表列出了模型和模型的实验效果对比:大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF线性回归_411.
4%36.
8%17.
4%14.
8%37.
7%21.
2%61.
5%56.
6%59.
0%68.
5%43.
1%52.
9%线性回归_510.
7%36.
6%16.
5%14.
3%37.
8%20.
8%60.
9%55.
2%57.
9%67.
8%42.
0%51.
9%线性回归_文本30.
3%10.
7%15.
8%62.
6%25.
6%36.
3%85.
8%94.
2%89.
8%94.
3%87.
4%90.
7%表格14和实验效果对比我们可以看到,文本特征的加入极大地提高了小幅波动和平稳两类趋势的预测效果.
同时,也一定程度上地提高了大幅波动趋势的精确率.
4.
3.
4我们也考虑同时结合文本特征和股票序列特征,来做回归预测.
除了当天的新闻报道,我们也加入过去k天的股票价格特征.
同样的,我们也针对回归的步长参数做了以下的实验,如下图:图表8-结合文本特征的线性回归模型效果图可以看到,模型的预测效果并不对步长敏感,这主要是由于文本特征相对稳定和具有比较好的相关性,并不会像股票序列一样产生价格序列的惯性依赖.
同样的,我们接下对此模型的步长变化进行了细分的分析,如下图:图表9-结合文本特征的线性回归模型效果细分图可以看到,模型在细分的各个趋势类上都有平稳的表现.
同时,在小幅波动和平稳两类上,有很好的召回率和精确率(都超过80%).
我们继续在下表中对比了在三种不同的特征作为输入变量训练回归后得到的预测效果:大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF线性回归_411.
4%36.
8%17.
4%14.
8%37.
7%21.
2%61.
5%56.
6%59.
0%68.
5%43.
1%52.
9%线性回归_510.
7%36.
6%16.
5%14.
3%37.
8%20.
8%60.
9%55.
2%57.
9%67.
8%42.
0%51.
9%线性回归_文本30.
3%10.
7%15.
8%62.
6%25.
6%36.
3%85.
8%94.
2%89.
8%94.
3%87.
4%90.
7%线性回归文本和股票44.
9%18.
3%26.
0%63.
4%37.
9%47.
4%85.
8%92.
6%89.
1%95.
3%86.
1%90.
5%表格15-模型不同特征的预测效果对比可以看到,结合了选取的文本特征和股票本身的价格序列特征作为输入的变量,也就是使用模型.
在此情况下回归的效果最好,且在不同的步长回归中,该模型都有稳定的表现.
4.
3.
5我们先使用股票自身的序列作为SVM分类模型的基准模型.
首先,我们选取每个股票过去5天的股票趋势特征作为训练SVM分类器的输入参数,然后使用训练得到的SVM分类器进行测试.
这里我们使用了离散的趋势作为分类训练的特征.
我们使用开源工具libsvm来实现SVM模型.
对于libsvm,有4个kernel函数作为训练的参数,分别如下:-tkernel_type:settypeofkernelfunction(default2)0--linear:u'*v1--polynomial:(gamma*u'*v+coef0)^degree2--radialbasisfunction:exp(-gamma*|u-v|^2)3--sigmoid:tanh(gamma*u'*v+coef0)我们针对这4个不同的kernel函数,实验得到如下的结果:大幅下跌大幅上涨小幅波动平稳Kernel函数PRFPRFPRFPRF028.
8%25.
9%27.
3%42.
6%48.
6%45.
4%96.
0%99.
1%97.
5%100.
0%100.
0%100.
0%11.
8%0.
1%0.
3%2.
8%3.
1%3.
0%80.
4%92.
8%74.
6%89.
3%87.
7%88.
5%23.
6%3.
6%3.
6%15.
2%20.
7%17.
5%82.
6%91.
9%75.
9%87.
9%89.
5%88.
7%32.
7%1.
8%2.
2%0.
2%0.
1%0.
2%52.
4%83.
2%43.
6%63.
0%48.
7%54.
9%表格16-预测效果通过实验可以看到,使用kernel函数0,也就是linear函数,是最优的一种参数配置.
使用股票本身信息,SVM已经能到较好的效果.
相对比线性回归模型,SVM在小幅波动和平稳趋势下效果非常好,平稳类甚至达到了100%的F1值.
4.
3.
6然后我们使用了文本特征来应用到SVM的分类模型,对离散化的股票趋势进行分类并预测.
大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF42.
0%36.
0%38.
8%48.
1%46.
6%47.
4%41.
9%63.
5%50.
4%42.
5%37.
0%39.
6%表格17-预测效果基于文本特征的SVM分类模型在大幅波动的股票趋势中取得了较好的效果,不过在小幅波动的趋势中,表现却不如基于股票特征的SVM分类模型.
4.
3.
7最后,结合股票本身信息和文本特征作为SVM分类模型的输入,我们也进行了如下的实验:大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF45.
3%40.
1%42.
5%41.
7%49.
2%45.
2%95.
9%99.
0%97.
4%100.
0%100.
0%100.
0%表格18-预测效果从中可以看到,对于SVM分类器,结合文本特征后大幅波动的趋势类有较好改善效果,而且整体上都取得了较好的预测效果.
对于小幅波动的趋势类,相对于股票特征的SVM模型,也有良好的预测效果.
4.
3.
8CRF模型对于自然语言处理的词性标注问题有很好的应用效果.
对于一个给定的自然语言文本段落,CRF模型可以通过这一段落中词的上下文语境来标注该词的词性.
所以,相对于SVM单个交易日的分类模型而言,CRF模型可以捕捉一段时间内文本特征的上下文语义联系.
因此,我们将股票的相关文本和股票序列特征以一周为单位,分割成多个段落.
然后对一周的趋势进行标注,所以也自然得到了未来一天的趋势预测值.
我们使用了开源的CRF++来实现这个模型.
如对于招商银行的股票和文本序列,我们可以得到如下的训练数据:20100901房地产并购高峰大幅上涨20100902政策贷款政策平稳20100903楼宇生活政策平稳20100904制造业房地产中央小幅波动20100907政策通道房地产平稳中间是段落的分割符,表示两个分割的时间段落.
CRF++可以设定模型来指定分析的特征,我们将段落中的上下文的文本特征和趋势特征指定到模板中,然后实验得到了CRF模型的结果,连同SVM模型的结果如下:大幅下跌大幅上涨小幅波动平稳PRFPRFPRFPRF28.
8%25.
9%27.
3%42.
6%48.
6%45.
4%96.
0%99.
1%97.
5%100.
0%100.
0%100.
0%42.
0%36.
0%38.
8%48.
1%46.
6%47.
4%41.
9%63.
5%50.
4%42.
5%37.
0%39.
6%45.
3%40.
1%42.
5%41.
7%49.
2%45.
2%95.
9%99.
0%97.
4%100.
0%100.
0%100.
0%17.
0%22.
0%19.
2%13.
8%10.
3%11.
8%58.
4%44.
9%50.
8%39.
6%47.
4%43.
1%表格19-SVM与CRF模型预测效果对比通过对比SVM与CRF的实验效果我们可以看到,由于太多特征的引入,CRF模型的预测效果反而不如SVM的效果.
4.
4模拟交易实验对于股票市场预测模型的任务来说,最终目的是为了能够真正地有效和产生效益.
接下来,我们通过模拟实验来验证我们的预测模型的效果.
我们模拟交易员或自动交易系统的行为,实现了一个简单而基本的交易策略:如果系统通过预测模型获得了一个大幅上涨的趋势,我们的系统买入这个股票;如果系统通过预测模型获得了小幅波动或者平稳的趋势,我们的系统则持有购入的股票;如果系统通过预测模型获得了一个大幅下跌的趋势,我们的系统售出持有的该股票全部份额;这个策略也就是人们通常使用的"追涨杀跌"的交易手段.
因为本文的主要工作是建立合理的预测模型,所以我们并没有详细地研究交易策略,也没有详细地研究在这些趋势信号下资产的不同投资组合策略.
不过我们相信,这样的简单策略能够获得一个最小程度的交易收益,来说明我们的系统和预测模型的有效性.
因为我们的预测模型都利用短线的股票历史记录来进行回归或分类标注,所以我们的交易策略也倾向于短线操作.
在买入后,系统会短期持有1到2天,然后卖出,除非预测模型继续提供上涨的趋势.
在模拟中,我们使用一手股票作为基本的交易单位,也就是该股票的100股.
这样规模不会对股票市场造成影响,所以股票的后续序列的价格也可以认为真实无误的.
我们首先对股票的实际价格和真实趋势进行了交易的模拟,用以说明交易策略的可行性.
我们的交易系统以真实的趋势为判断条件,如果是大幅上涨的趋势则买进一手,如果是大幅下跌的趋势则卖出全部股票.
通过一段时间的交易,我们考察这种策略的效果,以资本回报率(ROI)来计算:利用真实的趋势来模拟交易,我们可以认为这是最优情况下能达到的最好情况.
因为我们提前一天知道了未来的价格,并根据有利于自身的情况来进行交易,所以能达到最优的资本回报率.
实验也证明了此交易策略的可行性,根据实际趋势的模拟实验在108支股票数据集上获得了12.
29倍的资本回报率.
也就是说,100块钱投进来,根据此策略交易,最后获得了1329块,回报是原来的12倍多.
我们选取部分股票的收益情况进行细节分析:股票代号公司名称ROI601588SH北辰实业3.
71097600000SH浦发银行5.
02231600004SH白云机场5.
21005600028SH中国石化5.
24598601333SH广深铁路5.
30955600036SH招商银行5.
33541600210SH紫江企业5.
46399601168SH西部矿业5.
50086601601SH中国太保5.
56485600642SH申能股份5.
57277600037SH歌华有线5.
74075600309SH烟台万华5.
82015600583SH海油工程6.
69836600717SH天津港7.
29152601628SH中国人寿7.
489600009SH上海机场7.
69394601166SH兴业银行7.
98812600015SH华夏银行8.
00691600739SH辽宁成大8.
792601600SH中国铝业8.
80491601111SH中国国航9.
17879600188SH兖州煤业10.
4364600026SH中海发展10.
5741601328SH交通银行11.
1004600649SH城投控股12.
1877600029SH南方航空12.
3739600811SH东方集团12.
3748600887SH伊利股份12.
6653600497SH驰宏锌锗12.
7139600030SH中信证券12.
7375600331SH宏达股份14.
4591601699SH潞安环能15.
0018600879SH航天电子16.
5097600660SH福耀玻璃16.
5198表格20-部分股票真实趋势模拟交易ROI效果通过这个表,我们可以大概地看到,如银行、证券、地产股等等板块的公司股票,在过去几天中,较理想的情况下(低买高卖),都有不错的ROI收益.
我们也使用这个交易策略来考察我们的预测模型实验中量化指标的影响.
在前面的实验章节中,我们已经知道预测模型的召回率和精确率都是重要的评估指标.
所以我们利用交易系统来模拟不同的召回率和精确率下对最后ROI的影响.
我们分别在交易的时候,使用随机变量来控制不同的召回率和精确率:对于真实的趋势是大幅上涨或者大幅下跌,如果随机变量小于给定的召回率概率,则执行交易;对于真实趋势不是大幅上涨或者大幅下跌,若随机变量大于给定的精确率概率,则执行对应的"错误"交易.
通过了10次实验求取平均值,我们得到下面的图:图表10-模拟交易实验效果图上图中,模拟召回率为100%,模拟精确率为90%的时候,最大ROI为12.
94;而模拟召回率10%,模拟精确率为10%的时候,最小ROI为-46.
6%;图中的气泡大小同比例表示ROI的大小.
所以从上图中,我们可以得到一系列的结论:召回率和精确率对于预测模型来说,都很重要.
可以看到随着召回率和精确率的上升,ROI都在上升.
但是只有一个指标效果好,是无法获得高ROI的.
因为是模拟实验,而且由于我们使用了一个简单交易策略的原因.
我们没有在模拟召回率为100%,模拟精确率为100%的时候取得最大ROI.
经过分析是因为,此交易策略的持有策略有可能造成亏损,而且大幅波动的时间点前后设置也会影响最后交易策略的效果.
换言之如我们之前强调的,这个交易策略并不是最理想的交易策略,不过它已经能够说明我们的预测模型的效果.
可以看到,随着召回率和精确率的提高,ROI以超线性的速度进行增长.
也就是说,在召回率和精确率超过50%以后,这两个指标每提高10%,ROI不止提高10%,甚至有可能提高50%.
所以,我们相信有更好地交易策略,也相信对于这些交易策略而言,我们的预测模型都能取得良好的效果.
接下来,我们使用前面章节中建立的一系列预测模型来进行交易实验,结果如下表:预测模型平均ROI4.
6%4.
2%6.
1%16.
0%8.
2%6.
9%35.
7%-18.
9%表格21-各预测模型模拟交易结果从模拟的交易来看,我们的预测模型和交易系统能够达到较好的收益率,超过同期的大盘指数.
通过结合文本特征和股票系列特征,简单的线性回归模型和SVM分类都取得了不错的效果.
其中,SVM分类模型达到了超过30%的回报率.
而对于我们测试集合选取的2011年来说,这个效果远超过大盘的收益回报率.
第五章:ChinaStockAnalyst系统功能与实现ChinaStockAnalyst是一个完整的系统,她分为两部分:预处理建模和监控预测.
首先,我们收集股票数据、相关的文档数据并进行预处理建模.
系统监控新进来的文档流,并按照建立的模型进行分析和预测计算.
模型得到的预测估计可以帮助交易员或者是自动交易系统来做出合理的买入或卖出的交易策略.
5.
1功能介绍从ChinaStockAnalyst系统中可以查看大规模新闻报道对特定股票的倾向、高关联特征词(实体)的日常走势、捕捉到的关联事件信号以及系统自动建立的预测模型.
这些模型和提取的特征都是从海量的WebInfomall中计算训练得到的,从而能在较高的置信区间上为交易员或自动交易系统了解市场的看法和提供股票未来走势的建议.
我们提供了相关文本特征的展示页面和趋势曲线图.
用户可以搜索一个文本特征,然后查看相关股票和这个文本特征的趋势图.
此外,我们还可以查看某个股票的市场看法.
除了这个股票的价格曲线图,我们还会给出预测的趋势值,以及提及该股票或公司的文档观点汇总.
这样用户可以了解市场对未来走势的态度和观点.
5.
2系统实现我们使用Python来编写了上述系统的Web服务,其中使用Django来开发了Web的后台服务.
目前的系统还比较粗糙,只支持简单的表单提交和文本的预测效果描述.
我们在继续的工作中会来设计可视化效果更好的页面和方便的查询入口.
第六章:文本挖掘的相关工作6.
1文本分析和股票市场有不少相关的工作分析新闻等文本特征来预测股票市场,我们列举分析了在这个领域的最近几篇工作.
Hayo和Kutan等[21]使用了一个纯经济学的模型来分析研究新闻报道、俄罗斯大宗商品如原油、股票市场以及外国市场是如何互动和相互影响的.
他们在模型中使用了一个随机变量来表示新闻报道的倾向性,判断其对市场的态度是否积极或者消极.
不过,对于新闻报道的倾向性,他们使用人工标注的手段来进行分类.
可能正是如此,他们的实验研究规模也维持在比较小的规模.
然后,这个工作还是向人们展示了文本分析的重要性,从中能够捕获到股票市场的行为走向.
Lavrenko等[7]使用了与上市公司相关的新闻报道的文本数据来建立语言模型,然后预测该公司未来的股票市场走向.
同样的,他们将这个预测问题转换为一个对股票走势的分类问题,然后使用最近的相关新闻报道来建立语言模型.
然后对于以后观察到的新闻报道,考察这些报道是否和之前建立的语言模型类似,从而将该语言模型对应的走势作为预测结果.
我们的预测模型也考虑了类似的分类模型,不同的是,我们着重进行了文本特征的预处理和选取.
这是因为,在海量的新闻报道中,存在着大量的噪音,很多文本内容其实和股票市场的涨跌行为并没有太多的关联性.
所以直接使用整个文档建立语言模型,是容易引入大量噪音和错误的.
Schumaker和Chen等人[22]在突发新闻上进行文本分析,并预测相关的股票市场变化.
他们选取了词组、名字短语、命名实体等文本特征进行建模,并使用SVM进行分类预测.
与他们的工作相比,我们结合了传统的股票技术分析,还考虑了过去一段时间股票序列的价格变化,实验表明我们的模型比SVM的基准模型取得了更好的效果.
事实上,使用文本分析技术来预测股票,将其简化转换为分类问题是一个很好的开始和思路,SVM也是一个有力的工具.
除了基于网页的新闻报道,还有不少相关工作是选取了其他不同的数据来源.
DeChoudhury[23]分析了博客文章和评论与股票市场的相关性.
Yi[24]使用了twitter上人们发布的tweets文本来辅助传统的股票技术分析,他们从tweets中抽取出了一些文本特征并加入到移动平均线模型中,从而改进了一点移动平均线的效果.
Sprenger和Welpe[24],还有Bollen[25]等,也使用tweets来分析股票市场,他们是从情感分析的角度考虑这个问题.
他们展示了某些特定股票的价格波动能够和tweets的情绪变化契合在一起,从而可以据此来改善预测效果.
对于这些其他的数据来源,我们相信我们的模型和系统都能应用到这些数据上.
事实上,WebInfomall有更丰富的数据来源,我们从11年开始每天也抓取了上千万新浪微博的数据,甚至还有CCTV的新闻视频.
6.
2Web数据和其他预测指标使用Web数据来对一些特定问题回归预测,也并不是一个全新的话题.
与我们的工作相关的是,有不少相关工作使用Web数据来进行回归和预测,并不局限于股票市场.
Ginsberg[26]使用了搜索引擎的查询日志来预测流感在美国的扩散和传播.
另外,Corley等人[27]也用博客来预测进行类似的预测.
还有,Ettredge等人[28]也使用了搜索引擎的查询日志来预测工作市场的表现.
相对于上述微观指标,还有类似的工作预测宏观指标.
Geol等人[29]使用了Google的查询日志来预测一些经济活动,如失业率.
他们通过人们在Google对于寻找工作的查询,来分析和预测美国失业率的情况;结果发现两者之间有很强的正相关性.
Hyunyoung和Hal[30]也使用了Google的服务,Google趋势,来分析当前和预测未来的经济活动.
他们对一些经济活动建立了季度相关的回归模型,然后预测一些具有比较稳定经济周期的活动.
比如福特汽车的每月销售量、零售业的销量、美国房屋的售价、人们出游的目的地等等.
Google趋势的数据在这些活动的建模和预测上,都表现了良好的效果.
所以,除了股票市场,从微观到宏观,Web上的数据还能告诉我们很多的事情.
这也给予了我们更高的信心,去挖掘WebInfomall中有趣的东西,相信这个宝库还有非常巨大的潜力在等待着我们.
6.
3社交网络相关的模型社交网络如Twitter,Facebook等,代表了新的社区的组织方式,更是一种新兴的媒体.
这种新兴媒体的快速信息流动能力,以及其上用户口口传播的影响可靠性,极大地吸引了人们的关注.
在近年来,也有不少工作[31][32][25][24]关注与使用社交网络来预测和分析股票市场的相关性.
Eduardo等人[33]使用了一些图算法如PageRank等来寻找高影响力的用户,以及这些用户微博评价对经济活动的影响.
Eduardo等人将twitter上的行为与股票等财经数据进行关联分析,找到了一系列的微博特征行为,进行建模预测.
他们对twitter文本的特征抽取,还使用转发和应用,以及用户的关系来构建了一个图模型,然后使用此图模型来和股票财经数据进行关联预测.
相比而言,我们的工作更偏重于海量信息的历史挖掘,并未考虑社交网络的结构和基于图的模型.
WebInfomall从11年底开始,也以每天数千万的量级来收集新浪微博的数据和用户信息.
我们相信我们的模型经过对大数据的检验和测试,能够有效地结合新兴的社交网络等媒体,来更好地发现和挖掘经济和社会活动,得到更有价值和意义的分析.
第七章:总结和未来工作7.
1总结和主要贡献本文使用WebInfomall的文本数据来预测中国的股市行为,并基于此开发了辅助交易员或自动交易系统的ChinaStockAnalyst决策提供和评估系统.
我们的主要贡献如下:一、我们详细地研究了文档中与股票相关性强的各种文本特征,并提取了这些文本特征用于建立与股票价格相关的预测模型.
我们的模型将预测问题转化为两个更简单的问题,一个是与时间序列独立的分类问题,另一个是与时间序列上下文相关的序列标注问题.
本文根据这两个问题的简化,提出了新的模型结合文本特征来预测股票变化.
在分类模型中,我们分别使用了提取的文本特征,以及结合股票序列前k天的价格信息,来建立线性回归模型和SVM模型对股票趋势进行分类.
在序列标注模型中,我们使用条件随机场来捕捉股票序列上下文的关联,结合文本特征对每周的股价序列进行整体标注和预测.
实验表明分类模型和序列标注模型都能有效地从挖掘的文本特征中结合市场看法观点,有效地提高了模型的预测精度.
二、基于上述大规模文本挖掘和股票价格序列相关性的分析,我们开发了基于WebInfomall的ChinaStockAnalyst系统.
这个系统通过10年来的文档挖掘,学习到了与各个股票公司关联的文本特征和信号,并通过模拟股市的真实交易验证了我们预测模型的良好效果:结合文本特征和股票序列特征,线性回归模型和SVM分类模型在各个股票的平均回报率均超过15%,远超过同期的大盘整体水平.
7.
2未来的工作通过本文对WebInfomall和中国股票市场的相关性研究和预测,我们发现海量的文档集合中,能够自动化地挖掘出有用的文本特征建立实用的模型,并能取得了较好的预测效果.
同时,对于进一步的研究和从WebInfomall中发掘更多地社会经济价值,我们更加期待和具有信心.
我们相信,本文在WebInfomall的发掘探索方向上,只是一个初步的研究,还有大量的有意义的课题值得我们进一步思考和挖掘.
7.
2.
1股票预测模型的优化我们还可以进一步的优化股票的预测模型,无论是效果或者是模型的普遍适用性.
比如我们发现股票之间有明显的板块性,也就是某些股票之间的关联较大.
通过分析板块股票的趋势,有助于减少预测模型的误差.
此外,某些股票由于冷门或关注度的原因,并没有足够的网页文档用来进行预测,我们可以通过板块股票的相关数据来部分地解决这个问题.
7.
2.
2与社交网络的结合社会网络作为一种新兴媒体,上面的数据流动更快,也有更多的用户信息.
如果能够加入社交网络的文本信息或者是用户网络的结构信息,都能够更好地捕捉股票的趋势,改善预测的模型.
7.
2.
3完善ChinaStockAnalyst系统除了后台的预测和处理,ChinaStockAnalyst系统的一个主要问题就是如何更友好方便的展示股票和市场看法的相关性、以及他们之间的互动效果.
由于目前本文的展示界面还比较粗糙和简单,如何更好的展示会成为一个很大的挑战.
7.
2.
4其他社会文化相关的研究WebInfomall中还有很多有意思的研究可以进行[34][35],如社会文化方面的研究.
我们可以挖掘文本词汇的进化,看看十多年来人们的写作方式或者用语习惯的变化.
各种产业主题相关的网页的不停涌现或者减少,都体现了社会各行各业的发展变化,以及折射了时代的发展进步.
CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...
LOCVPS发来了针对XEN架构VPS的促销方案,其中美国洛杉矶机房7折,其余日本/新加坡/中国香港等机房全部8折,优惠后日本/新加坡机房XEN VPS月付仅29.6元起。这是成立较久的一家国人VPS服务商,目前提供美国洛杉矶(MC/C3)、和中国香港(邦联、沙田电信、大埔)、日本(东京、大阪)、新加坡、德国和荷兰等机房VPS主机,基于XEN或者KVM虚拟架构,均选择国内访问线路不错的机房,适合建...
Contabo自4月份在新加坡增设数据中心以后,这才短短的过去不到3个月,现在同时新增了美国纽约和西雅图数据中心。可见Contabo加速了全球布局,目前可选的数据中心包括:德国本土、美国东部(纽约)、美国西部(西雅图)、美国中部(圣路易斯)和亚洲的新加坡数据中心。为了庆祝美国独立日和新增数据中心,自7月4日开始,购买美国地区的VPS、VDS和独立服务器均免设置费。Contabo是德国的老牌服务商,...