求解树中的利率是一个迭代计算的过程。在Time 1时有两种可能的利率——较高的利率和较低的利率。我们观察一年后的利率情况。这两个利率的结果必须与波动率假设、利率模型和基准债券市值相关联。假设利率的波动率为15%。根据前面的讨论,我们知道在Time 1时,较低的一年期利率要低于隐含的一年期远期利率,而较高的利率是较低利率的倍数。我们由此得出一个迭代求解的方法。一旦我们选择了这些利率,我们如何知道这些利率是正确的呢?答案是,当我们用二叉树对现金流折现、并产生一个债券价值结果,这个结果应当与两年期基准债券价格相匹配。如果模型不能产生正确的结果,那么我们需要选择另一个远期利率并重复这个过程。校准利率二叉树以匹配特定期限结构的过程如下所述。
首先,我们选择一个“试验”利率i1,L作为Time 1时较低的远期利率。该利率应当低于隐含远期利率1.4028%。假设我们选择1.2500%。则另一个远期汇率为1.6873%[= 1.2500%×(e2×0.15)]。图表11显示了若Time 0时利率为1.20%,那么两年期债券的值应为99.9363。本金与最后支付的利息放在了两个利率节点的右侧。在Time 1时支付的利息放在了Time 0的利率节点的右侧。下面是计算公式:
101.20/1.016873 = 99.5208
101.20/1.012500 = 99.9506
[ 1.20 +(0.5×99.5208 + 0.5×99.9506) ] / 1.01 = 99.9363
图表2 两年的利率二叉树计算过程
这两个“试验”利率显然选得太高了。需要把它们稍微降低一些,以提高债券的价值结果,使债券在Time 0时的价格为100.0000。我们可以进行进一步的试错,或者使用工具,如Excel中的“模拟分析-单变量求解”来进行计算。总体来讲,我们这一步是通过改变Time 1时较低远期利率的单元格数值,使得Time 0时债券价格的单元格结果变为100.0000。
这个过程最终得到的i1,L的结果为1.1943%。这是较低的一年期利率。较高的一年期利率是1.6122% [= 1.1943%×(e2×0.15)]。注意,这两个远期利率的均值是1.4032% [= 1.6122% + 1.1943%)/2],略高于隐含的远期利率。二叉树分布在远期利率曲线两边。由于对数正态分布的假设,两个利率的平均值略高于隐含的远期汇率。
从基准债券的信息中可以看出,该两年期债券将在Time 2时支付其到期价值100和票面利息1.20。债券在Time 2时的价值为101.20。如果用较高的一年期利率计算,债券的到期价值及票面利息的现值,VH,为99.5944 (= 101.20/1.016122)。同时,如果用较低的一年期利率计算,债券的到期价值及票面利息的现值,VL,为100.0056 (= 101.20/1.011943)。这两个计算结果决定了一年后债券的价值。也就是说,远期利率决定了债券价值从Time 2到Time 1的变化。图表12显示,Time 1的无套利远期利率分别为1.6122%和1.1943%。经过校正,债券在Time 0时的价值为100.0000:
[ 1.20 + (0.5×99.5944 + 0.5×100.0056) ] / 1.010000 = 100.0000
图表3 构造两年的利率二叉树
为了再构建一个期限更长的二叉树,我们重复上述相同的过程,这次使用三年期基准债券,票面利率为1.25%。接下来,我们需要计算出三个远期利率,已知的条件为:(1)假设的利率模型、(2)假设的15%的波动率、(3)一年期即期利率为1.0%、(4)一年后(Time 1时)可能的两个远期利率为1.1943%(较低)、1.6121%(较高)。
在Time 3时,我们收到了最终的票息和到期本金,价值为101.25。在图表13中可以看到,Time 1和Time 2时支付的券息也是1.25。同时已知了Time 1时的远期利率和3年期债券票面价值的目标价格。我们所要求解的未知项是Time 1和Time 2时债券的价值(Value?)和Time 2时的远期利率(?%).
图表4 计算Time 2时的远期利率
我们需要为中间的利率i2,HL选择一个“试验”值。比如我们选择隐含远期利率1.3521%。这样,上面的利率i2,HH“试验”值为1.3521%×(e2×0.15),下面的利率i2,LL为1.3521%/(e2×0.15)。随着中间利率的改变,其他利率也会随之改变,直到最终我们得到该债券的价值结果为100.0000。结果表明,这三个远期利率分别为1.7863%、1.3233%和0.9803%。为了证明这些值是正确的,我们只需在图表4的二叉树中,对Time 3时的现金流逆向计算即可。接下来,我们使用相同的过程来获取其他节点的值。完整的二叉树如图表14所示。
图表5 经过计算后得出的二叉树
接下来,我们看一下波动率对二叉树上远期利率所产生的影响。如果我们使用更高的波动率,比如20%,我们得出的远期利率应该在远期曲线上分布得更远。如果我们使用较低的波动率估计值,比如0.01%,利率会从当前的收益率曲线移动到隐含远期利率曲线。图表15和16分别描绘了波动率在20%和0.01%时的利率二叉树结果。请注意,对于0.01%的波动率,Time 1时的远期利率非常接近于图表4所示的隐含远期利率1.4028%。同样地,Time 2和Time 3时的利率与隐含远期利率(分别为1.3521%和1.8647%)相比也相差无几。事实上,如果σ= 0,二叉树即是隐含远期曲线。
图表6 σ= 20%时的二叉树
图表7 σ= 0.01%时的二叉树
案例 校准二项树以匹配特定的期限结构
一年期平价利率为2.000%,两年期平价利率为3.000%,三年期平价利率为4.000%。由此得出,相关期限的即期利率分别为S0 = 2.000%, S1 = 3.015%, S2 = 4.055%。远期利率为F0 = 2.000%, F1 = 4.040%, F2 = 6.166%。所有期限的利率波动率均为15%。
对图表8中的二叉树进行校准。
图表8 校准二叉树
解答:
Time 0
在二叉树中,首期的平价利率、即期利率和远期利率都是一样的。因此,Y0 = S0 = F0 = 2.000%。
Time 1
我们需要使用试错(或Excel中的“单变量求解”)来求出两个使3%利息的两年期债券价格为100.000的远期利率。较低“试验”利率需要低于隐含远期利率4.040%,如3.500%。则较高的“试验”利率为3.500%×(e2×0.15)= 4.725%。这使得Time 0时的债券价格为99.936。因此,我们在下一阶段调低“试验”利率。最后得出校准后的远期利率分别为4.646%和3.442%。图表18显示这两个利率是正确的,因为债券在Time 0时的价值是100.000。计算如下:
103/1.04646 = 98.427
103/1.03442 = 99.573
[ 3 + (0.5× 98.427 + 0.5×99.573) ] / 1.02 = 100.0000
图表9 校准Time 1时的远期利率
Time 2
Time 2的中间节点的初始“试验”利率为6.166%。上节点的利率为8.323%[=6.166%×(e2×0.15)],下节点的利率为4.568% [= 6.166%/(e2×0.15)]。图表19显示,Time 2的两个利率,以及已经校准的Time 1的利率,使Time 0时4%利息3年期债券的价格为99.898。这并不是无套利的利率,所以Time 2的利率需要稍微降低,使价格上升到100.000。
图表10 校准Time 2时的远期利率
图表20显示了完整的二叉树结构。Time 2校准后的远期利率分别为8.167%、6.050%和4.482%。计算如下:
104/1.08167 = 96.148
104/1.06050 = 98.067
104/1.04482 = 99.538
[ 4 + (0.5× 96.148 + 0.5×98.067) ] / 1.04646 = 96.618
[ 4 + (0.5× 98.067 + 0.5×99. 539) ] / 1.03442 = 99.382
[ 4 + (0.5× 96.618 + 0.5×99. 382) ] / 1.02000 = 100.000
图表11 完整的二叉树
现在二叉树给出了1年、2年和3年到期的基础票面债券的准确价格,即该二叉树被校准为无套利的。该过程可以在给定的利率过程和利率波动条件下,对无期权债券准确定价。另外,它还可以对含权债券进行定价。