一、实验目的
本实验的主要目的主是利用各种债券的利率进行期限结构的推估,并为今后对掉期,远期及其期货定价打下坚实的基础。
二、实验内容
1. 用零息票债券收益率推算息票债券收益率,得到利率期限结构;
2. 多项式回归模型。
三、实验工具
Eviews 5.0软件。
四、零息票债券收益率推算息票债券
国债的利率期限结构(Term Structure of Interest Rate)是指各种不同期限国债的利率或收益率与期限之间的数量关系。用坐标来表示,剩余期限作用为横坐标,利率或收益率作为纵坐标,把不同的剩余期限对应的利率或收益率水平连成一条曲线,即为国债利率期限结构曲线,或收益率曲线。国债收益率曲线作为所有债券的定价基准,是投资者不可缺少的分析工具,同时还为政府发行国债,加强国债管理,实施货币政策和调节利率提供重要的依据。
最简单估计利率期限结构的方法就是直接针对零息债券市场上各种零息票债券的到期收益率来进行分析。然而,在中国国债市场上,大部分都是零息债券,零息票债券的数量很少,上海证券交易所和银行同业债券交易市场上交易的国债也都是息票债券。因此,上述简单有效的方法行不通。本文采用多项式样条法来对息票债券进行静态估计。
现在债券市上债券产品的相关信息摘录如下表4.1所示。
表4.1 现行市场上的债券产品
债券本金(元) | 到期日 (年) | 年息 (元)(每年1次) | 债券价格(元) |
100 | 0.25 | 0 | 97.5 |
100 | 0.50 | 0 | 94.9 |
100 | 1.00 | 0 | 90.0 |
100 | 1.50 | 8 | 96.0 |
100 | 2.00 | 12 | 101.6 |
根据以上信息计算出不同期限利率,可用Eviews软件生成收益率曲线图。
4.1计算思路与原理
对于1年以内到期的付息债券,其本质就是一个零息票债券,因此它的到期收益率就是即期利率或者说是零息票债券到期收益率。可以根据零息债券的定价公式将前三种债券的收益率计算出来:
$$r_m=\dfrac{1}{m}\ln(\dfrac{P}{B})$$
其中,rm代表着债券的即期利率(Rate)
m表示到期时间(maturity);
P表示债券在二级市场上的交易价格(Price);
B表示债券的本金(Bond’s Principal),在本案例中均为100;
对于期限长于1年的债券,其即期利率需利用前期求出来的即期利率来剥离出来,其原理就是债券各期现金流的现值之和必须等于债券的交易价格,比如,在本案例中对于第四种债券,有:
$$8e^{-r_{0.5}\times0.50}+108e^{-r_{1.5}\times1.50}=96$$
将r1.5求出来,得:
$$r_{1.5}=-\frac{1}{1.5}\times\ln\frac{96-8e^{-r_{0.5}\times0.5}}{108}$$
同样对于第五支债券而言,有:
$$12e^{-\pi_{1.0}\times1.00}+112e^{-r_{2.00}\times2.00}=101.6$$
将r2.0求出来,得:
$$r_{2.00}=-\frac{1}{2.00}\times\ln\frac{101.6-12e^{-r_{1.0}\times1.00}}{112}$$
4.2 Eviews程序设计
1、程序设计思路
根据前面的计算原理可知,在程序设计过程中,应该将到期期限短于1年的与长于1年的分开来计算,由于本案例是比较简单的,因此,可以用一个条件结构的程序将期限分开处理,然后分别计算出不同期限的利率期限结构,并绘制成曲线。
2、操作具体步骤
首先打开Eviews程序,然后在主菜单中点击File,选择New/Program,见图4.1所示,或者直接在命令菜单中输入:program ts01(其中,ts01是程序的名字,代表着term structure 01),然后在程序输入对话框中,输入如下程序:
‘the simple case of term structure (程序说明文字必须以“’”开头)
workfile ts1 u 1 5 (定义一个非时序工作文件ts1,样本容量为5)
series principal (定义序列principal,为债券本金)
principal=100 (债券本金principal均为100)
series maturity (定义序列maturity,为债券到期期限)
maturity.fill 0.25,0.5,1.0,1.5,2.0 (输入债券到期期限maturity的数据)
series coupon (定义序列coupon,为债券的息票)
coupon.fill 0,0,0,8,12 (输入债券息票coupon的数据)
series price (定义序列Price,为债券的二级市场交易价格)
price.fill 97.5,94.9,90.0,96.0,101.6 (输入债券价格Price的数据)
series rate (定义序列rate,为债券的即使利率)
if maturity<=1 then (条件结构程序if…then,else…)
rate=(-1/maturity)*log(price/principal) (当到期期限小于等于1时,执行该计算)
else (条件结构程序if…then,else…)
rate=(-1/maturity)*log((price-coupon*exp((maturity-1)*rate(-2)))/(coupon+principal)) (否则,
执行该计算)
endif (结束条件语句程序)
smpl 1 5 (把工作文件的样本范围定位1-5)
group ts maturity rate (maturity与rate合并成ts组)
ts.XYline (用数组ts数据构造XY直线图)
图4.1 Eviews中新建程序示意图
将这些程序输入并保存,如图4.2所示,按Save,并输入名字ts01,然后按Run执行程序,程序执行后的结果如图4.3所示。将该利率期限结构图则如图4.4所示。
图4.2 Eviews中输入程序(ts01)的界面
图4.3 程序ts01运行的结果图
图4.4 未平滑处理的利率期限结构图
五、 多项式回归模型
5.1 多项式样条函数概念与多项式样条函数利率期限结构模型的估计
多项式样条函数概念是由J. Schoenbery 于1946 年提出,在金融学领域中,麦卡拉西(Mcculloch)最先将其运用于实际问题的研究。然而,由于麦卡拉西的样条函数隐含的折现函数随到期期限的增加是发散的,而不是趋于0;隐含的远期利率也发散,而不是收敛于任何确定的有限值。由此,瓦西赛克(Vasicek)和佛恩(Fong)提出可以用指数样条来代替麦卡拉西的多项式样条,指数样条具有这样的特性:即远期利率和零息收益率随着到期期限的增加收敛于固定的有限值。更一般地讲,平的收益率曲线易用指数样条拟合。但谢伊( Shea )指出指数样条在实际运用中不易限制远期利率为正,并且在已有的实证研究中证明多项式样条法和指数样条法的拟合效果比较接近,指数样条并没有明显的优点,况且多项式样条的参数估计要稍微简单一些 。
中国由于金融市场尚未完全开放,利率一直实行管制,再加之中国债券市场正处于成长阶段,债券品种和期限都比较单一,以至理论与应用研究都比较少。随着利率市场化步伐进一步加快,近几年有关这方面的研究逐渐兴起。李仲飞和江寿阳等(2002)用无套利方法分析了有摩擦金融市场中的利率期限结构;谢赤和吴雄伟(2002)对国外利率期限结构研究成果进行了系列改进和总结;陈典发(2003)从数理金融角度研究广义Vasicek Flesaken 和Hughston 利率期限结构模型;陈雯和陈浪南(2000)以复利方式建立中国国债利率期限结构模型,并进行了实证;郑振龙和林海(2002)针对我国债券市场的特征,采取样条估计和息票剥离法,得出了中国的利率期限结构是一条稍微向上的曲线,短期利率比较低,长期利率相对比较高,在中间存在一些波动以及不同期限的利率水平存在着同涨同跌的现象等结论。
当无摩擦市场不存在套利机会时,未来发生的一系列确定性现金流的现值一定等于它们各自贴现值之和。在实际应用中,对现金流预先确定的金融产品,如果知道任意到期期限的零息票利率的期限结构,那么对该金融产品的定价、套期保值等将变得十分容易。但是,任何一国的金融市场上所交易的零息票债券的数量都是有限的。因此,我们必须借助息票债券的市场价格来推出零息票债券价格。下面,给出建模的具体步骤:
第一,收集n个无违约风险,在时间t市场价格为Ptj,在时间S 现金流人为Fsj,S>= t , j = 1 , 2 ,… ,n 的息票债券为参考债券,同时收集一些类似债券为验证债券。
第二,假定贴现函数的具体形式,对不同到期期限债券选择不同的参数集合,通过求解息票债券理论价格和市场价格之差的一个极小化问题,从而可估计出参数向量值。
第三,根据零息票债券价格与连续复合利率之间的关系,利用插值法,从而可推导出零票债券利率期限结构。
第四,利用推导出的零息票债券利率期限结构来检验验证债券价格,从而对模型结果作一步调整和修正。
多项式样条法假设利率期限结构以即期利率表示,而且即期利率是到期期限t 的连续函数Y (t) ,并进一步假设这个函数是一个多项式分段函数。在运用此函数时,仔细选择多项式的阶数是至关重要的。阶数的多少决定了利率曲线的平滑程度和拟合程度,同时也影响到待估参数的数量。本文将多项式样条函数的阶数定为3 。经验证明,当阶数为3时不仅可以保证曲线的平滑,而且不会使得模型变得过于复杂。这是因为,当多项式样条函数为二阶时,Y (t) 的导数Y2(t)是离散的,而且当阶数过高(四阶或五阶)时,验证三阶或四阶导数是否连续的难度将增大。
假设易剥离出来的零息票债券到期期限为t,相应的零息票债券收益率为Y,根据多项式样条回归模型原理,我们可以得到如下阶数为3的样条回归模型。
$$Y(t)=a_1+b_1t+c_1t^2+d_1t^3$$
在本节内容中,本文将选择Eviews程序对上式进行回归,进而计算出不同利率期限的利率结构。
根据以上的内容,我们可以用债券的估计公司将不同期限的即期利率计算出来,但问题是有很多的债券的现金流到期时间不规则,因此,在剥离债券息票时就会遇到困难。如何将息票完整正确地剥离出来呢?通常,我们假定未知期间的即期利率是线性的,可以用线性插值法计算出来,进而将债券的息票剥离出来,但问题是,当一段时间内的,已知的债券即期利率可能不止一个,这样,在利用插值法时,不同期限的利率选择,可能计算出不同的结果出来,因此,用插值法估算未知即期利率是一种很粗浅的、不精确的方法。在本节内容中,本文假设读者已经掌握了第一节的内容,并按照现行插值法,将未知期限的即期利率剥离出来了,为了得到更具预测和稳定的结果,本节内容将介绍用多项式样条法来估计债券的利率期限结构。因此,本节内容的实验材料中的资料是已经剥离出来的即期利率或零息票债券利率以及相应的期限。
5.2 Eviews程序设计
1、设计思路
根据立方多项式样条回归模型,我们首先得计算出到期时间t的1、2以及3次幂的样本数据,接着,将收益率序列Y与序列t、t2、t3建立多元回归模型,然后再根据得出来的回归模型进行预测,并将预测值与相应的到期时间合并在一起,从而得到估计的利率期限结构图。
2、Eviews程序操作步骤
在Eviews软件中,通常有3种方法来进行模型的计算与开发:其一,在命令窗口中依次输入相应的Eviews语言程序命令,其优点很明显,通过该方法,可以每一步实现一条命令,并且知道该命令执行是否出错,操作简单方便,但同时缺点也是很明显的,对于某些带有条件式和循环式的语言程序命令,该方法不能实现;其二,通过菜单与鼠标来操作,其优点是,操作简便,不需要输入命令,缺点是对于不同的模型要记住如何使用,仍然不是很方便,并且,同样不能实现带有条件与循环程序的操作;第三,利用Eviews编程的方法,将要进行的每一个步骤语言程序化,然后通过一步实现所有的Eviews操作,其优点是原则上能够实现所有的操作,但缺点也是很明显的,Eviews的程序设计语言较为复杂,相对于其他软件而言,并没有表现出明显的便利性与可理解性。因此,在用Eviews软件时,应该针对不同类型的模型和计算,选择用不同的方式来处理,这也是Eviews软件的优点所在。在本节内容,将分别介绍这三种方法来实现利率期限结构的多项式样条回归模型估计。
如下表5.1所示,本案例有30支已经剥离出来的零息票债券的收益率数据,它们的到期期限用TERM表示,收益率用YLD表示,并且将这些数据输入Excel表格中的sheet3,保存为st.xls文件,并存放在计算机桌面上。
表5.1(已剥离)零息票债券到期期限以及相应的收益率
obs | TERM | YLD | obs | TERM | YLD |
1 | 0.079452 | 0.026732 | 16 | 2.849315 | 0.026256 |
2 | 0.408200 | 0.021476 | 17 | 2.945205 | 0.024860 |
3 | 0.413699 | 0.019796 | 18 | 3.016438 | 0.025587 |
4 | 0.739726 | 0.020989 | 19 | 3.413699 | 0.030592 |
5 | 0.843836 | 0.021215 | 20 | 3.515068 | 0.021027 |
6 | 0.917808 | 0.021922 | 21 | 3.767123 | 0.027712 |
7 | 1.046575 | 0.025863 | 22 | 4.019178 | 0.026913 |
8 | 1.252055 | 0.028204 | 23 | 4.249315 | 0.032485 |
9 | 1.432877 | 0.022768 | 24 | 4.830137 | 0.028526 |
10 | 1.750685 | 0.028765 | 25 | 6.279452 | 0.025766 |
11 | 1.917808 | 0.024527 | 26 | 7.356164 | 0.033395 |
12 | 2.000000 | 0.029040 | 27 | 8.841096 | 0.033634 |
13 | 2.487671 | 0.021898 | 28 | 11.99726 | 0.036382 |
14 | 2.512329 | 0.023808 | 29 | 12.70411 | 0.028674 |
15 | 2.764384 | 0.026914 | 30 | 14.41644 | 0.028383 |
方式一:菜单式操作方式
- 创建文件
首先单击Eviews的菜单上的File,然后将鼠标移向New,并选择workfile,如图5.1所示。然后在workfile create对话框中的workfile structure type中选择unstructured/undated,在Data range中的observations输入30,表示有30个观察值,在Names的WF中输入“yield_curve”,然后单击OK,这样我们就在Eviews软件中建立的操作文件yield_curve。
图5.1
图5.2
- 输入/导入数据
本案例可以采取两种方法来输入数据:第一种方法,是通过单击菜单栏上的object→New object,然后在New object中选择series的方式来创建新的序列,然后在序列表中手工输入数据,该方法操作麻烦,并且在输入数据时容易出错;第二种方法是通过导入外部数据的方法来实现,这种方法方便、快捷并且不容易出错。在本案例中,我们介绍如何导入Excel表格文件内容这种方法。
单击Eviews的菜单栏上的File,选择Import,并单击Read Text-Lotus-Excel(如图5.3所示),进入文打开入对话框Open,根据路径选择要打开的对话框(如图5.4所示),单击“打开”,这样,就进入了Excel导入路径的最后一步,在Excel spreadsheet import对话框中输入相关信息,其中,在“Names for series or Number if named in file”中输入“2”表示,在该Excel表格ts.xls中的sheet3中所有的序列都已经有了序列名,在“Excel sheet names”中输入“sheet3”表示要输入的是ts.xls的sheet3表格中的序列,然后单击OK(如图5.5所示),这样就可以把零息票债券的到期收益率以及相应的期限导入到Eviews的工作文件(workfile)yield_curve中。
图5.3
图5.4
图5.5
- 立方多项式样条回归模型
经过前面两个步骤,已经可以得到所有的实验数据了,因此,可以按照立方多项式样条回归模型来估计回归方程。单击Eviews菜单栏上的Object,然后选择New Object,如图5.6所示,在该对话框中的Name for object中,输入名字回归方程的名字“yield_curve_eq”,然后单击OK,这样就进入了方程估计(Equation Estimation)对话框(如图5.7所示),在该对话框的Specification选项卡的Equation Specification中输入回归方程“Yld c term term^2 term^3”,回归设置方法(Estimation setting Method)中选择最小二乘回归法(LS),然后单击确定,这样就可以得到如表5.2所示的回归结果。
图5.6
图5.7
在该方程回归对话框(yield_curve_eq)中的菜单栏上,单击“View→Actual Fitted Residual→Actual Fitted Residual gragh”,可以得到立方多项式样条回归模型的收益率曲线的实际值、拟合值以及残插值的结果,结果如图5.8所示,从图形可以看出,立方多项式样条回归模型的拟合程度较高,残差分布较为合理,这与表3的拟合结果相适应,通过表3我们可以知道,尽管term term^2 term^3的参数不显著,但整个模型的F值还是显著的,这说明整个模型的参数是显著的,R^2的值为0.521804,尽管绝对数值上并不大,但是作为横截面回归结果还是令人较为满意的,DW值为2.343303,显示出不同期限利率之间存在微弱相关性,总体上对模型的影响不大。因此,通过回归的数值结果以及模型的拟合图像可以发现,立方多项式样条回归模型能够对利率期限结构做较为合理的估计。如果要对模型进行更深入的研究,则需要进一步进行其他相关的检验,比如如果存在异方差,则可能要用加权最小二乘回归法来回归,根据久期-凸度理论可知,期限越长的债券,其收益率的波动越大,因此为了防止其对会规模型的影响,可以将久期的倒数作为权重进行回归检验,这样能够有效地降低长期债券利率波动敏感性对整个模型带来的影响,但具体结果怎么样,还需要对模型的结果进行比较,仪表得出最佳的模型。
表5.2 立方多项式样条回归模型估计结果
Dependent Variable: YLD | ||||
Method: Least Squares | ||||
Date: 06/28/09 Time: 10:09 | ||||
Sample: 1 30 | ||||
Included observations: 30 | ||||
Variable | Coefficient | Std. Error | t-Statistic | Prob. |
C | 0.022908 | 0.001533 | 14.93883 | 0.0000 |
T | 0.000639 | 0.001132 | 0.564040 | 0.5776 |
T2 | 0.000184 | 0.000214 | 0.857561 | 0.3990 |
T3 | -1.40E-05 | 1.06E-05 | -1.318264 | 0.1989 |
R-squared | 0.521804 | Mean dependent var | 0.026470 | |
Adjusted R-squared | 0.466628 | S.D. dependent var | 0.004183 | |
S.E. of regression | 0.003055 | Akaike info criterion | -8.620357 | |
Sum squared resid | 0.000243 | Schwarz criterion | -8.433531 | |
Log likelihood | 133.3054 | F-statistic | 9.457020 | |
Durbin-Watson stat | 2.343303 | Prob(F-statistic) | 0.000213 | |
图5.8 立方多项式样条回归模型的拟合结果
方式二:程序与命令操作方式
由于该案例用到的是已经剥离出来的零息票债券收益率,在程序命令上没有复杂的循环与条件语句程序,因此,可以直接将这些命令输入到Eviews的命令输入框或者是程序输入框中,它们之间不同点仅仅在于命令输入方式必须是单步程序输入与执行的操作,而程序输入方式是将所有的程序一并输入,并且同时执行,一步到位的输出程序结果的操作方式。因此,操作者可以选择任意的方式执行,由于在第一节内容中已经介绍程序输入方式,所以实验操作者可以模仿第一节的内容完成所有的程序输入与执行。以下内容是所要输入的程序语句内容:
workfile yield_curve u 1 30 (定义非时序工作文件yield_curve)
read(t=xls,s=sheet3) d:\我的文档\桌面\ts.xls 3 (从桌面导入Excel格式文件)
genr weight=1/du (生成最小二乘法的权重序列)
genr t=term (生成到期时间序列t)
genr t2=term^2 (生成序列t2)
genr t3=term^3 (生成序列t3)
equation yield_curve_eq.ls yld c t t2 t3 (用最小二乘法对yld c t t1 t2 t3 进行回归估计,产生的回归方程为:yield_curve_eq)
yield_curve_eq.fit yield (用已经估计出来的模型估计拟合值yield)
yield_curve_eq.results (输出立方多项式样条回归模型的结果)
yield_curve_eq.graph (输出该模型的Actual Fitted Residual序列图)
group yield_curve term yield yld (将序列term yield yld合成一个组yield_curve)
yield_curve.XYline (将组yield_curve的XY线形图显示出来,就是所要求的收益率曲线)
将上述程序内容保存为yield_curve.pro程序,并按Run执行程序,程序执行的结果如图5.9所示。这样我们就可以得到零息票债券的收益率曲线,亦即利率期限结构图5.10。
图5.9
图5.10
5.3多项式样条估计结果
从上面对国债利率期限结构的估计结果来看(如图5.9,图5.10和表5.2) ,我们可以得出以下结论:
1、债券期限结构是随到期期限增加而上升的
一般地,到期期限越长,投资者对回报率的补偿就越高,长期国债即期利率要高于短期国债,但本例中最长期限的国债利率似乎有下降的趋势。对于上升型的收益率曲线,预期理论认为这是投资者预期未来即期利率上升所导致的,市场分割理论则认为长期债券流动性较之短期债券流动性差,自然要获得更高的流动性溢价。但是,当金融市场长短期资金供给出现巨大变化时,收益率曲线可能发生变化,甚至有可能出现下降型的收益率曲线。比如,当金融市场危机发生时,短期流动性资金的供给紧张,这时候短期国债收益率可能大幅攀升,并超过长期国债收益率;又如,如果保险公司以及社保基金不能大量投入股市,当保费大量增加之后,会导致大量的资金购买长期国债,这可能使得长期国债收益率大幅下降,从而使得收益率曲线呈现出先上升后缓慢下降的形态。
2.中长期和短期国债即期利率差值较小
从图14来看,短期债券(0~3年左右)以及长期债券(8-12 年)的即期利率曲线上升势头缓慢,即期利率相差不大。这可能反映出,对于短期和长期而言,市场预期资金相对宽松,收益率曲线的斜率相对较低。
3.对于中短期债券收益率曲线多项式样条函数估计结果相对来说比较准确
从图12与图14可以看出,该债券市场对于大多数债券(中期)来说,其到期收益率应该稳定在3%左右。对于中短期的收益率曲线,立方多项式样条回归模型估计较为准确,但对于长期利率来说,估计准确度在下降,这可能是由于市场对与长期的利率走势存在分歧,也可能是由于长期债券相比与短期债券更缺乏流动性造成的。
对于静态的利率期限结构模型还有其他的估计方法,比较典型的有NS、NSS方法。有兴趣的读者可以查阅相关文献,进行研究,在此,不再讨论。
发表回复