神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】

引言:

邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第1张图片

01

某神秘指标

有这么一个神秘指标,虽然15年来只产生过5次信号,但每次信号后市场都发生了翻天覆地的变化,无一例外。

下图中的蓝色曲线就是这个神秘指标,从2007年开始至今。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第2张图片

指标波动范围介于20%—50%

该指标每个月有一个数据,我们会在每月底计算。如2007年1月底算出来是32.05%。

1.对比沪深300

光看上图,大家可能觉得也平平无奇。我们把这个指标和沪深300指数放在一起对比看。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第3张图片

2007年1月-2021年8月

上图中蓝色曲线代表了该指标,橙色曲线则为同期沪深300指数。

从指标的45%位置画一道线,

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第4张图片

将大于45%的5个月份映射到下面的沪深300指数上,对应下图中标记为1-5的点。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第5张图片

这样可以清楚的发现,当指标大于45%时,次月沪深300指数就会下跌(圆圈内蓝色折线)。尤其是第1、第2个点。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第6张图片 指标信号触发后大盘表现

 当然这并不能说明太多。出现次数不多,第5个点大盘在次月也只下跌了0.28%。

但关键是,这5个点出现的时间点却非常的特殊

2.牛熊转换

首先看第1、2、4个点:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第7张图片 3次牛熊转换

只要观察指数走势或者亲历过,就知道2007年10月、2008年9月,以及2018年1月都是非常重要的牛熊转换节点

如07年10月就是那轮波澜壮阔的大牛市的顶点,当时A股涨到了6000多点。

接下来就是持续一年的熊市,一直跌到了第2个点的2008年9月。说来也巧,随后熊市立即结束,09年出现一波反弹。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第8张图片

再看点4位置的2018年1月。之前蓝筹股的持续上涨带动了一轮蓝筹牛,但是到了点4之后大盘就开始下跌。

所以这3个点精确定位了牛熊的转换:点1、点4预示了牛市的终结、点2则标志着熊市的结束。

3.风格切换

接着来看点3和点5:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第9张图片 2次风格切换 

这两个点出现后市场并未发生明显牛熊转换。

但亲历过的朋友应该知道,点3出现前的2014年10月到12月,市场行情以蓝筹股为主。

代表大盘股的沪深300涨了40%,同期代表中小盘股的中证1000却下跌了1%。市场风格差异巨大。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第10张图片 市场风格从蓝筹股切换为中小盘

 但在点3之后,市场风格就急剧变化。随后的1月到5月中证1000涨了84%,远超同期沪深300指数33%的涨幅。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第11张图片

同样的点5也是如此,就是最近发生的抱团股疯涨与崩盘,大家应该印象深刻。

如下图所示,2020年10月到2021年1月间,大盘股涨幅明显优于小盘股。接下来的2021年2月到8月,由于抱团股的瓦解,沪深300下跌10%,中证1000反而上涨21%。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第12张图片

所以总的来说,点1、2、4代表了牛熊转换,点3、5代表了市场风格转换,这个指标一旦出现信号,市场确实会急剧变化

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第13张图片

既然这个指标如此神奇,那它到底是怎样计算的呢?下文就详细介绍这个指标的原理,相关数据即计算代码也都会提供给大家。

02

指标原理

1.指标原理

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第14张图片 前5%成交额个股的占全部A股比重

这个指标的原理并不复杂:

每月末把所有股票按当月成交额从高到低进行排名,加总排名前5%的股票成交额计算其占当月全部A股成交额的比重,即为指标的值。

下面举例说明。

2.指标案例

在2021年6月末我们将所有4418只股票按当月成交额从大到小进行排名。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第15张图片

可以看到第1名的股票(比XX)当月成交额为2358亿。最后一名的成交额为0.13亿,也就是一个月才成交了1300万。

同时我们可以算出排名前5%(前220名)的股票成交额加总为12万亿,以及所有4418只股票总的成交额是27万亿左右。

计算得到2021年6月前5%个股的成交额占比指标:12 / 27 = 44%。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第16张图片

基于上述计算方法,为方便实时监测该指标,我做了一个相关的网页。

图中白色曲线就是我们的指标,黄色曲线则为同期沪深300指数表现。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第17张图片

也想要实时看到结果的话,可以加我微信xbx297获取网站地址。

03

指标总结

此时我们再回看下图,就能大概明白为什么这个指标可以预示出市场变换了。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第18张图片

以最近的点5为例,当时的行情是极致抱团,抱团股的成交量极高,导致前5%个股成交额占比不断抬升,直到超过45%

但金融市场没有什么会一直发生下去,早晚会均值回归。我们当时就说过抱团股一定会瓦解,事实也确实如此。

所以总体而言,当这个指标超过45%时就意味着我们应多注意未来的风险或机会

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第19张图片

当然没有任何指标是绝对有效的,它只是从某一个角度让我们更清楚的观察市场

对这个指标感兴趣或有想法的,可以在评论区留言或者加我微信xbx297,一起沟通交流。

04

Python量化实现指标

1.获取数据

介绍完指标的原理,接下来我会讲解如何通过Python编程计算指标。零基础也能听懂。

为了计算指标,我们首先要有股票的成交量历史数据。

有编程基础的朋友可以用Python从一些财经网站(网易财经、新浪财经等)抓取数据。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第20张图片 网易财经:quotes.money.163.com/stock

 也可以从我们的量化小讲堂网站上直接下载数据:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第21张图片 量化小讲堂数据网址:www.quantclass.cn/data/stock

这里有已经整理好的所有股票(包括退市股)从上市至今每天的交易数据。

如果需要的话,可以加我微信xbx297,免费获取一份最新的数据。

数据文件下载后如下图所示:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第22张图片 数据展示

文件名就是股票代码,打开后就能看到这只股票每天的交易数据。

2.代码实操

有了数据后结合相应的代码就可以计算指标。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第23张图片 代码可以加xbx297获取

如果尚未安装Python,可以看我之前这篇文章,里面讲的非常清楚:

收藏 | 最最最最简单、最最最最详细的Python和Pandas安装教程

按照它的操作就可以完成安装,大家有兴趣可以看看。下载好后运行代码的界面就如下图所示:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第24张图片 Spyder界面

打开输出运行结果的文件,从2016年11月到2021年8月,每一行都计算了每个月指标的数据。

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第25张图片

运行后的结果文件

同时Python还做了个折线图,如上文展示的一样:

神秘指标一出现,市场立马就变天 | 用Python计算成交量集中度(附代码)【邢不行】_第26张图片

数据、代码可以加xbx297获取

最后你也可以通过每个月观测这个指标来了解目前市场的分化情况,相信能对大家的交易决策有一定帮助。

如果你有其他观测市场的指标,或者对数据、代码感兴趣,都可以加我微信xbx297交流。

你可能感兴趣的:(量化小讲堂,邢不行,python,python,量化投资,股市)