如果这个工具帮到了你,可以请作者喝杯咖啡 ☕
输入面值、市价、票面利率与剩余年限,精确计算债券持有至到期的年化收益率。
YTM ≈ [C + (F - P) / n] / [(F + P) / 2] × 100%
C=年利息, F=面值, P=现价, n=年数
债券到期收益率(Yield to Maturity, YTM)是假设你将债券持有至到期,并把所有收到的利息按同一收益率再投资时,能获得的年化总回报率。它把债券的当前价格、票面利息、本金偿还和剩余时间合成为一个百分比数字,让不同价格、不同期限的债券可以直接比较。我们这个计算器就是帮你快速算出这个数字。
核心公式是把未来所有现金流折现到现在,并使折现值之和等于当前市价:
P = C/(1+r)1 + C/(1+r)2 + … + C/(1+r)n + F/(1+r)n
其中 P 是当前价格,C 是每年支付的利息(面值×票面利率),F 是面值,n 是到期年限,r 就是要找的 YTM。
这个方程没法用手直接反解出 r,本计算器在后台用数值迭代法(如牛顿法)逐次逼近,每次代入一个猜测的 r,看等式左右两边的差值,直到相差小于百万分之一,这时屏幕上的 YTM 就是最终结果。
如果你填入的价格中含有应计利息,建议先把应计利息扣除后再填入当前价格,这样得到的 YTM 更贴近净价收益率。
假设一只公司债还剩 5 年到期,面值 1000 元,票面利率 6%,每年付息一次,当前市价 920 元。我们在计算器中这么填:
公式:920 = 60/(1+r) + 60/(1+r)2 + 60/(1+r)3 + 60/(1+r)4 + 1060/(1+r)5。
用试错法可求得 r ≈ 7.94%,计算器给出的 YTM 结果会稳定在 7.94% 附近。这意味着,如果你以 920 元买入并持有 5 年,且每次利息都能以 7.94% 再投资,那么你获得的年化总回报就是 7.94%,比票面利率 6% 高出近两个百分点,原因正是你以折价买入,除了吃票息还能赚到价格回升至面值的差价。
溢价债券:同一只债券如果市价涨到 1080 元,在计算器里把当前价格改为 1080,其他不变。式子变成 1080 = 60/(1+r) + … + 1060/(1+r)5,解得 YTM ≈ 4.12%。虽然票面利率仍是 6%,但因为买入价高于面值,到期时价格会回归面值会产生亏损,拉低了实际年化回报。
零息债券:一只 3 年期零息债券面值 1000 元,市价 850 元,票面利率 0。在计算器里填面值 1000,当前价格 850,年利率 0,到期年限 3。现金流只有最后一笔 1000 元,850 = 1000/(1+r)3,解得 YTM ≈ 5.57%。这张债券虽然不付利息,但通过低价买入,实际年化收益仍有 5.57%。
本计算器适用于固定票面利率、按年付息、不可提前赎回的普通债券。浮动利率债券、可赎回/可回售债券、永续债、含权债等复杂品种并不适用。YTM 计算假设发行人按时足额支付利息和本金,不包含信用违约带来的损失,因此不能直接反映高收益债的真实风险。当到期年限很长(如 30 年以上)时,YTM 对价格和利率的小幅变动非常敏感,极端市场环境下计算结果可能波动较大。此外,本工具提供的结果为税前理论值,实际到手收益需要扣除利息税、交易佣金等成本,且不构成投资建议。
YTM 是负数是怎么回事?
如果你填入的当前价格远高于未来所有现金流之和(比如极度溢价),计算出的 YTM 可能为负,表示持有至到期理论上是亏钱的,常见于极高评级债券在负利率环境里的情形。
我们这个计算器支持半年付息吗?
默认按年付息。你可以间接处理:把年利率除以 2 作为新的“年利率”填入,把到期年限乘以 2 作为“到期年限”填入,算出结果后再乘以 2 就得到近似的年化 YTM。虽然不如真正半年复利模型精确,但在多数情况下误差可接受。
YTM 和当前收益率哪个更能反映真实回报?
YTM 更全面,因为它既考虑了票息收入,也考虑了买入价与面值之间的差价。当前收益率只看票息,忽略本金的盈亏,对于折价或溢价较大的债券会严重失真。
计算出的 YTM 小数点后几位算正常?
通常保留两位小数(如 6.35%)就足够做横向比较。本计算器内部运算精度远高于展示位,你看到的百分数已足够支持日常投资分析。
可以比较不同期限债券的 YTM 吗?
可以,但要意识到不同期限的 YTM 暗含了不同的利率风险,长期债券的 YTM 更高往往是因为期限溢价,而不是单纯“更划算”。
为什么我输入的价格刚好等于面值,YTM 就等于票面利率?
当市价等于面值时,债券既不折价也不溢价,所有回报都来自票息,没有额外的资本利得或损失,因此 YTM 就等于票面利率本身。
现在你可以在上方计算器里试试自己的数字,看看手里的债券真实年化回报是多少。