主要内容

债券的价格和收益率曲线平行转变

这个示例使用金融工具箱™债券定价函数来评价期限和收益率变化的影响在债券投资组合的价格。同时,这个例子展示了如何想象一个投资组合的价格行为债券收益率曲线的各种场景,并随着时间的推移走向成熟。

指定的值结算日期、到期日、面值、票面利率、息票支付周期性的四项债券投资组合。为简单起见,接受默认值为月底付款规则(规则实际上)和日计数(实际/实际)。同时,同步支付结构到期日(没有奇怪的姓或票面日期)。任何输入的默认接受将空矩阵([]在适当的地方)作为占位符。同时,指定为每个债券收益率曲线上的点。

解决= datetime (1995、1、15);成熟= datetime ([2020 4 3;2025、5、14;2019年,6,9;2019年,2,25)
成熟=4 x1 datetime03 - 4月- 2020年14 - 5月- 2025年09 - 2019年6月- 2019年2月25 - -
幼圆[1000;1000;1000;1000);CouponRate = [0;0.05;0;0.055);时间= [0;2; 0; 2]; Yields = [0.078; 0.09; 0.075; 0.085];

使用金融工具箱函数计算真正的债券价格报价之和加上应计利息。

[CleanPrice, AccruedInterest] = bndprice(产量,CouponRate、结算、成熟,时间,[],[]、[][],[],[],脸);价格= CleanPrice + AccruedInterest
价格=4×1145.2452 594.7757 165.8949 715.7584

假设每个键的值是25000美元,并确定每一个债券投资组合价值的数量是100000美元。

BondAmounts = 25000。/价格;

计算投资组合的价格为一系列滚动结算日期范围的收益率。评估日期发生每年1月15日- 1月15日开始1995(结算)和扩展到15 - 1月- 2018。因此,这一步评估投资组合的价格在一个网格的时间进程(dT)和利率(dY)。

dy = -0.05:0.005:0.05;%的产量变化D = datevec(解决);%得到日期组件dt = datetime((解决):2018年,月(解决),天(解决));%得到评估日期[dT, dY] = meshgrid (dT, dY);%创建网格NumTimes =长度(dt);%的时间步数NumYields =长度(dy);%的产量变化NumBonds =长度(成熟);%的债券% Preallocate向量价格= 0 (NumTimes * NumYields NumBonds);

现在创建了网格和价格向量,计算每个债券的价格在网格一个债券投资组合。

i = 1: NumBonds [CleanPrice AccruedInterest] = bndprice(收益率(我)+dY (:), CouponRate(我),dT(:),成熟度(i)、时间(我),[],[]、[][],[],[],脸(我));价格(:,i) = CleanPrice + AccruedInterest;结束

债券的债券价格的数量规模和重塑债券价值符合底层评估网格。

价格= * BondAmounts;价格=重塑(价格、NumYields NumTimes);

情节的价格组合作为结算日期的函数和一系列的收益率,和产量的变化的函数(dY)。这个情节说明了投资组合的利率敏感性随着时间的推移(dT),在一系列的利率情况。用下面的图形命令,你可以想象三维表面相对于当前的投资组合价值(即100000美元)。

%打开一个新的图窗口冲浪(dt, dy,价格)%画出表面持有%添加当前值供参考basemesh =网(dt, dy, 100000 * (NumYields NumTimes));集(basemesh,“facecolor”,“没有”);集(basemesh,“edgecolor”,“米”);集(gca),“盒子”,“上”);xlim (datetime((1993、2020), 1,1))包含(“评估日期”);ylabel (变化产生的);zlabel (的投资组合的价格);持有视图(-25年,25);

图包含一个坐标轴对象。坐标轴对象包含2表面类型的对象。

MATLAB®允许您可视化绘制三维图形的债券组合的利率风险有经验。这个例子假定平行期限结构的变化,但它可能同样允许其他组件不同,如水平和斜率。

另请参阅

||||||||||

相关的话题