自动化与脚本
用 DCF、DDM、可比倍数与剩余收益模型估算股票/公司内在…
当需要判断股票或公司是否被高估/低估、估算公允价值时,用现金流折现、股利折现、可比倍数等方法做定量估值。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
用 DCF、DDM、可比倍数与剩余收益模通用
解决思路
- 用 DCF 模型估值:把公司价值视为未来自由现金流的现值加上终值,公式 V = Σ FCF_t/(1+WACC)^t + TV/(1+WACC)^n。
- 用 Gordon 永续增长模型计算终值: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-τ),按市值权重混合股权成本与税后债务成本。
- 用 CAPM 估算股权成本:r_e = R_f + β×(R_m - R_f),其中 R_f 为无风险利率,β 为股票对市场的敏感度,(R_m - R_f) 为股权风险溢价。
- 用股利折现模型(DDM)估值:单阶段 Gordon 增长形式 P = D_1/(r-g),D_1 为下期股利,r 为要求回报率,g 为固定股利增长率。
- 用多阶段 DDM 处理处于成长转型期的公司:第一阶段高增长 g_1 持续 n 年;第二阶段增长率从 g_1 线性下降到 g_3;第三阶段以 g_3 永续增长(用 Gordon 增长模型估值)。
- 用剩余收益模型估值:V = BV_0 + Σ (ROE-r)×BV_{t-1}/(1+r)^t,适用于自由现金流为负但 ROE 高于股权成本的公司。
- 用可比倍数做相对估值:P/E 适用于盈利公司,EV/EBITDA 不受资本结构影响,P/S 适用于未盈利或早期公司,P/B 适用于重资产企业(银行、REITs);取同业中位数以减少异常值影响,并按增长、利润率、风险差异做调整。
- 做相对估值比较:把当前倍数与自身历史均值(时间序列)以及行业/板块中位数(横截面)对比;若两者都折价可能被低估,也可能是基本面恶化。
- 用分部估值法(SOTP):对每个业务分部选用最合适的方法(DCF、倍数或资产法)分别估值后加总,再减去净债务、加上非经营性资产得到股权价值。
- 做敏感性分析:对关键假设(WACC 与终值增长率影响最大)做双向数据表,了解估值区间并识别驱动结果的假设。
- 运行脚本: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。
适用边界 · 注意事项
- 终值通常占 DCF 总价值的 60-80%,若无法合理设定终值假设则结果不可靠。
- DCF 是垃圾进垃圾出,假设不严谨时会产生虚假的精确感与虚假信心。
- 对快速增长或周期性公司,若只有 trailing 倍数而缺乏 forward 倍数,相对估值参考性下降。