邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助
有这么一个神秘指标,虽然15年来只产生过5次信号,但每次信号后市场都发生了翻天覆地的变化,无一例外。
下图中的蓝色曲线就是这个神秘指标,从2007年开始至今。
指标波动范围介于20%—50%
该指标每个月有一个数据,我们会在每月底计算。如2007年1月底算出来是32.05%。
光看上图,大家可能觉得也平平无奇。我们把这个指标和沪深300指数放在一起对比看。
2007年1月-2021年8月
上图中蓝色曲线代表了该指标,橙色曲线则为同期沪深300指数。
从指标的45%位置画一道线,
将大于45%的5个月份映射到下面的沪深300指数上,对应下图中标记为1-5的点。
这样可以清楚的发现,当指标大于45%时,次月沪深300指数就会下跌(圆圈内蓝色折线)。尤其是第1、第2个点。
当然这并不能说明太多。出现次数不多,第5个点大盘在次月也只下跌了0.28%。
但关键是,这5个点出现的时间点却非常的特殊。
首先看第1、2、4个点:
只要观察指数走势或者亲历过,就知道2007年10月、2008年9月,以及2018年1月都是非常重要的牛熊转换节点。
如07年10月就是那轮波澜壮阔的大牛市的顶点,当时A股涨到了6000多点。
接下来就是持续一年的熊市,一直跌到了第2个点的2008年9月。说来也巧,随后熊市立即结束,09年出现一波反弹。
再看点4位置的2018年1月。之前蓝筹股的持续上涨带动了一轮蓝筹牛,但是到了点4之后大盘就开始下跌。
所以这3个点精确定位了牛熊的转换:点1、点4预示了牛市的终结、点2则标志着熊市的结束。
接着来看点3和点5:
这两个点出现后市场并未发生明显牛熊转换。
但亲历过的朋友应该知道,点3出现前的2014年10月到12月,市场行情以蓝筹股为主。
代表大盘股的沪深300涨了40%,同期代表中小盘股的中证1000却下跌了1%。市场风格差异巨大。
但在点3之后,市场风格就急剧变化。随后的1月到5月中证1000涨了84%,远超同期沪深300指数33%的涨幅。
同样的点5也是如此,就是最近发生的抱团股疯涨与崩盘,大家应该印象深刻。
如下图所示,2020年10月到2021年1月间,大盘股涨幅明显优于小盘股。接下来的2021年2月到8月,由于抱团股的瓦解,沪深300下跌10%,中证1000反而上涨21%。
所以总的来说,点1、2、4代表了牛熊转换,点3、5代表了市场风格转换,这个指标一旦出现信号,市场确实会急剧变化。
既然这个指标如此神奇,那它到底是怎样计算的呢?下文就详细介绍这个指标的原理,相关数据即计算代码也都会提供给大家。
这个指标的原理并不复杂:
每月末把所有股票按当月成交额从高到低进行排名,加总排名前5%的股票成交额,计算其占当月全部A股成交额的比重,即为指标的值。
下面举例说明。
在2021年6月末我们将所有4418只股票按当月成交额从大到小进行排名。
可以看到第1名的股票(比XX)当月成交额为2358亿。最后一名的成交额为0.13亿,也就是一个月才成交了1300万。
同时我们可以算出排名前5%(前220名)的股票成交额加总为12万亿,以及所有4418只股票总的成交额是27万亿左右。
计算得到2021年6月前5%个股的成交额占比指标:12 / 27 = 44%。
基于上述计算方法,为方便实时监测该指标,我做了一个相关的网页。
图中白色曲线就是我们的指标,黄色曲线则为同期沪深300指数表现。
也想要实时看到结果的话,可以加我微信xbx297获取网站地址。
此时我们再回看下图,就能大概明白为什么这个指标可以预示出市场变换了。
以最近的点5为例,当时的行情是极致抱团,抱团股的成交量极高,导致前5%个股成交额占比不断抬升,直到超过45%。
但金融市场没有什么会一直发生下去,早晚会均值回归。我们当时就说过抱团股一定会瓦解,事实也确实如此。
所以总体而言,当这个指标超过45%时就意味着我们应多注意未来的风险或机会。
当然没有任何指标是绝对有效的,它只是从某一个角度让我们更清楚的观察市场。
对这个指标感兴趣或有想法的,可以在评论区留言或者加我微信xbx297,一起沟通交流。
介绍完指标的原理,接下来我会讲解如何通过Python编程计算指标。零基础也能听懂。
为了计算指标,我们首先要有股票的成交量历史数据。
有编程基础的朋友可以用Python从一些财经网站(网易财经、新浪财经等)抓取数据。
网易财经:quotes.money.163.com/stock
也可以从我们的量化小讲堂网站上直接下载数据:
量化小讲堂数据网址:www.quantclass.cn/data/stock
这里有已经整理好的所有股票(包括退市股)从上市至今每天的交易数据。
如果需要的话,可以加我微信xbx297,免费获取一份最新的数据。
数据文件下载后如下图所示:
文件名就是股票代码,打开后就能看到这只股票每天的交易数据。
有了数据后结合相应的代码就可以计算指标。
如果尚未安装Python,可以看我之前这篇文章,里面讲的非常清楚:
收藏 | 最最最最简单、最最最最详细的Python和Pandas安装教程
按照它的操作就可以完成安装,大家有兴趣可以看看。下载好后运行代码的界面就如下图所示:
打开输出运行结果的文件,从2016年11月到2021年8月,每一行都计算了每个月指标的数据。
运行后的结果文件
同时Python还做了个折线图,如上文展示的一样:
数据、代码可以加xbx297获取
最后你也可以通过每个月观测这个指标来了解目前市场的分化情况,相信能对大家的交易决策有一定帮助。
如果你有其他观测市场的指标,或者对数据、代码感兴趣,都可以加我微信xbx297交流。