-
官方文档:https://tushare.pro/document/2?doc_id=79
-
功能描述:获取上市公司财务指标数据,包括盈利能力、成长能力、偿债能力、运营能力和现金流量等指标
-
返回限量:单次请求最大返回100行
-
接口权限:2000积分起
-
说明:
1. 本接口只能按单只股票获取数据,如果需要获取某一报告期全部上市公司数据,请使用fina_indicator_vip接口,需5000积分;
2. 当某个报告期有多条记录时,可能是因为财报发生过修正,最新数据可用update_flag为1进行识别,为0则表示为修正前的数据;
3. 投资者对不同行业的同一指标会有不同的考虑,一般工商、银行、保险、地产、证券的财务指标和口径各不一样;
4. 投资者对不同行业的指标关注也不一样,所以也会出现很多字段是空值的情况;
5. 数据一般在财报披露后T+1入库;
输入参数:
|
名称 |
类型 |
必选 |
描述 |
|
ts_code |
str |
Y |
股票代码 |
|
ann_date |
str |
N |
公告日期 |
|
start_date |
str |
N |
报告期开始日期 |
|
end_date |
str |
N |
报告期结束日期 |
|
period |
str |
N |
报告期 |
报告期是每个季度最后一天的日期,比如20171231表示2017年年报、20260331则表示2026年一季报。通过period可判断报告期类型(季度报、半年报、年报);
period与输出中的end_date是同一个字段;
输出参数:
|
名称 |
类型 |
默认显示 |
描述 |
|
ts_code |
str |
Y |
TS代码 |
|
ann_date |
str |
Y |
公告日期 |
|
end_date |
str |
Y |
报告期 |
|
eps |
float |
Y |
基本每股收益 |
|
dt_eps |
float |
Y |
稀释每股收益 |
|
total_revenue_ps |
float |
Y |
每股营业总收入 |
|
revenue_ps |
float |
Y |
每股营业收入 |
|
capital_rese_ps |
float |
Y |
每股资本公积 |
|
surplus_rese_ps |
float |
Y |
每股盈余公积 |
|
undist_profit_ps |
float |
Y |
每股未分配利润 |
|
extra_item |
float |
Y |
非经常性损益 |
|
profit_dedt |
float |
Y |
扣除非经常性损益后的净利润(扣非净利润) |
|
gross_margin |
float |
Y |
毛利 |
|
current_ratio |
float |
Y |
流动比率 |
|
quick_ratio |
float |
Y |
速动比率 |
|
cash_ratio |
float |
Y |
保守速动比率 |
|
invturn_days |
float |
N |
存货周转天数 |
|
arturn_days |
float |
N |
应收账款周转天数 |
|
inv_turn |
float |
N |
存货周转率 |
|
ar_turn |
float |
Y |
应收账款周转率 |
|
ca_turn |
float |
Y |
流动资产周转率 |
|
fa_turn |
float |
Y |
固定资产周转率 |
|
assets_turn |
float |
Y |
总资产周转率 |
|
op_income |
float |
Y |
经营活动净收益 |
|
valuechange_income |
float |
N |
价值变动净收益 |
|
interst_income |
float |
N |
利息费用 |
|
daa |
float |
N |
折旧与摊销 |
|
ebit |
float |
Y |
息税前利润 |
|
ebitda |
float |
Y |
息税折旧摊销前利润 |
|
fcff |
float |
Y |
企业自由现金流量 |
|
fcfe |
float |
Y |
股权自由现金流量 |
|
current_exint |
float |
Y |
无息流动负债 |
|
noncurrent_exint |
float |
Y |
无息非流动负债 |
|
interestdebt |
float |
Y |
带息债务 |
|
netdebt |
float |
Y |
净债务 |
|
tangible_asset |
float |
Y |
有形资产 |
|
working_capital |
float |
Y |
营运资金 |
|
networking_capital |
float |
Y |
营运流动资本 |
|
invest_capital |
float |
Y |
全部投入资本 |
|
retained_earnings |
float |
Y |
留存收益 |
|
diluted2_eps |
float |
Y |
期末摊薄每股收益 |
|
bps |
float |
Y |
每股净资产 |
|
ocfps |
float |
Y |
每股经营活动产生的现金流量净额 |
|
retainedps |
float |
Y |
每股留存收益 |
|
cfps |
float |
Y |
每股现金流量净额 |
|
ebit_ps |
float |
Y |
每股息税前利润 |
|
fcff_ps |
float |
Y |
每股企业自由现金流量 |
|
fcfe_ps |
float |
Y |
每股股东自由现金流量 |
|
netprofit_margin |
float |
Y |
销售净利率 |
|
grossprofit_margin |
float |
Y |
销售毛利率 |
|
cogs_of_sales |
float |
Y |
销售成本率 |
|
expense_of_sales |
float |
Y |
销售期间费用率 |
|
profit_to_gr |
float |
Y |
净利润/营业总收入 |
|
saleexp_to_gr |
float |
Y |
销售费用/营业总收入 |
|
adminexp_of_gr |
float |
Y |
管理费用/营业总收入 |
|
finaexp_of_gr |
float |
Y |
财务费用/营业总收入 |
|
impai_ttm |
float |
Y |
资产减值损失/营业总收入 |
|
gc_of_gr |
float |
Y |
营业总成本/营业总收入 |
|
op_of_gr |
float |
Y |
营业利润/营业总收入 |
|
ebit_of_gr |
float |
Y |
息税前利润/营业总收入 |
|
roe |
float |
Y |
净资产收益率 |
|
roe_waa |
float |
Y |
加权平均净资产收益率 |
|
roe_dt |
float |
Y |
净资产收益率(扣除非经常损益) |
|
roa |
float |
Y |
总资产报酬率 |
|
npta |
float |
Y |
总资产净利润 |
|
roic |
float |
Y |
投入资本回报率 |
|
roe_yearly |
float |
Y |
年化净资产收益率 |
|
roa2_yearly |
float |
Y |
年化总资产报酬率 |
|
roe_avg |
float |
N |
平均净资产收益率(增发条件) |
|
opincome_of_ebt |
float |
N |
经营活动净收益/利润总额 |
|
investincome_of_ebt |
float |
N |
价值变动净收益/利润总额 |
|
n_op_profit_of_ebt |
float |
N |
营业外收支净额/利润总额 |
|
tax_to_ebt |
float |
N |
所得税/利润总额 |
|
dtprofit_to_profit |
float |
N |
扣除非经常损益后的净利润/净利润 |
|
salescash_to_or |
float |
N |
销售商品提供劳务收到的现金/营业收入 |
|
ocf_to_or |
float |
N |
经营活动产生的现金流量净额/营业收入 |
|
ocf_to_opincome |
float |
N |
经营活动产生的现金流量净额/经营活动净收益 |
|
capitalized_to_da |
float |
N |
资本支出/折旧和摊销 |
|
debt_to_assets |
float |
Y |
资产负债率 |
|
assets_to_eqt |
float |
Y |
权益乘数 |
|
dp_assets_to_eqt |
float |
Y |
权益乘数(杜邦分析) |
|
ca_to_assets |
float |
Y |
流动资产/总资产 |
|
nca_to_assets |
float |
Y |
非流动资产/总资产 |
|
tbassets_to_totalassets |
float |
Y |
有形资产/总资产 |
|
int_to_talcap |
float |
Y |
带息债务/全部投入资本 |
|
eqt_to_talcapital |
float |
Y |
归属于母公司的股东权益/全部投入资本 |
|
currentdebt_to_debt |
float |
Y |
流动负债/负债合计 |
|
longdeb_to_debt |
float |
Y |
非流动负债/负债合计 |
|
ocf_to_shortdebt |
float |
Y |
经营活动产生的现金流量净额/流动负债 |
|
debt_to_eqt |
float |
Y |
产权比率 |
|
eqt_to_debt |
float |
Y |
归属于母公司的股东权益/负债合计 |
|
eqt_to_interestdebt |
float |
Y |
归属于母公司的股东权益/带息债务 |
|
tangibleasset_to_debt |
float |
Y |
有形资产/负债合计 |
|
tangasset_to_intdebt |
float |
Y |
有形资产/带息债务 |
|
tangibleasset_to_netdebt |
float |
Y |
有形资产/净债务 |
|
ocf_to_debt |
float |
Y |
经营活动产生的现金流量净额/负债合计 |
|
ocf_to_interestdebt |
float |
N |
经营活动产生的现金流量净额/带息债务 |
|
ocf_to_netdebt |
float |
N |
经营活动产生的现金流量净额/净债务 |
|
ebit_to_interest |
float |
N |
已获利息倍数(EBIT/利息费用) |
|
longdebt_to_workingcapital |
float |
N |
长期债务与营运资金比率 |
|
ebitda_to_debt |
float |
N |
息税折旧摊销前利润/负债合计 |
|
turn_days |
float |
Y |
营业周期 |
|
roa_yearly |
float |
Y |
年化总资产净利率 |
|
roa_dp |
float |
Y |
总资产净利率(杜邦分析) |
|
fixed_assets |
float |
Y |
固定资产合计 |
|
profit_prefin_exp |
float |
N |
扣除财务费用前营业利润 |
|
non_op_profit |
float |
N |
非营业利润 |
|
op_to_ebt |
float |
N |
营业利润/利润总额 |
|
nop_to_ebt |
float |
N |
非营业利润/利润总额 |
|
ocf_to_profit |
float |
N |
经营活动产生的现金流量净额/营业利润 |
|
cash_to_liqdebt |
float |
N |
货币资金/流动负债 |
|
cash_to_liqdebt_withinterest |
float |
N |
货币资金/带息流动负债 |
|
op_to_liqdebt |
float |
N |
营业利润/流动负债 |
|
op_to_debt |
float |
N |
营业利润/负债合计 |
|
roic_yearly |
float |
N |
年化投入资本回报率 |
|
total_fa_trun |
float |
N |
固定资产合计周转率 |
|
profit_to_op |
float |
Y |
利润总额/营业收入 |
|
q_opincome |
float |
N |
经营活动单季度净收益 |
|
q_investincome |
float |
N |
价值变动单季度净收益 |
|
q_dtprofit |
float |
N |
扣除非经常损益后的单季度净利润 |
|
q_eps |
float |
N |
每股收益(单季度) |
|
q_netprofit_margin |
float |
N |
销售净利率(单季度) |
|
q_gsprofit_margin |
float |
N |
销售毛利率(单季度) |
|
q_exp_to_sales |
float |
N |
销售期间费用率(单季度) |
|
q_profit_to_gr |
float |
N |
净利润/营业总收入(单季度) |
|
q_saleexp_to_gr |
float |
Y |
销售费用/营业总收入 (单季度) |
|
q_adminexp_to_gr |
float |
N |
管理费用/营业总收入 (单季度) |
|
q_finaexp_to_gr |
float |
N |
财务费用/营业总收入 (单季度) |
|
q_impair_to_gr_ttm |
float |
N |
资产减值损失/营业总收入(单季度) |
|
q_gc_to_gr |
float |
Y |
营业总成本/营业总收入 (单季度) |
|
q_op_to_gr |
float |
N |
营业利润/营业总收入(单季度) |
|
q_roe |
float |
Y |
净资产收益率(单季度) |
|
q_dt_roe |
float |
Y |
净资产单季度收益率(扣除非经常损益) |
|
q_npta |
float |
Y |
总资产净利润(单季度) |
|
q_opincome_to_ebt |
float |
N |
经营活动净收益/利润总额(单季度) |
|
q_investincome_to_ebt |
float |
N |
价值变动净收益/利润总额(单季度) |
|
q_dtprofit_to_profit |
float |
N |
扣除非经常损益后的净利润/净利润(单季度) |
|
q_salescash_to_or |
float |
N |
销售商品提供劳务收到的现金/营业收入(单季度) |
|
q_ocf_to_sales |
float |
Y |
经营活动产生的现金流量净额/营业收入(单季度) |
|
q_ocf_to_or |
float |
N |
经营活动产生的现金流量净额/经营活动净收益(单季度) |
|
basic_eps_yoy |
float |
Y |
基本每股收益同比增长率(%) |
|
dt_eps_yoy |
float |
Y |
稀释每股收益同比增长率(%) |
|
cfps_yoy |
float |
Y |
每股经营活动产生的现金流量净额同比增长率(%) |
|
op_yoy |
float |
Y |
营业利润同比增长率(%) |
|
ebt_yoy |
float |
Y |
利润总额同比增长率(%) |
|
netprofit_yoy |
float |
Y |
归属母公司股东的净利润同比增长率(%) |
|
dt_netprofit_yoy |
float |
Y |
归属母公司股东的净利润-扣除非经常损益同比增长率(%) |
|
ocf_yoy |
float |
Y |
经营活动产生的现金流量净额同比增长率(%) |
|
roe_yoy |
float |
Y |
净资产收益率(摊薄)同比增长率(%) |
|
bps_yoy |
float |
Y |
每股净资产相对年初增长率(%) |
|
assets_yoy |
float |
Y |
资产总计相对年初增长率(%) |
|
eqt_yoy |
float |
Y |
归属母公司的股东权益相对年初增长率(%) |
|
tr_yoy |
float |
Y |
营业总收入同比增长率(%) |
|
or_yoy |
float |
Y |
营业收入同比增长率(%) |
|
q_gr_yoy |
float |
N |
营业总收入同比增长率(%)(单季度) |
|
q_gr_qoq |
float |
N |
营业总收入环比增长率(%)(单季度) |
|
q_sales_yoy |
float |
Y |
营业收入同比增长率(%)(单季度) |
|
q_sales_qoq |
float |
N |
营业收入环比增长率(%)(单季度) |
|
q_op_yoy |
float |
N |
营业利润同比增长率(%)(单季度) |
|
q_op_qoq |
float |
Y |
营业利润环比增长率(%)(单季度) |
|
q_profit_yoy |
float |
N |
净利润同比增长率(%)(单季度) |
|
q_profit_qoq |
float |
N |
净利润环比增长率(%)(单季度) |
|
q_netprofit_yoy |
float |
N |
归属母公司股东的净利润同比增长率(%)(单季度) |
|
q_netprofit_qoq |
float |
N |
归属母公司股东的净利润环比增长率(%)(单季度) |
|
equity_yoy |
float |
Y |
净资产同比增长率 |
|
rd_exp |
float |
N |
研发投入合计 |
|
update_flag |
str |
N |
更新标识 |
Tushare官网上对update_flag进行如下的说明:
如果发现有重复数据,绝大多数可能都是本季(年)度的财务数据有过修正,可以通过update_flag来确定,update_flag=1为修正后的数据,update_flag=0为初始数据。如果提取不到update_flag字段,请再fields参数指定,比如fields='ts_code,period,update_flag' ,字段用逗号分隔即可。
本文作者对数据进行了探索,如示例2所示,update_flag字段应该表示的是最新数据(也就是说如果数据没有发生过变更,则仅有一条update_flag字段为1的记录)。如果数据发生过变更,可能是上市公司对财报数据的修正,则之前的数据记录update_flag置为0,而新的记录update_flag则为1。
示例:
示例1:获取某支股票财务指标
通过仅传递ts_code能够获取某支股票最近二十多年全部的财务指标。
import tushare as ts
pro = ts.pro_api()
df = pro.fina_indicator(ts_code='600000.SH')
df
输出结果:
ts_code ann_date end_date eps dt_eps total_revenue_ps revenue_ps capital_rese_ps surplus_rese_ps undist_profit_ps … ocf_yoy roe_yoy bps_yoy assets_yoy eqt_yoy tr_yoy or_yoy q_sales_yoy q_op_qoq equity_yoy
0 600000.SH 20260430 20260331 0.520 0.520 1.3983 1.3983 4.0368 5.9014 8.0514 … 145.4075 -9.0480 2.26 2.2208 2.0635 1.4176 1.4176 1.4176 91.1148 11.5913
1 600000.SH 20260331 20251231 1.520 1.420 5.2232 5.2232 4.0372 5.9014 7.5351 … 212.6424 -0.3844 -1.03 6.5512 10.9442 1.8835 1.8835 1.8944 30.9106 10.9442
2 600000.SH 20251031 20250930 1.280 1.180 4.2188 4.2188 3.4787 6.2686 7.7493 … 202.5267 -4.3017 0.18 4.5481 13.0328 1.8800 1.8800 0.3126 -34.6858 15.1633
3 600000.SH 20250828 20250630 0.990 0.900 2.9923 2.9923 3.1215 6.4944 7.7325 … 105.5553 3.6077 0.94 1.9437 7.6767 2.6188 2.6188 4.0005 -33.8722 6.3493
4 600000.SH 20250430 20250331 0.570 0.520 1.5645 1.5645 2.7910 6.5488 8.4215 … 55.3715 0.4533 1.65 0.9554 1.4716 1.3104 1.3104 1.3104 82.6780 0.5602
… … … … … … … … … … … … … … … … … … … … … …
95 600000.SH 20130314 20121231 1.833 1.833 4.4471 4.4471 3.1931 1.4608 2.6262 … -51.2177 5.0952 19.22 17.1719 19.2135 22.1355 22.1355 18.8683 -10.1861 19.2135
96 600000.SH 20121031 20120930 1.401 1.401 3.2611 3.2611 3.2067 1.4607 2.1940 … -5.8503 7.9235 13.97 17.0407 13.9728 23.3687 23.3687 19.4046 -5.3782 21.5862
97 600000.SH 20121031 20120930 1.401 1.401 3.2611 3.2611 3.2067 1.4607 2.1940 … -5.8503 7.9235 13.97 17.0407 13.9728 23.3687 23.3687 19.4046 -5.3782 21.5862
98 600000.SH 20120815 20120630 0.922 0.922 2.1445 2.1445 3.2748 1.4607 1.7151 … 115.2499 9.7619 8.82 13.1016 8.8255 25.5385 25.5385 20.5471 18.3804 21.6186
99 600000.SH 20120815 20120630 0.922 0.922 2.1445 2.1445 3.2748 1.4607 1.7151 … 115.2499 9.7619 8.82 13.1016 8.8255 25.5385 25.5385 20.5471 18.3804 21.6186
100 rows × 108 columns
示例2:获取报告期在某个时间区间内,某支股票的全部财务指标
通过指定start_date和end_date获取报告期在某个时间区间内,某支股票的全部财务指标。通过增加fields字段可指定需要返回的字段。由于部分字段默认不返回,指定fields字段之后仅返回指定的字段,所以一般需要将(所有)需要返回的字段显式地传递进来。本示例演示了如何获取贵州茅台2025年财务指标数据。
2025年一季报中FCFE等指标发生了变更,故而产生了两条记录,新的记录update_flag字段为1,而老的记录为0。
df = pro.fina_indicator(
ts_code='600519.SH',
start_date='20250101',
end_date='20251231',
fields='ts_code,ann_date,end_date,eps,fcfe,or_yoy,update_flag'
)
df
输出结果:
ts_code ann_date end_date eps fcfe or_yoy update_flag
0 600519.SH 20260417 20251231 65.66 7.339762e+10 -1.2060 1
1 600519.SH 20251030 20250930 51.53 4.247944e+10 6.3569 1
2 600519.SH 20250813 20250630 36.18 3.333599e+10 9.1032 1
3 600519.SH 20250430 20250331 21.38 -4.030333e+07 10.5415 1
4 600519.SH 20250430 20250331 21.38 NaN 10.5415 0
示例3:基本面分析与可视化
获取数据后,可以轻松地进行可视化分析,观察公司核心指标的历史变化趋势。例如,可以绘制贵州茅台近10年净资产收益率(ROE)的变化图,直观地了解其盈利能力稳定性。
import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd
# 指定默认字体为黑体,解决中文乱码问题
mpl.rcParams['font.sans-serif'] = ['SimHei']
# 2. 解决保存图像时负号 '-' 显示为方块的问题
mpl.rcParams['axes.unicode_minus'] = False
df = pro.fina_indicator(
ts_code='600519.SH',
start_date='20160101',
end_date='20251331',
fields='end_date,roe,update_flag'
)
df['end_date'] = pd.to_datetime(df['end_date'])
df = df.sort_values('end_date')
plt.figure(figsize=(10, 6))
plt.plot(df['end_date'], df['roe'], marker='o')
plt.title('贵州茅台 净资产收益率 (ROE) 变化趋势')
plt.xlabel('报告期')
plt.ylabel('ROE (%)')
plt.grid(True)
plt.show()
输出结果:

示例4:使用`fina_indicator_vip`获取某一报告期全部上市公司数据
df = pro.fina_indicator_vip(period='20260331', fields='ts_code,ann_date,end_date,roe')
df
输出结果:
ts_code ann_date end_date roe
0 002306.SZ 20260408 20260331 -10.0140
1 002107.SZ 20260408 20260331 5.2355
2 688041.SH 20260408 20260331 2.9880
3 002072.SZ 20260409 20260331 -1.9263
4 002306.SZ 20260408 20260331 -10.0140
… … … … …
6844 A26008.SZ 20260715 20260331 -3.0651
6845 001232.SZ 20260716 20260331 5.1057
6846 603468.SH 20260601 20260331 2.9382
6847 920065.BJ 20260603 20260331 7.2669
6848 301707.SZ 20260508 20260331 3.4606
6849 rows × 4 columns
示例5:通过公告日期`ann_date`获取所有上市公司财务指标
可以向fina_indicator_vip传递ann_date字段指定获取某一公告日所有股票的数据。
由于必须指定ts_code,向fina_indicator传递ann_date参数意义不大。
df = pro.fina_indicator_vip(ann_date='20260430', fields='ts_code,ann_date,end_date,roe,update_flag')
df
输出结果:
ts_code ann_date end_date roe update_flag
0 600004.SH 20260430 20260331 0.7946 0
1 600587.SH 20260430 20260331 1.6098 1
2 600438.SH 20260430 20260331 -6.4908 1
3 688188.SH 20260430 20260331 5.0792 1
4 600505.SH 20260430 20260331 0.2544 1
… … … … … …
1715 300064.SZ 20260430 20250331 -0.8482 0
1716 920186.BJ 20260430 20250331 0.9932 0
1717 837611.BJ 20260430 20250331 1.8801 0
1718 000671.SZ 20260430 20250331 NaN 0
1719 837611.BJ 20260430 20250331 1.8801 1
1720 rows × 5 columns
说明:
本文说明
本文旨在对Tushare的财务指标数据fina_indicator数据接口进行介绍,提供更多参考示例和使用说明。
财务指标数据包括盈利能力(如“净资产收益率”、“销售净利率”)、成长能力(如“营业收入同比增长率”)、偿债能力(如“资产负债率”、“流动比率”)、运营能力和现金流量等指标。本文除了介绍如何获取某支股票的财务数据、如何可视化财务指标外还介绍了通过VIP版本(fina_indicator_vip)一次性获取某个报告期内的所有股票财务指标。要注意传递fields以便能够获取想要的字段,还要注意update_flag对修正数据的标识。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。




