来源:中信建投
机器学习之贝叶斯文本分类算法的实现:--大数据研究之指标构建
NLP主要范畴:切词,词性标注,句法分析,语义分析
新闻情绪指数构建:使用朴素贝叶斯文本分类算法对个股新闻进行正负面分类,根据正负面新闻权重和构建当日新闻情绪指数。
结论:
新闻情绪偏爱主板,2014-1-1 ~ 2016-11-30 主板平均情绪指数698,中小板357,创业板144
正面新闻数量占绝对优势
新闻情绪指数与大盘走势基本一致
Part 1 大数据与量化投资
IBM 最早定义大数据的 5V 特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)、Veracity(真实性)
传统量化投资主要包括量化选股、量化择时、股指期货套利、商品期货套利、统计套利、算法交易,资产配置,风险控制等。传统的量化投资研究的数据来源一般是公司的财务指标、交易行情数据、政策宏观方面的投资信息等。而随着量化投资这一领域的快速发展,这些传统数据中所包括的大部分投资信息已经被专业投资者所挖掘,想要从这些信息中获取收益难度将越来越大。大数据将为量化投资这一领域创造前所未有的可量化的新的维度,为量化投资提供了新的研究视野。如何把大数据这一金矿从数据转变为知识则充满挑战和困难,大数据将驱动量化投资的创新。
Part 2 大数据体系构建
数据采集
目前,国内的相关数据来源主要为第一类上交所,深交所等的公告、财报,监管信息等;第二类财经新闻网站,比如新浪财经,第一财经,东方财富网,中国证券网,金融界,雪球财经,腾讯财经,第一财经等的个股新闻,行业新闻,宏观经济等;第三类社交媒体,比如股吧,贴吧,微博等;第四类为关注数据,比如百度,搜狗等个股每天搜索数量及分析师研报提及个股等。我们目前数据主要爬取新浪财经个股相关新闻,包括 200 多家媒体在内的所有个股新闻。
数据存储
目前我们使用 mysql 存储数据,从 2014 年 1 月 1 号到 2016 年 9 月 26 日,已经有 200 多万条个股新闻数据,共45g 多。技术采用mysql的分表和分区技术。
分表技术包括垂直分表:即一个表字段数量控制在一种范围,过多的话应该适当拆分成几个表。在设计阶段就应该考虑好数据库表字段。分表技术还包括水平分表即把数据过多的表拆分成多个表存储。分表后,逻辑上也已经是不同的子表,操作时,要指定子表操作。
分区将表分离在若干不同的表空间上,即把一个大表分割成若干个小表,分区逻辑上还是一个表,实际物理存储成多个数据文件,用来支撑无限膨胀的大表,给大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。
目前分区主要包括
1.RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。
2.LIST 分区:类似于按 RANGE 分区,区别在于 LIST 分区是基于列值匹配一个离散值集合中的某个值来进行选择。
3.HASH 分区:基于用户定义的表达式的返回值来进行选择的分区。
4..KEY 分区:类似于按 HASH 分区,区别在于 KEY 分区只支持计算一列或多列,且 MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含>整数值。
以上技术应用于小型大数据还可以完美解决,但是超级大型数据则无能为力。
目前有以下几种典型的大数据存储技术解决方案
第一种采用 MPP 架构的新型数据库集群,重点面向行业大数据,采用 Shared Nothing 架构,通过列存储、粗粒度索引等多项大数据处理技术,再结合 MPP 架构高效的分布式计算模式,具有高性能和高扩展性的特点,在企业分析类应用领域获得极其广泛的应用。
第二种是基于 Hadoop 的技术扩展和封装,围绕Hadoop 衍生出相关的大数据技术,应对传统关系型数据库较难处理的数据和场景。第三种是大数据一体机,这是一种专为大数据的分析处理而设计的软、硬件结合的产品,由一组集成的服务器、存储设备、操作系统、数据库管理系统以及为数据查询、处理、分析用途而特别预先安装及优化的软件组成,高性能大数据一体机具有良好的稳定性和纵向扩展性。
数据分析与指标构建
数据挖掘常用的几种方法为:分类分析、聚类分析、关联分析、预测分析、异常分析等等。
Part3 互联网情绪指标
财经新闻指数:
股吧相关指数:
微信公众号指数:
还有微博,个股关注度(搜索引擎搜索数,新闻点击数等等),电商个股相关产品销量,行业相关产品销量,浏览量,银联刷卡个股/行业数据
Part4 新闻情绪指数构建
常用的文本分类方法有支持向量机、K-近邻算法和朴素贝叶斯方法。其中朴素贝叶斯相对简单,运行速度快且分类准确率较高应用相对较广。
4.1 朴素贝叶斯文本分类
贝叶斯分类是以贝叶斯定理为基础的一类分类算法的总称。
公式 朴素贝叶斯文本分类原理A是属性值,B[j] 是类别,求解在给定属性值A{......}下类别可能性最大的 j 是哪一类?
从公式 可以看出Vnb由类条件概率和先验概率两部分组成
贝叶斯分类模型分为以下几类:
(1)多元分布模型 multinomial model(以单词为粒度,不光统计特征值出现不出现还要统计出现的次数)
类条件概率
这里这个公式不是很能理解(n是统计出现次数?N是统计出没出现?)
(2)伯努利模型 (以文件为粒度)
以上两种模型的类条件概率分子中加 1,原因是待分类文本中的属性可能样本中没有,会导致条件概率为 0 的情况. 贝叶斯公式推导前提各个特征不能为 0。因此实现上通常要做一些小的处理,例如把所有计数进行+1(加法平滑(additive smoothing,又叫拉普拉斯平滑(Laplace smothing))。而如果通过增加一个大于 0 的可调参数 alpha进行平滑,就叫 Lidstone 平滑。
4.2 新闻情绪分类实现
预处理:去掉重复新闻,去掉穿插在其中的链接广告等等
导入自定义词典,切词,去掉没有意义的词,日月年的...etc
人工标注正负情绪label,先在训练集上划分验证集,准确率80%,很高了
具体步骤 分类结果4.3 情绪指数构建
对新闻分好类以后,如何构建最终个股的情绪指数??
根据新闻分类结果,分别给予权重,最后加权求和,得到当天的指标值。对于新闻,可分类为正面,负面,在传统的新闻分类研究中,大家分类之后,一般赋予正面新闻与负面新闻等权重,即负面新闻与正面新闻效果等同。而现实中,正面新闻与负面新闻的影响并不是相同的。
假设正面新闻对相应股票影响程度为 1,则负面对应为负 w(w 为任意数)。他们的加权和构建成当天指标。N 天指标和相加可构成 N 天指标。
某个股当天新闻情绪指数=当天所有正面新闻数 n – w*(当天所有负面新闻数量 m)
网友评论