-
功能描述:获取上市公司现金流量表
-
返回限量:单次请求最大返回100行
-
接口权限:2000积分200次/分钟;5000积分500次/分钟
-
说明:
财报披露当晚21~23点更新,最晚次日;
当某个报告期有多条记录时,可能是因为财报发生过修正,最新数据可用
update_flag为1进行识别,为0则表示为修正前的数据;当前接口只能按单支股票获取数据,如果需要获取某一报告期全部上市公司数据,可使用
cashflow_vip接口,需5000积分;上市公司披露财务三大报表的时候并非简单披露三张表,会依据是否包含子公司、是否累计以及是否发生数据修正披露更多报表。详细请见文末说明1;
如果使用
cashflow_vip获取某一报告期所有上市公司现金流量表数据的时候发现有些公司数据不存在,有可能是由于单次返回限量导致的。后面调大限量后就应该没有这个问题了。详见示例4;
输入参数:
|-------------|-----|----|-----------------------------|
| 名称 | 类型 | 必选 | 描述 |
| ts_code | str | Y | 股票代码 |
| ann_date | str | N | 公告日期 |
| f_ann_date | str | N | 实际公告日期 |
| start_date | str | N | 公告日开始日期 |
| end_date | str | N | 公告日结束日期 |
| period | str | N | 报告期 |
| report_type | str | N | 报告类型:见下方详细说明 |
| comp_type | str | N | 公司类型:1-一般工商业;2-银行;3-保险;4-证券 |
| is_calc | int | N | 是否计算报表 |
日期字段格式均为YYYYMMDD;
报告期为每个季度的最后一个自然日,例如2026年一季报的报告期为20260331、半年报报告期为20260630、三季报报告期为20260930、年报报告期为20261231;
报告类型请参考下文说明;
start_date和end_date字段限定的是公告日期的范围,而非报告期的范围;虽然
report_type是可选参数,但该参数在本接口和VIP版本cashflow_vip中均已默认为"1",如果想要获取全部数据,则需要对该字段进行遍历。对报表类型的说明请见文末"说明"章节;
输出参数:
|-----------------------------|-------|------|---------------------------|
| 名称 | 类型 | 默认显示 | 描述 |
| ts_code | str | Y | TS股票代码 |
| ann_date | str | Y | 公告日期 |
| f_ann_date | str | Y | 实际公告日期 |
| end_date | str | Y | 报告期 |
| comp_type | str | Y | 公司类型(1一般工商业2银行3保险4证券) |
| report_type | str | Y | 报表类型 |
| end_type | str | Y | 报告期类型 |
| net_profit | float | Y | 净利润 |
| finan_exp | float | Y | 财务费用 |
| c_fr_sale_sg | float | Y | 销售商品、提供劳务收到的现金 |
| recp_tax_rends | float | Y | 收到的税费返还 |
| n_depos_incr_fi | float | Y | 客户存款和同业存放款项净增加额 |
| n_incr_loans_cb | float | Y | 向中央银行借款净增加额 |
| n_inc_borr_oth_fi | float | Y | 向其他金融机构拆入资金净增加额 |
| prem_fr_orig_contr | float | Y | 收到原保险合同保费取得的现金 |
| n_incr_insured_dep | float | Y | 保户储金净增加额 |
| n_reinsur_prem | float | Y | 收到再保业务现金净额 |
| n_incr_disp_tfa | float | Y | 处置交易性金融资产净增加额 |
| ifc_cash_incr | float | Y | 收取利息和手续费净增加额 |
| n_incr_disp_faas | float | Y | 处置可供出售金融资产净增加额 |
| n_incr_loans_oth_bank | float | Y | 拆入资金净增加额 |
| n_cap_incr_repur | float | Y | 回购业务资金净增加额 |
| c_fr_oth_operate_a | float | Y | 收到其他与经营活动有关的现金 |
| c_inf_fr_operate_a | float | Y | 经营活动现金流入小计 |
| c_paid_goods_s | float | Y | 购买商品、接受劳务支付的现金 |
| c_paid_to_for_empl | float | Y | 支付给职工以及为职工支付的现金 |
| c_paid_for_taxes | float | Y | 支付的各项税费 |
| n_incr_clt_loan_adv | float | Y | 客户贷款及垫款净增加额 |
| n_incr_dep_cbob | float | Y | 存放央行和同业款项净增加额 |
| c_pay_claims_orig_inco | float | Y | 支付原保险合同赔付款项的现金 |
| pay_handling_chrg | float | Y | 支付手续费的现金 |
| pay_comm_insur_plcy | float | Y | 支付保单红利的现金 |
| oth_cash_pay_oper_act | float | Y | 支付其他与经营活动有关的现金 |
| st_cash_out_act | float | Y | 经营活动现金流出小计 |
| n_cashflow_act | float | Y | 经营活动产生的现金流量净额 |
| oth_recp_ral_inv_act | float | Y | 收到其他与投资活动有关的现金 |
| c_disp_withdrwl_invest | float | Y | 收回投资收到的现金 |
| c_recp_return_invest | float | Y | 取得投资收益收到的现金 |
| n_recp_disp_fiolta | float | Y | 处置固定资产、无形资产和其他长期资产收回的现金净额 |
| n_recp_disp_sobu | float | Y | 处置子公司及其他营业单位收到的现金净额 |
| stot_inflows_inv_act | float | Y | 投资活动现金流入小计 |
| c_pay_acq_const_fiolta | float | Y | 购建固定资产、无形资产和其他长期资产支付的现金 |
| c_paid_invest | float | Y | 投资支付的现金 |
| n_disp_subs_oth_biz | float | Y | 取得子公司及其他营业单位支付的现金净额 |
| oth_pay_ral_inv_act | float | Y | 支付其他与投资活动有关的现金 |
| n_incr_pledge_loan | float | Y | 质押贷款净增加额 |
| stot_out_inv_act | float | Y | 投资活动现金流出小计 |
| n_cashflow_inv_act | float | Y | 投资活动产生的现金流量净额 |
| c_recp_borrow | float | Y | 取得借款收到的现金 |
| proc_issue_bonds | float | Y | 发行债券收到的现金 |
| oth_cash_recp_ral_fnc_act | float | Y | 收到其他与筹资活动有关的现金 |
| stot_cash_in_fnc_act | float | Y | 筹资活动现金流入小计 |
| free_cashflow | float | Y | 企业自由现金流量 |
| c_prepay_amt_borr | float | Y | 偿还债务支付的现金 |
| c_pay_dist_dpcp_int_exp | float | Y | 分配股利、利润或偿付利息支付的现金 |
| incl_dvd_profit_paid_sc_ms | float | Y | 其中:子公司支付给少数股东的股利、利润 |
| oth_cashpay_ral_fnc_act | float | Y | 支付其他与筹资活动有关的现金 |
| stot_cashout_fnc_act | float | Y | 筹资活动现金流出小计 |
| n_cash_flows_fnc_act | float | Y | 筹资活动产生的现金流量净额 |
| eff_fx_flu_cash | float | Y | 汇率变动对现金的影响 |
| n_incr_cash_cash_equ | float | Y | 现金及现金等价物净增加额 |
| c_cash_equ_beg_period | float | Y | 期初现金及现金等价物余额 |
| c_cash_equ_end_period | float | Y | 期末现金及现金等价物余额 |
| c_recp_cap_contrib | float | Y | 吸收投资收到的现金 |
| incl_cash_rec_saims | float | Y | 其中:子公司吸收少数股东投资收到的现金 |
| uncon_invest_loss | float | Y | 未确认投资损失 |
| prov_depr_assets | float | Y | 加:资产减值准备 |
| depr_fa_coga_dpba | float | Y | 固定资产折旧、油气资产折耗、生产性生物资产折旧 |
| amort_intang_assets | float | Y | 无形资产摊销 |
| lt_amort_deferred_exp | float | Y | 长期待摊费用摊销 |
| decr_deferred_exp | float | Y | 待摊费用减少 |
| incr_acc_exp | float | Y | 预提费用增加 |
| loss_disp_fiolta | float | Y | 处置固定、无形资产和其他长期资产的损失 |
| loss_scr_fa | float | Y | 固定资产报废损失 |
| loss_fv_chg | float | Y | 公允价值变动损失 |
| invest_loss | float | Y | 投资损失 |
| decr_def_inc_tax_assets | float | Y | 递延所得税资产减少 |
| incr_def_inc_tax_liab | float | Y | 递延所得税负债增加 |
| decr_inventories | float | Y | 存货的减少 |
| decr_oper_payable | float | Y | 经营性应收项目的减少 |
| incr_oper_payable | float | Y | 经营性应付项目的增加 |
| others | float | Y | 其他 |
| im_net_cashflow_oper_act | float | Y | 经营活动产生的现金流量净额(间接法) |
| conv_debt_into_cap | float | Y | 债务转为资本 |
| conv_copbonds_due_within_1y | float | Y | 一年内到期的可转换公司债券 |
| fa_fnc_leases | float | Y | 融资租入固定资产 |
| im_n_incr_cash_equ | float | Y | 现金及现金等价物净增加额(间接法) |
| net_dism_capital_add | float | Y | 拆出资金净增加额 |
| net_cash_rece_sec | float | Y | 代理买卖证券收到的现金净额(元) |
| credit_impa_loss | float | Y | 信用减值损失 |
| use_right_asset_dep | float | Y | 使用权资产折旧 |
| oth_loss_asset | float | Y | 其他资产减值损失 |
| end_bal_cash | float | Y | 现金的期末余额 |
| beg_bal_cash | float | Y | 减:现金的期初余额 |
| end_bal_cash_equ | float | Y | 加:现金等价物的期末余额 |
| beg_bal_cash_equ | float | Y | 减:现金等价物的期初余额 |
| update_flag | str | Y | 更新标志(1最新) |
示例:
示例1:获取某支股票某段时间内公布的 现金流量表 数据
传入ts_code可指定需要获取数据的个股,传入start_date和end_date可限定财务报表公告的日期范围,fields参数可限定返回的字段。本示例演示获取贵州茅台在2025年公布的现金流量表数据,获取了2024年年报、2025年一季报到三季报,并未包含2025年年报。
从返回的记录来看,部分报告期不止一条数据。从
update_flag字段也可以看出这一点。可能是因为财报发生过修正,最新数据可用update_flag为1进行识别,为0则表示为修正前的数据。
python
import tushare as ts
pro = ts.pro_api()
df = pro.cashflow(ts_code='600519.SH', start_date='20250101', end_date='20251231')
df
输出结果:
XML
ts_code ann_date f_ann_date end_date comp_type report_type end_type net_profit finan_exp c_fr_sale_sg ... net_dism_capital_add net_cash_rece_sec credit_impa_loss use_right_asset_dep oth_loss_asset end_bal_cash beg_bal_cash end_bal_cash_equ beg_bal_cash_equ update_flag
0 600519.SH 20251030 20251030 20250930 1 1 3 NaN NaN 1.387917e+11 ... None None NaN NaN None NaN NaN NaN NaN 1
1 600519.SH 20251030 20251030 20250930 1 1 3 NaN NaN 1.387917e+11 ... None None NaN NaN None NaN NaN NaN NaN 0
2 600519.SH 20250813 20250813 20250630 1 1 2 4.698668e+10 4369620.54 9.508661e+10 ... None None -4312358.58 26052929.46 None 1.343993e+11 1.642979e+11 8.485969e+09 5.672140e+09 1
3 600519.SH 20250430 20250430 20250331 1 1 1 NaN NaN 5.614406e+10 ... None None NaN NaN None NaN NaN NaN NaN 1
4 600519.SH 20250430 20250430 20250331 1 1 1 NaN NaN 5.614406e+10 ... None None NaN NaN None NaN NaN NaN NaN 0
5 600519.SH 20250403 20250403 20241231 1 1 4 8.933473e+10 14474584.09 1.826452e+11 ... None None 23248436.03 94492678.29 None 1.642979e+11 1.473602e+11 5.672140e+09 3.000000e+09 1
6 rows × 97 columns
示例2:获取指定报告期的个股 现金流量表 数据
通过传入period可指定返回特定报告期的现金流量表数据。例如本示例传入ts_code为"600519.SH"、period为"20251231"可获得贵州茅台2025年年报现金流量表数据。
python
df = pro.cashflow(ts_code='600519.SH', period='20251231', fields='end_date,report_type,n_cashflow_act,n_cashflow_inv_act,n_cash_flows_fnc_act')
df
输出结果:
XML
end_date report_type n_cashflow_act n_cashflow_inv_act n_cash_flows_fnc_act
0 20251231 1 6.152220e+10 -3.164190e+10 -7.342708e+10
示例3:获取单季合并报表
通过传入report_type可获取指定报表类型的财务数据,值为"2"时得到的是"单季合并"报表。观察本示例贵州茅台20251231的各项现金流和示例2中相应的值,可发现report_type为"1"时是当年累计值,为"2"时则为单季度非累计值。更多报表类型请见下文说明章节。
注意,虽然
report_type是可选参数,但该参数已经默认为"1";
python
df = pro.cashflow(ts_code='600519.SH', period='20251231', report_type='2', fields='end_date,report_type,n_cashflow_act,n_cashflow_inv_act,n_cash_flows_fnc_act')
df
输出结果:
XML
end_date report_type n_cashflow_act n_cashflow_inv_act n_cash_flows_fnc_act
0 20251231 2 2.332540e+10 -2.621853e+10 -3.018328e+10
示例4:通过VIP版本获取某一报告期所有上市公司的 现金流量表 数据
VIP版本现金流量表数据接口可不必传入ts_code字段。本示例演示利用VIP版本获取所有上市公司2025年年报表数据。
本文作者在探索本接口数据的时候,由于单次返回限量是6400条记录,所以还没有将该报告期所有上市公司数据全部获取到。本文作者已经向Tushare团队进行了反映,估计等到大家使用的时候已经调大了限量。
python
df = pro.cashflow_vip(period='20251231')
df
输出结果:
XML
ts_code ann_date f_ann_date end_date comp_type report_type end_type net_profit finan_exp c_fr_sale_sg ... net_dism_capital_add net_cash_rece_sec credit_impa_loss use_right_asset_dep oth_loss_asset end_bal_cash beg_bal_cash end_bal_cash_equ beg_bal_cash_equ update_flag
0 000001.SZ 20260321 20260321 20251231 2 1 4 4.263300e+10 NaN NaN ... 597000000.0 NaN 4.040700e+10 1.927000e+09 160000000.0 4.057000e+09 3.421000e+09 3.385780e+11 2.535250e+11 0
1 000002.SZ 20260401 20260401 20251231 1 1 4 -9.181009e+10 7.580394e+09 1.232392e+11 ... NaN NaN 3.417403e+10 2.044388e+09 NaN 6.152076e+10 8.400939e+10 NaN NaN 1
2 000004.SZ 20260428 20260428 20251231 1 1 4 1.475650e+07 9.437523e+04 2.100704e+08 ... NaN NaN NaN 3.299191e+06 NaN 1.049204e+08 7.038880e+07 NaN NaN 1
3 000006.SZ 20260403 20260403 20251231 1 1 4 -3.518435e+07 1.636327e+08 3.116751e+09 ... NaN NaN 6.164624e+06 1.940029e+07 NaN 2.355281e+09 2.671628e+09 NaN NaN 1
4 000007.SZ 20260429 20260429 20251231 1 1 4 6.282586e+05 2.013891e+06 4.501676e+08 ... NaN NaN 5.129874e+05 5.049559e+06 NaN 7.824101e+07 1.019848e+08 NaN NaN 1
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
6395 603393.SH 20260328 20260328 20251231 1 1 4 5.748376e+08 2.654331e+08 4.760320e+09 ... NaN NaN 1.219844e+08 1.235766e+07 NaN 3.056640e+09 2.485960e+09 NaN NaN 0
6396 603395.SH 20260428 20260428 20251231 1 1 4 5.746076e+07 4.461614e+06 3.775471e+09 ... NaN NaN -3.862199e+05 1.376096e+06 NaN 4.273789e+08 4.412819e+08 NaN NaN 1
6397 603396.SH 20260428 20260428 20251231 1 1 4 8.036621e+07 5.182227e+06 1.761713e+09 ... NaN NaN 7.781513e+07 8.163445e+06 NaN 1.495743e+09 9.198902e+08 NaN NaN 0
6398 603396.SH 20260428 20260428 20251231 1 1 4 8.036621e+07 5.182227e+06 1.761713e+09 ... NaN NaN 7.781513e+07 8.163445e+06 NaN 1.495743e+09 9.198902e+08 NaN NaN 1
6399 603398.SH 20260430 20260430 20251231 1 1 4 -8.218892e+08 6.743397e+07 1.881710e+08 ... NaN NaN 2.360071e+07 2.795174e+06 NaN 2.490317e+07 1.905778e+08 NaN NaN 1
6400 rows × 97 columns
说明:
说明1:对`report_type`(报表类型)的说明:
上市公司披露财务三大报表的时候并非简单披露三张表,会依据是否包含子公司、是否累计以及是否发生数据修正披露更多报表。本小节说明首先摘录Tushare官网上对report_type字段的说明表,然后围绕合并范围(是否包含子公司)、报告期(本季/累计/单季)以及数据状态(原始/调整/上年同期)三个维度划分进一步补充说明,最后提出一些使用建议。
注意,虽然
report_type是可选参数,但该参数已经默认为"1";
Tushare官网对主要报表类型说明
|----|------------|--------------------------|
| 代码 | 类型 | 说明 |
| 1 | 合并报表 | 上市公司最新报表(默认) |
| 2 | 单季合并 | 单一季度的合并报表 |
| 3 | 调整单季合并表 | 调整后的单季合并报表(如果有) |
| 4 | 调整合并报表 | 本年度公布上年同期的财务报表数据,报告期为上年度 |
| 5 | 调整前合并报表 | 数据发生变更,将原数据进行保留,即调整前的原数据 |
| 6 | 母公司报表 | 该公司母公司的财务报表数据 |
| 7 | 母公司单季表 | 母公司的单季度表 |
| 8 | 母公司调整单季表 | 母公司调整后的单季表 |
| 9 | 母公司调整表 | 该公司母公司的本年度公布上年同期的财务报表数据 |
| 10 | 母公司调整前报表 | 母公司调整之前的原始财务报表数据 |
| 11 | 母公司调整前合并报表 | 母公司调整之前合并报表原数据 |
| 12 | 母公司调整前报表 | 母公司报表发生变更前保留的原数据 |
补充说明
report_type(报表类型)有12种类型主要围绕合并范围(是否包含子公司)、报告期(本季/累计/单季)以及数据状态(原始/调整/上年同期)三个维度划分。
a. 最常用报表 (默认)
|----|------|-------------------------------------------------------------|
| 代码 | 类型名称 | 简要说明 |
| 1 | 合并报表 | 默认报表。反映上市公司及其全部子公司作为一个整体的财务状况,是进行绝大多数财务分析(如估值、成长性)时使用的标准报表。 |
b. 按合并范围划分
|----|-------|----------------------------------------------|
| 代码 | 类型名称 | 简要说明 |
| 1 | 合并报表 | 如上所述,包含母公司和所有子公司。 |
| 6 | 母公司报表 | 仅反映上市公司(母公司)自身的财务状况,不含子公司。用于分析母公司本身的经营和资产情况。 |
c. 按数据状态/调整类型划分
|----|----------|-----------------------------------------------|
| 代码 | 类型名称 | 简要说明 |
| 4 | 调整合并报表 | 本年度公布的上年同期的财务报表数据(即为了可比性,对上年数据按新准则或口径调整后的版本)。 |
| 5 | 调整前合并报表 | 当数据发生变更(更正)时,保留的原始旧数据。 |
| 9 | 母公司调整表 | 对应代码 4 的母公司版本。 |
| 10 | 母公司调整前报表 | 对应代码 5 的母公司版本。 |
d. 按报告期划分(单季/累计)
|----|----------|-----------------------------------|
| 代码 | 类型名称 | 简要说明 |
| 2 | 单季合并 | 单独提取本报告期(一个季度)内的经营数据,而非年初至今的累计数据。 |
| 3 | 调整单季合并表 | 对应代码 2 的调整版本(如有)。 |
| 7 | 母公司单季表 | 对应代码 2 的母公司版本。 |
| 8 | 母公司调整单季表 | 对应代码 3 的母公司版本。 |
e. 其他
|----|------------|---------------------------|
| 代码 | 类型名称 | 简要说明 |
| 11 | 母公司调整前合并报表 | 母公司报表发生变更前,所保留的原始合并报表数据。 |
| 12 | 母公司调整前报表 | 母公司报表发生变更前,所保留的原始母公司报表数据。 |
使用建议
-
首选默认:进行常规的成长性、盈利能力分析时,直接使用默认的 report_type='1'(合并报表) 即可。
-
关注变更:当发现某公司历史数据有重大调整时,可以查看 report_type='5'(调整前合并报表)来对比原始数据,以了解调整的影响。
-
单季分析:如果需要分析收入的季节性,应使用 report_type='2'(单季合并)数据,它直接提供了单一季度的经营情况。
说明2:本文说明
本文旨在对Tushare的现金流量表cashflow数据接口进行介绍,提供更多参考示例和使用说明。
cashflow接口是 Tushare Pro 中用于获取上市公司现金流量表数据的核心接口。它记录了公司在一定时期内现金和现金等价物的流入和流出情况,是评估公司盈利质量、偿债能力和财务弹性的关键信息来源,弥补了利润表仅关注账面利润的不足。可获取经营活动现金流、投资活动现金流、筹资活动现金流、重要衍生指标等数据。
本文目的是为了让用户和AIGC工具能够更便捷、准确地使用该接口。大家在使用过程中遇到什么问题和建议可在线留言,作者会进行数据探索将结果更新到文章中,并将建议反馈给Tushare团队。本文另一个目的也是为了聚集大家的智慧以创建"我为人人,人人为我"的共创氛围。