Seek Returns

如何在 Excel 中计算 PVIF

很多核心金融计算,无论是给债券定价、折现未来现金流,还是比较一次性领取和分期领取哪个更划算,背后都依赖同一个小系数:现值利率因子(Present Value Interest Factor,简称 PVIF)。它告诉你,在给定利率或折现率的前提下,未来某个时点收到的 1 元钱,放到今天值多少钱。把它乘上任意未来金额,就能得到该金额的现值。

本文会讲清楚 PVIF 到底代表什么、闭式公式怎么写、如何在 Excel 里输入、如何用内置 PV 函数做交叉验证,以及它和 DCF 分析中“折现因子”的关系。

什么是 PVIF?

PVIF 指的是:在每期折现率恒定为 rr 的情况下,nn 期后收到的 1 元钱在今天的价值。

因为它是基于 1 元未来付款定义的,所以本质上是一个乘数。只要知道某组 rrnn 对应的 PVIF,任何一笔单独的未来金额,其现值都可以写成:

现值=PVIF(r,n)×未来金额\text{现值} = \text{PVIF}(r, n) \times \text{未来金额}

使用之前,最重要的是先确认两件事:

  1. 利率和期数必须匹配。 如果你要折现的是 24 个月后的现金流,而你手里拿的是名义年利率,那要么把利率改成月利率(年利率 / 12),要么保持年利率不变并把 nn 写成 2 年。两边不匹配,是最常见的错误。
  2. PVIF 只适用于单笔未来现金流。 如果你要算的是一串等额未来付款的现值,应该用 PVIFA(年金版),而不是 PVIF。如果是一串不规则现金流,那就要对每一笔分别用对应的 PVIF 折现后再相加。

PVIF 公式

闭式公式写法是:

PVIF(r,n)=1(1+r)n\text{PVIF}(r, n) = \frac{1}{(1 + r)^{n}}

其中:

直观地看:今天的 1 元钱,如果按利率 rr 投资 nn 期,未来会变成 (1+r)n(1 + r)^{n}。反过来,nn 期后的 1 元,在今天就一定等于它的倒数,也就是 1/(1+r)n1 / (1 + r)^{n}。所以,PVIF 和未来价值因子 (1+r)n(1 + r)^{n} 本质上互为镜像。

还有一个很重要的性质:只要利率为正且期数也为正,PVIF 就一定介于 0 和 1 之间,而且 nn 越大,它越接近 0;rr 越高,它下降得越快。比如 6% 的折现率会把 30 年后的 1 元钱压到大约 0.17 元,10% 则会压到大约 0.06 元。对长期现金流来说,折现率的微小变化,会放大成很明显的现值差异,这正是 DCF 估值的核心之一。

在 Excel 中计算 PVIF

需要哪些数据

你只需要两个数字:每期利率和期数。可以按下面的方式摆放:

单元格内容
A1Rate
A20.05
B1Periods
B22
C1PVIF
C2(输入公式)

操作步骤

  1. A2 输入利率。 如果年折现率是 5%,输入 0.05。如果你要折现的是按月到来的现金流,而手里拿的是名义年利率,就输入 =0.05/12,保证利率和期数的单位一致。
  2. B2 输入期数。 如果现金流在 2 年后到账,输入 2;如果是在 24 个月后到账,输入 24
  3. C2 输入 PVIF 公式:
    =1/(1+A2)^B2
    
    回车后,当 r = 0.05n = 2 时,Excel 会返回 0.9070(保留四位小数),这就是 PVIF。
  4. 可选:继续算某笔未来金额的现值。D1 输入 Future Amount,在 D2 输入金额(例如 1000);在 E1 输入 Present Value,在 E2 输入:
    =C2*D2
    
    Excel 会返回 907.03,表示 2 年后收到的 1,000 元,在 5% 折现率下今天大约值 907.03 元。
Excel 工作表:根据每期利率和期数计算 PVIF,并用内置 PV 函数交叉验证
Excel 工作表:根据每期利率和期数计算 PVIF,并用内置 PV 函数交叉验证

用 Excel 的 PV 函数交叉验证

Excel 内置的 PV 函数也可以直接计算一笔未来现金流的现值,所以很适合拿来验证你算出来的 PVIF。

C4 输入标签,例如 PV check,然后在 C5 输入:

=-PV(A2, B2, 0, 1, 0)

各参数含义如下:

前面的负号是为了翻转 Excel 的现金流符号约定,让结果以正的系数形式返回。这个结果应该是 0.9070,与闭式公式算出来的 PVIF 完全一致。如果两者不一致,几乎可以肯定是利率和期数没有对齐。

实战例子:折现零息债券面值

假设一只零息债券会在 8 年后一次性支付 10,000 元,适用折现率为每年 4%。它今天值多少钱?

如果这只债券在市场上的价格其实是 7,000 元,那就意味着它的隐含收益率略高于 4%。这时你就有理由继续往下算精确的到期收益率。PVIF 是起点,它让债券估值和 DCF 分析都变得可操作。

PVIF 和折现因子

如果你读过 DCF 或债券定价教材,应该见过“折现因子”(discount factor)这个词,有时写成 DFnDF_ndnd_n。第 nn 期的折现因子,其实就是 PVIF:

DFn=PVIF(r,n)=1(1+r)nDF_n = \text{PVIF}(r, n) = \frac{1}{(1 + r)^{n}}

两者只是同一个数字的不同叫法。PVIF 更像是教材里讲时间价值时常用的术语;discount factor 则是债券估值和 DCF 建模里更常见的说法。你在折现一串未来现金流 C1,C2,,CnC_1, C_2, \dots, C_n 时,本质上就是把每一笔乘上对应的 PVIF 再求和:

PV=t=1nCt×PVIF(r,t)PV = \sum_{t=1}^{n} C_t \times \text{PVIF}(r, t)

这其实就是整个 DCF 估值机制的核心,只是压缩成了一行而已。

常见错误

常见问题

PVIF 和 PVIFA 有什么区别?

PVIF 折现的是单笔未来现金流;PVIFA(年金现值系数)折现的是一串等额未来现金流。从机械上说,PVIFA 就是各期 PVIF 的总和,也就是 PVIFA(r, n) = PVIF(r, 1) + PVIF(r, 2) + ... + PVIF(r, n)

PVIF 和 Excel 的 PV 函数有什么区别?

两者算的是同一件事,只是 PV 是一个一站式函数,可以直接接收未来金额并返回现值;而 PVIF 只是针对未来 1 元金额的乘数。如果你只算一次,PV 更快;如果你想把同一个系数应用到多笔未来金额上,比如搭建 DCF 模型,那么先算 PVIF 再逐笔相乘会更清晰。

折现率应该用多少?

折现率必须和现金流风险匹配。无风险现金流(例如国债)用相同期限的国债收益率;企业现金流则应用能够同时反映时间价值和违约或经营风险的折现率,通常是公司债收益率或加权平均资本成本(WACC)。折现率取得过低,是高估现值最常见的方式之一。

现在还需要查 PVIF 表吗?

一般不需要。纸质 PVIF 表在电子表格普及之前很有意义,因为公式里的乘方手算起来比较麻烦。有了 Excel 之后,一个单元格就能算出来。现在表格更多是作为答案校验或教材练习时的参考。

PVIF 可以用于连续复利吗?

标准 PVIF 公式默认的是离散复利,也就是每期复利一次。如果改成连续复利,对应的因子就是 erne^{-rn},在 Excel 里可以写成 =EXP(-A2*B2),前提是 rr 本身就是连续复利利率。如果你从一个名义年利率 RR 出发,并且每年复利 mm 次,离散复利因子应写成 (1+R/m)m×t(1 + R/m)^{-m \times t};当复利频率 mm 越来越高时,它会逐渐接近 eRte^{-Rt}。大多数教材和企业 DCF 使用的仍然是离散复利,而衍生品定价更常见连续复利。

通胀怎么处理?

如果你使用名义折现率,PVIF 得到的就是名义现值;如果你使用实际(扣除通胀后的)折现率,得到的就是实际现值。核心规则只有一个:名义现金流配名义利率,实际现金流配实际利率。两套体系混用,是非常常见的错误来源。