聂夫式股东总回报双模型估值法 v1.0.1
用途
给一只低速增长的优质龙头算出「买入不亏、且有 10%~12% 年化」的价格上界,并给出「什么时候该卖」的红线。核心只有三件事:
- 这套体系只服务于特定对象,不是通用估值法。 进场前先过五道闸门、六类禁区。
- 认清楚回报来源:可依靠的只有两项 —— 利润增长 + 股东回报(分红/回购)。 作者明确拒绝「拍一个合理市盈率」的做法,也拒绝「只看历史 PE 分位/低 PB/无风险利率倒算」的做法。
- 两套模型交叉算,取合理值。 单模型容易被假设绑架,双模型背离本身就是最好的诊断信号。
一、思想内核
> 放弃对远期永续增长的乐观假设,以五年可预测经营周期为锚;要求当期价格对未来五年能提供充分的收益率;以「选股—买入—持有—卖出」形成决策闭环。
对标基准是大盘宽基指数(长期复合 6%–8%),不是无风险理财收益。
个股承担更高的波动风险、基本面风险、黑天鹅风险,理应要求对应的风险溢价。
核心公式(记牢这两条,其它都是它的展开):
模型一 BV = Σ CF_t/(1+r)^t + (NP₅ × terminal_pe)/(1+r)⁵ ← 允许估值倍数变动贡献收益
模型二 BV = D₁ / (r − g) ← 默认估值倍数不变
卖出 预期年化 = g + D₁/市值 < 宽基下限 6% → 卖出
二、适用边界(硬门槛,未通过不得进入下一步)
2.1 五道准入闸门 —— 必须同时满足
| # | 闸门 | 判定口径(可落地版本) |
|---|---|---|
| 1 | 商业模式清晰可解 | 主营构成简单直观;无复杂多元业务布局;会计处理晦涩(大额公允价值变动、频繁并购重组、关联交易占比高)者出局 |
| 2 | 竞争壁垒稳固可靠 | 具品牌溢价/特许经营权/资源独占/稳定寡头格局之一;行业无持续性恶性内卷(判据:行业毛利率连续 3 年下行且无见底迹象 → 出局) |
| 3 | 盈利增长确定性强 | 硬性要求:未来五年归母净利复合增速 ≥ 5%;同时五年维度经营可预判性高,期末利润高于当期的置信度充足 |
| 4 | 财务质地扎实优良 | 长期高 ROE;有息负债可控;OCF 充沛;账面净利润与自由现金流匹配度高(判据:近三年 OCF/归母 ≥ 0.8) |
| 5 | 股东回报稳定可持续 | 有长期可延续的现金分红或股份回购政策,且比例稳定可预期 |
2.2 六类禁用清单 —— 命中任意一条即为不适用
| 类型 | 禁用理由 | 判定参数 |
|---|---|---|
| 高成长股 | 超出体系设计的增长区间 | 未来五年潜在净利润年化增速 > 12% |
| 技术迭代型行业 | 技术路线更迭快,五年盈利不可预测 | AI、半导体、创新药、软件等 |
| 纯强周期行业 | 利润随商品价格剧烈波动,五年预测无参考意义 | 普通有色、钢铁、基础化工等 |
| 金融特殊行业 | 利润高度依赖会计估计,账面净利与真实自由现金流严重脱节,资产质量风险隐蔽 | 银行、保险 |
| 格局恶化行业 | 护城河持续削弱,可预测性丧失 | 持续内卷、集中度下降 |
| 能力圈外 | 无法对未来五年归母净利、自由现金流、股息、回购做出置信度较高的审慎预测 | 做不出五年预测 → 不适用本方法,而非降低要求 |
> 边界不是形式主义。 详见 references/01-applicability-gate.md(含逐条的实操判据与常见伪合规陷阱)。
三、输入参数
| 字段 | 必填 | 说明 |
|---|---|---|
company / code |
是 | 公司名与代码 |
base_np |
是 | 基准期扣非归母净利润或正常化利润(亿元,见 CP1.5;不得直接填含减值/一次性损益的报表归母) |
base_year |
是 | 基准年份(如 2025) |
shares |
是 | 总股本(亿股) |
growth_path |
二选一 | 未来五年逐年增速数组 %,如 [2,3,5,6,5]。优先推荐 |
five_year_cagr |
二选一 | 五年复合增速 %,不提供逐年路径时展开为等速路径 |
payout_ratio |
是 | 分红率 %(分红 ÷ 当年归母) |
buyback_ratio |
否 | 回购率 %,默认 0。与分红率叠加计入股东回报 |
dividend_next12m |
否 | 未来 12 个月分红+回购总额(亿元)。强烈建议提供,否则模型二退化为用第 1 年预测值 |
terminal_pe |
是 | 零增长稳态 PE,按第五章取值表选 |
asset_bucket |
否 | consumer / utility / manufacturing,用于自动校验终值 PE 是否越界 |
target_return |
是 | 目标年化收益率 %。常态 12,低利率放宽但≥ 10 |
rf_10y |
否 | 十年期国债 %,用于校验 target_return 是否可放宽 |
current_price |
否 | 现价(元/股)。提供后才触发卖出判定与估值变动归因 |
index_return_low/high |
否 | 宽基潜在复合回报区间,默认 6 / 8 |
单位铁律:金额一律亿元,股价元/股,股本亿股,比率一律百分数(12.0 表示 12%)。
详见 assets/example_input.json。
四、计算纪律(强制)
任何折现、倒推、CAGR、分位、敏感性,必须经 scripts/total_return_valuation.py 执行,禁止 LLM 心算。
# 标准调用
python scripts/total_return_valuation.py input.json --text
python scripts/total_return_valuation.py input.json --out result.json
# 交付前必须跑(修改脚本后同样必须跑)
python scripts/selftest.py # 12 项回归自检,全绿才能交付
引擎自带护栏:目标收益率 < 10% 告警 / 国债未低位却放宽收益率告警 / 五年 CAGR > 12% 命中高成长禁用条款 / 终值 PE 越出 asset_bucket 区间告警 / r ≤ g 时模型二判定无解。
五、零增长 PE(终值倍数)分行业取值
取值原则:选「同类型、同资质」的美欧日成熟企业的零增长合理市盈率作参照。
| 资产类别 | 取值区间 | 依据 |
|---|---|---|
| 轻资产消费龙头 | 13–17× | 资本开支极低、现金流充沛、品牌永续性最强 |
| 水电、特许收租类资产 | 12–15× | 垄断性强、波动极小,靠稳定现金流兑现分红 |
| 优质制造业、一体化资源龙头 | 8–12× | 存在持续维持性资本开支,略有周期扰动,真实自由现金流低于账面净利润 |
> 越界必须书面说明理由。原文案例三给福耀(制造业)12.5×,已在 8–12× 上沿之外,理由是「全球寡头地位 + 高 ROE + 高毛利 + 稳定分红」给了适度溢价 —— 这是一个允许但必须说明的用法示例。
> 详细的对标寻找方法与三个常见陷阱见 references/02-terminal-pe-calibration.md。
六、五步操作流程
Step 1 · 过闸门。 逐条核对 2.1 五道闸门与 2.2 六类禁区,任一条不过即停止,输出「不适用本方法」结论并说明是哪一条。
Step 2 · 做五年预测。 输出未来五年逐年:归母净利、自由现金流、股息、回购。
关键:用悲观/共识情景,不用自己的乐观情景。 原文茅台 2014 案例用的就是当时极度悲观下的一致预期(五年复合仅 5%),后来的实际增速远高于此 —— 这正是安全边际的来源。
Step 3 · 定目标收益率。 常态 ≥ 12%;十年期国债持续处于低位时可适度放宽,但底线不得低于 10%。
Step 4 · 双模型测算。 跑引擎,拿到 buy_zone。
Step 5 · 定买点与诊断。
- 双模型背离 ≤ 30%:直接输出买点区间 [低, 高] 与中枢。
- 背离 > 30%:必须先归因(引擎已自动算出「当前 PE → 终值 PE」的隐含估值倍数年化变动),见第七章。
- 同时用 sell_check 给出当前价位的持有/卖出判定。
七、双模型背离归因(本技能追加的护栏,原文未解决)
这是这套方法最大的内在张力,必须显式处理。
- 模型一隐含了「估值倍数变动」会贡献收益:五年后给的企业一定是你写的那个 PE。
- 模型二默认估值倍数不变:收益只来自
g + 股息率。
所以两个模型的差额,本质就是终值 PE 相对当前 PE 的那笔隐含估值收益。
| 情景 | 归因 | 处理建议 |
|---|---|---|
| 当前 PE 远低于终值 PE(如茅台 2014:8.11× → 15×,隐含估值年化 +13.1%,背离 99.3%) | 模型一假设了一笔可观的估值修复收益 | 不可直接取模型一。这正是「低估值 + 双击」的赌注,应把模型一看作乐观上限,并明确告知用户:这笔收益是赌出来的,不是经营给的 |
| 当前 PE 接近终值 PE | 两模型天然收敛 | 取均值即可,结论最可靠 |
| 当前 PE 高于终值 PE | 模型一隐含估值收缩,反而比模型二更保守 | 取模型一,或说明「当前价已透支终点估值」 |
报告必须写出这句话:模型一 vs 模型二的差,有多少个百分点来自「利润增长」、多少来自「股东回报」、多少来自「估值倍数变动」。不许把三者混在一起说一个总回报数。
八、卖出规则
> 当持仓标的未来五年预期综合回报,低于大盘宽基指数 6%–8% 的潜在复合回报率时,触发卖出。
判定式:预期年化 = 五年净利复合增速 g + 预期股息率(D₁/市值)
| 预期年化区间 | 判定 |
|---|---|
< index_return_low(默认 6%) |
卖出/减仓 |
| 6% – 8% | 警戒(风险溢价基本消失) |
| > 8% | 持有/可买 |
关键心法:不需要等股价暴跌,也不需要等业绩下滑兑现。 通过基本面拐点后的参数重算主动识别性价比消失。原文茅台 2025 案例即为此:政策出台后把增速假设从 5.5% 下修到 2.5%,预期年化由 8.4% 降到 5.7%,当场触发卖出 —— 而那时业绩还没下滑。
九、输出规范
生成一份 HTML 单页报告({公司名}_股东总回报估值.html,白底、max-width 780px、可打印),固定结构:
- 页眉:公司名 + 代码 + 计算日期 + 基准期
- 闸门结论卡:五道闸门逐条结论 + 禁用清单命中情况(放在最前,未通过即全文终止)
- 关键输入卡:五年增速路径、分红回购率、终值 PE、目标收益率、宽基对标区间
- 五年预测表:逐年净利 / 股东回报现金 / 折现现值 / 终值
- 双模型结果卡:模型一买点(市值 + 股价)、模型二买点、买点区间与中枢、背离度与归因
- 收益拆解条:利润增长贡献 X% + 股东回报贡献 Y% + 估值倍数变动贡献 Z% = 目标收益率 R%
- 敏感性矩阵:增速 ±2% × 终值 PE ±2(模型一);增速 ±2% × 目标收益率 ±2(模型二)
- 当前状态与卖出判定:预期年化 vs 宽基区间,亮明结论
- 假设失效清单:哪些假设一破,结论就废
- 页脚:免责声明 + 引擎版本 + 自检通过标记
数据标注纪律沿用通用规范:硬数据直接写;基于硬数据算的标 [推算];模型知识标 [需核实];取不到的写 数据暂缺(原因:XXX),禁止用模型知识填数。
十、检查点
- CP1 · 闸门(必做):五道闸门与六类禁区逐条给出是/否,任一条为否 → 输出「不适用」并终止,不许硬算。
- CP1.5 · 基期还原(必做,2026-09-28 新增):
base_np是否已按扣非归母净利润(或运营正常化利润)还原?报表归母中若含大额资产减值、汇兑损益、公允价值变动、处置收益、政府补助等非经常项目,必须剔除后重算,并在报告中同时披露「归母 / 扣非 / 还原调整项」三个数。判据:扣非 ÷ 归母 < 90% 时强制还原;90%~95% 建议还原;> 95% 可直接用归母但须注明。跨期口径注意:基期年恰好是减值年(利润虚低)或修复年(利润虚高)时,改用三年扣非均值。结构性非经常项目例外(2026-09-28 补充,经分众案例验证):先查历年扣非/归母差额——若连续 3 年以上差额稳定(如分众 2023–2025 年度差额 4.5/4.9/2.3 亿,源于政府补贴+理财收益,由梯媒龙头地位与现金储备决定),该部分属于经营模式的常态成分,不得机械剔除;正常化基期 = 扣非 + 近三年差额均值(或直接采用已含常态补贴的共识归母)。机械剔除会双重还原、系统性低估买点。判断顺序:①差额稳定 → 视同经常(例外条款);②差额大起大落或单一偶发(减值/处置/公允价值)→ 按 CP1.5 还原。单季差额显著超年度常态(如分众 2026Q1 单季 7.23 亿 vs 常态全年 4~5 亿)时,另设「超常态部分不重现」的谨慎情景并报告双结论。经验证:还原后双模型背离度普遍收窄(美的 12.1%→5.9%、永新 6.2%→0.7%),且防止把周期顶点当永续能力计价;但分众案例证明对结构性补贴标的过度还原会把溢价 +2% 误算成 +14%。 - CP2 · 预测情景(必做):五年增速用的是否为「保守/共识」而非乐观情景?是否提供了逐年路径?若该股票近期单季已转负增长,是否已在路径中体现?
- CP3 · 脚本(必做):所有折现/倒推是否经脚本?交付前
selftest.py是否全绿? - CP4 · 背离归因(必做):背离 > 30% 时是否写出了估值倍数变动贡献?是否明确告知用户「这笔收益赌的是什么」?
- CP5 · 数据纯度(必做):净利润、股本、分红是否双源交叉(预测类数据不得单源);市值是否与股价×股本自洽;终端 PE 是否已对照海外同资质成熟企业(若未做,须标
[需核实])。
十一、目录结构
tutu-total-return-valuation/
├── SKILL.md # 本文件
├── scripts/
│ ├── total_return_valuation.py # 双模型估值引擎(含护栏 + 背离归因 + 敏感性)
│ └── selftest.py # 12 项回归自检(原文三案例精确复现 + 护栏测试)
├── references/
│ ├── 01-applicability-gate.md # 准入五闸门实操判据 + 六类禁区 + 伪合规陷阱
│ ├── 02-terminal-pe-calibration.md # 零增长 PE 取值表 + 海外成熟对标找法 + 三个陷阱
│ └── 03-worked-cases-and-pitfalls.md # 三案例完整复盘 + 原文算术笔误清单 + 背离处理实录
└── assets/
└── example_input.json # 茅台 2014 买点样例输入(含期望值)
十二、注意事项
- 这不是普适估值法。 作者本人的态度是「与你的框架适配则自行打磨,不适配则另起炉灶」,所以也不许把它套到成长股、科技股、金融股上硬算。
- 这套方法的价值在「识别不该持有的好公司」,不在「给出精确目标价」。它真正的产出是:聚会的故事讲完后,用「潜在回报率」这把尺子做值不值得的决策。
- 再优质的企业,买贵了依然是糟糕的投资。 可口可乐 1998 年之后十年给投资者的回报是 0 —— 报告的「假设失效清单」必须写得比买点更醒目。
- 所有金额为历史会计口径,不构成任何投资建议;五年预测本身即为不确定量,报告须明示其为假设而非事实。
十三、版本记录
- v1.0.2(2026-09-28):CP1.5 增补结构性非经常项目例外——差额连续 3 年以上稳定的常态非经常成分(政府补贴/理财收益)视同经常性盈利,不得机械剔除(分众案例验证);单季超常态时另设谨慎情景。
- v1.0.1(2026-09-28):新增 CP1.5 基期还原(必做)——base_np 必须用扣非归母或正常化利润,扣非÷归母<90% 强制还原;六标的实测还原后背离度普遍收窄,防止把减值/一次性损益当真实盈利、把周期顶点当永续能力。
- v1.0.0(2026-09-27):首次发布。忠实复刻原文方法论(选股五标准/双模型/零增长 PE 三分档/10-12% 收益率要求/6-8% 宽基对标卖出规则),并追加三项工程化补强:①脚本化双模型引擎(12 项自检,精确复现原文三个案例数值)②双模型背离自动归因(把「估值倍数变动」这笔隐含收益单独拆出来,避免把赌赢估值的钱当成经营给的钱)③终值 PE 越界与高成长禁用的自动护栏。同时修正了原文案例一的折现笔误(第 3 项写成
1.23³,应为1.12³),并指出原文案例三①②两组推演的自洽性缺口。