独家记忆---雪球网文本挖掘点滴
Posted XYQUANT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了独家记忆---雪球网文本挖掘点滴相关的知识,希望对你有一定的参考价值。
背景回顾
1.1 不忘初衷,方得初心
传统的基本选股因子和数据源上演了地沟油似的命运,被我们这些“搬砖工”运用再三。奈何,同质化让这些因子的有效性在不断降低,波动性也在不断加大。狭路相逢,分外眼红,大家迫切的想寻找新的有效的因子。我们兴业定量团队也拿着放大镜,焦急而又耐心的想在宽海拾宝贝、漠中觅绿洲。而今年重磅打造的[雪球知股]就是在这种背景下的一种研究投入。期初我们是诚惶诚恐的,因为这种高成本投入的回报是海市蜃楼一般不可预知;过程是曲折而又快乐的,不停的反爬,不停的过滤数据杂质,不停的想从这种新的数据中找到有效的Alpha因子;结果是完美的,100G的数据,3篇沉甸甸的报告(第四篇正在路上),大家的不断认可。
我们在今年的5月、6月、10月陆续推出《雪球知股乎系列之一:和关注度因子有个约定》、《雪球知股乎系列二:百万投资组合里的宝贝》、《雪球知股乎系列三:情绪因子选股正当时》。三篇文章分别研究了用户的三种行为:关注行为、投资组合的调仓行为、发帖行为,进而构建了关注度因子、价值变动因子、情绪选股因子。在相应的报告中验证了三个因子的有效性、特质性、对传统因子的增强作用。鉴于客户的反馈比较积极和热烈,我们就产生了2个念头:1、将雪球网的整个研究流程重新梳理一遍,将报告变薄,呈现给大家精华的部分,正如林语堂所言:绅士的演讲当如迷你裙,短为佳;好的报告亦如是;2、将其中的一些技术细节,如情绪分析、爬虫技术等和大家做一个分享,让这些技术难点不再是大家前行路上的障碍。如这些工作能在大家的日常研究中起到绵薄作用,将倍感荣幸。
这次的微信报告就是基于第一个念头的结果。而整篇微信也将以心得叙事和话语的形式娓娓道来,希望大家能够喜欢。
1.2 为什么选择雪球网?
基于互联网文本数据产生的量化投资方向和策略数不胜数,国外最早有Derwent Capital Markets于2011年发行的基金,国内则红火于2014年10月百度金融和广发基金首推的大数据金融的定量指数百发100。据不完全统计,自2014年10月以来,共计有24只大数据基金产生,而大数据的提供方大部分由BAT或者与BAT关联公司提供,比如百发100、淘金100、南方大数据100等。
其实大数据是真正意义上的UGC(User Generated Content,用户原创内容)反应:让海量的内容和人相关,这样就让干枯的数据变的丰富和有意义起来。在众多互联网平台中,雪球网无疑是最佳的素材提供平台之一。从最早专门讨论美股投资的社区“i美股”算起,雪球的整体运行时间已接近6年。在创始人方三文的一次采访中,他提及:有超过600万人注册了这个中国最大的投资交流平台,每天活跃着100万用户。从抓取的结果来看:425万用户、2,900万篇帖子、1,800万关注行为,亿级别的调仓行为,名副其实的大数据特质。实际上有些基金已经和雪球网进行合作,研发了一些产品。这些产品都或多或少的利用了用户的活跃行为和组合调仓行为。
雪球网有很多功能界面,我们通过爬虫的方式获取雪球网上用户UGC(用户自主生成)的行为内容,这是我们的目的。雪球网用户行为共计有三种:关注行为、发帖行为、投资组合调仓行为。另外,发帖行为是一种非格式化文本,关注行为是一种格式化文本,包括买入、卖出、关注三种行为。
千里之行 始于Data
2.1 雪球网数据抓取
我们采用Scrapy对雪球网的数据进行抓取。而根据雪球网特点,确定抓取的2个维度:从股票界面切入和从用户界面切入。但两种方法均有优缺点,在路演的过程之中也和大家简单介绍过。将两种方法结合,我们完成了雪球网的数据抓取工作。
从抓取结果来看,我们共计获取关注、发帖、投资组合调仓三种行为UGC行为。数据的时间窗口为2010年12月16日至2017年7月21日,共获得4,254,659个用户、51,320,982条基本行为。
2.2 雪球网数更新及存储细节
在路演的过程之中,部分客户对数据的存储和更新频率比较感兴趣。期初,我们没有建立专门的数据库,而是通过csv的形式完成了原始数据的存储。更新频率上,针对于用户的发帖行为、关注行为实现日级别的更新,自动化生成滚动窗口的周度、月度关注度因子(每周末上午完成整个运算);而创建投资组合数据是月度级别更新(由于投资组合的原始ID获取方法较为麻烦导致更新频率较低)。
三因子逐鹿 各有千秋
接下来,我们将介绍基于雪球网用户的三种行为构建的三个选股因子:从因子逻辑、定义、有效性&特质性验证、因子优化和改进、相应的策略构建几个维度一一介绍。这里的特质性分析是指该因子相较于价值、成长、反转、分析师情绪等因子对收益率解释的信息增量。
3.1 关注度因子 大道至简
严格意义上来讲,关注度因子是大数据背景下和量化结合的最普通的一个因子,逻辑非常简单:研究时间窗范围内某只股票被关注/点击/搜索了多少次。根据客户的调仓需求,我们构建了周度以及月度关注度因子。而周度以及月度因子对股票的覆盖度均值分别高达99.3%,93.9%。
周度以及月度因子与流通市值相关性分别为0.386和0.394。行业市值中性化之后月度以及周度因子的IC分别为0.089,0.064,IC_IR也处于高位。
而从分位数组合测试结果来看:各组别的年化收益率和夏普率严格单调,关注度越低,未来收益会越高。其中月度关注度因子的多空组合年化收益率为24.8%,夏普率为2.03;周度多空组合年化收益率为50.24%,夏普率为4.21。(周度因子分位数测试参见往期报告)后面提到的关注度因子均是行业市值中性化以后的结果。
但我们发现该因子换手率较高,月度因子的单边换手率有65%左右。这从一个侧面反映大家关注的热点在不断切换,很难具有持久性。但换手率较高有可能导致因子回测的时候大部分选股有效性会被过于频繁的调仓所吞噬。因此改进因子,降低换手率势在必行。
一般而言,换手率的降低有两种方式,一种是在因子层面,增加连续周期的因子的相关性,另外可以通过换手率缓冲的方式进行控制。而IC衰减测试显示,月度关注度因子半衰期为3个月,周度关注度因子半衰期为4周。因此,为了保证选股能力,分别用过去3个月、4周的关注度值进行平均加权合成改进之后的月度、周度关注度因子。
针对改进的关注度因子进行测试,结果显示改进的周度以及月度因子的IC检测指标均出现小幅度下降,但整体依然非常稳健。同时,换手率大幅度下降。以周度为例,原有关注度因子的换手率衡量指标达到0.66,而用过去4周的关注度合成的周度关注度因子的换手率衡量指标值为0.93,换手率下降了近50%。
3.2 价值变动因子 数据为王
创建投资组合是雪球网在2014年年底推出的功能。有什么具体的意义呢?我们从创始人方三文的采访中或许能有所了解:雪球网把创建投资策略这个事,由特定的少数人,变成了不特定的多数人。简言之,即组合管理行为大众化。
我们以ZH184251(投资组合ID)为例,通过解析ZH184251这个投资组合的调仓行为明细,能得到网页端对应的数据,这里包含详细的调仓对象、时点、仓位、调仓行为是否成功、仓位价值等细节,参见图表-13。
从抓取的结果来看:数据时间窗口为2014年10月至2017年3月20日(2017年3月20日为抓取截止日)。有443,043位用户创建了989,886个投资组合。创建投资组合的日期自2014年10月份开始,而这与雪球网开启该功能较晚有关。 从用户创建&取消投资组合的时间维度分布来看,15年年中创建投资组合达到高峰,而后来爆减并趋于稳定。目前来看,日创建投资组合在200左右。而从取消投资组合的维度来看,自2015年10月开始(该日是雪球网开始推出取消功能的大致时间点)取消行为进入顶峰期,目前雪球网日取消投资组合的数目在300左右。总体来看,关闭的投资组合数目达到16.6万,占比16.6%。
我们欲利用这98.9万个组合的调仓行为构建选股因子。 我们将所有的投资组合重构成一个大的投资组合,观察这个超大的组合的标的月度价值变动。在重构的过程之中着重考虑组合的有效性,删除关闭的投资组合,进而构建选股因子。那么需要做以下处理:1、调仓导致的仓位变动的数据回填;2、组合包含的股票数目限定;3、组合下线之后不再利用。具体的细节参见《雪球知股乎系列二:百万投资组合里的宝贝》。
但我们发现月度价值变动和持仓标的的价格变动紧密相关,这意味着上述方式构建的因子和反转因子的相关性很高。所以,进一步通过截面回归的方式剥离价格变动的影响。
该因子与流通市值相关性较低。行业中性化以后的价值变动因子IC为0.037。
而分位数组合的测试结果来看,组别之间的单调性一般,但是首尾组别的差异性非常大,首组表现出强势的选股能力,年化收益率达到40.38%,夏普率为0.86。多空组合年化收益率达到25.34%,夏普率为3.34,最大回撤为2.67%。因此,因子有进一步研究的价值和意义。
3.3 情绪选股因子 不负面不成佛
这是真正意义上的大数据下的文本挖掘,通过人工打标签的形式,给27,654篇帖子打上“正面”、“负面”、“中性”三种情绪,对3,000万篇非格式化的帖子进行情绪判断,然后构建统计类的选股因子。
磨镰不误砍柴工,让我们首先回顾一下情绪判断的理论基础。情绪分析是通过运用NLP、文本挖掘、计算语言学等技术实现对各种非规范化的文本语言处理,达到相应的情绪判断的目的。目前主流的研究方法分成无监督的文本情感判断和有监督的情感判断。
无监督的情感判断主要运用情感词的相关信息进行文本情绪的判断。该方法面临的问题是:1、需要动态维护情绪库;2、忽略了文本的结构问题,导致部分关键信息的丢失。有监督学习的文本情感分析主要运用贝叶斯模型、支持向量机(SVM,Support Vector Machine)、神经网络等模型进行情感分类。不同的学者对机器学习在情绪分析方面的研究进行了不同的尝试和改进。
这里需要强调一点,无论是通过词库方式判断文本情绪,亦或通过机器学习的方式判断文本的情绪,都需要通过切词的方式对文本进行碎片化、向量化处理。
我们采用机器学习的方式对文本情绪进行判断。可选择的机器学习模型很多,通过对比分析,我们选择SVM作为最终的机器学习模型(该模型在精准度和效率上相对较优)。整个文本处理的流程参见图表-17,而每一步的细节参见我们系列报告《雪球知股乎系列三:情绪因子选股正当时》:
基于前面的整体研究,我们得到了情绪因子的初始数据源,进一步构建情绪因子。每篇帖子的情绪有三种可能:正向情绪、负向情绪、中性情绪。那么,我们分别定义了以下几种类别的情绪因子。
这里,我们研究了三个情绪因子的截面均值历史趋势图。以负面情绪比为例进行说明(正面情绪比与其正好相反),14年至15年7月呈现单调递增的趋势,尤其是15年前半年,当时行情暴涨,但是从负面情绪比指标来看市场表现一定的恐慌情绪;15年8月至今呈现单调递减的趋势,今年以来有一定波动。
对三种因子做有效性测试,从检测结果来看:1、从频度角度分析,周度频度的因子几乎全部失效,没有选股的预测作用;2、从月度因子具体分析,负面情绪比因子有着较强的选股能力,负面情绪比越小/越大意味着未来标的表现越好/越差。
正面情绪因子失效而负面情绪有一定的预测作用这种现象也比较符合实际。国内股市一般是报喜不报忧,正面情绪存在着大量的噪音,很难从中找到有效的选股信息。而一旦股票形成负面情绪,那市场对股票的认可方面可能进入一个低谷,在悲观里面进行切分,悲观情绪较重的股票可能面临着更大的下行空间。 验证中性化悲观情绪比因子在中证500股票池内部的表现。测试结果显示,在中证500股票池内部有较为突出的选股能力,IC达到0.022,IC_IR达到0.4。而观察分位数组合测试的结果发现top组别(悲观情绪比值最小的)年化收益率为21.7%,夏普率为0.65。
3.4 三因子特质性分析
前面唠叨了基于雪球网的三种用户行为构建了三个选股因子,也分别验证了各自的选股有效性。但只有这些因子的选股能力不同于传统的选股因子的时候,我们才能说这次破冰之旅是成功的,这样的研究是有意义的。
研究三大因子与传统的价值、成长、反转、分析师情绪、换手率5大维度的因子相关性(为了精简篇幅,这里我们仅仅考虑月度因子)。通过测试发现:1、基于雪球网构建的三个因子相关性也较低;2、除关注度与换手率相关性较高外,三因子与传统的选股因子相关性较低;3、我们在《雪球知股系列一》中有提过通过截面回归的方式进一步剥离换手率因子,关注度因子依然有效,在此就不赘述。整体上而言,三因子能贡献自己的选股效力。
4 策略构建 三因子各显神通
接下来,我们分别基于三个因子构建选股策略。实际上三个因子单股构建选股策略都会有不错的表现,具体的表现也参见“雪球系列一”-“雪球系列三”。而为了让研究更加贴近实际,我们这里着重介绍关注度以及负面情绪比因子与传统选股因子的结合。针对于关注度以及负面情绪比因子构建策略的共同要求如下:
个股数据:中证500股票池内部选股,剔除不符合条件个股;
行业分类:中信一级行业;
数据区间:2014年1月1日至2017年7月21日;
4.1关注度因子 公司价值的另一面镜子
理论上价值因子是公司信息传导有效性的指标,反映了股票的真实价值。但是该指标真的最大化的反应公司信息了么?从逻辑或者意义上来讲,关注度因子也是某种意义上的公司信息传导指标,关注度低意味着信息传导的慢,有效性需要进一步提升。那么将两者进行结合会有怎样的效果呢?
利用价值因子和关注度因子在中证500股票池内部选股。研究的目的是双因子增强策略对比单独的价值因子的选股策略表现。双因子增强策略选股流程如下:每个月最后一个交易日结束后进行组合的筛选和调整,按照中信行业对价值因子排序、选择每个行业因子值最大的20%比例股票作为初始股票池,然后按照关注度因子进行排序,选择关注度因子最低的20%配仓,按中证500权重配权。单独的价值因子选股策略相对简单:月度调仓、月底选择价值因子最大的10%配仓、行业中性化、中证500权重配权。
从对冲策略的结果来看,双因子增强策略表现稳定的优于价值因子的表现。在年化收益率、夏普率、最大回撤等关键指标方面都得到了大幅度的提升。尤为关键是该双因子增强策略在2014-2017年7月底这近4年的时间都稳定的战胜单因子的对冲表现。
4.2 负面情绪比因子 成长因子的校准神器
中性化负面情绪比因子在中证500股票池内部表现出比较好的选股能力。那么该因子对传统的选股因子有没有一定的增强作用呢?从反转因子的角度出发,当前股票下跌幅度较大的股票未来会有更大的成长空间。那么在下跌的里面找到负面情绪相对较低的股票,即当期下跌的非常严重但是市场情绪又不是那么悲观的股票未来是否能取得更高的超额收益呢?
单独的成长因子以及双因子选股策略调仓模式参见价值因子与关注度因子的结果。那么从测试结果来看:双因子增强策略表现稳定的优于单反转因子的表现。在年化收益率、夏普率、最大回撤等关键指标方面都得到了大幅度的提升。而分年度来看,双因子策略也稳定的优于单因子的对冲策略表现。
5 而今从头 布局未来
未来我们团队针对于雪球网的研究主要着眼于两点:
1、热点聚合的挖掘。根据用户的发帖,聚合热点词汇,进而实现热点轮动的挖掘。
2、为大家提供基于雪球网、主流财经媒体网站(我们也在布局)的周报。如提供周度的市场情绪变动(基于情绪变动因子),周度的市场关注度变动等。
6 结束语
不知不觉间,基于雪球网的三篇报告全部落地。这里对三个因子的整体概况做一个回顾,参见图表-29。另外,“雪球知股系列四”也正在路上,届时希望大家能够喜欢。
回首整个研究历程,从去年年底开始布局整个雪球网的研究计划、到网络文本抓取、再到相应的因子研究,虽然不一定做到步步精细,但我们确有处处打磨;虽然未必做到字字珠玑,但我们定量团队确心有所系。在此和大家分享一些浅见,如能起绵薄作用,将倍感荣幸。
1、互联网文本下的大数据研究难点有二:1)、原始数据的获取,国内大数据的兴起和积累大致是从2013年左右开始有一个突破点,但数据壁垒较高,获取成本很大;2)、如何从海量信息中抽茧剥丝在有效降噪的情况下,聚焦有效信息,研发有效的选股策略。
2、充分利用已有的文本数据,切忌“未来函数”现象的出现。比如雪球网用户的粉丝数、比如投资组合里面的关注人数等,没办法去回溯历史上某一时刻这些指标的数值大小。
3、大数据文本下的类关注度因子(和关注度因子相仿的因子,如点击率等)都有很高的同质性。我们兴业定量团队抓取一些主流的财经媒体网站以及东方财富股吧等数据,这些数据源构建的关注度因子的秩相关性均在0.7-0.8之间。
4、情绪因子真的很“情绪”。情绪分析一直是文本挖掘的一个难题,综合利用到NLP、机器学习等学科。而中文方面的研究更是难上加难:在对汉语进行情绪分析时,首先需要切词,切词的依据是有效的词库。而我们没有一个权威的、成熟的、得到广泛认可的词库。另外,无论是国内亦或是国外基于情绪构建的选股因子的选股并不是特别显著(相对于传统的选股因子而言)。
总结雪球网整体上的研究:新奇的想法、意境上的打磨,尚且不能满足我们的需求,不断的坚持,方能宽海拾贝,漠中觅洲。
详情请参阅相关研究报告《雪球知股乎系列三:情绪因子选股正当时》,或联系兴业金融工程研究团队。
--------------------------------------
联系人:任瞳
E-mail:rentong@xyzq.com.cn
--------------------------------------
联系人:徐寅
E-mail: xuyinsh@xyzq.com.cn
--------------------------------------
联系人:郑兆磊
微信:13918491550
E-mail: zhengzhaolei@xyzq.com.cn
--------------------------------------
以上是关于独家记忆---雪球网文本挖掘点滴的主要内容,如果未能解决你的问题,请参考以下文章