- 功能描述:获取各类指数成分和权重
- 返回限量:单次请求最大返回7000行
- 接口权限:2000积分200次/分钟,5000积分500次/分钟
- 说明:
1. 数据最早2005/05/01;
2. 官方和本文作者均推荐使用当月第一天作为开始日期(
start_date)和当月最后一天作为结束日期(end_date)来获取某个月的指数成分及权重数据;
输入参数:
名称 |
类型 |
必选 |
描述 |
index_code |
str |
Y |
指数代码 |
trade_date |
str |
N |
交易日期(格式YYYYMMDD,下同) |
start_date |
str |
N |
开始日期 |
end_date |
None |
N |
结束日期 |
- 可通过
index_basic接口获取指数代码;
输出参数:
名称 |
类型 |
默认显示 |
描述 |
index_code |
str |
Y |
指数代码 |
con_code |
str |
Y |
成分代码 |
trade_date |
str |
Y |
交易日期 |
weight |
float |
Y |
权重 |
- 本接口的输出参数权重(
weight)是百分比数值;
示例:
示例1:获取某指数的成分及权重信息,并筛选出前10大权重股
通过传递index_code可指定获取哪个指数的成分及权重数据,添加start_date和end_date可指定返回哪个时间段的成分数据。
- 虽然输入参数中有
trade_date,本接口是月度数据,官方和本文作者均推荐使用当月第一天作为开始日期(start_date)和当月最后一天作为结束日期(end_date)来获取某个月的指数成分及权重数据;- 虽然目前该接口数据是每月最后一个交易日进行更新,但没准为了时效性,Tushare团队以后很可能会在指数发生调整公布之后就进行更新。所以为了保险起见,不要使用
trade_date而是使用时间区间;
import tushare as ts pro = ts.pro_api() df = pro.index_weight(index_code='399300.SZ', start_date='20260601', end_date='20260630') if not df.empty: # 按权重降序排列 df_sorted = df.sort_values('weight', ascending=False) df_sorted.head(10)[['con_code', 'weight']]
输出结果:
con_code weight 0 300308.SZ 5.008 1 300750.SZ 3.675 2 300502.SZ 2.992 3 600519.SH 2.620 4 603986.SH 1.925 5 601318.SH 1.799 6 688256.SH 1.772 7 600036.SH 1.554 8 601899.SH 1.465 9 002371.SZ 1.354
说明:
本文说明
本文旨在对Tushare的指数成分和权重index_weight数据接口进行介绍,提供更多参考示例和使用说明。
本接口用于获取各类指数成分股及其权重数据的核心工具。它提供了指数在特定日期的构成明细,是进行指数追踪、策略基准构建和因子分析的基础数据。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。