- 功能描述:获取上市公司财务指标数据,包括盈利能力、成长能力、偿债能力、运营能力和现金流量等指标
- 返回限量:单次请求最大返回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团队。本文另一个目的也是为了聚集大家的智慧以创建“我为人人,人人为我”的共创氛围。