Py学习  »  Python

A股月份效应 | Python量化A股市场魔咒,5穷6绝7翻身准确吗?| 邢不行

邢不行 • 5 月前 • 111 次点击  

这是邢不行第 99 期量化小讲堂的分享

作者 | 邢不行、密斯锌硒



A股有很多广为流传的谚语,它们大多源于投资者对交易经验的总结和共识



比如我们之前验证过的散户反买别墅靠海、跳空必回补等谚语。


今天我们要验证的,是五穷六绝七翻身这句谚语。



它的意思是A股5月、6月可能会跌的很惨,到7月会开始反弹回升。


这句谚语并非A股独有,港股也有类似的说法,美股也一直有SELL IN MAY的传说。



当然本文我们只针对A股做相关的研究,看一看A股是否如谚语所言,会在5月、6月大概率下跌,在7月大概率上涨


我们也会尝试总结其中的规律,以此形成一个有助于我们交易的策略。



01

月份效应


1

数据代码


为了验证五穷六绝七翻身的说法,我们找来了大家最熟悉的上证指数、代表大盘的沪深300、代表小盘股的中证1000指数、以及包含绝大部分股票的中证全指的数据。



还编写了相应的Python代码来进行验证。



如果你需要这个数据和代码的话,可以加我微信xbx6550,都是可以直接免费发给你。


2

每月胜率


具体结果如图所示:



从2005年到2022年这18年间,5月、6月、7月上涨次数分别是10次、10次和11次上涨概率大于50%,总体来看涨多跌少。


这个结果貌似并不符合穷六绝的说法。


并且如果你仔细观察表格,就可以发现另一个有趣的现象。



2月份上涨概率极大,18年上涨14次,胜率高达78%。反观3月则下跌概率最大,18年下跌11次。


我们甚至可以看看其他指数的表现:



和上证指数类似,5月、6月、7月涨多跌少2月上涨概率最大,3月下跌概率最大。


我们将表格转为柱状图做更直观的对比:



2月胜率遥遥领先3月表现极差;5月、6月并没有出现五穷六绝的现象;7月份大多保持高胜率


3

每月平均收益


当然有一定交易经验的朋友都知道,我们不能只看胜率,毕竟高胜率不等于高收益


我们还应该去看每个月的平均收益



我们也做了相关统计,结果很是耐人寻味:



5月平均收益为正,中证1000指数表现尤佳。


6月指数收益显著为负,是所有月份中平均收益最低的,符合六绝的说法。


7月也确实翻身了,平均收益为正,各指数表现良好。



2月指数的表现则遥遥领先,中证1000的平均收益甚至高达7.6%。



因此图中最明显的结论并非所谓的五穷六绝七翻身,而是2月收益惊人,6月实属六绝。



02

月份择时策略


1

单月策略


我们甚至可以构建一个简单的量化策略来对比各月份间的不同表现。


假设我们每年只在2月/6月去买入相应指数,其他月份空仓,结果又将如何?



我们仍借助Python代码来进行验证。



如果你对这个代码感兴趣的话,可以加我微信xbx6550,都是可以直接发给你的。


具体结果就如图所示:



2005年至今,代表只在2月买入指数策略的橙色曲线1元涨到了1.7元


这是你每年只花一个月去投资,其他时间都不动的结果,整体收益已然不错。


代表6月的绿色曲线1元跌至0.65元跌35%。与2月的差距显而易见。


2

指数择时策略


在此基础上我们可以构建一个指数投资策略:


每年在2月持有上证指数,并在6月做空,其他时间我们持有货币基金(假设货币基金每月平均收益为0.2%)。



这样一个简单的策略能帮我们赚钱吗?


相关代码已为大家准备,如果你需要的话,可以加我微信xbx6550,都可以免费发给你。



最终结果如图所示:



代表策略的橙色曲线1元涨到了3.38元,不仅跑赢了指数本身,还非常稳健最大回撤极低。



03

数据应用


至此我们发现A股有较明显的月份效应。


但以上结果都是我们基于数据统计得到的,任何统计数据大家一定要留一些心眼


因为有时单纯的统计结果并不一定能让人信服,最好还要有理论上的解释来呼应


1

无意义规律


比如有人和我说过他发现上海的天气会影响上证指数的涨跌幅。



还有人跟我说月相会对股市的涨跌有影响,他会据此交易,甚至这方面还有相应的学术论文



在我看来这些方向并无意义,哪怕上海的天气或天上的月相从数据上呈现出一定的规律,能对指数产生影响,我也只认为是过渡拟合的结果,至少我本人是不信的。



而至于上文发现的A股在2月容易上涨,6月容易下跌,其实也有相关的理论解释。


2月上涨无非是因为春节期间资金总体宽裕,大量会议召开并发布相关政策,又恰逢上市公司年报发布期等。



而6月易下跌则是因为没有固定的宏观事件市场缺乏明确的主线,处于比较混沌的状态等等。



但这些解释在我看来或多或少也有些马后炮的意味在里面,并不能让我完全信服。


并且我们只用到了过去18年的数据,每个月只做了18次统计,样本量太小。


2

有意义规律


而我们之前文章验证过的周内效应(周四更容易下跌)则不同。


点击上图阅读文章


它每周都有数据,20年间累积了1000多条。这个样本量下得出的结论我也更愿意用到实盘交易中,我自己实盘的策略就有部分会在周四时选择



而反观月份效应的结论,我个人则不敢直接投入实盘使用,相信在座的各位也有类似的想法。



当然我们的研究也不是毫无作用的,以后我可能会在2月的持仓上更激进,而6月更谨慎


比如原本6月我的策略仓位是100%,我可能会人工干预到85%的仓位,但也仅此而已。


04

后记


文章的最后,和大家分享一点量化投资的心得。


经常有人问我小白如何入门量化投资,有什么资料分享。


我特意为大家准备了一个《量化投资新手学习大礼包》。



首先是我们自己总结的适合零基础新手的量化投资学习路径,可以让你知道自己每一步需要达到什么阶段。



接下来你可以通过我整理的量化文章合集,来更全面的了解量化投资到底是什么。



我还精选了适合各个学习阶段的策略研报合集,正如我一直所说,量化研报是很好的量化实践项目,深度研报可以显著提升你的量化水平。



这一份代码则适合喜欢研究技术指标的人,你可以跟着教程轻松计算出所有技术指标,并测试这个指标的有效性。



如果你有一定的基础,还可以尝试回测一些策略,我为你准备好了十几个不同类型的经典策略和它们的代码,相信总有一个适合你自己去魔改开发,运用到实盘。



最后也是最关键的,量化的基础就是准确的历史数据,我会送你一份股票历史日线数据和一份财务数据,你可以用它测试所有技术指标和财务指标,也可以用来回测大部分策略



识货的你一定能够发现这个大礼包的价值吧。如果你需要的话,可以加我微信xbx6550,都是可以直接免费发给你的。


联系作者


往期文章推荐

股东刚减持,股价却起飞?用Python量化A股解禁数据,利空出尽是利好? | 【邢不行】

量化散户交易数据:追涨爆亏99%,杀跌少赚28倍?| 追涨杀跌一时爽,散户钱包火葬场?【邢不行】

散户打板,一夜暴富?Pyhton量化11万次涨停,跟着买,收益竟...?【邢不行】

颠覆认知!“垃圾股”策略长期跑,10年翻100倍、近2年6倍,吊打茅指数!| 【邢不行】

分析师的嘴,骗人的鬼?年薪百万的券商分析师靠谱吗?Python量化大数据给你答案!【邢不行】

量化验证:基金经理自购最多的基金,跟买能赚钱吗?【邢不行】

Python量化避雷指南:一直买负债最多的公司,会亏成啥样?【邢不行】

用Python量化定义MACD,找出A股全部12万次顶底背离,胜率究竟有多少?附代码【邢不行】

从零编写60%+胜率的短线择时信号!零基础python量化投资代码详解【邢不行】

邢不行 | 妙用北向资金找出大盘买点、卖点,跟着操作6年4倍【附代码】

常见量化投资误区合集,量化交易新手脱坑指南 | 邢不行

期权骚操作:逃顶比特币,还能额外赚【比特币逃顶系列1】

邢不行 | Python量化 + 数字货币 + 轮动 = 4年1000倍【附代码】


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156010
 
111 次点击