- 功能描述:获取全部股票每日重要的基本面指标(包含换手率、量比、市销率、股息率、股本与市值等指标),可用于选股分析、报表展示等
- 返回限量:单次请求最大返回6000行
- 接口权限:2000积分起,5000积分无总量限制
- 说明:
1. 每日17点~19点更新;
2. 和股票日行情一样,每日指标也是会使用多个股票多个交易日的数据。本文作者同样推荐依据
trade_date进行循环遍历请求历史数据到本地,然后每日更新一次,使用时直接在本地加载;3. 有些指标后面使用了“ttm”后缀(Trailing Twelve Months,滚动十二个月),说明该指标使用的是“最近4个季度”的数据而非年报数据进行计算;
4. 本接口使用了不同类型股本数据计算了不同的指标,使用时注意区别;
输入参数:
名称 |
类型 |
必选 |
描述 |
ts_code |
str |
N |
股票代码(二选一) |
trade_date |
str |
N |
交易日期 (二选一) |
start_date |
str |
N |
开始日期(YYYYMMDD) |
end_date |
str |
N |
结束日期(YYYYMMDD) |
注:
ts_code和trade_date虽然不是必选参数,但两者至少要传一个。
输出参数:
名称 |
类型 |
默认显示 |
描述 |
ts_code |
str |
Y |
TS股票代码 |
trade_date |
str |
Y |
交易日期 |
close |
float |
Y |
当日收盘价 |
turnover_rate |
float |
Y |
换手率 (成交量/无限售流通股数) |
turnover_rate_f |
float |
Y |
换手率(自由流通股)(成交量/自由流通股数) |
volume_ratio |
float |
Y |
量比 VOL/MA |
pe |
float |
Y |
市盈率(总市值/净利润, 亏损的PE为空) |
pe_ttm |
float |
Y |
市盈率( 总市值/净利润TTM,亏损的PE为空) |
pb |
float |
Y |
市净率(总市值/(净资产-其他权益工具)) |
ps |
float |
Y |
市销率 (总市值/营业收入(最新年报)) |
ps_ttm |
float |
Y |
市销率(TTM)(总市值/营业收入TTM) |
dv_ratio |
float |
Y |
股息率 (%),除息日发生在去年期间的派现 |
dv_ttm |
float |
Y |
股息率(TTM)(%),除息日在近12个月且分红报告期在12个月以内的派现 |
total_share |
float |
Y |
总股本 (万股) |
float_share |
float |
Y |
流通股本 (万股) |
free_share |
float |
Y |
自由流通股本 (万股) |
total_mv |
float |
Y |
总市值 (万元)(收盘价*总股本) |
circ_mv |
float |
Y |
流通市值(万元)(收盘价*自由流通股本) |
limit_status |
int |
N |
收盘涨跌状态:0-平盘,1-上涨(不含涨停),2-涨停(不含一字涨停),3-一字涨停,4-下跌(不含跌停),5-跌停(不含一字跌停),6-一字跌停 |
示例:
示例1:获取某个交易日所有股票的基本面指标
通过仅传递trade_date可获取某个交易日所有股票的基本面指标。
import tushare as ts pro = ts.pro_api() df = pro.daily_basic(trade_date='20260713') df
输出结果:
ts_code trade_date close turnover_rate turnover_rate_f volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio dv_ttm total_share float_share free_share total_mv circ_mv 0 000001.SZ 20260713 10.54 0.4765 1.1332 1.02 4.7977 4.7501 0.4407 1.5561 1.5378 5.6738 5.6547 1.940592e+06 1.940560e+06 816048.1215 2.045384e+07 2.045350e+07 1 000002.SZ 20260713 3.03 1.6533 2.4815 1.35 NaN NaN 0.3270 0.1549 0.1611 NaN NaN 1.193071e+06 9.716936e+05 647412.5074 3.615005e+06 2.944232e+06 2 000004.SZ 20260713 0.51 2.7624 3.6834 0.61 10.4072 5.7273 0.7776 0.3815 0.3853 NaN NaN 1.323803e+04 1.262891e+04 9471.0980 6.751395e+03 6.440744e+03 3 000006.SZ 20260713 6.61 1.8617 2.9548 1.25 NaN NaN 1.6620 3.4085 5.8508 NaN NaN 1.349995e+05 1.349985e+05 85059.6698 8.923467e+05 8.923400e+05 4 000007.SZ 20260713 10.01 3.2276 4.8602 0.98 1799.4515 NaN 19.3640 8.7632 8.1773 NaN NaN 3.464480e+04 3.464480e+04 23007.4655 3.467944e+05 3.467944e+05 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5519 920978.BJ 20260713 19.30 1.8396 1.9628 0.85 20.0657 20.9621 4.2455 3.0763 3.0241 2.6076 2.0466 1.800285e+04 1.009349e+04 9459.9632 3.474549e+05 1.948044e+05 5520 920981.BJ 20260713 34.41 9.0784 13.0383 0.72 271.7200 208.2101 5.1375 4.5613 4.1269 0.4359 NaN 7.646800e+03 3.846270e+03 2678.1175 2.631264e+05 1.323501e+05 5521 920982.BJ 20260713 112.55 1.3918 1.7435 0.73 19.8590 20.7524 6.3617 8.1176 8.0725 2.2554 1.3308 1.150653e+04 5.546511e+03 4427.6630 1.295060e+06 6.242598e+05 5522 920985.BJ 20260713 4.51 1.2397 2.0144 1.09 NaN NaN 2.2161 0.8455 0.8487 5.4472 5.4472 3.094762e+04 2.193179e+04 13496.7859 1.395738e+05 9.891235e+04 5523 920992.BJ 20260713 11.45 2.2071 3.4402 1.05 57.9664 55.1127 1.7538 3.5897 3.5804 0.6987 0.7860 9.673093e+03 4.901728e+03 3144.7283 1.107569e+05 5.612479e+04 5524 rows × 18 columns
示例2:获取某支股票历史基本面指标
通过仅传递ts_code可获取该股票最近6000个交易日的基本面指标。
df = pro.daily_basic(ts_code='000001.SZ') df
输出结果:
ts_code trade_date close turnover_rate turnover_rate_f volume_ratio pe pe_ttm pb ps ps_ttm dv_ratio dv_ttm total_share float_share free_share total_mv circ_mv 0 000001.SZ 20260713 10.54 0.4765 1.1332 1.02 4.7977 4.7501 0.4407 1.5561 1.5378 5.6738 5.6547 1.940592e+06 1.940560e+06 816048.1215 2.045384e+07 2.045350e+07 1 000001.SZ 20260710 10.45 0.4933 1.1731 1.08 4.7567 4.7095 0.4370 1.5428 1.5246 5.7226 5.7034 1.940592e+06 1.940560e+06 816048.1215 2.027918e+07 2.027885e+07 2 000001.SZ 20260709 10.49 0.3850 0.9156 0.80 4.7749 4.7275 0.4386 1.5487 1.5305 5.7008 5.6817 1.940592e+06 1.940560e+06 816048.1215 2.035681e+07 2.035648e+07 3 000001.SZ 20260708 10.60 0.4899 1.1651 1.02 4.8250 4.7771 0.4432 1.5650 1.5465 5.6416 5.6227 1.940592e+06 1.940560e+06 816048.1215 2.057027e+07 2.056994e+07 4 000001.SZ 20260707 10.47 0.4149 0.9867 0.81 4.7658 4.7185 0.4378 1.5458 1.5276 5.7117 5.6926 1.940592e+06 1.940560e+06 816048.1215 2.031800e+07 2.031766e+07 ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5995 000001.SZ 20010228 14.09 0.1066 0.1850 0.56 49.3823 55.6994 8.9058 15.8941 17.7651 0.0000 NaN 1.945822e+05 1.393125e+05 80277.1362 2.741663e+06 1.962913e+06 5996 000001.SZ 20010227 14.10 0.1688 0.2930 0.95 49.4174 55.7389 8.9121 15.9054 17.7777 0.0000 NaN 1.945822e+05 1.393125e+05 80277.1362 2.743609e+06 1.964306e+06 5997 000001.SZ 20010226 14.21 0.1337 0.2320 0.77 49.8029 56.1737 8.9817 16.0295 17.9164 0.0000 NaN 1.945822e+05 1.393125e+05 80277.1362 2.765013e+06 1.979630e+06 5998 000001.SZ 20010223 14.12 0.1319 0.2289 0.77 49.4875 55.8179 8.9248 15.9280 17.8030 0.0000 NaN 1.945822e+05 1.393125e+05 80277.1362 2.747501e+06 1.967092e+06 5999 000001.SZ 20010222 13.86 0.2471 0.4288 1.75 48.5762 54.7901 8.7604 15.6347 17.4751 0.0000 NaN 1.945822e+05 1.393125e+05 80277.1362 2.696909e+06 1.930871e+06 6000 rows × 18 columns
示例3:指定返回字段,并获取历史上某段时间区间单支股票的基本面指标
由于limit_status默认是不返回的,如需该字段则应在fields参数中显式指定返回该字段。通过传递start_date和end_date可以指定返回数据的时间区间(两端时间点均包含)。
df = pro.daily_basic(ts_code='000001.SZ', start_date='20260101', end_date='20260713', fields='trade_date,close,total_mv,pe,limit_status') df
输出结果:
trade_date close total_mv pe limit_status 0 20260713 10.54 2.045384e+07 4.7977 1 1 20260710 10.45 2.027918e+07 4.7567 4 2 20260709 10.49 2.035681e+07 4.7749 4 3 20260708 10.60 2.057027e+07 4.8250 1 4 20260707 10.47 2.031800e+07 4.7658 4 ... ... ... ... ... ... 120 20260109 11.46 2.223918e+07 4.9967 4 121 20260108 11.51 2.233621e+07 5.0185 4 122 20260107 11.64 2.258849e+07 5.0752 4 123 20260106 11.67 2.264671e+07 5.0882 1 124 20260105 11.50 2.231681e+07 5.0141 1 125 rows × 5 columns
说明:
各类不同的“股本”
每日指标中展示了不同股本的值以及由不同股本衍生出的其他指标。那么不同股本之间有什么区别呢?下文进行简要说明:
- 总股本:公司发行的全部股票数量总和。这是公司的“家底”,包括所有流通的和不流通的股份。比如公司总股本为100股,就意味着公司被分成了100份。
- 流通股本:在A股市场可以交易的股份总数。这通常指在上海和深圳交易所上市交易的A股部分。它包含了无限售流通股,但不包含公司在内地之外(如港股、美股)发行的股份。
- 无限售流通股本:法律上没有任何限制、可以随时买卖的股份。它是从流通股本里剔除“限售股”后的部分,代表了法律层面的“可流通”规模。只要过了限售期,限售股就会变成无限售流通股。
- 自由流通股本:市场上真正能自由交易、流动性高的股份。它是从无限售流通股中,进一步剔除大股东、战略投资者等“长期锁仓”的股份后得到的,代表了市场实际的“有效供给”。指数公司用它来计算股票在指数中的权重。
- 不同类型股本之间的关系:总股本 ⊃ 流通股本 ⊃ 无限售流通股本 ⊃ 自由流通股本
本文说明
本文旨在对Tushare的每日指标daily_basic数据接口进行介绍,提供更多参考示例和使用说明。
接口中包含重要的基本面指标,例如换手率、量比、市销率、股息率、股本与市值等指标,可用于选股分析、报表展示等。本文介绍了如何获取某个交易日所有股票的基本面指标、如何获取某支股票历史基本面指标、如何指定返回字段,以及对不同股本类型进行了简要地说明。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。