AI 原生量化投研平台AI-native quantitative research platform
正在加载…Loading…
页面仍在加载,可以继续等待,或重新加载。The page is still loading. You can keep waiting or reload.
部分页面资源未能加载,请重新加载。Some page resources could not load. Please reload.
设备当前处于离线状态,恢复连接后可以继续等待或重新加载。Your device is offline. Once connected, you can keep waiting or reload.
该表通过关键财务指标详细分析了上市公司的偿债能力,包括流动比率、速动比率、现金比率、现金到期债务比、现金流量利息保障倍数等,以及EBITDA相关的偿债能力指标。数据非日频,根据财报的发布更新。某些指标覆盖最新一期、单季度和滚动十二期数据。
61 个字段
请注意:该表不是日频数据,不能直接作为因子使用。该表适合对财务数据有深入研究的用户,日频财务数据的加工方法见文末“通用文档”。
偿债能力财务指标是用来评估一个企业在未来是否能够按时偿还其债务的能力。
| 关键字 | 释意 |
|---|---|
| date | 公告日,表示站在这一天能看到的财务数据(shift = 0 为当时最新一期),不是报告期(报告期见 report_date),可能不是交易日;与 cn_stock_financial_changedate 中的 changedate 对应,详见文末“通用文档” |
| instrument | 股票代码 |
| report_date | 财务报告期,规则见文末“通用文档” |
| shift | 偏移期,站在 date 这一天,向前偏移 n 期的财务数据,0 为当时最新一期,单位为季度 |
字段名由下表的英文字段加后缀组成,后缀表示取数口径:_lf 最新一期,_mrq 单季度,_ttm 滚动十二期。不是每个指标都有三种后缀,具体字段以表结构为准。
| 中文名 | 英文字段 | 中文公式 | 英文公式 |
|---|---|---|---|
| 流动比率 | current_ratio | 流动资产 / 流动负债 | current_assets / current_liabilities |
| 速动比率 | quick_ratio | (流动资产-存货 - 预付款项 - 一年内到期的非流动资产 - 其他流动资产) / 流动负债 | (current_assets - inventories - prepayments - noncurr_assets_due_within_1y - other_current_assets) / current_liabilities |
| 简化速动比率 | simple_quick_ratio | (流动资产 - 存货 ) / 流动负债 | (current_assets - inventories) / current_liabilities |
| 保守速动比率 | conservative_quick_ratio | (货币资金+交易性金融资产+应收票据及应收账款+其他应收款合计) / 流动负债 | (moneytary_assets + tradable_fin_assets + notes_and_accounts_receivable + other_receivables_sum) / current_liabilities |
| 现金比率 | cash_ratio | (货币资金+交易性金融资产) / 流动负债合计 | (moneytary_assets + tradable_fin_assets) / total_current_liabilities |
| 现金到期债务比 | cash_to_expired_debt | 现金及现金等价物净增加额 / (短期借款+一年内到期的非流动负债+应付票据与应付账款) | netinc_in_cce / (shortterm_borrowings + noncurr_liabilities_due_within_1y + notes_and_accounts_payable) |
| 现金流量利息保障倍数 | cffoa_to_interest | 经营活动产生的现金流量净额 / 利息费用 | net_cffoa / interest_expense |
| 产权比率 | equity_ratio | 负债合计 / 归属于母公司的股东权益 | total_liabilities / total_equity_to_parent_shareholders |
| 净资产负债率 | liab_to_net_asset | 负债合计/(资产合计 - 负债合计) | total_liabilities / (total_assets - total_liabilities) |
| 净负债率 | net_debt_ratio | (带息债务-货币资金)/所有者权益 | (interest_bearing_debt - moneytary_assets) / total_owner_equity |
| 归属母公司股东的权益/负债合计 | parent_equity_to_liab | 归属母公司股东的权益/负债合计 | parent_equity_to_liab |
| 归属母公司股东的权益/带息债务 | parent_equity_to_interest_liab | 归属母公司股东的权益/带息债务 | parent_equity_to_interest_liab |
| 有形资产/带息债务 | tangible_assets_to_interest_liab | 有形资产/带息债务 | tangible_assets / interest_bearing_debt |
| 有形资产/负债合计 | tangible_assets_to_liab | 有形资产/负债合计 | tangible_assets / total_liabilities |
| 有形资产/净债务 | tangible_assets_to_net_liab | 有形资产 / (带息债务-货币资金) | tangible_assets / (interest_bearing_debt - moneytary_assets) |
| 息税折旧摊销前利润/负债合计 | ebitda_to_liab | EBITDA(反推法) / 负债合计 | ebitda / total_liabilities |
| 现金债务总额比 | cffoa_to_liab | 经营活动产生的现金流量净额 / 负债合计 | net_cffoa / total_liabilities |
| 现金带息债务比 | cffoa_to_interest_liab | 经营活动产生的现金流量净额 / 带息债务 | net_cffoa / interest_bearing_debt |
| 现金流动负债比 | cffoa_to_curr_liab | 经营活动产生的现金流量净额 / 流动负债 | net_cffoa / current_liabilities |
| 现金净债务比 | cffoa_to_net_liab | 经营活动产生的现金流量净额 / 净债务 | net_cffoa / net_debt |
| 现金非流动负债比 | cffoa_to_noncurr_liab | 经营活动产生的现金流量净额/非流动负债 | net_cffoa / noncurr_liabilities |
| 非筹资性现金净流量与流动负债的比率 | nonciffa_to_curr_liab | (经营活动产生的现金流量净额+投资活动产生的现金流量净额) / 流动负债合计 | (net_cffoa + net_cffia) / total_current_liabilities |
| 非筹资性现金净流量与负债总额的比率 | nonciffa_to_liab | (经营活动产生的现金流量净额+投资活动产生的现金流量净额) / 负债合计 | (net_cffoa + net_cffia) / total_liabilities |
| 已获利息倍数 | ebit_to_interest | EBIT(反推法)/利息费用 | ebit / interest_expense |
| 有形净值债务率 | debt_to_tangible | 负债合计 / (归属母公司股东的权益-无形资产-开发支出-商誉-长期待摊费用-递延所得税资产) | total_liabilities / (total_equity_to_parent_shareholders - intangible_assets - development_costs - goodwill - longterm_prepaid_expense - deferred_tax_assets) |
| EBITDA/带息债务 | ebitda_to_interest_liab | EBITDA/带息债务 | ebitda / interest_bearing_debt |
| EBITDA/利息费用 | ebitda_to_interest_fee | EBITDA/利息费用 | ebitda / interest_expense |
| 全部债务/EBITDA | liab_to_ebitda | 全部债务/EBITDA | total_debt / ebitda |
| 货币资金/短期债务 | cash_to_shortterm_debt | 货币资金/短期债务 | moneytary_assets / shortterm_borrowings |
| 长期债务与营运资金比率 | longterm_liab_to_wc | 非流动负债合计 / 营运资金 | noncurr_liabilities / working_capital |
| 长期负债占比 | longterm_liab_to_liab | 长期负债 / 负债合计 | longterm_liabilities / total_liabilities |
2026-10-28 至 2026-11-04 的数据,字段较多,只展示 7 个字段,按日期、股票代码、报告期排序,展示前 5 行和后 5 行。
| date | instrument | report_date | shift | current_ratio_lf | quick_ratio_lf | simple_quick_ratio_lf | conservative_quick_ratio_lf | cash_ratio_lf | cash_to_expired_debt_lf | cffoa_to_interest_lf | equity_ratio_lf | liab_to_net_asset_lf | net_debt_ratio_lf | parent_equity_to_liab_lf | parent_equity_to_interest_liab_lf | tangible_assets_to_interest_liab_lf | tangible_assets_to_liab_lf | tangible_assets_to_net_liab_lf | ebitda_to_liab_lf | cffoa_to_liab_lf | cffoa_to_interest_liab_lf | cffoa_to_curr_liab_lf | cffoa_to_net_liab_lf | cffoa_to_noncurr_liab_lf | nonciffa_to_curr_liab_lf | nonciffa_to_liab_lf | ebit_to_interest_lf | debt_to_tangible_lf | ebitda_to_interest_liab_lf | ebitda_to_interest_fee_lf | liab_to_ebitda_lf | cash_to_shortterm_debt_lf | longterm_liab_to_wc_lf | longterm_liab_to_liab_lf | cffoa_to_interest_mrq | ebitda_to_liab_mrq | cffoa_to_liab_mrq | cffoa_to_interest_liab_mrq | cffoa_to_curr_liab_mrq | cffoa_to_net_liab_mrq | cffoa_to_noncurr_liab_mrq | nonciffa_to_curr_liab_mrq | nonciffa_to_liab_mrq | ebit_to_interest_mrq | ebitda_to_interest_liab_mrq | ebitda_to_interest_fee_mrq | liab_to_ebitda_mrq | cffoa_to_interest_ttm | ebitda_to_liab_ttm | cffoa_to_liab_ttm | cffoa_to_interest_liab_ttm | cffoa_to_curr_liab_ttm | cffoa_to_net_liab_ttm | cffoa_to_noncurr_liab_ttm | nonciffa_to_curr_liab_ttm | nonciffa_to_liab_ttm | ebit_to_interest_ttm | ebitda_to_interest_liab_ttm | ebitda_to_interest_fee_ttm | liab_to_ebitda_ttm |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-28 00:00:00 | 000025.SZ | 2008-12-31 00:00:00 | 71 | 0.404805 | 0.220145 | 0.243902 | 0.220145 | 0.12453 | 0.23812 | 2.79862 | 2.61168 | 2.28656 | 0.579919 | 0.382895 | 1.10531 | 0.904902 | 0.313471 | 1.23598 | 0.0742333 | 0.0829785 | 0.239536 | 0.111358 | 0.327176 | 0.325601 | 0.1209 | 0.0900891 | 1.17267 | 3.19009 | 0.214291 | 2.50367 | 13.471 | 0.23812 | -0.0991929 | 0.0439932 | nan | nan | nan | nan | nan | nan | nan | 0 | 0 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | 0 | 0 | nan | nan | nan | nan |
| 2026-10-28 00:00:00 | 000025.SZ | 2009-03-31 00:00:00 | 70 | nan | nan | nan | nan | nan | nan | 4.4158 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | -2.17815 | nan | nan | -2.17815 | nan | nan | nan | nan | 4.4158 | nan | nan | nan | nan | nan | nan | nan | nan | -2.17815 | nan | -2.17815 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
| 2026-10-28 00:00:00 | 000025.SZ | 2009-06-30 00:00:00 | 69 | nan | nan | nan | nan | nan | nan | 9.95459 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | 1.79069 | nan | nan | 3.87468 | nan | nan | nan | nan | 16.3668 | nan | nan | nan | nan | nan | nan | nan | nan | 6.38537 | nan | 6.38537 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
| 2026-10-28 00:00:00 | 000025.SZ | 2009-09-30 00:00:00 | 68 | nan | nan | nan | nan | nan | nan | 1.5286 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | 1.38785 | nan | nan | 1.38785 | nan | nan | nan | nan | -13.6682 | nan | nan | nan | nan | nan | nan | nan | nan | 0.661295 | nan | 0.661295 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
| 2026-10-28 00:00:00 | 000025.SZ | 2009-12-31 00:00:00 | 67 | 0.638071 | 0.47823 | 0.557058 | 0.47823 | 0.34116 | 0.829206 | 2.75648 | 2.43664 | 2.13456 | 0.404465 | 0.410401 | 1.09352 | 0.890546 | 0.334224 | 1.76386 | 0.0845856 | 0.0635799 | 0.16941 | 0.116732 | 0.335542 | 0.139633 | 0.157109 | 0.085572 | 1.89989 | 2.992 | 0.22538 | 3.66717 | 11.8224 | 0.829206 | -1.2136 | 0.239237 | 6.02877 | 0.0205448 | 0.0379421 | 0.101097 | 0.0696612 | 0.200239 | 0.0833279 | 0.111553 | 0.0607593 | 3.26445 | 0.0547421 | 3.26445 | 48.674 | 2.75648 | 0.043822 | 0.0635799 | 0.16941 | 0.116732 | 0.335542 | 0.139633 | 0.157109 | 0.085572 | 1.89989 | 0.116764 | 1.89989 | 22.8196 |
| 2026-11-02 00:00:00 | 001381.SZ | 2025-09-30 00:00:00 | 4 | nan | nan | nan | nan | nan | nan | 59.274 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | 78.5076 | nan | nan | 78.5076 | nan | nan | nan | nan | 43.7637 | nan | nan | nan | nan | nan | nan | nan | nan | 49.8004 | nan | 49.8004 | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan | nan |
| 2026-11-02 00:00:00 | 001381.SZ | 2025-12-31 00:00:00 | 3 | 1.60347 | 1.18818 | 1.29323 | 0.928756 | 0.324425 | 0.372419 | 56.2651 | 0.598871 | 0.598871 | -0.0317584 | 1.66981 | 8.26476 | 6.97896 | 1.41003 | -26.589 | 0.356715 | 0.265922 | 1.31619 | 0.338228 | -5.01453 | 1.24392 | -0.108353 | -0.0851894 | 50.8091 | 0.709207 | 1.76557 | 75.4754 | 2.80336 | 0.372419 | 0.36682 | 0.174041 | 53.0175 | 0.047534 | 0.120506 | 0.596448 | 0.153272 | -2.2724 | 0.563697 | 0.133905 | 0.105279 | 20.9129 | 0.235271 | 20.9129 | 21.0376 | nan | 0.235409 | 0.265922 | 1.31619 | 0.338228 | -5.01453 | 1.24392 | 0.338228 | 0.265922 | nan | 1.16516 | nan | 4.24792 |
| 2026-11-02 00:00:00 | 001381.SZ | 2026-03-31 00:00:00 | 2 | nan | nan | nan | nan | nan | nan | nan | nan | 0.636135 | nan | nan | nan | nan | nan | nan | 0.0590589 | 0.0130182 | 0.0130182 | nan | 0.0130182 | nan | nan | 0.0130182 | nan | nan | 0.0590589 | nan | 16.9323 | nan | nan | 0 | nan | 0.0590589 | 0.0130182 | 0.0130182 | nan | 0.0130182 | nan | nan | 0.0130182 | nan | 0.0590589 | nan | 16.9323 | nan | 0.212703 | 0.242686 | 0.242686 | nan | 0.242686 | nan | nan | 0.242686 | nan | 0.212703 | nan | 4.7014 |
| 2026-11-02 00:00:00 | 001381.SZ | 2026-06-30 00:00:00 | 1 | 1.46514 | 1.05327 | 1.14647 | 0.93438 | 0.346903 | 0.371595 | 24.6744 | 0.697026 | 0.697026 | -0.0300148 | 1.43467 | 5.96752 | 5.08825 | 1.22328 | -28.4079 | 0.159097 | 0.119849 | 0.498511 | 0.146666 | -2.78321 | 0.655467 | -0.0496902 | -0.0406046 | 20.3656 | 0.817474 | 0.661766 | 32.7549 | 6.28547 | 0.371595 | 0.396203 | 0.150592 | nan | 0.0417583 | 0.108319 | 0.450555 | 0.132557 | -2.51547 | 0.592412 | 0.132557 | 0.108319 | nan | 0.173694 | nan | 23.9473 | nan | 0.185954 | 0.266557 | 1.10875 | 0.326201 | -6.19018 | 1.45783 | 0.326201 | 0.266557 | nan | 0.773476 | nan | 5.37769 |
| 2026-11-02 00:00:00 | 001381.SZ | 2026-09-30 00:00:00 | 0 | 1.46259 | 1.03388 | 1.13042 | 0.866207 | 0.29552 | 0.318204 | 31.2282 | 0.703978 | 0.703978 | -0.0238807 | 1.4205 | 6.77236 | 5.77972 | 1.21229 | -35.7371 | 0.133649 | 0.195055 | 0.929941 | 0.236558 | -5.75001 | 1.11176 | -0.0556724 | -0.0459048 | 21.3972 | 0.824884 | 0.637185 | 21.3972 | 7.48228 | 0.318204 | 0.37834 | 0.144311 | 50.8989 | 0.0382335 | 0.0794516 | 0.378793 | 0.0963572 | -2.34215 | 0.452851 | -0.00817235 | -0.00673853 | 24.4934 | 0.182282 | 24.4934 | 26.1551 | nan | 0.16253 | 0.28858 | 1.37583 | 0.349984 | -8.50704 | 1.64483 | 0.349984 | 0.28858 | nan | 0.774879 | nan | 6.15269 |
平台的财务数据分四类,从原始披露到加工指标逐层派生:
| 类别 | 数据表 | 说明 |
|---|---|---|
| 原始数据 | 资产负债表、利润表、现金流量表 PIT(cn_stock_financial_*_pit),财报变更日期(cn_stock_financial_changedate),财务附注(cn_stock_financial_note_*) | 公司披露什么就记录什么,只在披露财报时有记录,不是日频 |
| 衍生数据 | cn_stock_financial_lf_shift、ly_shift、mrq_shift、ttm_shift、notes_shift | 把原始数据加工成最新一期(LF)、最新年报(LY)、单季度(MRQ)、滚动十二期(TTM),并用 shift 带出历史各期 |
| 财务分析 | cn_stock_financial_profitability、growth、operating、debt_repay、capital、cash_flow、earning_quality、xps、derivative | 在衍生数据的基础上做加减乘除得到的财务指标 |
| 盈利预期 | cn_stock_financial_earnings_preview、cn_stock_financial_forecast_consensus_rolling | 业绩快报和机构一致预期,口径独立,见各表文档 |
以上财务表都不是日频数据,不能直接当作每日因子使用,需要先按公告日对齐到交易日,做法见本文五。衍生数据和财务分析适合对财务数据有较深了解、希望构建复杂财务因子的用户。
财务表里有两个时间概念,含义不同,使用时不要混淆:
date:公告日,即这条财务数据对外公布(首次披露或更正)的日期,也是这条数据可以被使用的最早日期。date 不是报告期。report_date:报告期,即这条数据属于哪一期财报。关于 date 的几点说明:
date 就是公告日,原样记录,公告日不是交易日(周末、节假日)时也不会顺延,所以 date 可能不是交易日。按交易日使用时,用 date <= 交易日 取最新的记录即可(见本文五的 ASOF JOIN)。date 来自 cn_stock_financial_changedate 的 changedate,二者约等于同一个日期。数据入库时会去重,所有字段的取值完全相同的记录只保留一条。report_date 首次披露和后来更正,会有不同的 date。date 同样是公告日,表里只有公司有公告的日期。站在这一天,shift = 0 是当时能看到的最新一期,shift = 1, 2… 是更早的各期,数值是当时能看到的版本,示例见本文四。报告期的取值:
上市公司一年内披露四次财务报告,披露时限如下:
判断某一天能看到哪些数据要用 date,不能用 report_date,否则会用到当时还没有公布的数据。
上市公司除了正常披露财务报表外,后续会时常对历史财务数据进行修正。因此在量化投资领域,加工财务数据时不能只用最新修正后的数据,而要基于历史时间节点获取当时能获取的最新数据。PIT(Point In Time)数据指的是在某个时间点上,基于已公布的财务报表获取的某个财务指标的取值。
以 002473.SZ 的财务数据为例,在平台上调用以下代码:
import daiimport pandas as pdpd.set_option('display.float_format', '{:.2f}'.format)
dai.query("""SELECT date, instrument, report_date, change_type, total_current_assetsFROM cn_stock_financial_balance_general_pitWHERE instrument='002473.SZ'AND report_date='2019-12-31'AND date>'2020-01-01'""").df()运行上述代码,能得到以下数据:
| date | instrument | report_date | change_type | total_current_assets |
|---|---|---|---|---|
| 2020-04-30 | 002473.SZ | 2019-12-31 | 0 | 223449880.95 |
| 2020-08-27 | 002473.SZ | 2019-12-31 | 1 | 228470428.90 |
| 2020-10-26 | 002473.SZ | 2019-12-31 | 1 | 228470428.90 |
| 2021-04-29 | 002473.SZ | 2019-12-31 | 1 | 228470428.90 |
该公司于 2020 年 4 月 30 日首次公布 2019 年年报,披露的流动资产(total_current_assets)为 223449880.95,又于 2020 年 8 月 27 日对 2019 年年报的流动资产进行修正,修正为 228470428.90,因此 2019 年年报在表中有多条记录。
date 为 2020-08-27、2020-10-26、2021-04-29 的 total_current_assets 取值相同,这些重复记录是必要的:公司每披露某一期财报,都会附带上年同期或上年年末的数据作对比,极少部分公司即使不发布修正公告,也会通过这种方式修改历史财务数据,所以每次披露都保留一条记录。
原始数据表里与此相关的字段:
| 字段 | 释意 |
|---|---|
| change_type | 0 表示首次披露的财务数据,1 表示非首次披露或有更改的财务数据 |
| fs_quarter_index | 对应季度,1 指一季报,2 指半年报,3 指三季报,4 指年报,仅报表 PIT 表有 |
原始财务数据只在公司披露财报时才有记录,这类非规整的数据很难直接用于量化投资。衍生数据把原始数据加工成四类,字段名就是原始财务字段加上对应的后缀。要查具体字段,先在原始财报的文档里找到财务字段,再加上后缀,比如利润表的 net_profit 对应 net_profit_lf、net_profit_ttm。
cn_stock_financial_lf_shiftcn_stock_financial_ly_shiftcn_stock_financial_mrq_shiftcn_stock_financial_ttm_shift在平台加工的“衍生数据”和“财务分析”两大类财务数据中,我们同样进行 PIT 处理,以 002473.SZ 这只股票的流动资产(total_current_assets)数据举例:
import daiimport pandas as pdpd.set_option('display.float_format', '{:.2f}'.format)
dai.query("""SELECT date, instrument, report_date, shift, total_current_assets_lfFROM cn_stock_financial_lf_shiftWHERE instrument='002473.SZ'AND shift < 3AND ((date='2020-04-30')OR (date='2020-08-27'))""").df().sort_values("date")通过上述代码,我们得到以下数据,可以看出,站在 2020 年 4 月 30 日这一天,我们能获取到的 2019 年年报的流动资产为 223449880.95,但站在 2020-08-27 这一天时,我们能获取到的 2019 年年报的流动资产为 228470428.90。
| date | instrument | report_date | shift | total_current_assets_lf |
|---|---|---|---|---|
| 2020-04-30 | 002473.SZ | 2019-09-30 | 2 | 268546184.69 |
| 2020-04-30 | 002473.SZ | 2019-12-31 | 1 | 223449880.95 |
| 2020-04-30 | 002473.SZ | 2020-03-31 | 0 | 213964081.16 |
| 2020-08-27 | 002473.SZ | 2019-12-31 | 2 | 228470428.90 |
| 2020-08-27 | 002473.SZ | 2020-03-31 | 1 | 233220236.75 |
| 2020-08-27 | 002473.SZ | 2020-06-30 | 0 | 222315509.19 |
衍生数据按公告日存储,不是日频。要得到日频数据,把财务表按公告日对齐到交易日:某一天只使用当天及之前已经公告的最新一期(shift = 0),在下一次公告之前沿用上一期的值。DAI SQL 用 ASOF JOIN 完成。
下面以日频 ROE 为例,ROE = 滚动十二期归属母公司股东的净利润 / 最新一期归属母公司股东的所有者权益:
import dai
df = dai.query("""SELECT b.date, b.instrument, t.net_profit_to_parent_shareholders_ttm / l.total_equity_to_parent_shareholders_lf AS roe_ttmFROM cn_stock_bar1d bASOF JOIN (SELECT * FROM cn_stock_financial_ttm_shift WHERE shift = 0) t ON b.instrument = t.instrument AND b.date >= t.dateASOF JOIN (SELECT * FROM cn_stock_financial_lf_shift WHERE shift = 0) l ON b.instrument = l.instrument AND b.date >= l.dateWHERE b.date >= '2024-01-01'ORDER BY b.date, b.instrument""", filters={"date": ["2023-01-01", "2024-12-31"]}).pl()filters 的起点要早于第一个需要的交易日,这里提前一年,这样起点之前已经公告的财报也能取到。cn_stock_financial_profitability 的 roe_avg_ttm、roe_period_ttm 等字段。平台还提供过已按日频处理好的财务表 cn_stock_factors_financial_items,以 002473.SZ 的流动资产(total_current_assets)数据举例(该表已不建议使用,建议基于衍生数据自行计算):
import daiimport pandas as pdpd.set_option('display.float_format', '{:.2f}'.format)
dai.query("""SELECT date, instrument, total_current_assets_lyFROM cn_stock_factors_financial_itemsWHERE instrument='002473.SZ'AND ((date>'2020-04-25' and date<'2020-05-05')OR (date>'2020-08-25' and date<'2020-09-01'))""").df().sort_values("date")通过上述代码,我们得到以下数据。可以看出,当日期来到 2020 年 4 月 30 日这一天时,我们能获取到最新的流动资产(年报)数据是 223449880.95,这个数值一直保持到 2020 年 8 月 27 日,最新一期年报的流动资产变为了 228470428.90,符合预期。
| date | instrument | total_current_assets_ly |
|---|---|---|
| 2020-04-27 | 002473.SZ | 330113974.90 |
| 2020-04-28 | 002473.SZ | 330113974.90 |
| 2020-04-29 | 002473.SZ | 330113974.90 |
| 2020-04-30 | 002473.SZ | 223449880.95 |
| 2020-08-26 | 002473.SZ | 223449880.95 |
| 2020-08-27 | 002473.SZ | 228470428.90 |
| 2020-08-28 | 002473.SZ | 228470428.90 |
| 2020-08-31 | 002473.SZ | 228470428.90 |
shift 的含义都与衍生数据相同,字段名带 _lf、_mrq、_ttm 后缀。各指标的计算公式见各表文档的“字段说明”。report_date 的月份筛选出 06-30 和 12-31 的记录。非经常性损益等少数科目在一季报、三季报中也有数据。import daidf = dai.query(""" SELECT * FROM cn_stock_financial_debt_repay WHERE instrument = '000001.SZ' AND shift = 0 ORDER BY date,instrument,report_date""", full_db_scan=True).df()import daidf = dai.query(""" SELECT date, instrument, report_date, cash_ratio_lf, quick_ratio_lf, current_ratio_lf, ebitda_to_liab_lf FROM cn_stock_financial_debt_repay WHERE report_date = '2024-03-31' ORDER BY report_date DESC""", full_db_scan=True).df()import daidf = dai.query(""" SELECT date, instrument, report_date, cffoa_to_liab_ttm, ebitda_to_liab_ttm, liab_to_ebitda_ttm FROM cn_stock_financial_debt_repay WHERE instrument = '000001.SZ' AND shift = 0 ORDER BY report_date DESC LIMIT 4""", filters={"date": ["2023-01-01", "2024-12-31"]}).df()SELECT date, instrument, report_date, shift, current_ratio_lf, quick_ratio_lf, simple_quick_ratio_lf FROM cn_stock_financial_debt_repay WHERE date >= '2026-10-06' ORDER BY date LIMIT 100
SELECT date, instrument, report_date, shift, current_ratio_lf, quick_ratio_lf, simple_quick_ratio_lf FROM cn_stock_financial_debt_repay WHERE date >= '2026-10-06' ORDER BY date LIMIT 100