看完不会?让 AI 一步步解给你看
Finance · real student question

一张 3 年期债券每年付息 80,到期归还面值 1,000,现价 938。求它的到期收益率 y,即解方程 938 = 80/(1+y) + 80/(1+y)² + 1080/(1+y)³。

Question

一张还有 33 年到期的债券每年付息 8080,并在第 3 年末归还面值 1,0001{,}000。它今天的市场价格是 938938。

求它的到期收益率 yy,即解方程

938=801+y+80(1+y)2+1080(1+y)3938=\frac{80}{1+y}+\frac{80}{(1+y)^2}+\frac{1080}{(1+y)^3}

Step-by-step solution

  1. 把方程读成「价格 = 各期现金流的现值之和」。 每一项都是用同一个未知贴现率 yy 把某一笔支付折回今天。最后一项是 10801080 而不是 8080,因为第 3 年既有最后一次付息又要归还 1,0001{,}000 面值:80+1000=108080+1000=1080。到期收益率恰恰就是那个能让现值等于报价的唯一贴现率。

  2. 令 x=1+yx=1+y,去掉分母。 记 x=1+yx=1+y,方程变成

    938=80x+80x2+1080x3938=\frac{80}{x}+\frac{80}{x^2}+\frac{1080}{x^3}

    两边同乘 x3x^3,得到一个三次方程:

    938x3−80x2−80x−1080=0938x^3-80x^2-80x-1080=0

    这就说明了为什么没有漂亮的公式:期数达到三期或更多时,收益率满足的是次数 ≥3\ge 3 的多项式方程,只能数值求解。不过这个代换仍然值得做,因为它让函数关于 xx 明显是单调递减的——收益率越高、价格必然越低——所以在经济上有意义的根恰好只有一个。

  3. 用面值给搜索定个锚。 若 y=8%y=8\%(即票面利率),价格应该是

    801.08+801.082+10801.083=74.07+68.59+857.34=1000.00\frac{80}{1.08}+\frac{80}{1.08^2}+\frac{1080}{1.08^3}=74.07+68.59+857.34=1000.00

    正好平价。而债券实际成交在 938<1000938<1000,是折价,所以收益率必然高于 8%8\%。光这一步检验,就能在动手试算之前先定下搜索方向。

  4. 用两次试算把根夹住。 试 y=10%y=10\%(x=1.10x=1.10):

    801.10+801.21+10801.331=72.7273+66.1157+811.4200=950.2630\frac{80}{1.10}+\frac{80}{1.21}+\frac{1080}{1.331}=72.7273+66.1157+811.4200=950.2630

    仍高于 938938,说明收益率还要更大。再试 y=11%y=11\%(x=1.11x=1.11):

    801.11+801.2321+10801.367631=72.0721+64.9298+789.6867=926.6886\frac{80}{1.11}+\frac{80}{1.2321}+\frac{1080}{1.367631}=72.0721+64.9298+789.6867=926.6886

    这回低于 938938。于是根被夹在 10%10\% 和 11%11\% 之间。

  5. 先线性插值,再细化。 在这两个价格之间做线性插值,得到第一个估计

    y≈0.10+0.01⋅950.2630−938950.2630−926.6886=0.10+0.01⋅12.263023.5744=0.1052y\approx 0.10+0.01\cdot\frac{950.2630-938}{950.2630-926.6886}=0.10+0.01\cdot\frac{12.2630}{23.5744}=0.1052

    对 f(x)=80x+80x2+1080x3−938f(x)=\frac{80}{x}+\frac{80}{x^2}+\frac{1080}{x^3}-938 再走一两步牛顿迭代,就稳定在

    x=1.1051578⟹y=0.1051578x=1.1051578\quad\Longrightarrow\quad y=0.1051578

  6. 把债券重新定价一遍来验算。 取 y=10.51578%y=10.51578\%:

    801.1051578+801.10515782+10801.10515783=72.3879+65.5000+800.1121=938.00\frac{80}{1.1051578}+\frac{80}{1.1051578^2}+\frac{1080}{1.1051578^3}=72.3879+65.5000+800.1121=938.00

    价格被精确复现到分,所以 y≈10.52%y\approx 10.52\%。顺带一提,像 10.3%10.3\% 这样一个粗略的猜测会把债券定价到约 943.1943.1——高了五块多——这正是夹逼那一步的意义:不要停在第一个看起来差不多的估计上。

Answer

y≈0.10516=10.52%y \approx 0.10516 = 10.52\%

Need to solve a different problem like this? Open the solver →