HS300指数成分股调整带来的机会

HS300指数成分股调整带来的机会

接触量化投资这一领域也有好长时间了,泡ricequant也有段时间了,一直没有动手操作。在社区里少见事件驱动的策略,受最近HS300成份股调整启发,动手研究了一下HS300成份股是否能够给我们带来惊喜。

众所周知,随着我国金融行业的发展,中证公司推出了一大堆指数,其中HS300、中证100等指数大家都比较熟悉;更重要的是,出现了越来越多以指数为标的的ETF,以HS300为例,有如下ETF以HS300为标的(部分):

{图片仅截取部分ETF名称,全文请见中证指数沪深300相关产品}

按照中证公司对沪深300指数的调整规则,我们可以发现,一般情况下,中证公司每年六月和十二月会对指数成份股进行调整,每次调整比例不超过10%。当然,此处不考虑平时个别成份股调整。

笔者的考虑是:当成份股调整的时候,基金经理为了调整基金成分,务必会买入被调入股票进行建仓,因此,HS300的成份股调整务必会带来短期的超额收益。于是,笔者利用RQ平台对此进行了验证。

首先,根据HS300管理规则,有三个重要日期值得我们关注,一是考察期、而是名单公布日期、三是执行日期。在本文中,我们主要关注名单公布日期,因为,到名单执行日期,各大基金经理已经完成建仓了。具体如下图所示:

点开任意一个链接:【我也不懂为何发这么多条公告】

我们可以看到,2014年12月1日发布公告,给出调整名单,2014年12月15日执行。

【PS:此处很难用index_components函数去拿到调整名单;因为index_components只有等到名单更新后,此处具体为20141215号才能获取到HS300成分股改变,而此时进场貌似已经没有机会了。】

显然,此处的关键在于我们得准确知道公告的发布日期。

于是,笔者手动去中证指数有限公司去扒了从2011年到2014年共八次公告发布时间,并拿到了调整名单。【后文会谈到如何改进问题】

public_time=['2011-06-13 15:00:00','2011-12-12 15:00:00','2012-06-11 15:00:00','2012-12-17 15:00:00','2013-06-17 15:00:00','2013-12-02 15:00:00','2014-06-03 15:00:00','2014-12-01 15:00:00']

调入名单:【在进行策略测试时,笔者自行从本地导入了八次调整的调整名单】

利用RQ平台进行了八次回测,研究在名单公布后几天,调入的成分股是否会带来超额收益,回测结果如下:

1、2011-06-13

2、2011-12-12

3、2012-06-11

4、2012-12-17

5、2013-06-17

6、2013-12-02

7、2014-06-03

8、2014-12-01

对比八个回测结果可以看出,在公告发布后,买入持仓【策略里写有卖出代码,不过在这一阶段研究中,仅研究买入带来的超额收益】大概10天,八次操作中,基本上有六次明显的超额受益,有两次没能跑赢大盘,胜率可以达到3/4.当然,测试次数比较少,存在一些质疑。

从这个比较粗略的测试当中我们可以看出,HS300成分股调整确实能给我们带来超额收益。

另外,从笔者写的一个错误回测来看,本策略的特点在于其回撤比较小。由于交易次数太少,夏普率比较难看。。。。

后记:

问:为什么只测试到2014年? 答:因为笔者没有在该网站上找到2015年以及2016上半年的调整公告。

问:手工爬取?答:这个问题比较好处理,直接写个爬虫就可以规模化处理了。

问:为何不进行完整回测? 答:对RQ平台不熟,卖出时遭遇停牌等问题。。。还得进一步处理

问:即使是事件驱动,但是一年两次的操作机会是不是太少?答:由于时间原因,只能研究了HS300的问题。但是进一步考虑,我国金融市场上已经有大量标的指数的基金存在,我们可以同时监测多个基金,就可获得多次交易机会。这也是笔者接下来的研究方向,利用爬虫爬取多个指数成分股调整时间,进而回测多个指数成分股调整带来的投资机会。

附中证指数部分指数样本股调整调整频率:

最后,笔者最近查这方面资料时,发现了如下一个帖子,启发了另外一个想法,

链接:成分股预测

笔者最近在学习机器学习相关算法,为何我们不可利用机器学习进行预测被调入名单呢?

让我们拭目以待。

米筐量化交易平台:http://www.ricequant.com

量化炒股QQ群:484490463  群内大神每日在线讲解代码,用Python自动赚钱!

你可能感兴趣的:(HS300指数成分股调整带来的机会)