文/周、秦楚
说到基金股票,困惑的不仅仅是金融小白们,就连资深股民买什么都难逃下跌的痛苦。近日,DT君邀请了Merkle的资深数据分析师周和。他们自称金融小白,会以大数据的独特视角带你走进股票和基金。
机器学习在金融市场的应用存在很多不足。其主要问题体现在三个方面:
首先,回溯测试数据和真实市场数据之间的分布可能不同;
二是存在大量无法量化的变量;
第三,财务标的价格决定因素的多样性和复杂性,尤其是对短期股价影响较大的公司层面的消息和宏观经济政策。比如前段时间的中美贸易摩擦,这种突发事件是没有办法提前预测的,这也是美股和a股突然损失惨重的原因。
本文以2017年12月至2018年1月和2018年2月至2018年3月为两个时间段,用Python抓取新浪财经上关于市场评论的评论,目的是利用词云分析,看看这两个时间段新闻层面关注的是什么。
在第一个词云中,我们可以看到有一个很大的词汇“概念股”,这意味着从去年开始,概念股就是一个被频繁提及的词汇。同样,今年2月到3月,概念股仍然是一个被频繁提及的词汇。除去概念股和一些描述性的词,我们还可以看到,去年年底,创业板、白酒、股指、银行也是相对被提及的词;但是从今年开始,我就没见过白酒了。反而看到了券商,军工,金融这些词。除此之外,在这两个数字中,除了占比很大的“概念股”之外,最突出的就是“震荡”二字,这也是——这段时间一直处于震荡行情的印象。
概念股对于金融小白来说是一个很陌生的词。除了查询相关概念,还可以通过数据看到描述概念股时会提到哪些词。
从上面的词云图可以看到独角兽、科技、租售、新区等词。这是今年宏观政策层面经常提到的,尤其是独角兽。这些字云可以让我们对近几个月的a股市场有个大概的了解,就是他一直在震荡。
有了这样的背景,我开始做股票的研究。由于概念股很大程度上受政策影响,但由于政策的不可预测性,本研究主要忽略了政策的影响,通过公司的财务数据和由此计算出的变量对股票的内在价值进行模型预测和分析。
主要使用Adaboost分类算法,利用市值数据和金融机构经常关注的三大财务报表数据来预测涨幅较高的股票。然后通过直接或间接的计算,从企业的三份财务报表中得到公司的财务数据和市值数据,作为我们的数据池。
其实市值数据是打开财经网站经常看到的一些变量,比如股票换手率、公司总股本、公司流通市值、用来衡量公司价值的市盈率等。
实际运行模型时,我们会把所有的数据分成两部分,一部分是训练集,一部分是测试集。我们会在训练集上训练我们的数据,让它达到更高的准确率,形成一个强分类器,然后把这个算法应用到测试集上,看看我们的模型在测试集上能不能得到更好的结果。
Adaboost算法在训练集中可以达到85%的准确率。但如果应用于测试集,其准确率会降低到70%。在选股上,一个70%的准确率能否作为选股的参考标准,还是需要打上一个大大的问号。
从结果来看,当我们看到上述指标的重要性时,那些重要性较高的指标确实是机构选股时经常用到的一些指标,比如总股本。在对金融行业的数据进行了简单的测试后,我们发现既然不能用这种方法得到想要的结果,那么是否可以利用自己的优势,用数据分析的方法来选取更重要的指标呢?
多因素策略是业内最常用、最经典的策略。如前所述,国家政策对行业发展和股票涨跌有重大影响,但由于政策无法量化,难以预测。我们决定剔除这些因素,单纯从数据分析的角度出发,利用现有的财务数据,创建一个多因素策略,选择有升值潜力的股票。
/p>影响股票的因素多种多样,多因子策略就是找出合适的多个因子对股票进行打分。得分最高的一些股票就是优质股票。
首先选取了沪市和深市共2700多支股票,并且获取了2016年间这些股票的每日股价,以及对应时间区间的三大财务报表数据,财务指标以及每支股票的概念板块,形成我们的变量池,共400多个。
随后要从400多个变量中挑选出某几个因子。先通过样本选取、变量recording、变量的筛选、缺失值的填充以及模型的选择和调整来达到初步筛选因子的目的,使变量的数目减少成了80个左右。
紧接着使用逻辑回归,以股票的涨跌(0/1) 变量作为因变量,并且通过不断调整因子,最终得出对股价影响最大的八个因子。在这八个变量中,除了市盈率是按天变化的,其余七个变量都是按照季度进行变化的,并且他们大多数都来自三大财务报表。
有了因子就可以构造策略,因子策略就是在所选股票池内将所挑选的因子线性组合起来,实现对每支股票进行打分,挑选出排名前十的股票,便是所需要的优质股票。
再用回测来证明所选股票,所谓回测就是在过去的时间段内运行策略对结果进行检验。
选用沪深300作为股票池,用冒泡排序的方法,选择因子得分Top10的股票模拟买入卖出操作,设定调仓频率为15天,即我们的策略每隔15天运行一次,并且运用2017年1月1号到本月初的历史数据,分不同时间段进行多次回测,来检验我们的策略。
从过去一年的回测结果来看,大盘的收益率为22.55%,而我们的策略收益率为67%,足足是大盘的三倍,并且该策略的最大回撤仅为7.8%。因此可以说该策略在过去一年中有不错的表现。接着我们以过去半年和过去三个月运行该策略,短期检验效果依然显著,打败了大盘。由于这一策略是每隔15天运行一次,每次Top10股票有进有出。以过去一年的策略运行结果为例,挑选出了持有时间最长的以下九只股票,其中有三支酒类股,六只为长期绩优、回报率高的白马股。在2017年白酒家电类股票表现很强势,以贵州茅台和格力电器为代表的消费白马股成为市场关注的焦点。而白酒板块作为消费类白马股的领军品种,多支酒类股从年初涨到年尾。从后面基金的持仓情况来看,白酒股成为不少绩优基金的重仓股。另外还有两只汽车概念的股票被多次选进策略中。
茅台的价格由去年年初的300多一路飙升到现在的700多,而它的收益也是有目共睹的。
对于上图的八支股票,每支线段的起点代表这支股票被选进策略,终点代表剔除策略被卖出。但有的股票如格力电器和牧原股份有多条线段,这就代表着两支股票先前被选入策略后又被剔除,在之后的某个时间段再次入选策略。而且最终不难发现,绝大多数股票卖出时的股价是高于买入时的股价的。
以上结果表明,多因子策略是经得住考验的,即使是在股价震荡的2017年,依然完胜大盘。
股票型基金是投资于股票市场的基金,其收益率高,但是收益与风险并存,它有专门的基金经理和公司自主决定买入哪只股票来进行资产的配置。因此它的收益率与掌控它的基金经理息息相关。
债券型基金主要投资于像国券、国债、金融债的基金,它的收益稳定风险低,适用于对资产安全性要求较高,并且希望收益稳定的人群。
货币型基金就是以货币市场工具为投资对象,例如余额宝。
混合型基金是指既投资于股票债券还投资于货币市场工具的基金,它的回报风险要低于股票型基金,但是要高于债券和货币型基金。
指数型基金以特定的指数,比如说沪深300为标的指数,是一种被动型的投资方式。
QDII是一种投资境外市场的基金。
为了进一步了解市场上的基金基本情况,我们用Python爬取了天天基金网上所有的公募、私募基金共7000余只,包括不同时期的收益率、风险类型、基金规模、所属基金公司及基金经理等数据。从数据中发现,这些基金归属于124家基金公司,有12万亿元的基金规模,被1300多位基金经理所管理。
从基金的类型占比来看,混合型基金由于它的投资选择多,配置比较灵活,更能满足投资和风控的需要,在数量上是占绝对优势的。 而股票型基金由于它的风险较高,在数量占比上要略低于债券型和指数型基金。从基金的规模来看,基金规模前十的基金公司控制了市场上近一半的基金资产。
从过去一年的平均收益率来看,各类基金的差别并不是很大。排名前十的基金有107%的年平均收益率,净值足足翻了一倍。这归因于第一支基金的年收益率太过抢眼,而拉高了整体的平均收益率。
在这Top10基金中,混合基金就占了六只,足以证明运作良好的混合性基金回报率甚至会超过高收益的股票型基金。
在对基金有了大致了解后,为了考察专业型基金经理持仓情况与用多因子策略挑选出的优质股票有何差异?我们将重点放在股票型基金上。
通过对去年年收益率排名前十的股票型基金分析发现,排名第一的易方达消费行业基金是APP强推的一只基金。在对它的标签做了一个大概的简述后,发现它首先是一只股票型基金,其次它是一个价值型基金,且它的权益基金占到了总资产的83%。选取了这只基金从2016年至2017年每个季度重仓持有的股票的数据,并算出其持仓比均值。
从上图中可以发现,第一名无一例外是去年表现最好的贵州茅台,第二名同样也是酒类股票五粮液,与用多因子策略挑选出的优质基金有重合之处;从它的基金名字“消费行业”中假想消费行业是否在去年总体呈现一个普遍上涨的行情?为了印证这一假想,选取了国泰国证食品饮料行业的指数这一具有普遍代表性意义的基金。
(图片说明:国泰国证食品饮料行业指数 160222)
而且从上图中可以看到,在去年年初到年末,这个代表行业的指数基金确实有着一个上涨的行情。
排名第二的基金是嘉实新消费股票基金。
从它的名字中就能发现这又是一只消费型基金,并且从它的重仓股来看,除了前几名的酒类之外,还有家电行业这些普遍是制造业行业的权重股。除了食品、饮料行业,是否整个制造业在去年都呈现出一个较好的行情?
(图片说明:招商制造混合 001869)
因此我们跟踪制造业整个行业表现的招商制造业混合基金来验证我们的想法。与上面的食品饮料行业相同,去年制造业也呈现着上扬的行情,但今年以来却出现了震荡行情。
注:以上内容根据周秀丽、秦湊在数据侠实验室的演讲实录整理。图片来自其现场PPT,已经本人审阅。本文仅为作者观点,不代表DT财经立场。
编辑 | 王旭晶: wangxujing@dtcj.com
题图 | 站酷海洛
▍数据侠门派
本文数据侠周秀丽,现任南京电通Merkle数据分析师,主要从事CRM(客户关系管理)业务,业务内容主要包括协助世界500强的高科技企业出具业务报告、涉及营销活动、分析营销结果,并用模型帮助客户实现精准营销等等。喜欢阅读和旅行,热爱数据分析行业,希望借助数据了解不同的行业领域。
本文数据侠秦溱,现任南京电通Merkle数据分析师,从事数据分析近三年。熟悉业务分析技能,从数据分析到统计建模,为客户提供量化的营销策略。数据无处不在,希望通过挖掘数据背后隐藏的规律,了解生活,享受生活。
▍加入数据侠
“数据侠计划”是由第一财经旗下DT财经发起的数据社群,包含数据侠专栏、数据侠实验室系列活动和数据侠联盟,旨在聚集大数据领域精英,共同挖掘数据价值。了解数据侠计划详情请回复“数据侠计划”,投稿、合作请联系datahero@dtcj.com。