财报排雷 v1.3.0
对A股非金融类上市公司进行系统性财务报表排雷分析,严格按照三步流程、六大模块、五个风险等级(正常→谨慎关注→关注→规避→坚决回避)执行。覆盖50项核心排雷指标。
⚠️ 适用范围限制
本排雷框架仅适用于非金融类 A 股企业(制造业、消费、能源、运输、地产、科技等)。
明确不适用于以下行业:
- 🏦 银行(现金流量表结构完全不同,资产/负债定义不适用)
- 🛡️ 保险(收入确认和准备金计提逻辑特殊)
- 📈 证券/券商(商业模式和财务指标无意义)
- 💰 其他金融类企业
原因:
- 金融企业的现金流量表没有"销售商品/购买商品"等科目,而是"客户存款/发放贷款"等金融专属科目
- 资产负债率、存货周转率、毛利率等核心指标对金融企业无分析意义
- 金融企业的风险分析需要完全不同的指标体系(资本充足率、不良贷款率、偿付能力等)
若误用: 下载脚本会自动检测金融企业并输出警告,排雷分析结果不可采信。
数据源优先级(强制遵守,违反即执行错误)
核心铁律:TDX MCP 已连接时,优先尝试 TDX 路径。若因架构原因(如 MCP 响应超过 token 限制、文件路径传递困难等)导致 TDX 数据无法被下游脚本处理,自动降级为 THS 并注明原因。
🥇 第一优先:通达信MCP (tdx-connector) — 优先尝试
当 tdx-connector 已连接时,优先使用通达信MCP。执行步骤:
- 调用
tdx_api_data× 3 次获取 BS/IS/CF - 响应数据可能很大(20+期),尝试保存为临时文件
- 运行
extract_tdx_data.py裁剪为最近4期年报或用户指定的4期报告 - 送入
compute_indicators.py计算
⚠️ 已知限制: 在 AI Agent 交互式场景中,MCP 响应可能超过上下文 token 限制,且文件路径在 Windows/Linux/Mac 不同终端间传递可能失败。如遇到上述情况,自动降级为 THS 并在报告中注明。
🥈 降级条件(仅以下情况可降级为 THS)
| 降级条件 | 说明 |
|---|---|
| TDX MCP 未连接 | tdx-connector 显示 disconnected |
| TDX API 调用失败 | 返回错误/超时/无权限 |
| TDX 返回空数据 | 该股票无 TDX 数据覆盖 |
| extract_tdx_data.py 裁剪后数据不足 | 年报不足 2 期 |
⚠️ "数据量太大导致上下文溢出"不在此列——这是正常现象,用裁剪脚本处理。
📊 数据源降级原则
- 强制优先尝试 TDX MCP(已连接状态下无例外)
- 仅在 TDX 真的不可用时降级为 THS
- 报告中注明实际使用的数据源
- 降级时必须向用户说明原因
总执行规则(强制优先执行)
严格按照以下三步流程执行,不得颠倒、跳步:
- 第一步:数据提取与表格填充 — 按「数据源优先级」获取合并三大报表数据(优先TDX MCP,不可用时自动降级为
scripts/download_statements.py),然后从返回的JSON中提取数据,填充「一、三大财务报表模板」全部表格,无公开数据标注【无公开数据】,不得留空;绝对不能提取母公司报表数据。THS 字段映射规则见references/ths_field_mapping.md。 - 第二步:指标计算与排雷判定 — 基于已填充的三大财务报表数据,按照「模块一至模块六」规则,完成全部指标计算、异常判定、风险分级。
- 第三步:结果汇总与输出 — 完成「模块七至模块十一」全部内容输出,确保所有结论有数据支撑。
核心基础规则(全程强制遵守)
1. 期间定义规则
- 无论用户提供的是连续4个季度财报还是连续4个年度财报,均按时间排序:
- 日期最早 = 第一期,次早 = 第二期,次晚 = 第三期,日期最晚 = 第四期
- 第一期为数据基期,所有增速类指标从第二期起计算
2. 取数口径绑定
- 时点类指标(资产负债表):取期末余额
- 时期类指标(利润表、现金流量表):取本期发生额
- 「归母净利润」=「归属于母公司所有者的净利润」,二者取数口径完全一致
3. 单位与精度规则
- 1亿元 = 10000万元
- 金额类:亿元,保留2-4位小数
- 比值/百分比类:保留2位小数
- 无公开数据统一标注【无公开数据】
4. 风险升级规则
- 单期触发异常 → 标记【单期异常】
- 持续2期及以上触发 → 升级为【高风险异常】
- 4期全周期持续触发 → 升级为【极高风险异常】
- 所有异常判定需结合4期全周期趋势,不得仅依据单期数据下结论
5. 舞弊红线规则(优先级最高,触发任意一项直接判定【坚决回避标的】)
- 审计意见为非标准无保留意见
- 归母与合并净利润显著偏离(超出90%-110%区间)
- 存货操纵利润舞弊(同时触发3项存货操纵信号)
- 扣非净利润连续3期及以上为负
- 货币资金收益率<0.15%且持续2期及以上
⚠️ 数据源限制说明:
- 审计意见判定:TDX MCP 提供更全面的附注数据,THS 不提供审计意见类型,使用 THS 时需人工核查年报。
- 研发资本化判定:TDX MCP 数据覆盖更全,THS 不提供研发资本化金额,使用 THS 时需人工核查附注。
6. 增速类指标通用规则
- 第一期统一标注「基期,无增速数据」
- 所有增速/环比/同比指标从第二期起计算
- 计算公式:(本期值 - 上期值)/ 上期值 × 100%
执行流程
第一步:数据提取与填充
从财报中提取数据,填充三大财务报表模板。完整模板见 references/templates.md。
填充规则:
- 严格从合并报表取数,禁止使用母公司报表
- 所有科目必填,无公开数据标注【无公开数据】
- 金额单位:亿元,保留2-4位小数
三大报表模板:
- 表1:资产负债表 — 资产(流动资产/非流动资产)、负债(流动负债/非流动负债)、所有者权益
- 表2:利润表 — 营业总收入到每股收益的完整利润表科目
- 表3:现金流量表 — 经营/投资/筹资三大现金流及明细科目
详细模板表格见
references/templates.md第一节。
第二步:六大模块指标计算与排雷判定
模块一:偿债能力与资金真实性排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
1.1 货币资金
- 取数公式:【资产负债表】「货币资金」期末余额;配套取数【利润表】「财务费用-其中:利息收入」发生额。
- 数值列示要求:分四期单独列示:
- 货币资金期末余额(亿元,保留2位小数)
- 利息收入金额(亿元,保留2位小数)
- 货币资金收益率 = 利息收入/平均余额 ×100%(平均余额=(上期+本期)/2,保留4位小数)
- 逐期变动趋势:标注4期数据是持续上升/持续下降/波动异常
- 核心判定标准:货币资金规模大但利息收入显著偏低 → 资金虚构/被占用/受限嫌疑
- 异常判定规则:
- 单期收益率<0.15% → 标记【资金真实性存疑】
- 持续2期及以上异常 → 升级【高风险异常】
- 4期全周期异常 → 升级【极高风险异常】
- 舞弊识别要点:
- 造假指向:货币资金被大股东/关联方非经营性占用、虚构货币资金
- 强制核查:逐期比对附注受限说明、审计银行函证结果、关联方往来明细
1.2 短期有息负债
- 取数公式:【资产负债表】「短期借款」+「一年内到期的非流动负债」期末余额;配套取数「资产总计」期末余额。
- 数值列示要求:分四期单独列示(亿元,保留4位小数)
- 核心判定标准:货币资金 ≥ 短期有息负债 → 安全,反之 → 有风险
- 异常判定规则:
- 短期有息负债占资产>20%且货币资金不足覆盖 → 标记【短期流动性危机】
- 持续2期占比上升且无改善 → 升级【高风险异常】
1.3 有息负债总额
- 取数公式:短期有息负债 + 「长期借款」+「应付债券」+ 有息「租赁负债」期末余额
- 数值列示要求:分四期单独列示(亿元,保留4位小数),列示各期有息负债率
- 核心判定标准:有息负债<30%资产 → 健康;30%-50% → 谨慎;>50% → 高危
- 异常判定规则:
- 有息负债增速>营收增速30% → 标记【杠杆扩张过快】
- 持续2期及以上触发 → 升级【高风险异常】
1.4 货币资金/短期有息负债
- 取数公式:货币资金期末余额 ÷ 短期有息负债期末余额
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥1 → 安全;0.5-1 → 需谨慎;<0.5 → 高危
- 异常判定规则:
- 单期<0.5 → 标记【资金链脆弱】
- 持续2期及以上<0.5 → 升级【极高风险异常】
1.5 利息保障倍数
- 取数公式:(净利润 + 所得税费用 + 利息费用)÷ 利息费用;若利息费用≤0,无参考意义,判定为正常。
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:>3 → 安全;1-3 → 有风险;<1 → 债务违约风险
- 异常判定规则:
- 单期<1 → 标记【债务违约高风险】
- 持续2期及以上<1 → 升级【极高风险异常】
1.6 存贷双高
- 判定公式:同时满足①货币资金≥10%资产、②有息负债≥20%资产、③利息费用/利息收入>3
- 结果列示要求:分四期单独判定「是/否触发」
- 异常判定规则:
- 单期触发 → 标记【资金真实性异常】
- 任意2期及以上触发 → 升级【极高舞弊风险】
1.7 资金利息真实性
- 取数公式:年化利息收入 ÷ 平均货币资金 ×100%;年化利息收入 = 利息收入 ×(12÷报告期月份数)
- 数值列示要求:分四期单独列示(保留2位小数,百分比)
- 核心判定标准:≥0.3% → 正常;0.15%-0.3% → 可疑;<0.15% → 极高风险
- 异常判定规则:
- 单期<0.15% → 标记【资金真实性存疑】
- 持续2期及以上<0.15% → 升级【极高舞弊风险】
1.8 流动比率
- 取数公式:THS财务摘要直接提供「流动比率」
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥2 → 优秀;1-2 → 一般;<1 → 高危
- 异常判定规则:
- 单期<1 → 标记【短期偿债危机】
- 持续3期下降 → 标记【偿债能力持续恶化】
1.9 速动比率
- 取数公式:THS财务摘要直接提供「速动比率」
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥1 → 优秀;0.5-1 → 一般;<0.5 → 高危
- 异常判定规则:
- 单期<0.5 → 标记【流动性极差】
1.10 保守速动比率
- 取数公式:THS财务摘要直接提供「保守速动比率」
- 数值列示要求:分四期单独列示(保留2位小数)
- 判定标准:参考速动比率,更严格口径
模块二:经营类资产质量排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
2.1 应收账款 + 应收票据
- 取数公式:【资产负债表】「应收账款」净额 +「应收票据」余额;配套取数「营业收入」发生额。
- 数值列示要求:分四期单独列示(亿元,保留4位小数),同步列示占营收比例、增速
- 核心判定标准:<20%营收 → 健康;20%-40% → 一般;>40% → 高风险
- 异常判定规则:
- 占比偏高且增速远超营收 → 标记【信用政策异常】
- 持续2期占比>40%且上升 → 升级【高风险异常】
2.2 应收增速 VS 营收增速
- 取数公式:(应收+应收票据)增速 - 营业收入增速
- 结果列示要求:分四期单独判定「差异>20% 是/否」
- 核心判定标准:差异≤20% → 正常
- 异常判定规则:
- 单期差异>20% → 标记【收入质量异常】
- 持续2期及以上>20% → 升级【高风险异常】
2.3 应收账款周转率
- 取数公式:营业收入 ÷ 平均应收款项总额余额
- 数值列示要求:分四期单独列示(保留2位小数),同步列示同比变动幅度
- 核心判定标准:稳定/持续上升 → 优秀;持续下降 → 竞争力弱化
- 异常判定规则:
- 单期周转率同比下降>30% → 标记【坏账风险激增】
- 持续3期及以上下降 → 升级【高风险异常】
2.4 存货
- 取数公式:【资产负债表】「存货」余额;配套取数「营业收入」发生额。
- 数值列示要求:分四期单独列示(亿元,保留4位小数),同步列示占营收比例、增速
- 核心判定标准:存货增速≤营收增速 → 健康;反之 → 存货积压/收入造假嫌疑
- 异常判定规则:
- 存货暴增但营收未同步增长 → 标记【存货积压异常】
- 持续2期增速>营收增速30% → 升级【高风险异常】
2.5 存货增速 VS 营收增速
- 取数公式:存货增速 - 营业收入增速
- 结果列示要求:分四期单独判定「差异>20% 是/否」
- 异常判定规则:
- 单期差异>20% → 标记【存货滞销风险】
- 持续2期及以上差异>20% → 升级【高风险异常】
2.6 存货周转率
- 取数公式:营业成本 ÷ 平均存货余额
- 数值列示要求:分四期单独列示(保留2位小数),同步列示同比变动幅度
- 异常判定规则:
- 单期周转率同比下降>30% → 标记【存货跌价风险激增】
- 持续2期及以上下降 → 升级【高风险异常】
2.7 合同负债
- 取数公式:【资产负债表】「合同负债」余额;配套取数「营业收入」发生额。
- 数值列示要求:分四期单独列示(亿元,保留4位小数),同步列示占营收比例
- 核心判定标准:占比偏高/持续上升 → 市场需求强/话语权强;持续下降 → 市场需求弱化
- 异常判定规则:
- 合同负债大降但营收增长 → 标记【收入虚增嫌疑】
- 持续2期反向变动 → 升级【高风险异常】
2.8 存货利润操纵专项组合判定
- 取数来源:存货、营业收入、营业成本、资产减值损失
- 数值列示要求:分四期单独列示以下3项指标,逐期判定每个信号是否触发:
- 存货增速与营收增速的差值
- 毛利率及环比/同比变动幅度
- 存货周转天数及环比/同比变动幅度
- 核心判定规则(严格执行):同一期同时触发3个信号 → 判定【利用存货操纵利润极高风险异常】:
- 存货增速>营收增速30%以上
- 毛利率逆势上涨且涨幅≥0.5个百分点
- 存货周转天数环比/同比拉长10%以上
- 异常判定规则:
- 单期触发2个信号 → 标记【存货异常关注】
- 单期触发3个信号 → 标记【存货舞弊极高风险】
- 持续2期触发2个及以上 → 升级【极高舞弊风险】
模块三:长期生产类资产排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
3.1 在建工程
- 取数公式:【资产负债表】「在建工程」余额;配套取数「资产总计」余额。
- 数值列示要求:分四期单独列示(亿元,保留4位小数),同步列示占资产比例、逐期增速
- 核心判定标准:按计划转固 → 正常;长期不转固 → 异常
- 异常判定规则:
- 持续2期占比>5%且增速为正 → 标记【在建工程持续增长,可能长期不转固】
- 占比>10% → 标记【在建工程占比过高】
- 数据源限制:数据源不直接提供转固金额,故通过余额增速+占比联合判定替代
3.2 商誉
- 取数公式:「商誉」余额 ÷ 「归属于母公司所有者权益合计」余额
- 数值列示要求:分四期单独列示(保留2位小数),同步标注标的公司业绩完成情况
- 核心判定标准:<20% → 安全;20%-30% → 谨慎;>30% → 高风险;>50% → 极高风险
- 异常判定规则:
- 占比过高且业绩不达标 → 标记【商誉减值风险】
- 持续2期占比>30% → 升级【高风险异常】
- 单期>50% → 标记【极高风险异常】
注:编号 3.3 为预留位,模块三当前仅有 3.1(在建工程)、3.2(商誉)、3.4(资产减值损失)三个指标。
3.4 资产减值损失
- 取数来源:【利润表】「资产减值损失」发生额
- 数值列示要求:分四期单独列示(亿元,保留4位小数),逐期标注异常情况
- 核心判定标准:与资产规模/行业环境匹配 → 正常;大额波动无理由 → 异常
- 异常判定规则:
- 大额波动 → 标记【资产质量恶化/前期造假暴露】
- 连续2期大额减值 → 升级【高风险异常】
模块四:负债与权益结构排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
4.1 资产负债率
- 取数公式:「总负债」÷「总资产」×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:<50% → 健康;50%-70% → 谨慎;>70% → 高危;强周期行业阈值下调10个百分点
- 异常判定规则:
- 单期同比上升>10个百分点 → 标记【负债扩张过快】
- 持续2期上升且超阈值 → 升级【高风险异常】
4.2 有息负债率
- 取数公式:有息负债总额 ÷ 总资产 ×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:<30% → 健康;>40% → 高风险
- 异常判定规则:
- 有息负债率>50%且利息保障倍数<2 → 标记【利润吞噬风险】
- 持续2期触发 → 升级【极高风险异常】
4.3 经营性负债占比
- 取数公式:(应付账款 + 应付票据 + 合同负债)÷ 总负债 ×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:占比偏高/持续上升 → 产业链话语权强;持续下降 → 议价能力弱化
- 异常判定规则:
- 占比持续下降且无理由 → 标记【产业链地位下滑】
- 持续3期下降 → 升级【高风险异常】
4.4 应付账款 + 应付票据
- 取数公式:【资产负债表】「应付账款」净额 +「应付票据」余额;配套取数「营业成本」发生额
- 数值列示要求:分四期单独列示(亿元,保留4位小数);第一期仅列示绝对值,标注「基期,无增速」;第二期至第四期同步列示占成本比例、增速
- 核心判定标准:增速与营业成本增速匹配 → 正常;显著偏离 → 异常
- 异常判定规则:
- 应付增速远超成本增速30%以上/应付大降但营收增长 → 标记【现金流异常/虚增利润嫌疑】
- 持续2期偏离 → 升级【高风险异常】
4.5 应付账款周转率
- 取数公式:营业成本 ÷ 平均应付款项总额余额
- 数值列示要求:分四期单独列示(保留2位小数),同步列示同比变动幅度
- 核心判定标准:稳定 → 健康;持续大幅下降 → 话语权异常提升;持续大幅上升 → 话语权弱化
- 异常判定规则:
- 周转率同比变动超30%无理由 → 标记【成本/利润异常嫌疑】
4.6 归母净资产 & 少数股东权益
- 取数公式:「归属于母公司所有者权益合计」、「少数股东损益」/「净利润」
- 数值列示要求:分四期单独列示(归母净资产:亿元,保留4位小数;比值保留2位小数);逐期判定「少数股东损益长期为负/占比<5%且归母净利润增速>30% 是/否」
- 核心判定标准:少数股东权益与少数股东损益占比匹配 → 正常;反之 → 异常
- 异常判定规则:
- 少数股东损益为负且绝对值>2%净利 → 标记【体外藏亏嫌疑】(≤2%视同忽略不计)
- 少数股东损益占比<5%但归母净利润增速>30% → 标记【虚增归母净利润嫌疑】
- 持续2期异常 → 升级【极高舞弊风险】
4.7 供应链议价能力差额指标
- 取数公式:供应链净占款差额 =(应付票据 + 应付账款 + 合同负债)-(应收票据 + 应收账款 + 应收款项融资 + 预付款项 + 合同资产)
- 数值列示要求:分四期单独列示(亿元,保留2位小数),同步列示占营业总收入比例;逐期判定差额正负及变动方向
- 核心判定标准:
- 差额>0 → 企业在供应链中具备强议价能力
- 差额<0 → 资金被上下游占用,话语权弱,差额越小(负数绝对值越大)风险越高
- 异常判定规则:
- 单期差额<0 → 标记【供应链话语权弱势】
- 持续2期差额为负且绝对值持续扩大 → 标记【资金被占用高风险】
- 4期全周期差额持续为负且占营收<-10% → 升级【极高风险异常】
- 持续2期触发高风险及以上 → 升级【极高舞弊风险】
模块五:利润表收入与盈利质量排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
5.1 收入与毛利质量
5.1.1 营业收入
- 取数来源:【利润表】「营业收入」发生额;配套取数「销售商品、提供劳务收到的现金」发生额
- 数值列示要求:分四期单独列示(亿元,保留4位小数),同步列示增速
- 核心判定标准:增速±20% → 健康;波动>50%无理由 → 异常
- 异常判定规则:
- 营收暴增但销售收现比低/营收持续下滑 → 标记【收入虚增/主业衰退嫌疑】
- 持续2期下滑>30% → 升级【高风险异常】
5.1.2 毛利率
- 取数公式:(营业收入 - 营业成本)÷ 营业收入 ×100%
- 数值列示要求:分四期单独列示(保留2位小数),同步列示4期变动幅度
- 核心判定标准:稳定/持续上升 → 优秀;单期波动>5个百分点/偏离同行>10个百分点 → 异常
- 异常判定规则:
- 毛利率过高/大幅下滑 → 标记【盈利异常/竞争力丧失嫌疑】
- 持续2期下滑且偏离同行 → 升级【高风险异常】
5.1.3 销售收现比
- 取数公式:「销售商品、提供劳务收到的现金」÷「营业收入」
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:0.9-1.2 → 正常;<0.9 → 赊销过多/收入虚增嫌疑;>1.2 → 预收款充足
- 异常判定规则:
- 单期<0.9 → 标记【收入质量异常】
- 连续2期及以上<0.9 → 升级【极高风险异常】
5.2 费用与利润结构
5.2.1 四项费用率
- 取数公式:销售费用率=销售费用/营收×100%、管理费用率=管理费用/营收×100%、研发费用率=研发费用/营收×100%、财务费用率=财务费用/营收×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:费用率稳定/小幅下降 → 优秀;单期骤降>10个百分点 → 少记费用/虚增净利润嫌疑
- 异常判定规则:
- 费用率显著低于同行平均水平>5个百分点 → 标记【费用体外转移嫌疑】
- 持续2期偏低 → 升级【高风险异常】
注:编号 5.2.2 为预留位。
5.2.3 其他收益占利润总额比例
- 取数公式:「其他收益」÷「利润总额」×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:<20% → 正常;20%-50% → 对政府补助依赖度高;>50% → 主业盈利失效
- 异常判定规则:
- 占比持续>50%且扣非净利润持续为负 → 标记【主业盈利丧失】
- 持续2期>50% → 升级【高风险异常】
5.2.4 营业利润/利润总额
- 取数公式:「营业利润」÷「利润总额」×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:>80% → 主业盈利能力强;<50% → 依赖副业/政府补贴
- 异常判定规则:
- 占比<50%且营收持续下滑 → 标记【核心盈利能力丧失】
- 持续2期<80% → 升级【高风险异常】
5.2.5 净利润 & 扣非净利润
- 取数来源:【利润表】「净利润」、「扣除非经常性损益的净利润」
- 数值列示要求:分四期单独列示(亿元,保留4位小数)
- 核心判定标准:扣非净利润与净利润趋势一致 → 正常;扣非净利润持续偏低 → 利润质量差
- 异常判定规则:
- 净利润增长但扣非净利润下降 → 标记【利润不可持续】
- 持续2期反向变动 → 升级【高风险异常】
5.2.6 扣非净利润占比
- 取数公式:扣非净利润 ÷ 净利润 ×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥80% → 高质量;60%-80% → 中等质量;<60% → 低质量
- 异常判定规则:
- 单期<60% → 标记【利润质量差】
- 持续2期及以上<60% → 升级【高风险异常】
5.2.7 加权ROE & 扣非ROE
- 取数来源:财报披露的加权净资产收益率、扣非净资产收益率
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:>15% → 优秀;10%-15% → 合格;<10% → 资本使用效率差
- 异常判定规则:
- 加权ROE>15%但扣非ROE<10% → 标记【盈利质量虚高】
- 持续2期<10% → 升级【高风险异常】
5.2.8 归母与合并净利润偏离度
- 取数公式:归母净利润 ÷ 合并净利润 ×100%;合并净利润 = 归母净利润 + 少数股东损益
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:合并净利润为正时,90%-110% → 正常;超出该区间 → 异常
- 异常判定规则:
- 偏离度超出正常区间 → 标记【利润操纵嫌疑】
- 持续2期偏离 → 升级【极高舞弊风险】
5.2.9 非经常性损益依赖度
- 取数公式:(归母净利润 - 扣非净利润)÷ 归母净利润 ×100%
- 数值列示要求:分四期单独列示(保留2位小数,百分比)
- 核心判定标准:依赖度越低,主业盈利质量越高;依赖度越高,利润对非经常性损益依赖越强
- 异常判定规则:
- 单期依赖度>50% → 标记【利润依赖度高风险】
- 单期依赖度>100% → 标记【极高风险异常】
- 持续2期>50% → 升级【极高风险异常】
5.2.10 主业盈亏核心判定
- 取数公式:主业盈利质量比 = 扣非净利润 ÷ 归母净利润
- 数值列示要求:分四期单独列示(保留2位小数),逐期判定正负
- 核心判定标准:比值>0 → 主业盈利;比值<0 → 主业亏损
- 异常判定规则:
- 单期比值<0 → 标记【主业亏损异常】
- 扣非净利润连续2期为负 → 标记【主业持续亏损危险】
- 扣非净利润连续3期及以上为负 → 标记【极高风险异常】
5.2.11 净利润虚假增长判定
- 取数公式:净利润增速 =(本期净利润 - 上期净利润)/ 上期净利润 ×100%;扣非净利润增速;增速差异 = 净利润增速 - 扣非净利润增速
- 结果列示要求:分第二期、第三期、第四期单独列示两项增速及差异
- 核心判定标准:净利润与扣非净利润增速同步变动 → 增长真实;高增但扣非下滑 → 虚假增长
- 异常判定规则:
- ①净利润增速≥20% 且 ②扣非净利润增速下降≥10% → 标记【虚假增长异常】
- 持续2期触发 → 升级【高风险异常】
模块六:现金流量表质量排雷
执行要求:所有指标均需完整对比4期全周期数据,分四期单独列示,不遗漏任何一期。
6.1 三大现金流与类型判定
核心数值列示 — 分四期单独列示以下指标(亿元,保留4位小数,标注正负):
- 经营活动产生的现金流量净额(CFO)
- 投资活动产生的现金流量净额(CFI)
- 筹资活动产生的现金流量净额(CFF)
类型判定标准:
| 类型 | CFO | CFI | CFF | 解读 |
|---|---|---|---|---|
| 优质现金牛 | + | - | - | 可长期持有 |
| 扩张成长型 | + | - | + | 谨慎跟踪 |
| 烧钱续命型 | - | - | + | 优先排除 |
| 困境变卖型 | - | + | - | 谨慎回避 |
明确标注第一期至第四期各期现金流类型。
6.2 现金流质量核心指标
6.2.1 净利润现金比率
- 取数公式:CFO ÷ 净利润;若净利润≤0,核查CFO是否为正
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:连续≥1 → 利润真实;0.5-1 → 利润有水分;<0.5 → 极高造假嫌疑
- 异常判定规则:
- 净利润增长但CFO低迷 → 标记【账面利润虚假】
- 连续2期<0.8 → 升级【高风险异常】
- 连续2期<0.5 → 升级【极高舞弊风险】
6.2.2 经营现金流入营收比
- 取数公式:「经营活动现金流入小计」÷「营业收入」
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥1.1 → 质量极高;1.0-1.1 → 健康;<1.0 → 存疑;<0.8 → 极高造假嫌疑
- 异常判定规则:
- 单期<0.8 → 标记【收入真实性异常】
- 连续2期及以上<0.8 → 升级【极高舞弊风险】
6.2.3 资本开支 & 自由现金流
- 取数公式:资本开支 = 「购建固定资产、无形资产和其他长期资产支付的现金」;自由现金流 = CFO - 资本开支
- 数值列示要求:分四期单独列示(亿元,保留4位小数,自由现金流标注正负)
- 核心判定标准:自由现金流持续为正 → 盈利有真实现金支撑;持续为负 → 靠融资续命
- 异常判定规则:
- 自由现金流持续为负且依赖借款融资 → 标记【资金链脆弱】
- 4期全周期持续为负 → 升级【高风险异常】
6.2.4 现金分红率
- 取数公式:现金分红总额 ÷ 归母净利润 ×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥30% → 高分红;10%-30% → 正常分红;<10% → 分红意愿弱;持续0分红 → 异常
- 异常判定规则:
- 货币资金充足、净利润为正,但连续2期0分红/分红率<1% → 标记【货币资金真实性存疑】
- 4期0分红且存贷双高 → 升级【高风险异常】
6.2.5 经营现金流/营业收入
- 取数公式:CFO ÷ 营业收入 ×100%
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:>10% → 优秀;5%-10% → 良好;<5% → 较差
- 异常判定规则:
- 比率<3%且营收增长 → 标记【收入质量极低】
- 连续2期<5% → 升级【高风险异常】
6.2.6 净利润与经营现金流匹配性专项判定
- 取数来源:净利润、CFO
- 结果列示要求:分四期单独列示两项数值,逐期判定正负匹配情况
- 核心判定标准:净利润为正且CFO同步为正 → 质量高;净利润为正但CFO持续为负 → 纸面富贵
- 异常判定规则:
- 单期净利润为正、CFO为负 → 标记【纸面富贵异常】
- 持续2期 → 升级【高风险异常】
- 4期全周期 → 升级【极高舞弊风险】
6.2.7 现金利息保障倍数
- 取数公式:(CFO + 支付的各项税费 + 利息支付现金)÷ 利息费用
- 数值列示要求:分四期单独列示(保留2位小数)
- 核心判定标准:≥5 → 利息偿付能力极强;<5 → 偿付能力弱化;<1 → 完全无力支付利息
- 异常判定规则:
- 单期<5 → 标记【利息偿付能力不足】
- 单期<1 → 标记【债务违约极高风险】
- 持续2期<5 → 升级【高风险异常】
6.2.8 净利润含金量指标
- 取数公式:(CFO + 取得投资收益收到的现金 - 财务费用 + 处置长期资产溢余现金)÷ 归母净利润 ×100%
- 数值列示要求:分四期单独列示(保留2位小数,百分比)
- 核心判定标准:含金量越高利润越真实;≤30% → 利润水分极大
- 异常判定规则:
- 单期≤30% → 标记【利润水分极高警报】
- 持续2期≤30% → 升级【极高风险异常】
6.3 现金流异常排雷
逐条判定,分四期逐期标注:
- CFO连续2期及以上为负(逐期标注正负)
- CFO连续2期及以上<0.8×净利润(逐期比对)
- CFI为正且金额>50%×净利润(变卖资产补现金流)
- 筹资活动现金流入中借款占比>80%(逐期标注借款占比)
- 其他应收款/预付账款净流出>上期50%且占CFO绝对值>30%(关联方资金占用)
异常影响:第5项异常 → 明确存在资金体外占用,利润真实性存疑
排雷用法:触发第5项异常且持续1期 → 坚决回避
6.4 现金流钩稽验证与分红质量
6.4.1 间接法勾稽验证
- 数据来源:现金流量表"1、将净利润调节为经营活动现金流量"段
- 验证项:
- 间接法调节恒等式:调节后CFO vs 直接法CFO,差异>5% → ⚠️ 数据质量警告
- 存货变动跨表验证:BS存货变动 vs CF间接法存货减少科目
6.4.2 分红可持续性
- 取数公式:数据源摘要「每股经营现金流」+ 现有「现金分红率」
- 异常判定规则:
- 每股经营现金流<0且分红率>50% → 标记【透支分红】
- 分红率>100%且经营现金流/净利<0.3 → 标记【分红不可持续】
排雷总规则
排雷判定矩阵
| 触发条件 | 风险等级 | 处置 |
|---|---|---|
| 无异常项 | 正常 | 通过排雷 |
| 存在少量异常项(单期≥3项) | 谨慎关注 | 标记【谨慎关注】 |
| 单期≥5项异常,或持续2期≥3项 | 关注 | 标记【关注】,建议核查年报附注 |
| 持续2期≥5项异常 | 规避 | 标记【规避】,不建议持有 |
| 持续3期≥5项异常 | 坚决回避 | 标记【坚决回避】 |
| 触发任意1项舞弊红线规则 | 坚决回避 | 标记【坚决回避】(优先级最高) |
舞弊红线清单(触发任一即【坚决回避】)
- 审计意见为非标准无保留意见
- 归母与合并净利润偏离度超出90%-110%区间
- 存货利润操纵(同时触发全部3个信号)
- 扣非净利润连续3期及以上为负
- 货币资金收益率<0.15%且持续2期及以上
第三步:结果汇总与输出
完成模块七至模块十一的全部内容输出。所有输出模板详见 references/templates.md 第二节至第六节。
使用指南
触发条件
当用户提到以下关键词时使用本技能:
- "财报排雷"、"财务排雷"、"排雷分析"
- "财务报表分析"、"财务造假识别"
- 对某只A股进行深度财务分析
年份区间识别:当用户指定了特定年份(如"2020-2023年""排雷2019到2022"),自动提取年份范围并传入脚本。
- 默认行为:未指定年份 → 最近连续4期年报
- 指定区间:如"2020-2023" → 提取2020、2021、2022、2023年四期年报
若目标公司属于银行、保险、证券等金融企业,应拒绝执行,提示用户本技能不适用。
执行顺序
- 先加载本 SKILL.md 理解执行规则
- 按数据源优先级获取数据后执行:
TDX MCP 路径(优先):
# 第一步:AI Agent 通过 MCP 工具获取三大报表数据(tdx_api_data × 3次)
# 第二步:用 extract_tdx_data.py 裁剪
python scripts/extract_tdx_data.py <股票代码> <公司名称> \
--bs <BS文件> --is <IS文件> --cf <CF文件> [--start-year YYYY] [--end-year YYYY]
# 第三步:THS 补缺 — TDX缺失字段用THS补充
python scripts/download_statements.py <股票代码> [--start-year YYYY] [--end-year YYYY]
# → 用 merge_tdx_ths.py 将THS的abstract、dividend、pledge_ratio、IS中TDX缺失字段合并入TDX JSON
python scripts/merge_tdx_ths.py <股票代码>_合并财报数据.json <ths_json>
# 第四步:计算排雷指标 + 生成报告
python scripts/compute_indicators.py <股票代码>_合并财报数据.json
python scripts/generate_report.py <股票代码>_排雷指标.json
TDX数据量大说明:TDX默认返回全部历史期间(20+期),MCP响应可能超过上下文限制。
extract_tdx_data.py自动裁剪为最近4期年报(日期以-12-31结尾),提取后用标准JSON送入后续流程。该脚本同时支持三种TDX响应格式(标准JSON / MCP包装 / 文本内嵌JSON)。
THS 降级路径:
# 一键执行(默认最近4期)
python scripts/run_minesweeper.py <股票代码>
# 指定年份区间
python scripts/run_minesweeper.py <股票代码> --start-year 2020 --end-year 2023
# 或分步执行
python scripts/download_statements.py <股票代码>
python scripts/download_statements.py <股票代码> --start-year 2020 --end-year 2023
python scripts/compute_indicators.py <股票代码>_合并财报数据.json
python scripts/generate_report.py <股票代码>_排雷指标.json
输出文件:
<股票代码>_合并财报数据.json— 三大报表原始数据<股票代码>_排雷指标.json— 50项指标计算结果<股票代码>_财报排雷报告.md— Markdown 格式报告<股票代码>_财报排雷报告.html— HTML 格式报告(可浏览器查看、可打印)
所有脚本支持单行命令调用,禁止使用 heredoc 内联代码。
数据获取(合并报表口径)
优先方案:通达信MCP (tdx-connector)
当 TDX MCP 已连接时,优先使用通达信获取数据。AI Agent 通过 tdx_api_data 工具获取资产负债表、利润表、现金流量表(各取最近连续4期年报),转换为标准JSON格式后送入后续流程。
# 方式一:TDX 优先(智能降级)
# AI Agent 自动检测 TDX MCP 状态,可用时优先使用,不可用时自动降级为 THS
# 方式二:强制使用 THS(当 TDX 不可用时)
python scripts/run_minesweeper.py <股票代码>
降级方案:内置下载脚本 scripts/download_statements.py
当 TDX MCP 不可用时自动回退:
# 年报模式(默认,推荐)
python scripts/download_statements.py 601006
# 季报模式(需要季度分析时使用)
python scripts/download_statements.py 601006 --mode quarterly
脚本特性:
- 数据源:同花顺(通过 akshare),免费、免 API Key、零配置
- 口径:自动验证并确认合并报表(含少数股东权益/损益/子公司现金流)
- 输出:
{股票代码}_合并财报数据.json,包含三大报表全部科目的结构化数据 - 覆盖:资产负债表 49 科目、利润表 32 科目、现金流量表 37 科目
- 字段映射:详见
references/ths_field_mapping.md,THS 科目名 → 模板字段名
THS 数据覆盖范围(详见 references/ths_coverage_audit.md):
- 50 个排雷指标全部完全可用(✅),0 个部分可用、0 个不可用
- 综合覆盖率 100%
- 舞弊红线 5 条中,4 条完全可判定、1 条需人工核查附注
其他备用数据技能
neodata-financial-search技能(自然语言搜索)westock-data技能(结构化数据,westock-data finance sh601006 --num 4)
关键规则:
- 所有财务数据必须为合并报表口径,严禁使用母公司报表
- 数据下载后会输出合并报表验证结果,确认含「少数股东权益」等合并专属科目
- 若当前数据源无法确认口径,需在模块十一"数据缺失说明"中标注
- 报告中需注明实际使用的数据源(TDX 或 THS)
- 适用范围:排雷框架主要适用于非金融 A 股企业(制造业、消费、能源等)。银行、券商、保险等金融企业的现金流量表结构和商业模式完全不同,排雷结果仅作参考
输出格式
- 报告采用 Markdown 格式
- 所有表格严格按模板填充
- 所有结论必须有数据支撑
- 异常项必须逐期标注判定依据
⚠️ 排雷效果提示(每次分析结束后必须输出)
💡 推荐使用连续4年年报数据进行排雷分析,效果最佳。
- ✅ 年报模式(默认):覆盖完整财年,指标计算标准,趋势判定可靠 —— 强烈推荐
- ⚠️ 季报模式:季节性波动大,部分科目口径不一致,效果打折扣 —— 不推荐用于排雷
- ⚠️ 少于4期:无法覆盖完整的风险升级规则(持续2期/4期全周期),异常判定不完整 —— 不推荐
如需最佳排雷效果,请确认使用连续4年年报数据。