多图解读三大股票指数 沪深300、中证500、中证1000有何细节差异-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 考研考博>>

考研

>>

多图解读三大股票指数 沪深300、中证500、中证1000有何细节差异

多图解读三大股票指数 沪深300、中证500、中证1000有何细节差异

发布:JoinQuant | 分类:考研

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

指数分类的标准有很多,比如说按市场分、按投资标的分、按指数代表性分。从代表性来分类的话,一般可以分为有三类:综合指数、宽基指数、窄基指数。综合指数是指成分股包含所有上市的股票,以反映全市场的状况,最典 ...
扫码加入金融交流群


指数分类的标准有很多,比如说按市场分、按投资标的分、按指数代表性分。从代表性来分类的话,一般可以分为有三类:综合指数、宽基指数、窄基指数。

综合指数是指成分股包含所有上市的股票,以反映全市场的状况,最典型的就是我们所熟知的上证指数、深证指数,其是观察市场整体走势的一个重要指标。我们国内的中证指数公司,就是专门构建各类指数,为投资者提供新的分析工具和投资标的。

今天的文章就集中在对于沪深 300、中证 500、中证 1000指数的量化解读方面,既然是量化,那么可视化必须是其中很重要一个组成部分,我们的文章会提供数据调取和可视化代码,供各位更好理解指数构成以及特性。

一、综合走势与波动率

>>> 沪深300指数

它以规模和流动性作为选样的两个根本标准,并赋予流动性更大的权重,符合该指数定位于交易指数的特点。300 指数反映的是流动性强和规模大的代表性股票的股价的综合变动,可以给投资者提供权威的投资方向,也便于投资者进行跟踪和进行投资组合,保证了指数的稳定性、代表性和可操作性。


>>> 中证500指数

该指数又称中证小盘 500 指数(CSI Smallcap 500 index),简称中证 500(CSI 500),上海行情代码为 000905,深圳行情代码为 399905。中证 500 指数有 3 个构建步骤。

步骤1. 样本空间内股票扣除沪深300指数样本股即最近一年日均总市值排名前300名的股票;

步骤2. 将步骤1中剩余股票按照最近一年(新股为上市以来)的日均成交金额由高到低排名,剔除排名后20%的股票;

步骤3. 将步骤2中剩余股票按照日均总市值由高到低进行排名,选取排名在前500名的股票作为中证500指数样本股。


>>> 中证1000指数

根据金融界网站提供的资料,中证 1000 指数编制方法采用较为普遍的自由流通市值加权法,指数成分股从全部A股中剔除沪深 300、中证 500 指数成分股后,结合流动性标准选取过去一年日均总市值最大的 1000 只股票,综合反映中国 A 股市场中小市值公司的股票价格表现,是中证核心市值指数体系的重要组成部分。

我们通过聚宽研究平台,首先构建一个 list 名单“index_list”,然后通过 get_price 函数调取数据,然后将数据处理成净值,绘制出来,得到以下效果:

我们定日期 2019-04-18 为截止日期,向前推 1000 天,发现最近 4 年来,表现最差的其实是中证 1000 指数,说明了在市场长期价值筛选中,小盘股出现了显著的估值下滑和资金流出。而之前大家对于小盘股的印象则是高波动率和高回报率。


上图就是三大指数的波动率情况,还是同一个时间段,我们使用移动窗口标准差,再除以该窗口期内的价格均值,去价格量纲得到这个曲线,通过研究平台文件我们输出波动率具体值为:

  1. 000852.XSHG 0.034911

  2. 000905.XSHG 0.030969

  3. 000300.XSHG 0.023826
复制代码

这表示 000852.XSHG 中证 1000 指数在全段时间的波动率是最高的,通过蓝线也可以清晰看出。而沪深 300 由于大盘股较多,波动率偏低,中证 500 居中。


这三大指数之间有何种相关关系呢?实际上从走势看,它们毕竟都属于中国股票市场,应该非常相关,我们抱着这个疑问,绘制了全段价格相关性和全段波动率相关性,试图寻找答案。

绘制相关性矩阵需要导入 seaborn 包,其 heatmap 函数就是专门用于热力标色的矩阵图绘制的。分析结果显示,三大指数的走势相关性并不十分高,特别是沪深 300 和中证 1000 差异最大。而波动率相关性分析则体现出更高的结果,说明在出现较大波动时刻,指数的共振还是很明显的,这表现出较高的系统性风险。

二、指数成分股市值特性分析

我们进入所有聚宽的老用户们最熟悉的 get_fundamentals 函数,通过调取 valuation.code、valuation.market_cap 这两项数值,获得股票代码和市值数据,并打印前5行,获得以下效果:

然后我们分别绘制了沪深 300、中证 500、中证 1000 的市值分布,得到以下效果:

我们得到一个直观上很显著的统计特性——中证 1000 的分布最为均匀,首尾差异较小,沪深 300 的市值分布很不均匀,有部分股票市值极大。

通过绘制直方图,可以看到指数成分股(以沪深 300 为例)的市值分布情况:

这里显示出仅有少量样本分布在市值极大的区间,而大部分有统计意义的样本集中在市值 1000 亿元左右的区间。这样的数据分布形态很容易扭曲均值的表达能力,所以针对这类样本,我们应该多用中位数而非均值表达整体特征。

接下来我们使用 4 个简单的统计指标完成对沪深 300 为例的指数的特性描述,分别是:均值、中位数、标准差、极差。

  1. # 均值market_cap_mean_50 = mean(list(df_50.market_cap))

  2. # 中位数market_cap_median_50 = median(list(df_50.market_cap))

  3. # 标准差market_cap_std_50 = std(list(df_50.market_cap))

  4. # 极差market_cap_ptp_50 = ptp(list(df_50.market_cap))
复制代码

经过计算得到:沪深300样本的成分股市值

均值:979.8816889999999

中位数:381.9389

标准差:2070.650186717265

极差:18721.7925

依然是围绕市值,我们分引入箱体图Boxplot,它是一种表示数据分布的方法,一个基本的箱体图从上到下分别表示最大值,上四分位,均值,下四分位,最小值。有的箱体图中还会加入异常值等。

箱体图有以下几个优点:

1. 可以直观明了地识别数据中的异常值

2. 利用箱体图可以判断数据的偏态和尾重

3. 利用箱体图可以比较不同批次的数据形状


通过python的pandas包提供的boxplot()函数即可绘制得到效果。

通过分析三大指数的箱体图,我们看到沪深 300 的样本离群情况最为严重,箱体图主体部分(25%分位到75%分位)被离群点严重压缩。中证 500 表现较好,离群点并不很多。中证 1000 也包含了部分市值较大的股票,主要原因是从 100 亿元到 300 亿元的某些股票可能由于市值上升过快,没能及时被编制更新到中证 500 指数中。

了解一个指数的行业构成也非常关键,我们可以看到其成分股是否在行业方面有过度集中。通过聚宽提供的 get_industry 函数可以获得行业数据。

具体代码为:

  1. industry = get_industry(list(df_50.code))

  2. stock_dict={}

  3. for stock in industry.keys():

  4. try:

  5. # 取到每个股票的【申万一级】行业名称

  6. stock_dict[stock] = industry[stock]['sw_l1']['industry_name']

  7. except:

  8. pass
复制代码

然后我们导入 import matplotlib.pyplot as plt,通过其 pie 函数,可以实现对饼图的绘制。

代码如下:

  1. tt = DFindustry.groupby(['industry_name']).size()

  2. tt1 = list(tt.index.values)

  3. tt2 = list(tt.values)

  4. labels = tt1

  5. fracs = tt2

  6. plt.figure(figsize=(10,8))

  7. plt.axes(aspect=1)# set this , Figure is round, otherwise it is an ellipse

  8. plt.pie(x=fracs, labels=labels, explode=None,autopct='%3.1f %%',shadow=True)

  9. plt.title('成分股行业分布饼图')

  10. plt.show()
复制代码

上图显示的是中证1000指数的行业分布,我们还辅助计算了分布的均匀性,得到结论:

行业数量:28

平均个股数量:35.714285714285715

个股数量标准差:23.84452189685916

个股分布变异系数:0.6676466131120564

结论显示中证 1000 指数在各行业分布均匀,平均每个行业 35 只个股。如果到了沪深 300 领域,这个分布情况发生了如下变化:

可以看到,银行和非银金融占据了非常大的比重,资产较重的交通运输、化工、有色金属和房地产也有较大提升。说明了沪深 300 指数对于金融行业的风险暴露比较大。这里仅展示了上市公司家数分布,如果按照市值展示,情况会更加显著。

我们还可以深入到指数内部去挖掘一个因子——两两相关系数平均值,并通过 for 循环,实现对于每个日期截面的该因子值计算。

程序设计方面,首先通过 get_trade_days 获得一个日期序列,用于循环。然后通过 get_price 提取 20 日价格 DataFrame,再通过 corr().mean().mean() 实现相关系数计算、每个标的相关系数、均值的均值,获得每个日期截面一个值。我们将指数净值化处理,和这个指标绘制在一起,可以看到如图效果:

指数成分股两两相关性均值是一个风险指标,当该值达到较高区间时,说明成分股同向波动显著,一般是市场极度活跃的区间。统计绘图和计算,我们得到:

中证1000:0.36256388612173046

中证500:0.36003023746871143

沪深300:0.3196961076040989

说明指数内部,随着股票数量的增加特别是高 beta 股票的增加,这种风险更加加剧。本次我们仅展示部分简单的统计指标计算,核心都是通过图形化方式,解读指数内部特征,希望读者们也能补充思路,进一步挖掘指数特性,在深刻熟悉指数构成的基础上,即可熟悉alpha因子的挖掘。



点击【阅读原文】,查看完整代码~


「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-7083263-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
经管之家 人大经济论坛 大学 专业 手机版