Excel 财务函数

久期与凸性计算器

麦考利久期、修正久期与凸性,量化债券对利率变动的敏感度。

  • 免费免注册
  • 结果可分享链接
  • 浏览器本地计算
8.7861
麦考利久期(年)
8.5302
修正久期(利率敏感度)
87.0660
凸性
100.00
当前理论价格(元)
修正久期 8.5302 的意思是: 收益率每上行 1 个百分点,这张债券的价格大约跌 8.53%; 加上凸性修正后是 8.09%。 它衡量的是利率敏感度,不是「多久回本」。 只有零息债券的麦考利久期才等于剩余年限,有票息就一定短于剩余年限。

敏感度对照:线性估计、凸性修正、重新定价的真实变动

收益率变动只用久期估计加凸性修正重新定价的真实变动线性估计的偏差
-2 个点+17.06%+18.80%+18.94%-1.88%
-1 个点+8.53%+8.97%+8.98%-0.45%
-0.5 个点+4.27%+4.37%+4.38%-0.11%
-0.25 个点+2.13%+2.16%+2.16%-0.03%
+0.25 个点-2.13%-2.11%-2.11%-0.02%
+0.5 个点-4.27%-4.16%-4.16%-0.11%
+1 个点-8.53%-8.09%-8.11%-0.42%
+2 个点-17.06%-15.32%-15.44%-1.62%

最后一列是「只用久期」减去真实变动。收益率下行时它是负的,说明久期低估了涨幅; 上行时它是正的,说明久期高估了跌幅。幅度越大,这个偏差越明显。

本工具用「按期数折现」的教学模型,不是 Excel DURATION/MDURATION 那套带实际结算日与到期日的完整日历实现。 整期付息的债券结果与 Excel 一致,非整期的部分做了简化。 久期与凸性都建立在「收益率曲线平行移动」的假设上,现实中曲线会扭曲,精确风险度量请以券商或风控系统口径为准。

链接带当前参数,发给别人打开就是同一份结果。

怎么用

5 步
  1. 填债券条款:面值、年票面利率、剩余年限、每年付息次数。这四项决定现金流长什么样,久期本质上就是这串现金流的加权平均到账时间。
  2. 填当前到期收益率:久期不是债券的固有属性,它随收益率变。同一张债券在收益率 3% 和 6% 时算出的久期不一样,所以这一栏要填你此刻真实面对的收益率。
  3. 先读修正久期那一格:这个数是利率敏感度:修正久期 8.53 意味着收益率每上行 1 个百分点,价格大约跌 8.53%。它不是「多久回本」,别按年数去理解。
  4. 对着敏感度表看三列:第一列是只用久期的线性估计,第二列加了凸性修正,第三列是引擎重新定价算出的真实变动。三列一对比就知道线性估计在哪一头失真、失真多少。
  5. 改票息和年限再看一遍:把票面利率调高,久期会变短;把剩余年限拉长,久期和凸性一起变大。这两个方向的直觉建立起来,比背公式管用得多。
深入讲解

久期在算什么,先把误解拆了

久期最常见的读法是「多久能回本」。这个读法几乎没有实际用处, 还会在关键时刻把人带沟里。久期真正衡量的是利率敏感度: 收益率变动一个单位,债券价格会跟着变多少。 它的单位确实是年,但那是数学推导留下的痕迹,不是让你按年去理解的。

拿默认那组数看。面值 100、票面利率 3%、剩余十年、一年付一次息、 收益率 3%,价格正好 100 元。算出来麦考利久期 8.786109 年, 修正久期 8.530203,凸性 87.066005。 修正久期 8.53 的意思很直白:收益率每上行 1 个百分点,价格大约跌 8.53%。 这句话才是久期的正确用法,也是债券风控里天天在用的那句话。

参数怎么填

收益率那一栏不能瞎填。 久期不是债券的固有属性,它随当前收益率变。收益率越高, 远期那几笔现金流被折得越狠,权重越小,加权平均时间就越短,久期跟着变小。 所以这一栏要填你此刻真实面对的市场收益率,填错了整块结果都偏。

票面利率决定久期有多短。 同样是十年期、收益率 3%,票面 0% 的零息债券久期 10 年, 票面 2% 是 9.115270 年,票面 4% 是 8.508690 年,票面 8% 只剩 7.730796 年。 票息越高,越多的钱提前回到你手里,加权平均时间被往前拽, 对利率的敏感度也就越低。高票息债券在加息周期里更抗跌,道理就在这。

剩余年限是放大器。 同样票面 3%、收益率 3%,一年期修正久期只有 0.970874,五年期 4.579707, 十年期 8.530203,三十年期直接到 19.600441。 一张三十年期国债,收益率动一个点,价格实测从 100 元跌到 82.71 元。 期限风险这四个字,摊开来就是这么一个数。反过来收益率下行一个点,同一张券涨到 122.40 元, 同样是一个点,涨的 22.40 元比跌的 17.29 元多出五块多,这就是凸性在帮持有人说话。

常见误区

以为麦考利久期等于剩余年限。 只有零息债券才成立,因为它只有到期那一笔现金流。 默认那张十年期票面 3% 的债券,麦考利久期是 8.786109 年,比十年短了一年多。 只要还剩不止一笔现金流,有票息的债券久期就一定短于剩余年限,票息越高短得越多。

只用久期估价,两头都估错。 默认那张债券,收益率上行 1 个点,线性估计跌 8.53%, 重新定价算出来实际只跌 8.11%;收益率下行 1 个点,线性估计涨 8.53%, 实际涨了 8.98%。也就是说只用久期会高估下跌、低估上涨,两边都偏向不利于持有人的一侧。 幅度拉大更明显:上行 2 个点,线性估计跌 17.06%,实际跌 15.44%,差了 1.62 个点。

觉得凸性是学术玩意儿可以不管。 凸性正是把上面那个偏差补回来的二阶修正。默认那张债券凸性 87.066005, 上行 1 个点时凸性修正后的估计是跌 8.09%,实际 8.11%,几乎重合; 上行 2 个点时修正后估计跌 15.32%,实际 15.44%,也贴得很近。 对比一下线性估计那两个数,差距一目了然。小波动可以忽略凸性,大波动不能。

拿一个久期数字管一整年。 时间流逝、票息发放、收益率变动,三件事都会改久期。 昨天做好的久期匹配,今天就可能偏了。久期是个需要定期重算的动态指标, 不是买入时记在本子上一劳永逸的常数。机构一般按周甚至按日重算,个人持仓至少每季度过一遍。

拿它做一道真的题

假设你要配一笔五年后要用的钱,票面 3%、收益率 3% 这个环境下有两种配法。 一种是直接买一张五年期,修正久期 4.579707,凸性 26.152394。 另一种是一半买一年期、一半买十年期,两张都平价,所以按金额各占一半: 修正久期是 0.970874 和 8.530203 的平均,等于 4.750539,凸性是 1.885192 和 87.066005 的平均,等于 44.475599。

两种配法的久期几乎一样,凸性却差了将近 18。凸性高意味着利率大幅波动时更占便宜: 涨的时候多涨一点,跌的时候少跌一点。代价是得管两张券、到期日不齐、还要不断再平衡。 这就是债券里说的哑铃型和子弹型的取舍,一个工具页把它变成了两组可以直接对照的数字。 把上面那几组参数逐一填进去自己算一遍,比看十遍教材图示都清楚。

边界与假设

久期和凸性都建立在一个强假设上:收益率曲线平行移动。 现实里短端和长端往往不同步,曲线会变陡、变平甚至扭曲, 这时候用一个久期数字概括整条曲线的风险就不够了,专业机构会拆成关键期限久期来看。 模型也不含信用利差变动、提前赎回条款、浮息条款这些嵌入选择权, 带这些条款的债券要用有效久期,不是这里算的解析久期。

本工具用「按期数折现」的教学模型,不是 Excel DURATION 与 MDURATION 那套带实际结算日、 到期日与假日规则的完整日历实现。整期付息的债券结果与 Excel 一致, 非整期的部分做了简化,精确计息与风险度量请以券商、托管机构或风控系统的口径为准。 面值填 0、剩余年限填 0、票面利率填负数这类非法输入,工具会接住引擎抛出的提示显示在结果区,页面不会白屏。

风险提示:本工具仅为测算演示,不构成投资建议。久期与凸性是风险度量指标,不预测利率走势,也不保证任何收益。实际持仓风险请以券商或托管机构的口径为准。

常见问题

6 条
久期是不是「多久能回本」的意思?
不是,这是流传最广的误解。麦考利久期确实是用现金流现值加权的平均到账时间,单位也是年,但它真正的用处是当利率敏感度用。面值 100、票面 3%、剩余十年、收益率 3% 的债券,麦考利久期 8.786109 年,修正久期 8.530203。后面这个数才是你要看的:收益率上行 1 个百分点,价格大约跌 8.53%。把它读成「八年半回本」既不准确,也用不上。
麦考利久期和修正久期差在哪?
差一个 1 加每期收益率的除数。麦考利久期除以(1 + 收益率 ÷ 付息频率)就是修正久期,所以修正久期总是比麦考利久期小一点。默认那张债券两者分别是 8.786109 和 8.530203,差了 0.255906。麦考利久期回答「现金流平均什么时候到账」,修正久期回答「利率动一个点价格动多少」。做风险管理看修正久期,做资产负债久期匹配两个都要用。
为什么零息债券的久期正好等于剩余年限?
因为它只有一笔现金流,到期那天一次性还本,加权平均到账时间自然就是到期时间本身。面值 100、票面填 0、剩余十年、收益率 3% 的零息债券,麦考利久期算出来正好是 10。有票息就不一样了:票息提前把一部分钱还给你,把加权平均时间往前拽。同样是十年期,票面 3% 的久期是 8.786109 年,票面 8% 的只剩 7.730796 年。
凸性到底有什么用,能忽略吗?
小幅波动能忽略,大幅波动不能。默认那张债券收益率上行 0.25 个点,线性估计跌 2.13%,真实跌 2.11%,差 0.02 个点,忽略不计。上行 2 个点就不一样了:线性估计跌 17.06%,真实只跌 15.44%,差了 1.62 个点。加上凸性修正后估计值是 15.32%,一下就贴回去了。所以凸性是二阶修正项,幅度越大越不能省。
同一张债券,久期为什么会变?
因为久期依赖当前收益率。收益率越高,远期现金流的现值被压得越小,权重下降,加权平均时间就变短。时间流逝也会让久期变短,付息也会。这就是债券组合要定期重算久期的原因:你昨天做的久期匹配,今天可能已经偏了。工具里改一改收益率那一栏,久期跟着动,这个感觉自己试一次就有了。
参数填错了会怎么样?
会显示提示,不会白屏。剩余年限填 0 或负数、面值填 0、票面利率填负数,引擎都会抛出明确的错误信息,工具接住后显示在结果区。剩余年限乘以付息频率不足一期时也会拦下,因为那样一笔现金流都没有,久期无从谈起。看到提示改参数就行。

本工具仅为测算演示,不构成投资建议。计算结果受输入假设影响,实际情况请以官方规定与金融机构公布为准。

回到计算器