valuation
成长股估值口径手册(A 股为主,US/HK 通用):扣非×4 年化 PE、前瞻 PE、TTM PE 历史分位、PEG(扣非×4 PE ÷ 前瞻 CAGR)、前瞻 CAGR 与 TTM 同比交叉验证、一致预期分歧、四锚 PE 消化年数与"30 倍锚三铁律"、判读规则与常见错误。当任务涉及估值、PE、PEG、贵不贵、能不能消化、历史分位、一致预期时加载;只讨论概念、与估值无关的取数 / 行情 / 公告问题不要加载。所有数字一律经 calc/ 计算,本 skill 只管口径与判读,不给价格锚、不给投资动作建议。
git clone --depth 1 https://github.com/simonlin1212/Vibe-Research /tmp/valuation && cp -r /tmp/valuation/.agents/skills/valuation ~/.claude/skills/valuationSKILL.md
# 成长股估值口径(valuation)
本 skill 是 company-research SOP 第 4 阶段(valuation)的口径说明书,也适用于任何"这家公司贵不贵"的讨论。原则:**数字出自 calc,判读出自本手册,结论只到"情景 / 裁决点"为止**(AGENTS.md §0 第 2、3 条)。
## 0. 四条铁律
1. 每一个 PE / CAGR / PEG / 年数都必须是一次 `calc/cli.py` 调用的输出(带 calculation_id 与输入证据 id);没有对应证据就写"未获取:原因",不拿记忆或别的口径顶替。
2. **不输出价格锚**(目标价 / 合理价 / 买入价 / 止损价)。消化年数的"锚"是 PE 倍数情景,不是价格;报告里只给"情景 → 年数"表和裁决点。
3. **PEG 低 ≠ 安全**:PEG 的分母(前瞻 CAGR)是整条计算里唯一的预测,周期一转 E 被下修、PEG 跳升。任何 PEG 判读必须同时给出"前瞻 vs TTM 事实是否对得上"。
4. 单位与报告期随证据原样带入 calc,由 calc 归一;不在提示词里换算万元 / 亿元、不自己年化。
## 1. 分子:PE 的三个口径(并列报,主用第一个)
| 口径 | 公式(calc 函数) | 用途 | 已知的坑 |
|---|---|---|---|
| **扣非×4 年化 PE**(主) | 总市值 ÷ (最新单季扣非净利润 × 4) → `pe_deducted_annualized(total_market_cap, cap_unit, latest_quarter_deducted_profit, profit_unit)` | 抓"当前运行速率",对快速成长股比 TTM 更不滞后 | **必用扣非、不用归母**(单季×4 会把投资收益 / 补助 / 减值等一次性损益放大 4 倍);**季节性**:淡季单季×4 会高估 PE、旺季单季×4 会低估——淡旺季方向只能从**该公司自己的单季序列**判断(earnings-analysis §3),不得套用行业印象;判读时必须写明最新单季是哪个季度与方向性偏差 |
| 前瞻 PE | 现价 ÷ 一致预期 EPS(FY T 均值)→ `forward_pe(price, eps_forecast)` | 分析师已处理季节性;与扣非×4 对照看"市场在为哪一年定价" | 依赖一致预期质量(机构数 ≥ 3;见 §3) |
| TTM PE + 历史分位 | 总市值 ÷ 近 4 季净利和 → `pe_ttm_from_parts(...)`,并与数据源 pe_ttm 交叉;分位 `percentile_rank(history={"history_csv": {"raw_ref": <PE 历史 raw 文件>, "column": "peTTM", "where": {"tradestatus": "1"}}}, current=pe_ttm)`(CLI 序列输入形式见 calc/SPEC.md §3;不是把 history_csv / where 当顶层参数) | 历史位置参考;分位 < 20 个有效样本 → not_meaningful | 对快速成长股**滞后偏高**(把利润低的旧季度算进去);只作参考列,不作主判 |
T 的定义:T = 当前财年(Asia/Shanghai 当日所在年)。
## 2. 分母:可持续增速(主用前瞻 CAGR,强制交叉验证)
- **前瞻 CAGR** = (一致预期 FY T+2 EPS ÷ FY T EPS)^(1/2) − 1 → `forward_cagr(eps_t, eps_t_plus_n, years=2)`。最平滑、去基数去季节性;但它是**最软的一环**:卖方对热门赛道系统性乐观、远年样本薄、分歧大、会被持续修正。**必须同时报 min / max 与机构数**(`consensus_dispersion(low, mean, high)`,看 max ÷ min 与 (max − min) ÷ mean)。
- **TTM 同比**(事实,去季节性去单季基数)= 近 4 季净利和 ÷ 前 4 季净利和 − 1 → `ttm_yoy(single_quarters, end_period, unit, money=true)`;**主用归母口径**(与一致预期 EPS 同口径),扣非口径并列交叉。
- **交叉验证判读** → `forward_vs_ttm_judgement(forward_cagr_value, ttm_yoy_value, tolerance_pp=10)`:`approx`(前瞻 ≈ TTM:增长已兑现,前瞻可信)/ `forward_below`(前瞻远低于 TTM:市场在赌大幅减速,要问为什么)/ `forward_above`(前瞻远高于 TTM:分析师在画饼,PEG 失真风险最高)。
- **两个禁用项**:❌ 单季同比做分母(去年同期低基数会假性吹大);❌ 环比做分母(季节性把增长公司算成负,年化更爆炸)。✅ 环比(`qoq`)只作"拐点 / 动量"温度计,报告里标注为信号而非增速。
## 3. 一致预期的可信度
| 情形 | 处理 |
|---|---|
| 机构数 ≥ 3、min / max 齐 | 正常进 `forward_cagr`,报告列"机构数 · 区间" |
| 机构数 < 3 | 标"一致预期不可靠",仍可算但判读降级,裁决点里写"等更多覆盖" |
| 只有逐篇研报预测(东财备源) | 只能叫"逐篇预测",**不得冒充一致预期、不得进 forward_cagr** |
| 分歧 max ÷ min ≥ 2 | 明示"远年 EPS 分歧 ≥ 2 倍,PEG / 年数区间应按 min–max 各算一遍而不是只看均值" |
## 4. 判读表
| PEG(扣非×4 ÷ 前瞻 CAGR) | 初判 | 必须叠加 |
|---|---|---|
| < 1 | 增长能消化估值 | 前瞻 vs TTM = approx 才算"便宜";forward_above 时写"便宜是预测给的" |
| ≈ 1 | 合理 | 同上 |
| > 1.5–2 | 贵 | 看是否"卡口越硬越贵"(不可替代性已被定价),见 industry-chain |
PEG 是成长性周期股的"便宜陷阱"高发区:周期见顶前 PE 最低(E 在顶)。任何 PEG < 1 的结论必须附一条反证(catalyst-risk §2)。
## 5. 四锚 PE 消化年数与"30 倍锚三铁律"
`pe_digestion_years(pe, cagr, anchor)` = ln(PE ÷ 锚) ÷ ln(1 + CAGR);PE ≤ 锚 → 0 年(details.below_anchor)。`pe_digestion_scenarios(pe, cagr)` 一次算四个锚:**景气延续 30 / 中性减速 25 / 周期重定级上沿 22 / 下沿 18**(倍)。
- 四个锚是**情景**,不是预测:报告必须四个一起给,并写明每个情景对应的裁决数据(例如下游资本开支指引、价格 / 租金温度计、排产月度数据)。
- **30 倍锚三铁律**:① 30x 只乘"已锁 / 近锁"的利润(业绩预告、当年在手订单),**永不乘远期(T+2)共识来做判断**——那是"为永远缺付永续溢价"的数学形式;② 锚跟裁决数据切换:景气延续用 30、减速用 25、重定级用 18–22,切换条件写进裁决点;③ 结论按情景分别表述:"某结论只在 30x 情景成立 / 某结论在 25x 情景也成立"——只描述情景成立条件,**不翻译成仓位或买卖建议**。
- 历史中枢:本 skill **不给任何公司或行业的 PE 中枢数值**;需要"历史位置"一律用 `fetch_pe_history` 的实测序列经 `percentile_rank` 得出分位,并写明样本期间。
## 6. 标准产出列(与 SOP §1 valuation 阶段一致)
`扣非×4 PE | 前瞻 PE | TTM PE(分位) | ★PEG(扣非×4 ÷ 前瞻 CAGR) | 前瞻 CAGR(机构数 · 区间) | TTM 同比(交叉验证) | 环比(拐点) | 四锚消化年数 | 前瞻 vs TTM 判读`
每一格:calculation_id,或"未获取:原因"(走 SOP §2 的结构化缺口),或 not_meaningful(如实写明无意义域:PE ≤ 0 / CAGR ≤ 0 / 样本不足)。
## 7. 周期性成长股校准(周期一转,E 先于 P 变)
- 高 PE 不一定贵(周期底 E 被压)、低 PE 不一定便宜(周期顶 E 在峰值)——先判断周期位置(行业产能 / 价格 / 下游资本开支),再看 PE。
- 前瞻 CAGR 在周期顶附近系统性偏乐观;用 TTM 同比 + 环比拐点 + 行业月度数据三者一起看"加速还是减速"。
- 报告里的"估值"段必须写清:当前 PE 用的是哪一期单季、季节性方向、前瞻 CAGR 的机构数与区间、判读结论与它成立的前提。
## 8. 常见错误清单(自查)
1. 用归母单季×4 当扣非×4(一次性损益被放大)。
2. 用单季同比 / 环比做 PEG 分母。
3. 只看一致预期均值不看区间和机构数。
4. 把逐篇研报预测当一致预期。
5. 消化年数只给一个锚;或把远期共识乘 30x。
6. 给出价格锚、目标价、"合理市值"。
7. 自己换算单位或年化(应交 calc)。
8. 分位样本 < 20 还报分位。催化剂与风险的反证式写法:每个强结论必须先找反证;催化剂按"兑现型 / 预期型 / 周期型"分类并要求可验证的数据时点;风险按技术路线断层、客户集中、产能过剩与价格战、周期顶、预期透支(假便宜 PEG)、一致预期下修、治理与流动性、数据源冲突分类;裁决点的标准写法(什么数据出来会改变判断 + 下一个公开数据时点);知识档案旧结论的反证处理。当任务涉及风险、反证、催化剂、裁决点、预期兑现、什么会推翻结论时加载;单纯取数、估值计算、财报拆分等不需要反证框架的任务不要加载。只产出框架、概率与裁决点,不给投资动作建议。
A 股个股研究六阶段 SOP(profile → financials → estimates → valuation → risk → report),Phase 0 范围 = 财务估值闭环。当任务是研究 / 分析 / 评估一只或多只**已指定代码**的 A 股个股时使用;规定每阶段取哪些数据、调哪些 calc 函数、必须落盘什么产物、过什么 Gate。不用于:从市场中筛选标的、泛行业讨论、概念解释、给投资动作建议。
A 股零鉴权取数手册。当需要真实的行情 / 市值 / 估值快照、季度报告期累计财务数据、机构一致预期 EPS、PE 历史序列、公告标题、日 K 线、交易日历时使用;只允许运行本 skill 登记的脚本取数(腾讯 / 新浪 / 同花顺 / baostock / 深交所 / 东财),禁止凭模型记忆给数,禁止自造爬虫。概念解释、观点讨论等不需要取数的话题不要加载。
财报拆解手册:报告期累计值 → 单季(quarterize)→ 最新单季 / TTM / TTM 同比 / 环比的口径地图,扣非与归母的取舍(一次性损益),季节性与报告期对齐(分子分母同期),三表交叉核对(利润表 / 资产负债表 / 现金流量表),比率(毛利率 / 费用率 / 负债率)一律经 calc ratio,"转向看最新期、规模看 TTM"的判读模板与质量检查清单。当任务涉及财报、季报、业绩、利润拆分、同比环比、毛利率、现金流、扣非时加载;只查行情 / 公告 / 产业链结构、或只讨论概念不涉及财务数字的任务不要加载。取数层不做任何算术,所有派生数字出自 calc;不给投资动作建议。
产业链下钻与不可替代性判定方法:以龙头为"需求入口"沿供应链逐层下钻(整机 / 龙头 → 部件 → 核心器件 → 材料 → 衬底与设备),用物理 / 材料约束(扩产周期、良率、认证周期、有无替代)当筛子找供给刚性的卡口;给每个标的贴不可替代性标签(tech_moat / capacity_moat / both / 待补)并列证据;含"卡口越硬越贵"与预期差四问的校准。当任务涉及产业链位置、上下游、护城河、不可替代性、供给瓶颈、竞争格局时加载;单纯取数、估值计算、财报拆分等不涉及产业链结构的任务不要加载。只产出框架与证据表,不给投资动作建议。