# Financial Report Minesweeper

> 财报排雷 v1.3.0 — A股非金融类上市公司财务报表深度排雷分析（50项核心指标）。数据源优先使用通达信MCP (tdx-connector)，不可用时自动降级为同花顺THS。一键执行：run_minesweeper.py 自动完成下载→计算→报告(MD+HTML)。覆盖偿债能力、经营类资产质量、长期生产类资产、负债与权益结构、利润表收入与盈利质量、现金流量表质量六大排雷维度，含舞弊红线规则与五级风险判定（正常→谨慎关注→关注→规避→坚决回避）。注意：不适用于银行、保险、证券等金融企业。触发词：财报排雷、财务排雷、排雷分析、财务报表分析、财务造假识别。

- Skill: `zju-real/financial-report-minesweeper` (Agent Skill, multi-file: 13 files)
- Install (CLI): `npx skillmds@latest add zju-real/financial-report-minesweeper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zju-real/financial-report-minesweeper/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: ZJU-REAL (https://skillmd.com/u/zju-real)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zju-real/financial-report-minesweeper

---


# 财报排雷 v1.3.0

对A股**非金融类**上市公司进行系统性财务报表排雷分析，严格按照三步流程、六大模块、五个风险等级（正常→谨慎关注→关注→规避→坚决回避）执行。覆盖50项核心排雷指标。

## ⚠️ 适用范围限制

**本排雷框架仅适用于非金融类 A 股企业**（制造业、消费、能源、运输、地产、科技等）。

**明确不适用于以下行业：**
- 🏦 银行（现金流量表结构完全不同，资产/负债定义不适用）
- 🛡️ 保险（收入确认和准备金计提逻辑特殊）
- 📈 证券/券商（商业模式和财务指标无意义）
- 💰 其他金融类企业

**原因：**
1. 金融企业的现金流量表没有"销售商品/购买商品"等科目，而是"客户存款/发放贷款"等金融专属科目
2. 资产负债率、存货周转率、毛利率等核心指标对金融企业无分析意义
3. 金融企业的风险分析需要完全不同的指标体系（资本充足率、不良贷款率、偿付能力等）

**若误用：** 下载脚本会自动检测金融企业并输出警告，排雷分析结果不可采信。

## 数据源优先级（强制遵守，违反即执行错误）

**核心铁律：TDX MCP 已连接时，优先尝试 TDX 路径。若因架构原因（如 MCP 响应超过 token 限制、文件路径传递困难等）导致 TDX 数据无法被下游脚本处理，自动降级为 THS 并注明原因。**

### 🥇 第一优先：通达信MCP (tdx-connector) — 优先尝试

当 `tdx-connector` 已连接时，优先使用通达信MCP。执行步骤：
1. 调用 `tdx_api_data` × 3 次获取 BS/IS/CF
2. 响应数据可能很大（20+期），尝试保存为临时文件
3. 运行 `extract_tdx_data.py` 裁剪为最近4期年报或用户指定的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
- 报告中注明实际使用的数据源
- 降级时必须向用户说明原因

---

## 总执行规则（强制优先执行）

严格按照以下三步流程执行，不得颠倒、跳步：

1. **第一步：数据提取与表格填充** — 按「数据源优先级」获取合并三大报表数据（优先TDX MCP，不可用时自动降级为 `scripts/download_statements.py`），然后从返回的JSON中提取数据，填充「一、三大财务报表模板」全部表格，无公开数据标注【无公开数据】，不得留空；绝对不能提取母公司报表数据。THS 字段映射规则见 `references/ths_field_mapping.md`。
2. **第二步：指标计算与排雷判定** — 基于已填充的三大财务报表数据，按照「模块一至模块六」规则，完成全部指标计算、异常判定、风险分级。
3. **第三步：结果汇总与输出** — 完成「模块七至模块十一」全部内容输出，确保所有结论有数据支撑。

## 核心基础规则（全程强制遵守）

### 1. 期间定义规则
- 无论用户提供的是连续4个季度财报还是连续4个年度财报，均按时间排序：
  - 日期最早 = 第一期，次早 = 第二期，次晚 = 第三期，日期最晚 = 第四期
  - 第一期为数据基期，所有增速类指标从第二期起计算

### 2. 取数口径绑定
- 时点类指标（资产负债表）：取期末余额
- 时期类指标（利润表、现金流量表）：取本期发生额
- 「归母净利润」=「归属于母公司所有者的净利润」，二者取数口径完全一致

### 3. 单位与精度规则
- 1亿元 = 10000万元
- 金额类：亿元，保留2-4位小数
- 比值/百分比类：保留2位小数
- 无公开数据统一标注【无公开数据】

### 4. 风险升级规则
- 单期触发异常 → 标记【单期异常】
- 持续2期及以上触发 → 升级为【高风险异常】
- 4期全周期持续触发 → 升级为【极高风险异常】
- 所有异常判定需结合4期全周期趋势，不得仅依据单期数据下结论

### 5. 舞弊红线规则（优先级最高，触发任意一项直接判定【坚决回避标的】）
- 审计意见为非标准无保留意见
- 归母与合并净利润显著偏离（超出90%-110%区间）
- 存货操纵利润舞弊（同时触发3项存货操纵信号）
- 扣非净利润连续3期及以上为负
- 货币资金收益率＜0.15%且持续2期及以上

**⚠️ 数据源限制说明**：
1. **审计意见判定**：TDX MCP 提供更全面的附注数据，THS 不提供审计意见类型，使用 THS 时需人工核查年报。
2. **研发资本化判定**：TDX MCP 数据覆盖更全，THS 不提供研发资本化金额，使用 THS 时需人工核查附注。

### 6. 增速类指标通用规则
- 第一期统一标注「基期，无增速数据」
- 所有增速/环比/同比指标从第二期起计算
- 计算公式：（本期值 - 上期值）/ 上期值 × 100%

---

## 执行流程

### 第一步：数据提取与填充

从财报中提取数据，填充三大财务报表模板。完整模板见 `references/templates.md`。

填充规则：
- 严格从合并报表取数，禁止使用母公司报表
- 所有科目必填，无公开数据标注【无公开数据】
- 金额单位：亿元，保留2-4位小数

三大报表模板：
1. **表1：资产负债表** — 资产（流动资产/非流动资产）、负债（流动负债/非流动负债）、所有者权益
2. **表2：利润表** — 营业总收入到每股收益的完整利润表科目
3. **表3：现金流量表** — 经营/投资/筹资三大现金流及明细科目

> 详细模板表格见 `references/templates.md` 第一节。

---

### 第二步：六大模块指标计算与排雷判定

---

## 模块一：偿债能力与资金真实性排雷

执行要求：所有指标均需完整对比4期全周期数据，分四期单独列示，不遗漏任何一期。

### 1.1 货币资金
- **取数公式**：【资产负债表】「货币资金」期末余额；配套取数【利润表】「财务费用-其中：利息收入」发生额。
- **数值列示要求**：分四期单独列示：
  1. 货币资金期末余额（亿元，保留2位小数）
  2. 利息收入金额（亿元，保留2位小数）
  3. 货币资金收益率 = 利息收入/平均余额 ×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项指标，逐期判定每个信号是否触发：
  1. 存货增速与营收增速的差值
  2. 毛利率及环比/同比变动幅度
  3. 存货周转天数及环比/同比变动幅度
- **核心判定规则（严格执行）**：同一期同时触发3个信号 → 判定【利用存货操纵利润极高风险异常】：
  1. 存货增速＞营收增速30%以上
  2. 毛利率逆势上涨且涨幅≥0.5个百分点
  3. 存货周转天数环比/同比拉长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 现金流异常排雷

逐条判定，分四期逐期标注：

1. CFO连续2期及以上为负（逐期标注正负）
2. CFO连续2期及以上＜0.8×净利润（逐期比对）
3. CFI为正且金额＞50%×净利润（变卖资产补现金流）
4. 筹资活动现金流入中借款占比＞80%（逐期标注借款占比）
5. 其他应收款/预付账款净流出＞上期50%且占CFO绝对值＞30%（关联方资金占用）

异常影响：第5项异常 → 明确存在资金体外占用，利润真实性存疑

排雷用法：触发第5项异常且持续1期 → 坚决回避

### 6.4 现金流钩稽验证与分红质量

#### 6.4.1 间接法勾稽验证
- **数据来源**：现金流量表"1、将净利润调节为经营活动现金流量"段
- **验证项**：
  1. 间接法调节恒等式：调节后CFO vs 直接法CFO，差异>5% → ⚠️ 数据质量警告
  2. 存货变动跨表验证：BS存货变动 vs CF间接法存货减少科目

#### 6.4.2 分红可持续性
- **取数公式**：数据源摘要「每股经营现金流」+ 现有「现金分红率」
- **异常判定规则**：
  - 每股经营现金流＜0且分红率＞50% → 标记【透支分红】
  - 分红率＞100%且经营现金流/净利＜0.3 → 标记【分红不可持续】

---

## 排雷总规则

### 排雷判定矩阵

| 触发条件 | 风险等级 | 处置 |
|---------|---------|------|
| 无异常项 | 正常 | 通过排雷 |
| 存在少量异常项（单期≥3项） | 谨慎关注 | 标记【谨慎关注】 |
| 单期≥5项异常，或持续2期≥3项 | 关注 | 标记【关注】，建议核查年报附注 |
| 持续2期≥5项异常 | 规避 | 标记【规避】，不建议持有 |
| 持续3期≥5项异常 | 坚决回避 | 标记【坚决回避】 |
| 触发任意1项舞弊红线规则 | 坚决回避 | 标记【坚决回避】（优先级最高） |

### 舞弊红线清单（触发任一即【坚决回避】）

1. 审计意见为非标准无保留意见
2. 归母与合并净利润偏离度超出90%-110%区间
3. 存货利润操纵（同时触发全部3个信号）
4. 扣非净利润连续3期及以上为负
5. 货币资金收益率＜0.15%且持续2期及以上

---

### 第三步：结果汇总与输出

完成模块七至模块十一的全部内容输出。所有输出模板详见 `references/templates.md` 第二节至第六节。

---

## 使用指南

### 触发条件
当用户提到以下关键词时使用本技能：
- "财报排雷"、"财务排雷"、"排雷分析"
- "财务报表分析"、"财务造假识别"
- 对某只A股进行深度财务分析

**年份区间识别**：当用户指定了特定年份（如"2020-2023年""排雷2019到2022"），自动提取年份范围并传入脚本。
- 默认行为：未指定年份 → 最近连续4期年报
- 指定区间：如"2020-2023" → 提取2020、2021、2022、2023年四期年报

**若目标公司属于银行、保险、证券等金融企业，应拒绝执行，提示用户本技能不适用。**

### 执行顺序
1. 先加载本 SKILL.md 理解执行规则
2. 按数据源优先级获取数据后执行：

**TDX MCP 路径（优先）：**
```bash
# 第一步：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 降级路径：**
```bash
# 一键执行（默认最近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格式后送入后续流程。

```bash
# 方式一：TDX 优先（智能降级）
# AI Agent 自动检测 TDX MCP 状态，可用时优先使用，不可用时自动降级为 THS

# 方式二：强制使用 THS（当 TDX 不可用时）
python scripts/run_minesweeper.py <股票代码>
```

**降级方案：内置下载脚本 `scripts/download_statements.py`**

当 TDX MCP 不可用时自动回退：
```bash
# 年报模式（默认，推荐）
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年年报数据。

