债券收益率计算器
债券收益率计算器用现金流折现法,根据面值、票面利率、当前价格、剩余期限与付息频率,计算到期收益率(YTM)、当期收益率、票息总额和折溢价回报。
债券票面金额,到期一次性偿还。国内债券常见面值为 100 元。
债券票面约定的年利率。每期票息 = 面值 × 票面利率 ÷ 每年付息次数;零息债券填 0。
现在买入这张债券要付的价格。高于面值为溢价、低于为折价。
到期日距今的年数。与付息频率相乘(四舍五入)得到总付息期数。
每年付息次数。半年付息选“半年”(每年 2 次),用于把每期收益率年化。
当前以 ¥98.00 买入面值 ¥100.00的债券,属折价买入。持有到期的年化到期收益率(YTM)约为 3.4422%,只看一年利息相对买入价的当期收益率约为 3.0612%。 折价买入时 YTM 高于票面利率,到期还能赚取面值与买入价之间的价差。
查看以 YTM 折现的逐期现金流明细(累计现值收敛到买入价)
| 期次 | 现金流 | 折现因子 | 现值 | 累计现值 |
|---|---|---|---|---|
| 第 1 期 | ¥3.00 | 0.966723 | ¥2.90 | ¥2.90 |
| 第 2 期 | ¥3.00 | 0.934554 | ¥2.80 | ¥5.70 |
| 第 3 期 | ¥3.00 | 0.903454 | ¥2.71 | ¥8.41 |
| 第 4 期 | ¥3.00 | 0.87339 | ¥2.62 | ¥11.03 |
| 第 5 期 | ¥103.00 | 0.844327 | ¥86.97 | ¥98.00 |
以 YTM 作为折现率时,各期现金流(末期含偿还的面值)现值累加,末期收敛为当前买入价——这正是到期收益率的定义。
怎么用
- 填写债券面值:输入债券的票面金额(元),即到期一次性偿还的本金。国内债券多以 100 元为面值,也可按你手中债券的实际面值填写。
- 填写年票面利率:填入债券票面约定的年利率(%)。每期票息 = 面值 × 票面利率 ÷ 每年付息次数;若是零息债券(只到期还本、不付息)填 0。
- 填写当前市场价格:填入你现在买入这张债券要付的价格(元)。价格高于面值为“溢价”,低于面值为“折价”,等于面值为“平价”。
- 填写剩余期限并选择付息频率:填入到期日距今的年数,并选择每年付息次数(按年 / 半年 / 按季 / 按月)。年数 × 付息频率四舍五入为总付息期数。
- 查看收益率结果:工具实时给出到期收益率(YTM,年化)、当期收益率与票面利率,并可展开逐期现金流明细,验证以 YTM 折现后各期现值累加恰好等于买入价。
核心要点
债券持有到期回报通常用到期收益率(YTM)衡量,它把每期票息、到期面值与买入价三者结合;票面利率只决定付多少利息,当期收益率是利息相对买入价的粗略回报。
- 三个收益率口径:票面利率 = 票面约定年利率;当期收益率 = 年票息 ÷ 当前价格;YTM = 让所有未来现金流折现现值等于买入价的年化利率。
- 价格与收益率反向:折价买入(价<面值)YTM>票面利率;溢价买入(价>面值)YTM<票面利率;平价买入三者相等。
- 年化口径:半年 / 按季付息时,名义年化 YTM(BEY)= 每期收益率 × 付息次数;有效年化(EAY)= (1+每期收益率)^付息次数 − 1。
- 零息债券:票面利率填 0,收益全部来自折价——y = (面值 ÷ 价格)^(1/期数) − 1。
- 算例参考:面值 1000 元、年票面利率 10%、现价 927.90 元、剩余 5 年且按年付息,YTM 约 12%,当期收益率约 10.78%。
- 判断框架:比较持有到期回报看 YTM,比较利息现金流看当期收益率,再单独核对信用风险、税费、赎回条款和是否会提前卖出。
原理与公式
价格方程(YTM 定义):设面值 F、每期票息C = F × 年票面利率 ÷ 每年付息次数、剩余 n 个付息期、当前价格 P、每期收益率 y,则P = C÷(1+y) + C÷(1+y)² + … + C÷(1+y)ⁿ + F÷(1+y)ⁿ
即所有票息与到期面值按 y 折现的现值之和等于买入价。y 就是到期收益率(每期口径),该方程无解析解,需数值迭代求根。
当期收益率:当期收益率 = 年票息 ÷ 当前价格 = (F × 年票面利率) ÷ P,只反映一年利息相对买入价的回报,忽略到期本金损益与时间价值,是 YTM 的近似。
年化换算:迭代求出的 y 是每期收益率。名义年化 YTM(BEY)= y × 每年付息次数(债券市场报价口径,半年付息即“乘 2”);有效年化 EAY = (1 + y)^每年付息次数 − 1(考虑期内复利)。按年付息时二者相等。
价格与收益率的反向关系:未来现金流固定,买入价越高、单位成本回报越低,故价格上升 → YTM 下降。因此 P > F(溢价)时 YTM < 票面利率,P < F(折价)时 YTM > 票面利率,P = F(平价)时 YTM = 票面利率。
计算示例
面值 1000 元、年票面利率 10%(按年付息)、剩余 5 年、现价 927.90 元:
解 927.90 = 100÷(1+y) + 100÷(1+y)² + … + 100÷(1+y)⁵ + 1000÷(1+y)⁵,得 y = YTM ≈ 12%。
验证:以 12% 折现,五期票息现值合计约 360.48 元、到期面值现值约 567.43 元, 合计约 927.90 元 = 买入价——这正是 YTM 的定义。此时折价买入(927.90 < 1000),YTM 12% 高于票面利率 10%;当期收益率 = 100 ÷ 927.90 ≈ 10.78%,介于二者之间。
求解方法:YTM 是价格方程的根。现值随y 单调递减,且 y→−100%⁺ 时现值 →+∞、y→+∞ 时现值 →0,故对任意正价格存在唯一解。本工具用高精度二分法在很宽的区间内求根收敛,金额全程采用十进制(decimal.js)计算并四舍五入到分。
常见问题
- 到期收益率(YTM)是什么?和票面利率、当期收益率有何区别?
- 到期收益率(Yield to Maturity, YTM)是把债券所有未来现金流(每期票息 + 到期面值)按某一利率折现,使现值恰好等于当前买入价的那个利率——也就是你按现价买入、持有到期、且每期利息都能按同一利率再投资时,能获得的年化内部收益率。它同时考虑了利息收入、买入价与面值的价差以及资金时间价值,是衡量债券持有到期回报更完整的口径。相比之下:票面利率只是票面约定的年利率,只决定每期付多少利息,与你买入价无关;当期收益率 = 年票息 ÷ 当前价格,只看一年利息相对买入价的回报,忽略了到期本金损益与时间价值,是 YTM 的粗略近似。三者关系:折价买入时 YTM>当期收益率>票面利率,溢价买入时反过来,平价买入时三者相等。
- 债券收益率怎么计算?有没有公式?
- 设面值 F、每期票息 C(= 面值 × 年票面利率 ÷ 每年付息次数)、剩余 n 个付息期、当前价格 P、每期收益率 y,则 YTM 满足价格方程:P = C÷(1+y) + C÷(1+y)² + … + C÷(1+y)ⁿ + F÷(1+y)ⁿ,即所有票息与到期面值按 y 折现的现值之和等于买入价。这个方程无法直接解出 y(是一个 n 次方程),需要用数值迭代(如二分法、牛顿法)求根。求出每期 y 后,年化:名义年化 YTM(债券市场报价口径,BEY)= y × 每年付息次数;有效年化收益率(EAY)= (1 + y)^每年付息次数 − 1。当期收益率则直接用“年票息 ÷ 当前价格”即可,无需迭代。本工具用高精度二分法求解 YTM,并同时给出当期收益率与票面利率。
- 为什么债券价格越高,到期收益率反而越低?
- 因为债券未来的现金流(票息和面值)是固定的,你付出的买入价越高,能“分摊”到的回报率就越低。直观地看:花更多钱买同样一串未来现金流,单位成本的回报自然下降。数学上,价格与 YTM 是反向关系——价格上升,要让折现现值等于更高的价格,折现率(YTM)必须下降。所以当市场利率下行、债券价格上涨时,新买入者的到期收益率下降;反之市场利率上行、价格下跌,到期收益率上升。这也是“利率涨、债价跌”的根本原因。溢价买入(价>面值)时 YTM 低于票面利率,折价买入(价<面值)时 YTM 高于票面利率。
- 半年付息的债券,算出来的收益率是年化的吗?
- 工具求解出的原始结果是“每期收益率”,周期与付息频率一致:半年付息得到的是半年收益率,按季得到季收益率。为便于比较,本工具已按市场惯例把它换算成年化。债券市场最常用的年化口径是“名义年化 YTM / 债券等价收益率(BEY)”= 每期收益率 × 每年付息次数(半年付息即“乘 2”),这也是券商和行情软件报价 YTM 的通行方式。另外还有“有效年化收益率(EAY)”= (1 + 每期收益率)^每年付息次数 − 1,它考虑了期内利息的再投资复利,数值略高于名义年化。例如每半年收益率 4%,名义年化 = 8%,有效年化 = 1.04² − 1 = 8.16%。本工具在半年 / 按季 / 按月付息时会同时给出每期、名义年化与有效年化三个口径。
- 当期收益率和到期收益率哪个更准确?该看哪个?
- 如果目标是估算“持有到期的年化回报”,到期收益率(YTM)更适合,因为它把票息、买入价与面值价差、资金时间价值放在同一个折现框架里。当期收益率主要用于快速估算“靠利息一年能拿回买入价的百分之几”,适合看现金流回报、做粗略比较,但它忽略了两件大事:一是到期时买入价与面值之间的价差(折价买入到期会多赚、溢价买入到期会亏这块价差),二是资金的时间价值。因此对折价或溢价债券,当期收益率会明显偏离持有到期回报,YTM 已把价差和时间价值都算进去。只有平价买入(价格 = 面值)时两者才相等。实务中可按目标拆开看:比较到期回报看 YTM,比较利息现金流看当期收益率,再结合信用风险、税费和是否会提前卖出。
- YTM 有什么假设和局限?实际拿到的收益会和它一样吗?
- YTM 有几个关键假设,实际收益未必完全等于它:①假设你持有到期不中途卖出——若提前卖出,实际回报取决于卖出时的价格,可能高于或低于 YTM;②假设每期收到的利息都能按 YTM 这个利率再投资到到期(“再投资假设”),现实中未必能找到同样收益率的再投资机会,市场利率下行时实际回报会低于 YTM;③假设发行人不违约、按时足额付息还本,若信用风险暴露则收益打折甚至本金受损;④本工具按“下一次付息恰好在一个完整付息期后、现金流等间隔”的简化口径计算,剩余期限 × 付息频率会四舍五入为总付息期数,若不足 0.5 个付息期会被视为无法计算,且未计入应计利息(脏价 / 净价差异)、按实际日历天数计息、税费以及可赎回 / 可回售条款。因此 YTM 是一个理论化的到期年化回报参考,实际投资决策仍需结合债券条款、信用评级、税费与市场环境判断,本工具不构成投资建议。
- 零息债券(贴现债券)的收益率怎么算?
- 零息债券不付利息,只在到期按面值兑付,靠“折价买入、到期按面值还本”赚取收益。它的价格方程简化为 P = F ÷ (1 + y)ⁿ,可直接解出:每期收益率 y = (F ÷ P)^(1/n) − 1。例如面值 1000 元、现价 500 元、10 年到期(按年)的零息债,(1000÷500)^(1/10) − 1 = 2^0.1 − 1 ≈ 7.18%,即年化到期收益率约 7.18%。零息债券没有票息,所以当期收益率为 0,全部回报都体现在 YTM(资本增值)里。本工具把票面利率填 0 即可计算零息债券。
- 这里算出的收益率和券商 App 显示的 YTM 会一致吗?
- 口径基本一致但可能有小幅差异。本工具与主流 YTM 定义相同——求使“票息 + 面值”折现现值等于买入价的年化收益率,并采用半年付息“乘 2”的名义年化(BEY)报价口径,因此在标准情形下结果与券商、行情软件接近。差异主要来自几点:①券商通常用“脏价”(含应计利息)并按实际结算日到下一付息日的真实天数折现,本工具按“下一次付息恰在一个完整付息期后、现金流等间隔”的简化口径,非整期时会有细微出入;②部分平台对到期一次还本付息(如部分国债、同业存单)用单利或特定惯例计算;③日期计数惯例(实际/实际、30/360 等)不同。若需要精确到成交价的 YTM,请以券商成交系统或债券估值机构口径为准,本工具适合用于理解原理与快速估算。