DCF:自由现金流折现模型

学习路径:本篇是估值系列第四篇,也是最重要的一篇。PE告诉你相对贵贱,PB告诉你账面折溢价,只有DCF能告诉你——这家公司值多少钱。

预计阅读时间:45-60 分钟(含推导和代码)


一、故事开始:估值的终极问题

那是个周三晚上,老陈把小林叫到书房,桌上摊开着一份招股说明书。

「你学PE学了两周,学PB学了两周,」老陈开口,「我问你——用PE算出来的’合理价格’,是怎么来的?」

「就是……行业平均PE乘以每股收益。」

「那行业平均PE本身,是谁定的?」

小林停顿了一下:「市场……市场定的。」

「对。所以PE是什么?」老陈等着他往下说。

「是……用市场的平均估值去衡量一只股票的相对高低。」小林越说越觉得哪里不对,「那如果整个市场都高估了呢?」

「那你就用一把烂尺子,量出一个错误的答案。」老陈点点头,「PE、PB都是相对估值,它们只告诉你’这只股票比那只股票贵还是便宜’。但它们有一个根本的局限——」

「它们没有告诉我,这家公司到底值多少钱。」小林接话道。

「完全正确。」老陈靠回椅子,「所以今天,我们学唯一一种能算出公司绝对内在价值的方法——DCF,自由现金流折现模型。这也是巴菲特说的,他使用的唯一估值方法。」

「那为什么大家还在用PE?」

「因为DCF很难。」老陈平静地说,「但’难’不是你不学它的理由。来,我们从最根本的问题开始。」


二、DCF 的哲学根基:钱的时间价值

2.1 今天的100元为什么比明年的100元值钱?

「小林,我给你两个选择:A,我今天给你100元;B,一年后给你100元。你选哪个?」

「当然选A。」

「为什么?」

小林想了想:「因为今天的100元,我可以存银行,一年后变成103元(假设年利率3%)。如果一年后才给我,我就损失了这3块钱的利息。」

「对,这就是钱的时间价值。今天的100元,等于明年的103元(以3%利率折算)。反过来,明年的100元,今天只值——」

「这个过程叫做折现(Discounting),97.09元叫做100元的现值(Present Value,PV)。」

2.2 内在价值的哲学定义

「好,现在想象一家公司,它未来每年都能给你现金流。」

其中 是折现率(资金的机会成本)。

「这就是DCF的全部哲学:一家公司的价值,等于它未来所有现金流折算到今天的总和。 不多,不少。」

「老陈,这听起来很简单,但未来的现金流谁知道?」

「你终于问到核心了。」老陈微微一笑,「DCF的难点从来不是公式,而是你对未来的判断。但在讲局限之前,我们先把模型推完。」


三、什么是自由现金流(FCF)?

「等等老陈,DCF里的现金流,和利润一样吗?」

「完全不一样。这是很多人最容易混淆的地方。」

3.1 从净利润到自由现金流

展开来看:

「我来解释每一项:」

项目调整方向原因
净利润起点会计利润,但包含非现金项目
+ 折旧摊销加回折旧是非现金费用,真钱没出去
- 营运资本增加减去应收款增加、存货堆积,现金被占用
- 资本支出(Capex)减去买设备、建厂房是真实现金流出

3.2 为什么利润可以造假,FCF更难造假?

「老陈,为什么不直接用净利润折现?」

「因为净利润可以通过会计手段调节:提前确认收入、推迟确认费用、少提折旧。但现金流呢?钱进没进账户,银行对账单上一清二楚。 所以FCF是比净利润更真实的’赚钱能力’指标。」

典型案例:某A股公司净利润连续增长5年,但经营现金流持续为负(应收账款堆积),最终资金链断裂。若你只看PE,完全看不出问题;若你看FCF,早在第二年就该警觉。


四、两阶段DCF模型:完整推导

DCF的标准实践是两阶段模型:公司早期高速增长,后期趋于稳定。

4.1 模型架构

阶段一:高速增长期(第1-5年)

其中 , 为高速增长期增速。

阶段二:永续增长期(第6年至永远)

这是 Gordon 永续增长模型,假设第6年起,FCF 以稳定增速 永续增长。

公司内在价值(企业价值,EV):

每股内在价值:

注意:净负债 = 有息负债 - 现金及等价物。若公司净现金为正(如茅台),则加上净现金。


4.2 完整数字演算:从零开始算一家公司

「好,现在我们设定一个具体案例,完整算一遍。」

基本假设(某消费品公司,2024年基准):

参数数值说明
当前 FCF()10亿元2024年实际自由现金流
高速增长期增速()15%第1-5年,行业景气+份额扩张
永续增长率()3%第6年起,约等于名义GDP增速
WACC10%加权平均资本成本(下一节详解)
净负债-20亿净现金20亿(负债债务<现金)
总股本5亿股

第一步:计算高速增长期各年FCF

年份(t)FCF(亿元)折现因子 现值(亿元)
110.45
210.93
311.43
411.95
512.49

第二步:计算终值(TV)

第5年末的FCF = 20.11亿元,此后以永续增长率 增长:

将终值折现到今天:

第三步:计算内在价值

加回净现金(净负债为负意味着有净现金):

「小林,如果这只股票现在市价40元,你怎么看?」

「内在价值52元,市价40元,有30%的折价,可以考虑买入?」

「思路对。但等等,别急,」老陈抬起一根手指,「在你相信这个52元之前,你得先搞清楚那个10%的WACC是怎么来的。」


五、WACC:加权平均资本成本的完整计算

WACC(Weighted Average Cost of Capital)是DCF的折现率,代表公司融资的综合成本,也是投资者的机会成本。

5.1 WACC公式

其中:

  • :股权成本(股东要求的回报率)
  • :债务成本(银行贷款/债券利率)
  • :股权市值
  • :有息负债
  • :企业所得税率(A股标准25%)

5.2 股权成本 的计算(CAPM模型)

其中:

  • :无风险利率 ≈ 10年期国债收益率(2025年约2.3-2.5%)
  • :贝塔系数,衡量个股相对市场的波动性(Wind/Choice可查)
  • :市场风险溢价 ≈ 5-7%(A股历史均值约6%)

三类公司的 计算示例:

公司类型市场风险溢价
防御性消费(白酒)2.5%0.86%
一般制造业2.5%1.06%
高弹性成长股2.5%1.56%

5.3 完整WACC计算示例

某公司资本结构:股权市值200亿,有息负债100亿,,银行贷款利率4.5%,税率25%。

第一步,计算各成本:

第二步,计算权重:

第三步,加权求和:

「老陈,为什么债务成本要乘以 ?」

「因为利息支出可以税前扣除。公司借100万,利率5%,利息费用5万,但这5万可以减少应税收入,实际税后债务成本 = 5% × (1-25%) = 3.75%。政府替你承担了四分之一的债务成本。这叫’债务的税盾效应’。」


六、敏感性分析:DCF 的阿喀琉斯之踵

「老陈,我算出52元,我同学用同样的公司算出80元,谁对?」

老陈没有立刻回答,而是拿起笔,在纸上画了一个表格。

「我告诉你一个DCF的铁律:算出来的内在价值,对两个假设极度敏感——WACC和永续增长率g。 我们来做敏感性分析。」

6.1 g 与 WACC 的内在价值矩阵

假设条件(仍用前面案例:FCF₀=10亿,高速增长15%持续5年)

\ 8%9%10%11%12%
2%270215175145122
3%320250201164137
4%395300236188155
5%510375284221179

粗体 201亿 为前文基准情景(WACC=10%,g=3%)。

「小林,你注意看:保持g=3%不变,WACC从10%降到8%,内在价值从201亿变成320亿,变化了59%! 保持WACC=10%不变,g从3%升到5%,内在价值从201亿变成284亿,变化了41%!」

「天啊,一个假设差2%,价值就差这么多?」

「是的。这就是为什么——DCF不是精确计算,而是一个思维框架。」

6.2 敏感性的数学根源

终值 ,注意分母是 。

当 WACC=10%,g=3%,分母=7%,TV=295亿 当 WACC=10%,g=4%,分母=6%,TV=345亿 → TV增加17% 当 WACC=9%,g=3%,分母=6%,TV=345亿 → TV同样增加17%

「分母越小,TV越大,而分母是两个估计量的差值。任何一个微小变化都会被放大。这是DCF模型天然的敏感性,无法消除。」

6.3 实践中的应对方法

「既然这么敏感,DCF还有用吗?」小林问。

「当然有用。关键是换一种使用方式——」

  1. 不要给出一个点估值,而要给出一个合理区间。 例如:“在我的基准假设下,公司内在价值在170-250亿之间”。
  2. 只有当市值 << 合理区间下限时,才动手买入。 安全边际不是锦上添花,而是DCF的核心保障。
  3. 用敏感性分析识别关键变量。 哪个假设对结果影响最大,就把精力放在研究那个假设上。
  4. 多情景分析:乐观、中性、悲观三种情景,对应不同的FCF增速和WACC。

七、DCF 适用条件与局限

「老陈,哪种公司最适合用DCF?」

「你反过来想:DCF有什么要求?」老陈引导他,「你需要预测未来5年的FCF,那对公司有什么隐性要求?」

小林想了想:「要能预测出来……所以得是现金流稳定、可预测的?」

「对,说具体一点。」

7.1 DCF适用的企业类型

最适合(强烈推荐):

行业原因典型代表
白酒现金流极度稳定,高毛利,几乎无Capex贵州茅台、五粮液
水电现金流极其稳定、可预测,折旧大长江电力、华能水电
高速公路特许经营,流量稳定,Capex低宁沪高速、招商公路
消费垄断品定价权强,需求稳定海天味业、格力电器
成熟期软件/SaaS订阅制收入,高续费率,低Capex部分软件企业

不适合(谨慎使用):

行业原因
周期性行业(钢铁、化工、航运)FCF随大宗商品价格剧烈波动,无法预测
早期成长型企业(亏损的科技股)当前FCF为负,增速不确定,DCF高度依赖终值假设
金融类企业(银行、保险)无法清晰区分”经营性”和”融资性”现金流,Capex定义模糊
资本密集型重组期企业Capex不稳定,短期FCF失真

「老陈,那亚马逊当年一直亏损,分析师怎么算DCF?」

「亚马逊的FCF其实一直是正的,它只是在会计利润层面亏损(大量折旧摊销和投资)。这再次说明:看FCF而不是净利润。但即便如此,早期亚马逊的DCF估值也充满不确定性,那是一种信念型投资,而非精算型投资。巴菲特就从来不买他看不懂的科技成长股。」


八、A股使用DCF的特殊注意事项

「老陈,在A股用DCF有什么特别要注意的?」

「至少三件事。」

8.1 注意一:资本支出(Capex)的可靠性

A股许多上市公司,尤其是国企,存在Capex虚高或无效扩张的情况:

  • 把大量现金投入低回报的固定资产(如电力公司建设回报率不足的项目)
  • 把Capex伪装成”战略性投资”,实际不产生FCF
  • 关联方交易扭曲资本支出的真实性

实际操作:用5-10年的Capex平均值,而非单年数字,以平滑异常值。

8.2 注意二:盈利质量——应收账款是否可回收

A股特有问题:应收账款占收入比例极高的公司,其”经营活动现金流”可能远低于净利润,且大量应收款最终无法收回。

筛查指标:

若某公司净利润10亿,经营现金流只有3亿,则FCF实际上是负数,用DCF模型时净利润会严重高估真实FCF。

8.3 注意三:利润分配的不确定性(国企折扣)

DCF假设公司赚到的钱最终会返还给股东(分红或回购)。但A股,尤其是国企:

  • 留存利润大量用于低效再投资
  • 股东获得的现金回报远低于账面FCF

处理方式:对国企DCF结果打20-30%的”治理折扣”,反映股东实际获得现金流的折损。


九、DCF 完整实战流程:以某高速公路公司为例

「老陈,能不能用一个真实行业的公司走一遍完整流程?」

「好,我们用高速公路公司——这是A股最适合DCF的行业之一:现金流稳定、特许经营、每年折旧远大于实际维护支出(即FCF >> 净利润)。」

某高速公路公司(虚构但参数真实):

项目数值
2023年净利润15亿元
经营活动现金流22亿元
年度Capex(日常维护)4亿元
当年FCF18亿元
特许经营剩余年限25年
有息负债50亿
净现金(超出负债部分)-50亿(净负债50亿)
总股本10亿股

模型设定:

  • 阶段一(1-5年):增速5%(交通量自然增长+费率调整)
  • 阶段二(永续期):增速2%(保守,近乎通货膨胀率)
  • WACC = 7%(防御性资产, 约0.6)

阶段一计算:

tFCF(亿)折现因子(7%)现值(亿)
118.90.934617.67
219.80.873417.31
320.80.816316.98
421.90.762916.71
523.00.713016.40

终值计算(由于特许经营有期限,应考虑用有限期模型,此处用永续简化):

「如果这只股票现在是28元,折价约25%,在WACC和g的合理范围内,这可能是一个不错的投资机会。」

「但是——」老陈停顿,「你还需要做什么?」

「敏感性分析……对,WACC从7%变成8%,内在价值会变多少?」

「对了。永远不要只跑一个情景。」


十、Tushare 取数:获取历史 FCF 数据

import tushare as ts
import pandas as pd
 
pro = ts.pro_api('你的TOKEN')
 
# 获取某公司现金流量表(以贵州茅台为例)
cashflow = pro.cashflow(
    ts_code='600519.SH',
    start_date='20150101',
    end_date='20231231',
    fields='end_date,n_cashflow_act,free_cashflow,capex'
)
 
# 获取利润表(用于对比FCF vs 净利润)
income = pro.income(
    ts_code='600519.SH',
    start_date='20150101',
    end_date='20231231',
    fields='end_date,n_income_attr_p'
)
 
# 合并并计算FCF/净利润比率(现金收入比)
df = pd.merge(cashflow, income, on='end_date')
df['fcf_vs_profit'] = df['free_cashflow'] / df['n_income_attr_p']
 
# 筛选年报(end_date以1231结尾)
df_annual = df[df['end_date'].str.endswith('1231')].sort_values('end_date')
print(df_annual[['end_date', 'free_cashflow', 'n_income_attr_p', 'fcf_vs_profit']])

茅台历史FCF vs 净利润(实际数据参考):

年份净利润(亿)经营现金流(亿)资本支出(亿)FCF(亿)FCF/净利润
20161671682114788%
201727129625271100%
20183523513032191%
201941246740427104%
202046752448476102%
202152558855533101%
202262772461663106%
202374781368745100%

「小林,你看茅台的FCF/净利润长期在100%附近,甚至有时超过100%。这说明什么?」

「说明茅台的利润质量极高,账面赚的钱,真金白银都进账了。」

「对。这是茅台可以用DCF估值的基础——你能相信它的FCF数字。这跟那些FCF/净利润只有30-40%的公司,完全不一样。」


十一、多年纵向对比:用DCF反推市场隐含增速

一个有趣的DCF应用:已知市值,倒推市场隐含的增速假设,判断市场是否过于乐观或悲观。

茅台案例:市场隐含g的历史变化

(固定 WACC=8%,由市值和当年FCF反推隐含永续增长率 )

年份股价(元)市值(亿)FCF(亿)隐含g(近似)市场情绪解读
20185907,440321~3.5%理性偏悲观(之后大涨)
20191,17714,800427~5.1%理性偏乐观
20201,99825,100476~6.1%开始透支
2021高点2,62733,000533~6.8%高度透支(明显泡沫信号)
20221,53019,200663~5.5%回归合理区间
20231,79922,600745~5.8%中性偏乐观

「老陈,2021年高点时,隐含g接近7%,而之前5年的实际增速也在15-20%。为什么说是泡沫?」

「因为永续增长率代表的是永远,几十年后的增速。没有任何企业能把15-20%的增速维持几十年。当市场开始相信这种不可能成真的假设时,泡沫就形成了。」


十二、总结:DCF是思维框架,不是计算器

「老陈,学了这么多,DCF给我最大的启发是什么?」

老陈想了想,说了一段话,小林把它一字不差地记了下来:

「DCF的价值,不在于你能精确算出52元还是55元。它的价值在于,它强迫你系统性地思考一家公司的全部未来:它能不能持续赚现金流?增速会不会下来?资金成本是多少?你愿意等多久?每一个假设,都是你对这家公司的判断。算DCF的过程,就是把你所有模糊的’感觉’变成可以被质疑的数字。」

「当你算完,发现市价比你估的内在价值低30%以上,且你对核心假设有充分的研究支撑——那时候,你就不是在赌博,而是在做一笔有把握的生意。」

DCF使用最终框架:

1. 确认行业适用性
   → 现金流稳定可预测?FCF/净利润 > 80%?

2. 建立基准情景
   → 预测5年FCF(从收入增速、利润率、Capex出发)
   → 确定WACC(CAPM计算Ke + 债务成本)
   → 设定永续增长率g(≤ 名义GDP增速,保守优先)

3. 计算内在价值
   → PV1 + PV2 = EV → 减净负债 → 股权价值 → 每股价值

4. 必做敏感性分析
   → 构建 g × WACC 的内在价值矩阵
   → 找到"最悲观情景"的内在价值

5. 做出投资决策
   → 只有市价 < 最悲观情景内在价值的 70-80%,才有足够安全边际
   → 记录所有假设,定期回顾验证

十三、追问思考题

🤔 思考题1:为什么DCF算出来每个人结果不同,这是正常的吗?

「两个分析师,用同一家公司的数据,算DCF,结果一个是30元,一个是60元。是谁算错了?」

答案方向:

通常两个人都没有”算错”,他们只是输入了不同的假设。DCF的三个核心参数——FCF增速、WACC、永续增长率g——每一个都是主观判断,而非客观事实。一个乐观的分析师认为公司未来5年增速20%,一个保守的认为10%;一个用WACC=8%,另一个用10%;终值部分的差异可以轻易导致2倍的估值差距。

这不是DCF的缺陷,而是它的本质:内在价值从来不是一个客观数字,而是特定信念体系下的推论。这就是为什么巴菲特说”宁要模糊的正确,也不要精确的错误”——DCF给出的是一个思考框架,而非一个精确答案。两个估值差距悬殊时,真正有价值的讨论是:哪个假设更接近现实?


🤔 思考题2:一家净利润每年增长30%的成长股,DCF算出来的价值会特别高吗?这种算法可靠吗?

答案方向:

会非常高,但也极不可靠。成长股DCF有两个致命问题:

第一,终值对增速假设极度敏感。一旦你在阶段一设置了30%的高增速,终值处的FCF基数会很大,即使永续增长率只有3%,终值也会天文数字级地高。轻微提高g,价值立刻翻倍。

第二,高增速不可持续。30%增速持续5年,FCF是今天的3.7倍;持续10年,是13.8倍。这要求公司的市场空间极大,且竞争壁垒极强。绝大多数高增速公司,增速会在3-5年内显著下滑(竞争进入、市场饱和、管理瓶颈)。

实战建议:对成长股的DCF,设定多情景(乐观/中性/悲观),且将”增速拐点出现时间”作为最敏感的参数进行压力测试。绝不能只跑乐观情景。


🤔 思考题3:长江电力PB=2.5倍,看起来不便宜。但若用DCF算,内在价值却高于市价。这种矛盾如何解释?哪种方法更可信?

答案方向:

这个矛盾恰恰说明了相对估值vs绝对估值的核心差异。

PB=2.5倍说的是:长江电力比账面净资产贵2.5倍。但这没有考虑长江电力特殊的资产特性——水电站建成后,几乎零燃料成本,FCF/净利润接近120%(折旧大量加回),且特许经营寿命极长(水坝百年以上),近乎”永动机”。

若用DCF计算,将未来几十年的稳定现金流折现,得出的内在价值可能远高于PB=2.5倍所暗示的”贵”。换句话说,长江电力的净资产是被低估的,它真正的资产是水流本身和发电权,这些不在账面上。

结论:对于长江电力这类极度稳定、FCF可预测的资产,DCF更可信;PB适合银行等资产负债表相对真实的公司,不适合用于评估水电站这类资产账面价值严重低估真实价值的公司。没有哪种估值方法放之四海而皆准,选对工具,比会用工具更重要。


📖 相关阅读:


最后更新:2026年3月 | 数据来源:Wind、Tushare、公司年报 | 所有个股分析仅供学习,不构成投资建议