prbyzero

投资组合中的债券价格由一组零曲线决定

描述

= prbyzero (债券解决ZeroRatesZeroDates计算债券价格,使用一组零条曲线的投资组合。

= prbyzero (___复合添加可选参数复合

例子

全部折叠

本例使用功能zbtprice计算给定的息债券,其价格组合零曲线。然后,它相反的过程,使用零曲线作为输入到该函数prbyzero计算价格。

债券= [datenum (“1998年6月1日”) 0.0475 100 2 00;datenum(“2000年7月1日”) 0.06 100 2 00;datenum(“2000年7月1日”) 0.09375 100 6 10;datenum('6/30/2001')0.05125 100 1 3 1;datenum(“4/15/2002”)0.07125 100 4 1 0;datenum(“1/15/2000”)0.065 100 2 0 0;datenum(“9/1/1999”)0.08 100 3 3 0;datenum(“4/30/2001”) 0.05875 100 2 00;datenum(“11/15/1999”) 0.07125 100 2 00;datenum(“2000年6月30日”)0.07 100 2 3 1;datenum(“2001年7月1日”) 0.0525 100 2 3 0;datenum(“2002年4月30日”)0.07 100 2 0 0];价格= [99.375;99.875;105.75;96.875;103.625;101.125;103.125;99.375;101.0; 101.25 ; 96.375; 102.75 ]; Settle = datenum(“12/18/1997”);

设置半年复利的零线,实际/ 365的基础上。

OutputCompounding = 2;

执行函数zbtprice它在到期日返回0曲线。

[ZeroRates,ZeroDates] = zbtprice(债券,价格,沉降,...OutputCompounding)
ZeroRates =11×10.0616 0.0609 0.0658 0.0590 0.0647 0.0655 0.0606 0.0601 0.0642 0.0621⋮
ZeroDates =11×1729907 730364 730439 730500 730667 730668 730971 731032 731033 731321⋮

执行函数prbyzero

BondPrices = prbyzero(债券,沉降,ZeroRates,ZeroDates)
对=12×199.3750 98.7980 106.8270 96.8750 103.6249 101.1250 103.1250 99.3637 101.0000 101.2500⋮

在这个例子中zbtpriceprbyzero不要完全相反。许多债券都有月底的期限(EndMonthRule = 0)。该规则对时间因子计算有潜移默化的影响。如果你把规则设为(EndMonthRule = 1)无处不在债券矩阵,然后prbyzero返回原始价格,除非两个不兼容的价格在同一到期日下跌。

本例使用功能zbtprice计算给定的息债券,其价格组合零曲线。然后,它相反的过程,使用零曲线作为输入到该函数prbyzerodatetime计算价格的输入。

债券= [datenum (“1998年6月1日”) 0.0475 100 2 00;datenum(“2000年7月1日”) 0.06 100 2 00;datenum(“2000年7月1日”) 0.09375 100 6 10;datenum('6/30/2001')0.05125 100 1 3 1;datenum(“4/15/2002”)0.07125 100 4 1 0;datenum(“1/15/2000”)0.065 100 2 0 0;datenum(“9/1/1999”)0.08 100 3 3 0;datenum(“4/30/2001”) 0.05875 100 2 00;datenum(“11/15/1999”) 0.07125 100 2 00;datenum(“2000年6月30日”)0.07 100 2 3 1;datenum(“2001年7月1日”) 0.0525 100 2 3 0;datenum(“2002年4月30日”)0.07 100 2 0 0];价格= [99.375;99.875;105.75;96.875;103.625;101.125;103.125;99.375;101.0; 101.25 ; 96.375; 102.75 ]; Settle = datenum(“12/18/1997”);OutputCompounding = 2;[ZeroRates,ZeroDates] = zbtprice(债券,价格,沉降,OutputCompounding);日期=日期时间(债券(:,1),“ConvertFrom”'datenum'“语言环境”'EN_US');data =债券(:,2:结束);t =[表(日期)array2table(数据)];债券价格= prbyzero(t,日期时间)“ConvertFrom”'datenum'“语言环境”'EN_US'),...ZeroRates datetime (ZeroDates,“ConvertFrom”'datenum'“语言环境”'EN_US'))
对=12×199.3750 98.7980 106.8270 96.8750 103.6249 101.1250 103.1250 99.3637 101.0000 101.2500⋮

输入参数

全部折叠

息债券信息来计算价格,指定为6列的表或NumBonds——- - - - - -6键信息矩阵,其中表列或矩阵列包含:

  • 成熟键合的(必需的)届满日期,日期以一串数字。采用datenum迄今为止特征向量转换成串行日期数字。如果输入债券是一张桌子吗成熟日期可以是串行日期数字,日期字符载体,或日期时间阵列。

  • CouponRate(必填)十进制数,表示用于确定债券应付息票的年利率。

  • 面对(可选的)的面或债券的面值。默认值=One hundred.

  • (可选)债券每年的息票。允许的值是012(默认),346,12

  • 基础(可选的)的结合的天数的基础。整数向量。

    • 0 =实际/实际(默认)

    • 1 = 30/360(SIA)

    • 2 =实际/ 360

    • 3 =实际/ 365

    • 4 = 30/360(BMA)

    • 5 = 30/360(ISDA)

    • 6 = 30/360(欧洲的)

    • 7 =实际/ 365(日本)

    • 8 =实际/实际(ICMA)

    • 9 =实际/360 (ICMA)

    • 10 =实际/ 365(ICMA)

    • 11 = 30/360E (ICMA)

    • 12 =实际/ 365(ISDA)

    • 13 =总线/ 252

    • 欲了解更多信息,请参阅基础

  • EndMonthRule(可选)结束月规则。此规则仅适用于成熟是结束月的日期为具有30个或更少一个月。0=忽略规则,这意味着债券的付息日为始终月份的相同的数字一天。1= set rule on (default),表示债券的息票支付日期总是该月的最后一天

注意

  • 如果债券是一个表,该表的列的含义,当使用矩阵作为相同,但成熟日期可以是串行日期数字,日期字符载体,或日期时间阵列。

  • 如果债券是一个矩阵,它是一个NUMBONDS——- - - - - -6的键矩阵,其中的每一行描述一种键。前两列是必需的;其余列是可选的,但必须按顺序添加。在所有行债券必须具有相同的列数。该列成熟CouponRate面对基础,EndMonthRule

数据类型:|表格

结算日期,指定为序列号、日期字符向量或日期时间数组。

数据类型:|datetime|字符

观察到的零利率,指定为NUMDATES——- - - - - -NUMCURVES矩阵小数的。每一列表示一个速率曲线。每一行代表一个观察日。

数据类型:|datetime|字符

观察日期ZeroRates,指定为NUMDATES——- - - - - -1使用序列日期数字,日期字符向量,或日期时间的阵列的列。

数据类型:|datetime|字符

(可选)输入组合频率ZeroRates年时,使用所允许的值指定的:

  • 1—每年复利

  • 2-半年复利(默认)

  • 3- 每年的复利三次

  • 4- 季度复利

  • 6- 双月刊复合

  • 12——每月复利

数据类型:

输出参数

全部折叠

干净的债券价格,返回为NUMBONDS——- - - - - -NUMCURVES矩阵。每一列都是从对应的零曲线中推导出来的ZeroRates

此外,您还可以使用金融工具工具箱™方法getZeroRatesIRDataCurve对象与一个日期属性创建可接受的日期和数据向量prbyzero。欲了解更多信息,请参阅转换IRDataCurve或IRFunctionCurve对象(金融工具工具箱)。

之前介绍过的R2006a