python获取ETF权重

发布于: 修改于: 雪球转发:2回复:6喜欢:10

周末上交所和深交所发布了一个开发指引意见稿:

核心内容如下:

上交所于2020年7月31日向市场发布《上海证券交易所指数证券投资基金开发指引(征求意见稿)》;而在2020年7月30日至8月14日,深交所就《深圳证券交易所证券投资基金业务指引第1号——指数基金开发(征求意见稿)》向社会公开征求意见。

沪深交易所指数基金开发指引主要内容如下:

(一)标的指数的成份证券数量不低于30只;

(二)标的指数的单一成份证券权重不超过15%且前5大成份证券权重合计占比不超过60%;

(三)发布时间不短于6个月,中国证监会认可的指数基金,其指数发布时间要求可适当放宽;

(四)权重占比合计90%以上的成份证券过去1年的日均成交金额位于其所在证券交易所全部上市股票的前80%。

前款所述宽基股票指数,是指选样范围不限于特定行业或投资主题,反映某个市场或某种规模股票表现的指数。宽基股票指数不受上述限制,但单一标的指数成份股权重原则上不超过30%。

其中这一条 “标的指数的单一成份证券权重不超过15%前5大成份证券权重合计占比不超过60%”,矛头直击当前抱团基金,不过目前只是征求意见稿阶段,并且也只针对对象是指数,并未专门提到公募基金。注意到条件中的“且”,需要同时满足这两个条件。

有一些标题党的自媒体,标题是“重磅xxxxx”,斩钉截铁的语气,会有点误导人的感觉,目前只是一个意见稿,离真正通过会有段日子的。

【本文主要内容:使用python选出满足该指数ETF】PS: 太穷了,没钱买wind呢

不过目前来看指数ETF和许多公募十大重仓股的仓位重合度很高,因为本身指数ETF很大因素是按照市值来获取,而公募当前抱团标的股也是龙头大市值股。

不过其实目前笔者看来,A股的指数ETF的确有不合理的地方,比如一个食品饮料指数里面

食品饮料指数

中证白酒指数

食品饮料指数里有6个是酒,真正意义上算得上饮料的只有伊利股份,算得上真正意义上的食品,双汇火腿肠。

这个指数和白酒指数,消费指数等好几个指数重叠过高,不知道这样定义多个不同的指数意义何在,老外看了会不会觉得中国人天天把酒和酱油当饮料喝 ?

打不过要么加入,要么躲得远远的。鉴于当前意见稿出台,肯定代表了上面部分领导的政策风向,对于指数基金,属于被动基金,如果制定权重的规则变了,下面追踪的被动基金也会自动跟随仓位变化,所以还是以应该避开此类权重过大基金或者此类基金权重较高的个股。

下面的笔者在中证指数网里网页链接 用python获取了全部的指数数据与权重股,权重比例。

该网站上面的数据是最新的,最新持仓是1月22日,上周五的数据,比天天基金上的持仓数据还要新,天天基金上的指数ETF基金持仓数据是12月31日的。

天天基金网,今天的证券公司指数持仓数据是2020-12-31日

中证指数网,今天的证券公司指数的持仓数据日期是2021-1-22日

数据获取与分析

具体抓取流程很简单,这里不具体展开(大部分关注的估计也不care代码哈)

先获取所有指数代码基本数据:

然后进入详情页,获取每个指数的权重股,爬取后得到的数据

官网还提供了excel的数据,里面囊括了对应指数的所有成分股,比前十权重股多很多。

既然有这个数据,顺便也把它弄下来了,里面也有一些有意义的数据。

食品饮料指数全部持仓股:

这里见到我们常见瓜子,饺子,奶茶,鸭脖股等。

筛选数据:

既然有了上面的数据,那么我们就可以选出

单一个股持仓超过15%的指数

前5个持仓个股占所有持仓的60%的指数

部分代码

最后得到共有48个指数的满足条件一【单一个股持仓超过15%的指数】

太长只截图部分数据

去除部分国债指数(本身就是国债指数,国债占了49%)。

最大的一个单一个股持仓比例指数:300非银,持仓的中国平安达到32%的权重,另一个中国互联网50腾讯持股占了30%。

如果只看境内指数,单个个股持仓最大的是399809 保险主题中国平安的持仓达到了28%,而实际该指数对应的基金是 方正富邦中证保险主题指数

有意思的是这个保险主题的指数前十里面居然有个中车和迈瑞,难道它俩也有保险业务?

前5个持仓个股占所有持仓的60%的指数 (去除了国债指数)

共有15个指数满足要求,前五占比最多还是那只保险主题中证白酒排在第三,前五的权重占到72%.

而这15个指数基本都满足当一个股权重占比大于或接近15%(这里笔者使用的阈值为14%,所以部分稍微小于15%的个股也被纳入了,为了保险起见,留有1%的余量)。

上面提到的都是指数,实际上在中证网上的所有指数,并非全部都会对应的基金。举个例子:

比如这个上证工业指数,并没有对应的指数基金与之对应。说明没有发行基金追踪这个指数。

所以需要想要直接获取指数对应的基金名称和代码,可以在这里筛选一遍,这样就不需要拿着指数代码一个一个在天天基金敲,来找出对应的基金了。

因为有些指数会有多个基金在跟踪,对应的差别就是不同基金公司不同规模,而追踪误差差距不会太大。

单一个股权重超过15%的指数对应的基金名称与代码。

感觉一段时间不写文章,写的有些仓促和比较乱。

如果需要文中数据,可后台留言:指数权重 即可获取。为了保持数据的时效性,后台数据有效时间是7天,所以超过7天后网盘链接会失效。

 $港股通50ETF(SH513550)$   $创业板50(SZ399673)$   $贵州茅台(SH600519)$  

首发于公众号:可转债量化分析

全部讨论

2021-01-25 14:07

老哥,可以捕捉实时数据吗?就是那种1分钟内暴涨的股,实时捕捉

2021-02-05 11:43

这个指引,2月1日起已经执行了。

2021-01-25 11:10

技术派就是硬核