返回 Skill 列表
extension
分类: 数据与分析无需 API Key

财务预警

A-share financial early-warning engine v1.0.0. Multi-source, no API key required. Detects 9 financial anomaly signals from multi-period three financial statements (revenue cliff / profit turn / cashflow deterioration / receivable surge / goodwill bomb / inventory anomaly / large impairment / industry divergence / high cash-debt coexistence), with trend confirmation (3 consecutive periods) + 3-tier alert (🟡🟠🔴) + report output (alert_list.csv / alert_detail.md / safe_list.csv). Primary source westock-data (free npm, no key), cross-check EastMoney (free HTTP), optional iwencai enhancement (industry mean, needs IWENCAI_API_KEY). Pure financial alert — no valuation / filtering / position logic.

person作者: user_a11b94c4hubcommunity

A股财报异动预警引擎

多数据源、零 API Key 门槛,检测"财务正在发生什么变化"(防踩雷)。

定位与边界红线(严格遵守,不越界)

本引擎只回答一个问题:基于历史财报,这家公司的财务是否正在出现恶化异动?

它不是"财务好不好"(那是估值/静态评估的活)。因此明确不碰以下职责,避免与同体系其他 Skill 耦合:

| 红线 | 归属 Skill | |------|-----------| | 静态估值评估 / 财务质量打分 | a-stock-cross-agent | | 底线过滤 / 排雷剔除 | stock-quick-filter | | 仓位决策 / 市场温度 | position-manager |

本引擎是 A股Skill 体系规划方案中的独立 Skill 之一,可单独调用,不自动串联。

设计原理

多期三大报表(主源 westock + 东方财富校验)
        │
        ▼
┌──────────────────────────────────────┐
│  9 条异动规则(每条独立判定)            │
│  A1 营收断崖 → A9 存贷双高             │
└──────────────┬───────────────────────┘
               │ 每条规则:触发? 级别? 趋势确认?
               ▼
┌──────────────────────────────────────┐
│  三级告警汇总                            │
│  🔴危险 / 🟠警示 / 🟡关注 / 🟢安全     │
└──────────────┬───────────────────────┘
               │
               ▼
        控制台输出 + 落盘报表

9 条异动规则

| 编号 | 预警 | 核心逻辑 | 数据源字段 | |------|------|---------|-----------| | A1 | 营收断崖 | 单季营收同比 ≤ -30%(或连续3期下滑) | OperatingRevenue_Q | | A2 | 利润变脸 | 单季扣非净利由正转负 / 同比 ≤ -50% / 增收不增利 | NPDeductNonRecurringPL_Q | | A3 | 现金流恶化 | 经营现金流为负 / 经营现金流÷净利润 < 0.5(盈利质量差) | NetOperateCashFlow_Q | | A4 | 应收暴增 | 应收增速 − 营收增速 > 20pct(警惕虚增收入) | BillAccReceivable+ReceivablesFin | | A5 | 商誉地雷 | 商誉÷净资产 > 30% / 商誉同比大增 | GoodWill+SEWithoutMI | | A6 | 存货异常 | 存货增速 − 营收增速 > 20pct(警惕滞销跌价) | Inventories | | A7 | 大额减值 | 归母−扣非差额异常放大(降级筛查,主源无独立减值字段) | NPParentCompanyOwners_Q vs NPDeductNonRecurringPL_Q | | A8 | 行业偏离 | 个股增速显著低于行业均值(需 i问财增强;免费模式不强制) | i问财行业均值 / 个股趋势 | | A9 | 存贷双高 | 货币资金÷总资产 > 25% 有息负债÷净资产 > 50% | CashEquivalents+InterestBearDebt |

趋势确认:A1–A4、A6–A8 类规则要求连续 trend_confirm(默认3)期同方向恶化才确认,避免单季噪声误报;A5/A9 等存量指标用最新期绝对值判定。

行业适配:金融类(证券/银行/保险/信托)自动跳过 A4/A6/A9(科目性质不同,如"存贷双高"为行业常态);名称与行业取自东方财富。

数据源(多源搭配,免费优先)

L1 主源   westock-data (npx 免费包)
   → 完整多期三大报表,含商誉/有息负债/单季(_Q)字段,覆盖全部 9 规则字段
   → 无需任何 API Key,仅依赖 Node.js(npx)
L2 交叉校验 东方财富 DMSK (免费 HTTP)
   → 校验主源营收/利润/现金流一致性,检测主源异常;提供股票名称与行业
L3 可选增强 i问财 (需环境变量 IWENCAI_API_KEY)
   → 提供行业均值(A8 精确对比)+ 关键指标交叉校验
   → 未配置 Key 时 A8 降级为"个股自身趋势已覆盖",不强制触发

零门槛发布:默认开箱即用(westock + 东方财富均为免费源,无需任何 Key)。仅 A8 精确行业对比需可选配置 i问财 Key。

使用方法

# 单只预警
python financial_early_warning.py 601162

# 批量预警(逗号分隔,支持 sh/sz 前缀或纯6位代码)
python financial_early_warning.py 601162,000100,600519

# 批量 + 生成结构化报表(CSV + MD)
python financial_early_warning.py 601162,000100,600519 --report --out ./report

# 关闭东方财富交叉校验(仅主源,更快)
python financial_early_warning.py 000100 --no-verify

# 调整拉取期数(默认12期,满足连续3期趋势)
python financial_early_warning.py 601162 --num 8

输出示例

==============================================================
  天风证券(sh601162)  —  🔴危险
==============================================================
  🔴 [A1] 营收断崖:单季营收同比 -31.1%(阈值 -30.0%),连续3期下滑

==============================================================
  TCL科技(sz000100)  —  🟢安全
==============================================================
  ✓ 未触发财务异动预警(仅基于已获取字段)

结构化输出(--report)

| 文件 | 内容 | |------|------| | alert_list.csv | 触发预警的股票及最高级别、触发规则 | | alert_detail.md | 每只触发股票的详细规则明细 + 安全列表 | | safe_list.csv | 未触发预警的股票 |

配置说明

所有参数在 financial_early_warning.py 顶部的 CONFIG 字典中,按需调整:

| 参数 | 默认值 | 说明 | |------|--------|------| | periods | 12 | 拉取报告期数 | | trend_confirm | 3 | 趋势确认连续恶化期数 | | A1_rev_yoy_drop | -30 | 单季营收同比触发阈值(%) | | A2_profit_yoy_drop | -50 | 单季扣非净利同比触发阈值(%) | | A3_ocf_np_ratio | 0.5 | 经营现金流/净利润 低于此值→盈利质量差 | | A4_ar_rev_gap | 20 | 应收增速−营收增速 超此值(pct)触发 | | A5_goodwill_equity | 0.30 | 商誉/净资产 超此比例→商誉地雷 | | A6_inv_rev_gap | 20 | 存货增速−营收增速 超此值(pct)触发 | | A8_industry_gap | 15 | 个股增速低于行业均值 超此值(pct)触发 | | A9_cash_ratio | 0.25 | 货币资金/总资产 阈值 | | A9_debt_equity | 0.50 | 有息负债/净资产 阈值 |

已知限制

  • 财报为季度披露,预警本质是财报发布后扫描,非盘中实时。
  • 主源 westock-data 依赖 Node.js(npx 调用免费包);若环境无 Node,仅东方财富校验源仍可运行(部分字段缺失将降级)。
  • A7 大额减值:主源无独立资产减值损失字段,采用"归母−扣非差额异常"降级筛查;配置 i问财 Key 后可升级为精确减值对比。
  • A8 行业偏离:免费模式下降级为个股趋势覆盖,精确行业对比需 i问财增强。
  • 金融类(证券/银行/保险)科目特性已做适配(跳过 A4/A6/A9),但仍建议结合行业常识研判。

许可

MIT License


⚠️ 风险提示与免责声明 本工具生成的预警结果仅供参考,不构成任何投资建议。 所有结论基于公开历史财报数据,不保证准确性、完整性、及时性。 财报存在滞后与粉饰可能,预警仅作风险排查辅助,非买卖依据。 股市有风险,投资需谨慎。据此操作,盈亏自负。