我们知道,二级债券市场上的债券成交,都是以债券的到期收益率(或行权收益率)为谈判标的。图2-9是某一天的二级债券成交明细。
从图2-9中我们可以看出,成交价都以到期收益率为标的,而不是债券净价或全价。原因很容易理解:如果以净价为交易标的,你还得自己再倒算到期收益率,还不如直接以到期收益率为标的进行谈判及成交,更为直接方便。
此外,债券的结算价格以及你的盈亏,都是以债券价格(尤其是净价,因为应计利息是确定性的)为计算基准的。收益率多1个基点或少1个基点,对债券净价,乃至整个结算金额,有什么影响呢?
当然,一种最容易想到的方法是通过收益率去计算净价和全价,然后再计算结算金额。收益率多几个基点或少几个基点,也可以利用这个方法算出来。
图2-9 债券报价
资料来源:Wind.
假设在2018年2月1日上午,你买入3000万元面值的17国开15(170215),成交明细如下:
债券代码:170215
结算日:2018/2/1
成交面值:3000万元
成交收益率:5.06%
成交净价:93.8786元
成交全价:95.7488元
结算金额:28 724 641.48元
当天下午,170215的收益率上涨到5.10,即上涨4个基点。你的头寸估值亏损多少?如果止损,实现亏损多少?
最简单粗暴的方法就是通过最新收益率再倒算债券净价及全价:
面值:3000万元
收益率:5.10%
成交净价:93.5929元
成交全价:95.4632元
结算金额:28 638 956.62元
每百元面值的全价(净价)波动=95.4632-95.7488=-0.2856(元)
与买入价差额:28 638 956.62-28 724 641.48=-85 684.86(元)
因此,估值亏损85 684.86元;如果卖出,会实现同样的亏损。■
这种使用收益率再计算债券价格的方法固然没错,但是太过复杂烦琐,不利于投资决策。投资经理需要通过心算就能知道,自己的头寸估值盈亏和买卖盈亏,只有这样才能快速决策。
我们需要一种速算法,对于任何一只债券,收益率每变动1个基点或几个基点,都能迅速知道对应价格的变化,从而能够粗略计算出你的头寸盈亏情况。
于是,久期的概念应运而生。
按照定义,久期指的是收益率每变动1个基点,债券全价的百分比变动。用公式表示就是:
注:在久期的公式中,之所以使用收益率双向波动来计算平均值,是因为收益率向上和向下的波动,对于债券价格的影响是不一样的,因此一般采用上下波动并取平均值的办法。
式中 Δy——收益率的变动,如1个基点就是0.01%;
V 0 ——债券初始全价;
V - ——收益率下降Δy时,对应的债券全价;
V + ——收益率上升Δy时,对应的债券全价。
假设在2018年2月1日,170215的久期是7.473。也就是说,收益率变动1个基点,170215的债券全价反向变动7.473×0.01%=0.0743%。
在上述例子中,170215的收益率从5.06上涨至5.10,即上涨4个基点。
170215的久期为7.473,则:
每百元面值的价格百分比变动=7.473×0.04%=0.2989%
每百元面值的价格的绝对值变动=0.2989%×95.7488=0.2862(元)
绝对亏损额=30 000 000× =85 863.69(元)
这与之前使用传统方法计算出来的85 684.86元相差178.83元,误差在0.2%左右,足够精确。
注:在上述计算中,均假设先进行计算,再四舍五入。■
由于债券价格与收益率变动是反向关系(收益率上升时,债券价格下降),因此按照公式,久期应该是个负数。但是市场约定俗成,不说正负号,久期直接就是一个正数,大家心里知道就行了。使用久期计算的时候,公式是这样:
债券价格的百分比变动=-久期×收益率的百分比变动
使用久期去速算当然很方便!不过,使用久期进行速算,其实内含了一个假设。再去看久期的公式:
实际上,久期假设债券收益率与价格是线性关系:
债券价格的百分比变动=-久期×收益率的百分比变动
实际上,根据我们上面的叙述,债券价格P是收益率y的多项式函数(负次方),而不是线性函数:
P=f(y)
如果学过微积分,我们都知道,当收益率y变动在很小的范围内时(一般当日市场的收益率波动也不会很大),可以使用线性函数去近似拟合多项式函数(见图2-10)。
如图2-10所示,实际的债券价格P与收益率y的图形是曲线,使用久期来进行速算,实际上是使用直线(线性关系)来替代曲线求解近似值。当收益率变动Δy较小时,误差很小。
图2-10 债券收益率与价格关系
但是当收益率变动比较大时,只用久期的线性函数去求近似解,误差就比较大了。这时候,凸性就派上用场了。
简单说,久期是用一次方函数(线性函数、直线)去近似真实的“债券价格–收益率”曲线,而凸性是二次方函数,使用“久期+凸性”组合成一个二次方函数去近似真实的“债券价格–收益率”曲线,误差就更小了。或者说,凸性是对久期速算的一种误差调整。这时候,债券价格变动的速算公式变成了这样:
式中 ——债券全价的百分比变动;
Δy——收益率变动;
D——久期;
C——凸性。
具体这个公式的推导,我相信大部分读者是不感兴趣的,大家只要记住就好了。具体的推导过程在后面的章节中有介绍。
假设在2018年2月1日上午,你买入3000万元面值的17国开15(170215),成交明细如下:
债券代码:170215
结算日:2018/2/1
成交面值:3000万元
成交收益率:5.06%
成交净价:93.8786元
成交全价:95.7488元
结算金额:28 724 641.48元
当天下午,170215的收益率大幅上涨了50个基点至5.56%。估值亏损多少?
通过收益率再倒算债券净价及全价:
收益率:5.56%
成交净价:90.3845元
成交全价:92.2547元
结算金额:27 676 415.36元
每百元面值的全价(净价)波动=92.2547-95.7488=-3.4941(元)
与买入价差额:27 676 415.36-28 724 641.48=-1 048 226.12(元)
因此,估值亏损1 048 226.12元;如果卖出,会实现同样的亏损。
通过久期进行速算:
170215的久期:7.473
每百元面值的价格百分比变动=7.473×0.50%=3.7365%
每百元面值的价格的绝对值变动=3.7365%×95.7488=3.5777(元)
绝对亏损额=30 000 000× =1 073 296.17(元)
与实际的亏损1 048 226.12元相差25 070元,误差为2.39%。
通过“久期+凸性”的组合进行速算:
170215的久期D:7.473
170215的凸性C:70.4827
每百元面值的价格百分比变动:
-7.473×0.50%+0.5×70.4827×(0.50%)2=3.6484%
每百元面值的价格的绝对值变动=3.6484%×95.7488=3.4933(元)
绝对亏损额=30 000 000× =1 047 988.80(元)
与实际的亏损1 048 226.12元相差237.32元,误差为0.02%。
我们可以看出,当收益率变动幅度较小时,使用久期进行估算是足够精确的,误差不大。但是当收益率变动幅度较大时,使用久期估算的误差就比较明显了,这时候使用“久期+凸性”的组合进行估算,能够明显缩小估算误差。久期方法就好比是牛顿理论体系,适用于物体低速运动的情形,而“久期+凸性”的方法就好比是爱因斯坦的理论体系,同时适用于物体的低速和高速运动情形。
注:在上述计算中,均假设先进行计算,再四舍五入。■
凸性的一大特点是:久期相同时,凸性越大越好。凸性越大,当利率下行时价格上升越多,而利率上行时价格下跌越少,即“涨多跌少”。我们从“债券价格–收益率”曲线上可以很明显看出区别(见图2-11)。
图2-11 债券凸性
延伸阅读2-2 久期及凸性的推导公式
债券价格与到期收益率的关系公式如下:
式中 P——债券净价;
AI——债券的应收利息;
y——债券的到期收益率。
如果用一般性函数表示债券净价P与到期收益率y之间的关系,则是:
P=f(y)
其中,f()是个多项式函数。
根据泰勒公式:
则:
式中 Δy——债券到期收益率的变动(%);
——久期的相反数-D;
——凸性C。
因此,债券价格的变化(应收利息不变,且应收利息占比较小,因此可以近似认为是净价的变化):
久期D就是价格对收益率的一次导数,凸性C是价格对收益率的二次导数。■