
Financial Statement
财报三表深度解读, , 三表勾稽关系、盈利质量(应计vs现金流)分析、杜邦分解、10+财务造假红旗指标
Install
npx skills add HKUDS/Vibe-Trading --skill financial-statement -g -a claude-code -y- Repository
- HKUDS/Vibe-Trading37.4k
- Category
- Engineering
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,188 tokens
- Runs scripts
- No, instructions only
What it does
财报三表深度解读, , 三表勾稽关系、盈利质量(应计vs现金流)分析、杜邦分解、10+财务造假红旗指标
财报三表解读
概述
从三张报表(利润表、资产负债表、现金流量表)的勾稽关系出发,深度分析企业盈利质量,识别财务造假信号,用杜邦分析分解盈利驱动因子。
三表核心框架
利润表(赚了多少)
营业收入
- 营业成本 → 毛利润(毛利率 = 毛利/营收)
- 销售费用 + 管理费用 + 研发费用 → 核心利润
+ 投资收益 + 公允价值变动 → 营业利润
+ 营业外收支 → 利润总额
- 所得税 → 净利润
- 少数股东损益 → 归母净利润
关键比率:
| 比率 | 公式 | 健康范围 | 警示 |
|---|---|---|---|
| 毛利率 | 毛利/营收 | 行业差异大 | 连续3季下滑 |
| 净利率 | 净利/营收 | >10%优秀 | <0%且无改善趋势 |
| 期间费用率 | (销管研)/营收 | <30% | 逐年上升 |
| 扣非/归母 | 扣非净利/归母净利 | >80% | <50%依赖非经常 |
资产负债表(有什么家底)
资产 = 负债 + 所有者权益
资产端重点:
- 货币资金: 是否受限?存贷双高?
- 应收账款: 增速是否超过营收?
- 存货: 是否积压?跌价准备够不够?
- 商誉: 并购溢价,减值风险
- 在建工程: 是否长期不转固?
负债端重点:
- 有息负债: 短期借款+长期借款+应付债券
- 应付账款: 对上游议价权
- 预收/合同负债: 对下游议价权
关键比率:
| 比率 | 公式 | 健康范围 |
|---|---|---|
| 资产负债率 | 负债/资产 | 40-60%(非金融) |
| 流动比率 | 流动资产/流动负债 | 1.5-2.5 |
| 速动比率 | (流动资产-存货)/流动负债 | >1.0 |
| 有息负债率 | 有息负债/总资产 | <30% |
现金流量表(真正拿到多少现金)
经营活动现金流(CFO): 做生意赚的现金
投资活动现金流(CFI): 买卖资产花的现金
筹资活动现金流(CFF): 借钱/还钱/分红
黄金公式: 净利润 ≈ CFO(长期来看)
现金流质量矩阵:
| CFO | CFI | CFF | 企业状态 |
|---|---|---|---|
| + | - | - | 优秀(赚钱、投资、还债) |
| + | - | + | 扩张(赚钱、投资、借钱加速) |
| + | + | - | 稳健(赚钱、回收投资、还债) |
| - | - | + | 危险(亏钱、还在投、靠借钱活) |
| - | + | + | 困境(卖资产+借钱维持) |
| - | + | - | 衰退(卖资产还债) |
三表勾稽关系
核心勾稽
1. 利润表 → 资产负债表
净利润 → 留存收益(未分配利润增加)
应收增加 = 收入 - 实际收款
存货增加 = 采购 - 已售成本
2. 利润表 → 现金流量表
净利润 + 折旧 - 营运资本增加 ≈ 经营现金流
如果差异大 → 盈利质量存疑
3. 资产负债表 → 现金流量表
期末现金 = 期初现金 + CFO + CFI + CFF
货币资金变动 = 三个现金流之和
勾稽验证公式
# 验证盈利质量
accrual_ratio = (net_income - cfo) / total_assets
# accrual_ratio > 10% → 应计利润占比高,盈利质量差
# 验证收入质量
receivable_growth = accounts_receivable.pct_change(fill_method=None)
revenue_growth = revenue.pct_change(fill_method=None)
# receivable_growth > revenue_growth → 收入质量恶化
# 验证资产负债表与现金流一致性
cash_change = cash_end - cash_begin
cf_total = cfo + cfi + cff
# abs(cash_change - cf_total) > 1 → 数据有问题
