Tushare接口文档:股票历史列表(bak_basic)

  • 官方文档:https://tushare.pro/document/2?doc_id=262
  • 功能描述:获取股票基本信息每日历史记录
  • 返回限量:单次请求最大返回7000行
  • 接口权限:5000积分:500次/分钟
  • 说明:

本接口是股票基本信息的每日快照,但每天会更新多次。注意当日数据的更新。示例2有更加详细的演示。

输入参数:

名称 类型 必选 描述
trade_date str N 交易日期
ts_code str N 股票代码

输出参数:

名称 类型 默认显示 描述
trade_date str Y 交易日期
ts_code str Y TS股票代码
name str Y 股票名称
industry str Y 行业
area str Y 地域
pe float Y 市盈率(动)
float_share float Y 流通股本(亿)
total_share float Y 总股本(亿)
total_assets float Y 总资产(亿)
liquid_assets float Y 流动资产(亿)
fixed_assets float Y 固定资产(亿)
reserved float Y 公积金
reserved_pershare float Y 每股公积金
eps float Y 每股收益
bvps float Y 每股净资产
pb float Y 市净率
list_date str Y 上市日期
undp float Y 未分配利润
per_undp float Y 每股未分配利润
rev_yoy float Y 收入同比(%)
profit_yoy float Y 利润同比(%)
gpr float Y 毛利率(%)
npr float Y 净利润率(%)
holder_num int Y 股东人数

示例:

示例1:查询指定日期的全市场股票列表

通过传递trade_date可指定返回数据的交易日期。传递fields参数可指定返回数据的字段列表。

python 复制代码
import tushare as ts
pro = ts.pro_api()

df = pro.bak_basic(trade_date='20260821', fields='trade_date,ts_code,name,industry,pe')
df

输出结果:

xml 复制代码
  trade_date	ts_code	name	industry	pe
0	20260821	000001.SZ	平安银行	银行	4.30
1	20260821	000002.SZ	万 科A	全国地产	0.00
2	20260821	000006.SZ	深振业A	区域地产	320.13
3	20260821	000007.SZ	全新好	其他商业	0.00
4	20260821	000008.SZ	神州高铁	运输设备	0.00
...	...	...	...	...	...
5553	20260821	920982.BJ	锦波生物	医疗保健	25.35
5554	20260821	920985.BJ	海泰新能	电气设备	0.00
5555	20260821	920992.BJ	中科美菱	医疗保健	57.09
5556	20260821	920071.BJ	金钛股份	小金属	0.00
5557	20260821	920288.BJ	华大海天	造纸	0.00
5558 rows × 5 columns

示例2:查询指定股票的历史数据

通过传递ts_code可指定特定的股票。

示例运行时间是2026/08/21 14:00,此时已经存在8/21日的数据,此时的PE还是和前一天一样。注意该条记录会在晚上进行更新。

python 复制代码
df = pro.bak_basic(ts_code='000001.SZ', fields='trade_date,ts_code,name,industry,pe')
df

输出结果:

xml 复制代码
  trade_date	ts_code	name	industry	pe
0	20260821	000001.SZ	平安银行	银行	4.30
1	20260820	000001.SZ	平安银行	银行	4.30
2	20260819	000001.SZ	平安银行	银行	4.26
3	20260818	000001.SZ	平安银行	银行	4.17
4	20260817	000001.SZ	平安银行	银行	4.19
...	...	...	...	...	...
2409	20160815	000001.SZ	平安银行	银行	6.76
2410	20160812	000001.SZ	平安银行	银行	6.70
2411	20160811	000001.SZ	平安银行	银行	6.50
2412	20160809	000001.SZ	平安银行	银行	6.45
2413	20151205	000001.SZ	平安银行	银行	6.51
2414 rows × 5 columns

示例3:股东人数变化分析

通过对比不同日期的 holder_num(股东人数)字段,可以分析个股的筹码集中度变化趋势。

python 复制代码
import pandas as pd

# 获取某只股票在两个时间点的股东人数
ts_code = '000001.SZ'
dates = ['20211231', '20221230', '20231229', '20241231', '20251231']

df_list = []
for date in dates:
    df = pro.bak_basic(
        trade_date=date,
        ts_code=ts_code,
        fields='trade_date,ts_code,name,holder_num'
    )
    df_list.append(df)

df_compare = pd.concat(df_list, ignore_index=True)
print(df_compare)

输出结果:

xml 复制代码
  trade_date    ts_code  name  holder_num
0   20211231  000001.SZ  平安银行      390490
1   20221230  000001.SZ  平安银行      547735
2   20231229  000001.SZ  平安银行      530229
3   20241231  000001.SZ  平安银行      517695
4   20251231  000001.SZ  平安银行      453515

说明:

bak_basic返回指定交易日全部股票的基础信息与核心财务指标,包括股票代码、名称、行业、地域、市盈率、股本、资产、每股收益、市净率、股东人数等。与仅提供股票代码和名称的stock_basic接口相比,bak_basic附带了一个截面上的基本面快照,是进行历史回测、截面分析和因子研究的重要数据源。

相关推荐
Sayai1 分钟前
Elasticsearch 日志检索 DSL 实战:时间范围查询、字段去重、分钟级统计与最新日志获取
大数据·运维·elasticsearch·搜索引擎·日志分析
qetfw8 分钟前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
W***25921 小时前
2026 企业 AI 办公工具选型指南:可完成端到端任务的平台怎么评估
大数据·人工智能
红红谈说1 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)1 小时前
MySQL索引
数据库·mysql
龙亘川2 小时前
数字化赋能基层协同治理:亘川智城一网统管平台落地实践思考
大数据·人工智能·智慧城市·开源软件·数据可视化
东城居士2 小时前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..3 小时前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20043 小时前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法
可乐ea3 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测