社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

邢不行 • 1 年前 • 345 次点击  

这是邢不行第 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
 
345 次点击