【免费下载链接】FinSight-AI
AI equity research agent with resilient workflows, evidence-grounded RAG, versioned reports, and automated quality evaluation.
FinSight AI是一款 AI 投研代理,其中的财务风险检测模块会自动扫描上市公司年报数据,输出带严重度等级的风险信号。本文带你用 10 分钟读懂它的 4 条核心规则:利润现金含量偏弱、资产负债率偏高、毛利率连续下降、应收账款压力偏高——不看代码也能明白每条规则在"抓"什么风险。
一、风险信号是怎么产生的?
FinSight AI 的风险检测遵循一条清晰的流水线,源码位于 backend/src/main/java/com/finsight/metrics/:
- 指标计算:CoreFinancialMetricCalculator.java 按年度财报,基于 MetricDefinitionCatalog.java 中定义的
metric-dag-v2指标 DAG 计算出一整套财务指标(毛利率、资产负债率、经营现金流/净利润等)。 - 规则扫描:RiskSignalDetector.java 把指标交给每一条实现了 RiskRule.java 接口的规则逐一评估。
- 信号落库:MetricApplicationService.java 的
recalculate()方法每次全量重建指标后,把检测到的RiskSignal存入数据库,并记录一次计算运行(计算了几份财报、几个指标、几个信号),保证每次检测可追溯。
每条规则都继承自 AbstractRiskRule.java,统一生成带唯一 ID、标题、解释文案和严重度(severity,数值越大越严重)的风险信号。
二、规则一:现金流质量(WEAK_CASH_EARNINGS)
源码:CashEarningsQualityRule.java
这条规则回答一个关键问题:利润到底有没有变成真金白银?它对每个年度财报检查两个条件:
| 检查项 | 阈值 | 信号标题 | 严重度 |
|---|---|---|---|
经营现金流 / 净利润(OCF_NET_PROFIT)< 0.8 | 低于 0.8 | "利润现金含量偏弱" | 2 |
净利润同比增长(NET_PROFIT_YOY> 0)但经营现金流同比下降(OCF_YOY< 0) | 利润增、现金流降 | "净利润增长但经营现金流下滑"(code:PROFIT_CASH_FLOW_DIVERGENCE) | 3 |
👉新手理解:账面利润漂亮、口袋里却没有现金,是财务造假的经典前兆。第二个信号尤其危险——利润在涨、现金流却在掉,说明利润质量堪忧,严重度直接给到 3。
三、规则二:杠杆压力(HIGH_LEVERAGE)
源码:LeverageRiskRule.java
规则非常直接:资产负债率(DEBT_RATIO)> 65%的年度,就会触发"资产负债率偏高"信号(严重度 2)。
👉新手理解:65% 是一条经验警戒线。超过它意味着企业高度依赖债务运营,一旦利率上行或盈利下滑,偿债压力会明显放大。信号文案也提醒:需结合行业属性评估(地产、城投天然高杠杆,与消费品公司标准不同)。
四、规则三:盈利趋势走弱(PROFITABILITY_TREND_WEAKENING)
源码:ProfitabilityTrendRule.java
这条规则需要至少 3 年数据,检查最近三期的毛利率(GROSS_MARGIN)是否逐期连续下降:
第一年毛利率 > 第二年毛利率 > 最新年度毛利率 → 触发"毛利率连续下降"信号(严重度 2)。
👉新手理解:单年毛利率下滑可能是成本波动,但连续三期下滑往往是结构性问题——价格战、成本上升或产品结构恶化,值得重点深挖。
五、规则四:应收账款压力(HIGH_RECEIVABLE_PRESSURE)
源码:ReceivablePressureRule.java
这条规则盯住"货卖了但钱没回来"的风险,同样是逐年度检查:
| 检查项 | 阈值 | 信号标题 | 严重度 |
|---|---|---|---|
应收账款 / 营收(AR_REVENUE)> 25% | 超过 0.25 | "应收账款压力偏高" | 2 |
应收账款增速 − 营收增速(RECEIVABLE_GROWTH_SPREAD)> 15 个百分点 | 超过 0.15 | "应收账款增速明显快于营收"(code:RECEIVABLE_GROWS_FASTER_THAN_REVENUE) | 3 |
👉新手理解:第二个信号是收入确认质量的重要预警——应收收得比卖得还快,可能意味着放宽信用政策冲收入,回款周期在拉长。
六、如何查看与触发风险信号?
风险检测是指标计算的一部分,由 MetricController.java 暴露的 REST API 提供服务:
- 触发全量重算(含风险检测):
POST /api/metrics/recalculate/{companySymbol} - 查询风险信号:
GET /api/metrics/{companySymbol}/risks - 查看历史计算运行:
GET /api/metrics/{companySymbol}/runs - 查看指标定义清单:
GET /api/metrics/definitions
检测出的风险信号不止是列表展示:它们会被写进 AI 分析报告的riskPoints,参与 docs/benchmark.md 中定义的评测维度(如结论一致性),并随报告一起支持 Markdown / PDF 导出与版本 Diff 对比。
如上图所示,当风险信号提示"现金流量质量偏弱"时,你可以在证据来源工作区直接检索"公司经营现金流能否支撑当前利润质量?",从财报、公告和结构化指标中找到可核验的原始依据——这正是 FinSight AI"结论必须有证据"的设计理念。
七、四条规则速查表
| 规则 Code | 关注维度 | 核心阈值 | 最高严重度 | 源码 |
|---|---|---|---|---|
WEAK_CASH_EARNINGS | 利润现金含量 | OCF/净利润 < 0.8 | 3 | CashEarningsQualityRule.java |
HIGH_LEVERAGE | 偿债压力 | 资产负债率 > 65% | 2 | LeverageRiskRule.java |
PROFITABILITY_TREND_WEAKENING | 盈利能力趋势 | 毛利率连续三期下降(需 ≥3 年) | 2 | ProfitabilityTrendRule.java |
HIGH_RECEIVABLE_PRESSURE | 收入回款质量 | 应收/营收 > 25%;应收增速超营收增速 15pct | 3 | ReceivablePressureRule.java |
总结
FinSight AI 的财务风险检测设计有三个亮点,值得每个关注基本面分析的学习者借鉴:
- 规则即组件:每条规则一个类、一个稳定 code、阈值写在代码里,想加新规则只需实现 RiskRule.java 接口,Spring 会自动把它纳入 RiskSignalDetector.java 的扫描链路。
- 信号可追溯:每次重算都会记录输入财报数量、指标数量、信号数量与时间戳(
MetricCalculationRun),历史可查、可复现。 - 与 AI 报告联动:风险信号会进入 AI 研报的
riskPoints和数据快照哈希,底层数据一变,报告就重新生成,避免"拿旧结论回答新行情"。
更多架构细节可阅读 docs/architecture.md 与 docs/product-requirements.md。
【免费下载链接】FinSight-AI
AI equity research agent with resilient workflows, evidence-grounded RAG, versioned reports, and automated quality evaluation.
相关推荐
DocsGPT金融服务:财报分析与风险评估应用
DocsGPT金融服务:财报分析与风险评估应用 概述 在金融科技快速发展的今天,如何高效处理海量财务数据、进行精准的风险评估成为金融机构面临的核心挑战。Docs
人工智能AI 应用RAGAI Agent后端前端ESLint规则趋势分析:识别团队代码质量的变化趋势
ESLint规则趋势分析:识别团队代码质量的变化趋势 引言:为什么需要关注ESLint规则趋势? 在当今快节奏的软件开发环境中,代码质量监控已成为团队成功的关键
开发工具Lint静态分析代码质量backtrader中的杠杆与保证金模型:交易风险控制
backtrader中的杠杆与保证金模型:交易风险控制 在交易中,杠杆是一把双刃剑,既能放大收益也可能加剧损失。backtrader作为专业的量化交易框架,提供
金融科技数据分析
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考