本文参考国金证券杨勇博士最近发的研报《底部反弹特征统计分析》,在优矿网做一个分析实现。
首先是作出指数的波段划分图,用以确定指数的各个底部。
我写了如下一个函数,可以用于划出各个指数的波段图,虽然写的有点繁琐,但毕竟是可以用。当然我们划出的波段图不仅可以用来找寻顶部、底部。更是可以进一步用来做技术分析,例如波浪理论、缠轮等等。我有关注杨勇老师微信的公众号,其对大盘指数的预测还是非常精准的,用到的也主要是波浪理论、缠轮等。
<matplotlib.axes._subplots.AxesSubplot at 0x6252150>
因为波段图就是一个底部一个顶部相交互,我们筛选出底部的时间点与指数低点
lowestIndex | highestIndex | inflexion | |
---|---|---|---|
tradeDate | |||
2005-06-06 | 998.228 | 1034.853 | 998.228 |
2007-02-06 | 2541.525 | 2677.042 | 2541.525 |
2007-06-05 | 3404.146 | 3768.563 | 3404.146 |
2007-07-06 | 3563.544 | 3785.346 | 3563.544 |
2008-04-22 | 2990.788 | 3148.731 | 2990.788 |
2008-09-18 | 1802.331 | 1942.846 | 1802.331 |
2008-10-28 | 1664.925 | 1786.435 | 1664.925 |
2009-03-03 | 2037.024 | 2088.628 | 2037.024 |
2009-09-01 | 2639.759 | 2727.077 | 2639.759 |
2010-07-02 | 2319.739 | 2386.400 | 2319.739 |
2012-12-04 | 1949.457 | 1980.119 | 1949.457 |
2013-06-25 | 1849.653 | 1963.566 | 1849.653 |
2015-07-09 | 3373.540 | 3748.479 | 3373.540 |
2015-08-26 | 2850.714 | 3092.041 | 2850.714 |
可以看出与研报中的结果相比,少了2016-01-27这个底部,因为实际上从2016-01-27的2638.3的底部至今没有涨幅超过20%的时候,最多的时候是17%。但没有关系我们还是加上去一起统计。
lowestIndex | highestIndex | inflexion | |
---|---|---|---|
tradeDate | |||
2005-06-06 | 998.228 | 1034.853 | 998.228 |
2007-02-06 | 2541.525 | 2677.042 | 2541.525 |
2007-06-05 | 3404.146 | 3768.563 | 3404.146 |
2007-07-06 | 3563.544 | 3785.346 | 3563.544 |
2008-04-22 | 2990.788 | 3148.731 | 2990.788 |
2008-09-18 | 1802.331 | 1942.846 | 1802.331 |
2008-10-28 | 1664.925 | 1786.435 | 1664.925 |
2009-03-03 | 2037.024 | 2088.628 | 2037.024 |
2009-09-01 | 2639.759 | 2727.077 | 2639.759 |
2010-07-02 | 2319.739 | 2386.400 | 2319.739 |
2012-12-04 | 1949.457 | 1980.119 | 1949.457 |
2013-06-25 | 1849.653 | 1963.566 | 1849.653 |
2015-07-09 | 3373.540 | 3748.479 | 3373.540 |
2015-08-26 | 2850.714 | 3092.041 | 2850.714 |
2016-01-27 | 2638.302 | 2768.772 | 2638.302 |
2016-01-27
2638.302 最后一个底部其反弹多少还不能确
定
定
指数低点 | 反弹幅度 | 反弹时间长度 | |
---|---|---|---|
2005-06-06 | 998.228 | 1.999597 | 400 |
2007-02-06 | 2541.525 | 0.706048 | 70 |
2007-06-05 | 3404.146 | 0.266690 | 11 |
2007-07-06 | 3563.544 | 0.718526 | 67 |
2008-04-22 | 2990.788 | 0.265895 | 8 |
2008-09-18 | 1802.331 | 0.294589 | 5 |
2008-10-28 | 1664.925 | 0.443192 | 73 |
2009-03-03 | 2037.024 | 0.707398 | 106 |
2009-09-01 | 2639.759 | 0.273369 | 54 |
2010-07-02 | 2319.739 | 0.373741 | 86 |
2012-12-04 | 1949.457 | 0.254095 | 46 |
2013-06-25 | 1849.653 | 1.799547 | 481 |
2015-07-09 | 3373.540 | 0.240373 | 11 |
2015-08-26 | 2850.714 | 0.292507 | 78 |
2016-01-27 | 2638.302 | NaN | NaN |
恩,统计的结果和杨勇老师的一模一样呢。接下来我们探索以下底部行业超额收益的情况。
得到底部左右超额收益的相关系数,与研报的结论基本一致,行业超额收益反转的现象,过去超额收益率越高的行业,在底部之后的10个交易日之后将收益率越低。
其中-20表示[-20,0]的超额收益,5表示[0,5]的超额收益
index | -20 | -15 | -10 | -5 | 5 | 10 | 15 | 20 | 25 | 30 | 35 | 40 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
index | ||||||||||||
-20 | 1.000000 | 0.794323 | 0.735818 | 0.736515 | 0.284202 | -0.244573 | -0.210857 | -0.299900 | -0.163276 | -0.219598 | -0.195432 | -0.201444 |
-15 | 0.794323 | 1.000000 | 0.955718 | 0.821111 | 0.135788 | -0.348093 | -0.307521 | -0.331221 | -0.197013 | -0.314560 | -0.329344 | -0.312431 |
-10 | 0.735818 | 0.955718 | 1.000000 | 0.852437 | 0.020425 | -0.463183 | -0.430745 | -0.435674 | -0.308467 | -0.425406 | -0.414646 | -0.404961 |
-5 | 0.736515 | 0.821111 | 0.852437 | 1.000000 | 0.050341 | -0.550097 | -0.594889 | -0.630819 | -0.564937 | -0.634865 | -0.606732 | -0.560034 |
5 | 0.284202 | 0.135788 | 0.020425 | 0.050341 | 1.000000 | 0.543161 | 0.333631 | 0.223108 | 0.147777 | 0.101948 | 0.218713 | 0.233550 |
10 | -0.244573 | -0.348093 | -0.463183 | -0.550097 | 0.543161 | 1.000000 | 0.872429 | 0.787382 | 0.667875 | 0.695969 | 0.714106 | 0.719874 |
15 | -0.210857 | -0.307521 | -0.430745 | -0.594889 | 0.333631 | 0.872429 | 1.000000 | 0.937092 | 0.883634 | 0.906957 | 0.887450 | 0.890454 |
20 | -0.299900 | -0.331221 | -0.435674 | -0.630819 | 0.223108 | 0.787382 | 0.937092 | 1.000000 | 0.917893 | 0.897338 | 0.884300 | 0.875722 |
25 | -0.163276 | -0.197013 | -0.308467 | -0.564937 | 0.147777 | 0.667875 | 0.883634 | 0.917893 | 1.000000 | 0.960722 | 0.929674 | 0.902757 |
30 | -0.219598 | -0.314560 | -0.425406 | -0.634865 | 0.101948 | 0.695969 | 0.906957 | 0.897338 | 0.960722 | 1.000000 | 0.944350 | 0.912436 |
35 | -0.195432 | -0.329344 | -0.414646 | -0.606732 | 0.218713 | 0.714106 | 0.887450 | 0.884300 | 0.929674 | 0.944350 | 1.000000 | 0.982007 |
40 | -0.201444 | -0.312431 | -0.404961 | -0.560034 | 0.233550 | 0.719874 | 0.890454 | 0.875722 | 0.902757 | 0.912436 | 0.982007 | 1.000000 |
<matplotlib.legend.Legend at 0x109946d0>

结果与研报的有所不同,可能是行业收益率的计算方式不同,以及我舍去了第一个底部的数据。
我们看下处于反弹时,我们分析结果推荐的行业
房地产 0.025092保险 0.024473证券 0.023604银行 0.021189国防军工 0.016889Name: 5, dtype: float6
4
4
多元金融 0.058046国防军工 0.043713房地产 0.042585建筑材料 0.040470有色金属 0.039688Name: 10, dtype: float6
4
4
建筑材料 0.093642房地产 0.081750有色金属 0.076970多元金融 0.065906电气设备 0.065045Name: 20, dtype: float6
4
4
电气设备 0.140919有色金属 0.127539房地产 0.119225国防军工 0.116397建筑材料 0.108876Name: 30, dtype: float6
4
4
有色金属 0.148778电气设备 0.137068建筑材料 0.124374房地产 0.117752汽车 0.113629Name: 40, dtype: float6
4
4
总结一下
反弹的带头大哥都是银行、保险、证券和房地产等行业,但往后走银行等金融行业的收益率在不断下降,而房地产仍能保持不错的收益率。反弹多天后推荐的行业是有色金属、电气设备、建筑材料、汽车等。