---
name: equity-analysis
description: >
  MUST USE when 分析一只/一组股票的中长期投资价值，或回答“贵不贵 / 值不值得长期买 /
  财务质量如何 / 怎么估值 / 定投还是分批”。触发词：分析股票/基本面/财报/估值/PE/PB/ROE/
  护城河/现金流/长期投资/定投/分批；银行/保险/券商等金融股也走本技能（含金融附录）。
  本技能给出**业界口径的通用股票分析 SOP**：数据前置、财务质量、红旗、估值、情景、
  历史路径、风险、组合与执行。输出必须条件化，不构成买卖建议。
---

# 通用股票分析 SOP（本项目的“个股尺子”）

> 目标：把“这只股票能不能长期买”拆成**可复算的财务指标 + 可证伪的估值情景**。
> 一句话：**先看生意与财务质量，再看现金流，最后看估值给没给足补偿。**

## 何时用

- 单只/一组股票的中长期（3–10 年）投资分析；
- 回答“PE 15 贵吗 / ROE 18% 能持续吗 / 现金流真不真 / 定投还是分批”；
- 金融股（银行/保险/券商）走本技能，并加第 9 节附录。

不适用：短线/技术形态/事件驱动（走 `hypothesis-validation`）；纯指数/资产配置（走组合层面）。

---

## 0. 数据前置（先声明缺口）

| 需要 | 位置 | 说明 |
|---|---|---|
| 三表（年度/中期） | `data/fund_cache/{code}_*.pkl` | akshare 港股财报；2002→ |
| 价格 | `data/hk_broad/snapshot/{5位}.pkl` | 前复权；或实时行情 |
| 股本 | `shares = 归母净利 / 每股基本盈利` | 比 CCASS 更接近总股本 |
| 股息 | 现金流量表 `已付股息(融资)` | 不含回购 |
| 币种 | 内地企业多为 **CNY**，香港/英国多为 HKD/USD | **错误币种会让 PE/PB/股息率失真** |

**拿不到、必须看年报/公告的**：
- 分部收入/利润、客户与供应商集中度；
- 一致预期、指引、订单/产能；
- 银行：NPL、关注类、拨备覆盖率、CET1、地产/城投敞口。

⇒ 缺这些时，结论必须标注“未评估”，不得用“看起来不错”替代。

---

## 1. 生意与护城河（定性，但要有证据）

- 收入从哪来、是否周期性、监管强弱；
- 竞争格局（份额、定价权、转换成本、网络效应、成本优势）；
- 管理层资本配置（分红/回购/并购/扩产是否理性）；
- **只写有数据/公告支撑的判断**，不写故事。

## 2. 财务质量（核心表）

| 维度 | 指标 | 关注点 |
|---|---|---|
| 成长 | 营收增速、净利增速 | 是否可持续、是否靠并购/一次性 |
| 盈利 | 毛利率、净利率、ROE、ROA | 趋势比绝对值重要 |
| 杠杆 | 资产负债率、净负债/EBITDA | 周期底能否活下来 |
| 现金 | **OCF ÷ 净利** | <0.8 要查应收/存货/资本化 |
| 稀释 | 股本变化、股权激励、可转债 | 每股价值是否被摊薄 |
| 效率 | 资产周转、应收/存货周转 | 变慢是预警 |

## 3. 红旗清单（逐项排查）

1. 利润增长但经营现金流下降（OCF/净利 <0.8）；
2. 应收/存货增速 > 营收增速；
3. 关联交易、大股东占款、质押比例高；
4. 频繁更换审计师、非标意见；
5. 资本化开支把费用藏进资产；
6. 持续股权融资/可转债稀释；
7. 一次性收益撑利润（处置、公允价值）；
8. 客户/供应商高度集中。

## 4. 估值（先相对，后绝对）

1. **相对**：PE/PB/PS/FCF yield 与自身历史、同业比较；成长股用 PEG，周期股用中周期盈利；
2. **绝对**：DCF / DDM / 剩余收益，**给三档情景**（基准/乐观/悲观），不是单点；
3. **反向 DCF**：当前价格隐含了什么增长？能否实现？
4. **金融股**：用 PB-ROE 与合理 PB（见第 9 节），不要用 EV/EBITDA。

## 5. 收益拆解与情景

```
长期年化 ≈ 盈利增长 + 股息率 ± 估值变化
```

| 情形 | 假设 | 输出 |
|---|---|---|
| 基准 | 增长/利润率/估值不变 | 年化 |
| 乐观 | 增长超预期或估值修复 | 年化 |
| 悲观 | 增长失速/利润率下滑/估值下修 | 年化 |

> 三档是**情景**，不是预测；必须写假设与触发条件。

## 6. 历史路径与建仓方式

- 10 年 + 分段（牛/熊/震荡）+ 最大回撤 + 波动；
- **DCA vs 一次性**：长期上涨资产里一次性更优；定投是**时点风险管理**，不是收益增强；
  严格比较看 **IRR（资金加权）**，不是终值。

## 7. 风险清单

业务/行业周期、客户集中、监管、汇率、负债/流动性、治理、稀释、估值、单票集中。

## 8. 组合与执行

- 单只 ≤5–8%，行业 ≤20–30%（按风险预算调整）；
- 分批 6–12 个月建仓；股息再投；每年复核；
- **退出**：逻辑破坏、现金流恶化、估值远超合理、出现更好机会；
- **不做**：核心全仓单票、长期机械定投单票、加杠杆。

---

## 9. 金融股附录（银行/保险/券商）

银行额外指标：

| 指标 | 公式 | 备注 |
|---|---|---|
| ROE / ROA | 净利/权益、净利/平均资产 | 核心 |
| NIM（近似） | 净利息收入/平均总资产 | 低于披露值，只看趋势 |
| 成本收入比 | 经营支出/经营收入 | 效率 |
| 信用成本（近似） | 减值及拨备/平均贷款 | 越高越差 |
| 贷存比 | 贷款/存款 | 越高越吃流动性 |
| 派息率 / 股息率 | 已付股息/净利、DPS/价格 | 不含回购 |
| **合理 PB** | `(ROE−g)/(COE−g)`，`g=min(ROE×(1−派息),5%)` | COE 11%，±1% 敏感性 |

- **必须看年报**：NPL、关注类、拨备覆盖率、CET1、地产/城投敞口；
- 保险/券商：用 P/EV、新业务价值、ROEV、两融/自营敞口等（本技能不展开）。

---

## 硬规则（判据式）

```
G1 没算 ROE/毛利率/OCF÷净利就下结论        → FAIL
G2 只看单一倍数、不看成长/质量              → FAIL
G3 不看现金流质量（OCF÷净利）               → FAIL
G4 不声明数据缺口（分部/预期/NPL/CET1）      → FAIL
G5 把单点估值当预测/目标价                  → FAIL
G6 用价格指数或当前池回填、不标幸存者        → FAIL
G7 把定投说成收益增强                       → FAIL
G8 给个性化买卖指令                         → FAIL（只给框架）
G9 金融股不评估 NPL/CET1（或声明缺失）        → FAIL
G10 不与同业/自身历史比较就谈贵贱            → FAIL
```

## 失败模式库

- **价值陷阱**：PE/PB 低，但 ROE/现金流持续恶化；
- **成长陷阱**：高增长靠并表/一次性，OCF 不跟；
- **周期顶**：用周期高点利润算 PE，看起来便宜；
- **币种错误**：内地企业报表 CNY，未折算会把 PE/PB 低估约 8%；
- **稀释**：股本持续增加，EPS 增长被摊薄；
- **幸存者/单窗口**：当前池回填、只用一段牛市外推。

## 命令

```bash
# 通用
python3 scripts/stock_fundamentals.py --codes 0700.HK,1810.HK,0883.HK --ccy CNY
# 金融股附录
python3 scripts/stock_fundamentals.py --codes 0939.HK,1398.HK,3968.HK --bank --ccy CNY
# 输出到文件
python3 scripts/stock_fundamentals.py --codes ... --out output/_logs/equity.md
```

## 输出模板

```
## 生意与护城河（证据）
## 财务质量（成长/盈利/杠杆/现金/稀释）
## 红旗排查
## 估值（相对 + 绝对三情景 + 反向 DCF）
## 收益拆解（基准/乐观/悲观）
## 历史路径与建仓方式
## 风险
## 结论（条件化 + 数据缺口）
```
