-
功能描述:获取各类指数成分和权重
-
返回限量:单次请求最大返回7000行
-
接口权限:2000积分200次/分钟,5000积分500次/分钟
-
说明:
数据最早2005/05/01;
官方和本文作者均推荐使用当月第一天作为开始日期(
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而是使用时间区间;
python
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']]
输出结果:
XML
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团队。本文另一个目的也是为了聚集大家的智慧以创建"我为人人,人人为我"的共创氛围。