前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >A股指数图谱:是否有月份效应?

A股指数图谱:是否有月份效应?

作者头像
量化小白
发布2019-01-22 15:23:04
8790
发布2019-01-22 15:23:04
举报

引言

股市涨涨跌跌,如潮起潮落,千千万万人前赴后继试图寻求股市涨跌的规律,破解投资和财富增值的密码,然而大多数人都无功而返。获得投资经验有四种方法:实践、历史、理论和统计。大多数人是通过第一种,即实际操作,这是最重要的经验获取方法。但是实际操作经验存在时代背景偏差,且经验积累非常有限,特别是对于经历少于一两轮股市周期的交易者而言。好的投资策略一定是历史和逻辑的统一,通过多层次、多维度的思考,综合利用理论、统计和历史研究方法,通过在实践中检验,不断优化自己的投资哲学和策略。今天为大家分享如何运用Python编程语言,实现对A股历史走势、涨跌频率和“月份效应”的量化分析和统计检验,试图从历史数据中挖掘有用的信息。尽管交易市场是人性的复杂博弈场,其涨跌规律难以准确度量,但历史总是惊人的相似,正如《圣经》所言:“已有的事,后必再有。已行的事,后必再行,日光之下并无新事”。

探讨问题与分析思路

本文以Python为量化工具,主要探讨以下三个问题: (1)A股历年涨跌情况如何,如何可视化分析? (2)A股市场是否存在“月份效应”呢,如“1月效应”? (3)如何利用Python可视化工具对指数进行图谱分析?

编程软件:基于Python3.7的Jupyter Notebook,使用到的库包括numpy、scipy、pandas、matplotlib、seaborn、pyecharts和tushare等。

数据来源:使用tushare开源包获取上证指数、深证指数、沪深300、上证50、中小板和创业板1993-2018年数据,其中中小板和创业板是2011年-2018年数据。

“月份效应”检验思路:(1)将数据分成两组:m月份和其他月份;(2)检验两组数据的平均值是否相等。

源代码:Talk is cheap, show me the code (废话少数,放码过来!),关注Python金融量化(id:tkfy920)并回复"月份效应源码”免费获取。

查看K线图

先来一个热身动作,展现上证指数1993-2018年历史行情的K线图。这里再次安利百度的Python开源包pyecharts,画出来是一个交互动态的图,可以根据时间段选择不同的可视化范围。

年收益率情况

1993-2018年历年对数年收益率

计算上证指数每日的对数收益率,然后加总到每年,统计每年的涨跌幅情况,使用pyecharts画动态交互的柱状图。

从1993年至2018年,上证指数有13年是下跌的,另外13年是上涨的,很fair哦,看来上证指数是属天秤座的。其中,跌幅最大的五年分别为:2008年(-65.39%),1994年(-22.30%),2018年(-21.85%),2011年(-21.68%),2001年(-20.62%);涨幅最大的五年分别为:2006年(130.43%),2007年(96.66%),2009年(79.98%),1996年(65.14%),2014(52.87%)。平均收益率35.12%,标准差为135.24%,可见,尽管A股市场波动性非常大,特别是前十年,但是整体上来看,并没有大家口中说的那么糟糕。但是为啥赚钱的永远是少数人呢?本质上是因为“知情者”总是是少数的,而财富遵循“幂律分布”(二八法则)。

月份效应检验

所谓“月份效应”,主要是指股票市场中存在某个或某些特定月份的平均收益率年复一年显著地异于其他各月平均收益率的现象。有实证研究表明,美国股票市场表现为“1月效应”,即1月份的平均收益率为正,且显著高于其他月份的平均收益。该现象最早由Wachte1(1942)发现,但直到1976年Rozef和Kinney系统地将这一异象揭示出来,“1月效应”才引起金融界的注意。美国等发达国家对“月份效应”的讨论和研究已走向成熟,但是由于A股运行时间较短,并且由于文化差异(节假日安排)导致的交易时间不一致,其“月份效应”特征可能异于我国。

检验思路很简单:(1)将数据分成两组:m月份和其他月份;(2)检验两组数据的平均值是否相等。

各月份收益率描述性统计如下图:

各个月历史收益率的单样本t检验(检验均值是否异于0)、双样本t检验(检验某月份与其余月份收益率是否存在显著差异),结果如下表所示。从结果不难看出,只有二月份的p值分别在5%(单样本)和10%(双样本)的置信水平下是显著的,即统计上表明,二月份的收益率显著为正,且与其余月份收益率存在显著差异。或者可以不那么严谨的认为,上证指数的“月份效应”主要表现在“二月份”上。可能解释:第一,资金面的季节变化,股市年末往往面临各种形式的资金抽回,而年初这些资金又会回流,资金运动规律驱动;第二,重大利好政策大都在2、3月份发布,从而引发“二月份效应” 。

统计了下1993-2018年上证指数二月份涨跌情况,发现上涨次数超过下跌次数,即样本统计认为二月份上涨的概率达到69.23%(当然,不同样本区间,该结果可能不一样,特别是将1991年和1992年考虑进来发现该比例达到78%)。此外,下面给出了1-12月份收益率的相关性系数热力图,一般而言,每个月与前一个月和下一个月相关性最高,但最高相关性不超过0.6。

其他指数情况

股票指数是反映股票市场总的价格水平变化的指标。一般是选取有代表性的一组股票,采取价格加权平均计算得到。各种指数具体的股票选取和计算方法是不同的,只看单一股票指数可能难以反映总体情况。下面对照分析上证指数、深证指数、沪深300、上证50、中小板和创业板指数,由于创业板是2010年才推出,因此下面的分析主要基于2011年-2018年数据。

相关性热力图显示,各指数之间存在高度的正相关关系,其中沪深300与上证综指相关性高达0.98。主要是因为上证指数是采用市值加权平均的,所以常常看到“国家队”通过买入两桶油、四大行之类的超级大市值股票来“救市”(拉指数)。

下图给出了2011-2018年期间,各指数的年收益率情况,可以说是各有千秋。其中,创业板在2013年和2015年表现非常抢眼,最高涨幅远远高于上证指数;上证50相对而言,比较稳健,在2017年经济下行,创业板大跌时,强行表现了一波。

下面使用年收益率(月收益率可能更好)计算各指数的夏普率,即收益率均值减去无风险利率再除以标准差,对于指数基金投资和定投有一定的评价参考意义。从图中不难看出,创业板的夏普率比其他指数表现较好。

最后,再给出各指数历年二月份的涨跌统计频率。

结语

本文使用Python深入挖掘了A股相关指数的历史行情,采用简单的统计方法和可视化工具对其“月份效应”进行了初步分析和探讨,同时展示了pyecharts在动态交互可视化上的强大功能。“以史为镜,可以知兴替”,在判断未来走势的时候,不要赋予当前信息过高的权重,实际上,当你将历史拉长来看,当你以为处于顶峰的时候,往往正处于山脚。最后以罗伯特·J·希勒《非理性繁荣》里的一句话作为结束语:“事后聪明使人们认为世界实际上很容易预测。

◆ ◆

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量化小白躺平记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 探讨问题与分析思路
  • 查看K线图
  • 年收益率情况
  • 月份效应检验
  • 其他指数情况
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档