关于 quantitative-valuation
quantitative-valuation 汇总 DCF、DDM、剩余收益和可比公司倍数等定量估值方法,适合分析公司或股票价值的用户。它还包含公式、示例、敏感性分析说明和可运行的 Python 脚本。
主要功能
- 01涵盖 DCF 与终值估算
- 02计算 WACC 和 CAPM 股权成本
- 03支持股利折现与剩余收益模型
- 04使用可比公司倍数估值
- 05分析估值假设敏感性
- 06提供可验证的 Python 示例
适用场景
- 01用 DCF 估算企业价值
- 02依据同行倍数推算股票价格
- 03比较不同 WACC 和增长率假设
- 04通过脚本复核示例计算
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ joellewis/ finance_skills --skill quantitative-valuation安装后在 Claude Code 中输入/quantitative-valuation确认已加载。
附带文件scripts/quantitative_valuation.py
详细介绍
定量估值
核心概念
贴现现金流(DCF)
DCF 模型将公司的价值评估为未来自由现金流的现值加上终值:
V = Σ FCF_t / (1 + WACC)^t + TV / (1 + WACC)^n
其中,FCF_t 是第 t 年的自由现金流,WACC 是加权平均资本成本,TV 是明确预测期末的终值。
终值——戈登增长模型
假设明确预测期之后的所有现金流将永续增长,据此估算其价值:
TV = FCF_n × (1 + g) / (WACC - g)
其中,g 是长期可持续增长率(通常接近名义 GDP 增速,为 2-4%)。
终值——退出倍数法
通过将市场倍数应用于最后一年的财务指标来估算终值:
TV = EBITDA_n × EV/EBITDA 倍数
退出倍数通常基于当前可比公司的交易倍数或行业长期平均值。
加权平均资本成本(WACC)
根据股权和债务的市场价值占比,对股权成本和税后债务成本进行加权:
WACC = w_e × r_e + w_d × r_d × (1 - τ)
其中,w_e 和 w_d 分别为股权和债务权重,r_e 和 r_d 分别为相应的成本,τ 为边际税率。
股权成本——CAPM
资本资产定价模型用于估算股权的必要回报率:
r_e = R_f + β × (R_m - R_f)
其中,R_f 为无风险利率,β 为股票对市场回报的敏感度,(R_m - R_f) 为股权风险溢价。
股利贴现模型(DDM)
将股票价值评估为未来股利的现值。戈登增长模型(单阶段)形式如下:
P = D_1 / (r - g)
其中,D_1 为下一期股利,r 为必要回报率,g 为固定股利增长率。
多阶段 DDM
适用于处于不同增长阶段的公司:
- 第一阶段(高速增长): 股利在 n 年内以 g_1 的速度增长
- 第二阶段(过渡期): 增长率从 g_1 线性下降至 g_3
- 第三阶段(稳定期): 股利以 g_3 的速度永续增长(使用戈登增长模型估值)
剩余收益模型
将公司价值评估为账面价值加上经济利润的现值:
V = BV_0 + Σ (ROE - r) × BV_{t-1} / (1 + r)^t
当自由现金流为负,但公司收益高于其股权成本时,此模型很有用。
可比公司倍数
相对估值使用同行公司的定价比率来推算价值:
- P/E(市盈率):最常用于盈利公司
- EV/EBITDA(企业价值与 EBITDA 之比):不受资本结构影响
- P/S(市销率):适用于尚未盈利或处于早期阶段的公司
- P/B(市净率):适用于资产密集型企业(银行、REIT)
使用同行公司的中位数以降低异常值的影响。根据增长、利润率和风险方面的差异进行调整。
相对估值
将股票当前的倍数与以下指标进行比较:
- 其自身的历史平均值(时间序列比较)
- 行业或板块中位数(横截面比较)
若一只股票的交易倍数低于这两项指标,可能意味着估值偏低,也可能意味着基本面恶化。
分部加总法(SOTP)
使用最合适的方法(DCF、倍数法或资产法)分别评估各业务板块,然后将其加总。扣除净债务并加上非经营性资产,得出股权价值。
敏感性分析
在双向数据表中变动关键假设(影响最大的通常是 WACC 和终值增长率),以了解可能的估值范围。这有助于揭示哪些假设对结果影响最大。
关键公式
| 公式 | 表达式 | 用例 |
|---|---|---|
| DCF 价值 | V = Σ FCF_t/(1+WACC)^t + TV/(1+WACC)^n | 根据现金流评估企业价值 |
| 戈登增长终值 | TV = FCF_n×(1+g)/(WACC-g) | 假设永续增长率计算终值 |
| 退出倍数终值 | TV = EBITDA_n × multiple | 使用市场倍数计算终值 |
| WACC | WACC = w_e×r_e + w_d×r_d×(1-τ) | 加权平均折现率 |
| CAPM | r_e = R_f + β×(R_m - R_f) | 估算股权成本 |
| 戈登增长 DDM | P = D_1/(r-g) | 根据股息计算股票价值 |
| 剩余收益 | V = BV_0 + Σ (ROE-r)×BV_{t-1}/(1+r)^t | 根据经济利润估值 |
| 隐含价值(可比公司) | V = Metric × Peer Median Multiple | 相对估值 |
计算示例
示例 1:两阶段 DCF
已知:
- 当前 FCF:$100M
- 第一阶段:FCF 连续 5 年增长 15%
- 终值增长率:3%
- WACC:10%
计算: 企业价值
解答:
预测自由现金流:
- 第 1 年:$100M × 1.15 = $115.0M
- 第 2 年:$115M × 1.15 = $132.3M
- 第 3 年:$132.3M × 1.15 = $152.1M
- 第 4 年:$152.1M × 1.15 = $174.9M
- 第 5 年:$174.9M × 1.15 = $201.1M
第一阶段现金流现值:
- PV = $115.0/1.10 + $132.3/1.10² + $152.1/1.10³ + $174.9/1.10⁴ + $201.1/1.10⁵
- PV = $104.5 + $109.3 + $114.3 + $119.5 + $124.9 = $572.5M
终值(戈登增长模型):
- TV = $201.1M × 1.03 / (0.10 - 0.03) = $207.2M / 0.07 = $2,959.6M
- TV 的现值 = $2,959.6M / 1.10⁵ = $1,837.7M
企业价值 = $572.5M + $1,837.7M = $2,410.1M
注意:终值占总价值的 76%,这很常见,但也凸显了终值假设的重要性。
示例 2:可比公司 P/E 分析
已知:
- 目标公司的 EPS:$5.00
- 同业组 P/E 倍数:15x、17x、18x、19x、22x
计算: 使用同业中位数估算隐含股价
解答:
同业 P/E 中位数 = 18x(排序后居中的数值)
隐含股价 = EPS × 同业 P/E 中位数 = $5.00 × 18 = $90.00
如果该股票的交易价格为 $75,则相较于同业似乎被低估了(折价 16.7%)。得出结论前,应检查较低的增长率、利润率或较高的风险是否足以解释这一折价。
常见问题
- 终值在 DCF 结果中占主导地位(通常占总价值的 60-80%)——应仔细审视终值假设
- 垃圾进,垃圾出:DCF 的质量取决于其假设;虚假的精确性会带来虚假的信心
- 对快速增长或周期性公司,在远期倍数更相关时仍使用历史倍数
- 未根据增长率、利润率和资本结构的差异调整可比公司的倍数
- WACC 取决于市值,而市值又取决于基于 WACC 的估值,由此产生循环引用——应进行迭代或使用目标资本结构
- 在未考虑竞争动态和均值回归的情况下,无限期预测高增长率
- 在每股价值估算中忽略股票薪酬带来的稀释
交叉引用
- historical-risk(wealth-management 插件):估算 CAPM 输入所需的历史贝塔
- forward-risk(wealth-management 插件):通过 CAPM 和因子模型估算股权成本
- financial-statements(wealth-management 插件):根据财务报表推导 FCF 和 EBITDA
- qualitative-valuation(wealth-management 插件):通过护城河和质量分析补充定量模型
- asset-allocation(wealth-management 插件):将估值结果用于投资组合构建决策
运行脚本
uv run scripts/quantitative_valuation.py
PEP 723 头部会自动解析 numpy 依赖。也可以先运行 pip install numpy,然后运行 python3 scripts/quantitative_valuation.py。
- 直接运行会打印演示,涵盖 WACC/CAPM、带敏感性分析表的两阶段 DCF、股利折现模型、剩余收益和可比倍数。
--verify会重新运行演示计算,并断言输出与此技能中的示例计算相符(打印 PASS/FAIL;不匹配时以非零状态码退出)。--help会列出可用的类。
此文件主要用于作为模块导入,例如:from quantitative_valuation import DCF, WACC, DividendDiscount, ComparableMultiples。