- 官方文档: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附带了一个截面上的基本面快照,是进行历史回测、截面分析和因子研究的重要数据源。