- 功能描述:获取每个交易日的DC概念板块数据
- 返回限量:单次请求最大返回5000行
- 接口权限:5000积分500次/分钟
- 说明:
1. 数据最早2024/12/20;
2. 该接口在非交易日也会有上一个交易日的数据,如有必要,可使用
trade_cal接口获取交易日历进行过滤。示例3有较为详细的说明;
输入参数:
名称 |
类型 |
必选 |
描述 |
ts_code |
str |
N |
指数代码(支持多个代码同时输入,用逗号分隔) |
name |
str |
N |
板块名称(例如:人形机器人) |
trade_date |
str |
N |
交易日期(YYYYMMDD格式,下同) |
start_date |
str |
N |
开始日期 |
end_date |
str |
N |
结束日期 |
idx_type |
str |
Y |
板块类型(行业板块、概念板块、地域板块) |
输出参数:
名称 |
类型 |
默认显示 |
描述 |
ts_code |
str |
Y |
概念代码 |
trade_date |
str |
Y |
交易日期 |
name |
str |
Y |
概念名称 |
leading |
str |
Y |
领涨股票名称 |
leading_code |
str |
Y |
领涨股票代码 |
pct_change |
float |
Y |
涨跌幅 |
leading_pct |
float |
Y |
领涨股票涨跌幅 |
total_mv |
float |
Y |
总市值(万元) |
turnover_rate |
float |
Y |
换手率 |
up_num |
int |
Y |
上涨家数 |
down_num |
int |
Y |
下降家数 |
idx_type |
str |
Y |
板块类型(行业板块、概念板块、地域板块) |
level |
str |
Y |
行业层级 |
示例:
示例1:获取某个交易日所有DC板块数据
通过传入trade_date可指定返回特定交易日的数据。
import tushare as ts pro = ts.pro_api() df = pro.dc_index(trade_date='20260723') df
输出结果:
ts_code trade_date name leading leading_code pct_change leading_pct total_mv turnover_rate up_num down_num idx_type level 0 BK1752.DC 20260723 2026中报预减 新能股份 000595.SZ 2.40 9.96 2.194190e+08 1.63 180 27 概念板块 None 1 BK1751.DC 20260723 2026中报首亏 爱丽家居 603221.SH 2.64 10.03 2.066976e+08 2.28 241 32 概念板块 None 2 BK1750.DC 20260723 2026中报扭亏 水发燃气 603318.SH 2.53 9.99 2.247971e+08 3.22 157 32 概念板块 None 3 BK1749.DC 20260723 2026中报预增 舒华体育 605299.SH 1.69 9.98 2.474147e+09 3.01 400 144 概念板块 None 4 BK1717.DC 20260723 题材股 中曼石油 603619.SH 1.57 9.98 2.004384e+08 9.87 26 15 概念板块 None ... ... ... ... ... ... ... ... ... ... ... ... ... ... 1017 BK0149.DC 20260723 安徽板块 五洲医疗 301234.SZ 2.01 20.00 2.949127e+08 2.40 150 39 地域板块 None 1018 BK0148.DC 20260723 吉林板块 益盛药业 002566.SZ 2.11 9.97 3.483362e+07 2.23 34 10 地域板块 None 1019 BK0147.DC 20260723 新疆板块 立新能源 001258.SZ 3.10 9.99 9.038030e+07 1.83 58 2 地域板块 None 1020 BK0146.DC 20260723 黑龙江 哈三联 002900.SZ 3.05 10.00 3.430607e+07 4.72 35 3 地域板块 None 1021 BK0145.DC 20260723 上海板块 中曼石油 603619.SH 0.88 9.98 9.989373e+08 1.29 302 137 地域板块 None 1022 rows × 13 columns
示例2:获取并分析当日热点概念板块
通过传入idx_type可指定获取特定板块类型数据。再对pct_change和turnover_rate进行筛选可获取涨幅居前、交易活跃的板块。
传入fields参数可指定返回的字段。
# 1. 获取2026年7月23日的概念板块数据 df = pro.dc_index( trade_date='20260723', idx_type='概念板块', fields='ts_code,name,pct_change,turnover_rate,up_num,down_num,leading' ) # 2. 筛选条件:涨幅大于3% 且 换手率大于5% 的活跃板块 hot_boards = df[(df['pct_change'] > 3) & (df['turnover_rate'] > 5)] print(f"当日共有 {len(df)} 个概念板块,其中活跃热点板块 {len(hot_boards)} 个:") (hot_boards.sort_values('pct_change', ascending=False)[['name', 'pct_change', 'turnover_rate', 'leading']])
输出结果:
当日共有 495 个概念板块,其中活跃热点板块 7 个: name pct_change turnover_rate leading 46 昨日打二板以上表现 6.41 17.28 美利云 430 地热能 5.30 5.74 德石股份 186 昨日涨停_含一字 4.70 9.72 新能股份 60 昨日首板 4.65 7.10 新能股份 185 昨日连板_含一字 4.56 17.65 爱丽家居 349 昨日连板 4.52 18.24 美利云 350 昨日涨停 4.36 9.68 新能股份
示例3:追踪特定板块的历史表现
除了ts_code外,传递name也可指定返回特定板块的数据,添加start_date和end_date可限定返回数据的日期范围。
dc_index接口在非交易日也会有上个交易日的数据,可使用trade_cal接口获取交易日然后进行过滤。
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # 设定日期区间 start_date = '20260101' end_date = '20260723' # 获取人形机器人板块的历史数据 df_hist = pro.dc_index( name='人形机器人', start_date=start_date, end_date=end_date, fields='trade_date,pct_change,turnover_rate,up_num,down_num' ) # 获取交易日历 df_cal = pro.trade_cal( start_date=start_date, end_date=end_date, is_open='1' # 只获取开市日 ) trading_days = df_cal['cal_date'].tolist() # 过滤掉非交易日 df_trading_only = df_hist[df_hist['trade_date'].isin(trading_days)].copy() if df_trading_only.empty: print("过滤后无数据,请检查日期区间。") else: # 数据预处理与绘图 df_trading_only['trade_date'] = pd.to_datetime(df_trading_only['trade_date']) df_trading_only = df_trading_only.sort_values('trade_date') # 将涨跌幅(%)转换为小数形式 df_trading_only['return'] = df_trading_only['pct_change'] / 100 # 计算净值:初始净值为1,每日净值 = 前一日净值 * (1 + 当日收益率) df_trading_only['nav'] = (1 + df_trading_only['return']).cumprod() # 绘制收益率走势图 plt.figure(figsize=(12, 6)) plt.plot(df_trading_only['trade_date'], df_trading_only['nav'], linestyle='-') plt.title(f'【人形机器人】板块收益走势') plt.xlabel('交易日期') plt.ylabel('模拟净值') plt.grid(True) plt.show()
输出结果:
示例4:获取特定板块数据
传入ts_code可指定需要返回数据的特定板块。如需要返回多个板块,可传递以英文逗号分割的板块代码列表字符串。
df = pro.dc_index(ts_code='BK0421.DC,BK0420.DC', trade_date='20260723', fields='ts_code,name,pct_change,turnover_rate,leading,idx_type,level') df
输出结果:
ts_code name pct_change turnover_rate leading idx_type level 0 BK0421.DC 铁路公路 1.75 0.51 大众交通 行业板块 东财二级行业 1 BK0420.DC 航空机场 1.19 0.71 华夏航空 行业板块 东财二级行业
说明:
本文说明
本文旨在对Tushare的DC概念板块dc_index数据接口进行介绍,提供更多参考示例和使用说明。
dc_index接口是 Tushare Pro 中用于查询东方概念板块行情与基础信息的核心工具。它提供了每个交易日各类板块(行业、概念、地域)的整体表现数据,是进行市场热点追踪、板块轮动分析和主题投资研究的重要数据来源。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。