主要内容

prbyzero

债券投资组合的价格设置为零的曲线

描述

例子

= prbyzero (债券,解决,ZeroRates,ZeroDates)计算债券价格在投资组合中使用一组曲线为零。

例子

= prbyzero (___,复合)添加一个可选的理由复合

例子

全部折叠

下面的例子使用了函数zbtprice曲线来计算一个零息债券的投资组合和他们的价格。然后逆转这一过程中,使用函数的零点曲线作为输入prbyzero计算价格。

债券= [datenum (“6/1/1998”)0.0475 100 2 0 0;datenum (“7/1/2000”)0.06 100 2 0 0;datenum (“7/1/2000”)0.09375 100 6 1 0;datenum (“6/30/2001”)0.05125 100 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 0 0;datenum (“11/15/1999”)0.07125 100 2 0 0;datenum (“6/30/2000”)0.07 100 2 3 1;datenum (“7/1/2001”)0.0525 100 2 3 0;datenum (“4/30/2002”)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它返回零线的到期日期。

[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

对= 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 (“6/1/1998”)0.0475 100 2 0 0;datenum (“7/1/2000”)0.06 100 2 0 0;datenum (“7/1/2000”)0.09375 100 6 1 0;datenum (“6/30/2001”)0.05125 100 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 0 0;datenum (“11/15/1999”)0.07125 100 2 0 0;datenum (“6/30/2000”)0.07 100 2 3 1;datenum (“7/1/2001”)0.0525 100 2 3 0;datenum (“4/30/2002”)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);日期= datetime(债券(:1),“ConvertFrom”,“datenum”,“场所”,“en_US”);data =债券(:,2:结束);t =[表(日期)array2table(数据)];对= prbyzero (t, datetime(结算,“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-column表或指定NumBonds——- - - - - -6矩阵的债券信息表列或矩阵列包含:

  • 成熟(必需)到期日的债券作为一个串行日期号码。使用datenum将日期特征向量转换成串行数字日期。如果输入债券一个表,成熟日期可以是一个datetime数组,字符串数组,或日期特征向量。

  • CouponRate(必需)十进制数字来确定使用的年利率优惠券应付债券。

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

  • (可选)每年优惠券的债券。允许的值是0,1,2(默认),3,4,6,12

  • 基础(可选)日计数债券的基础。一个向量的整数。

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

    • 1 = 30/360 (SIA)

    • 2 =实际/ 360

    • 3 =实际/ 365

    • 4 = 30/360 (BMA)

    • 5 = 30/360 (ISDA)

    • 6 = 30/360(欧洲)

    • 7 =实际/ 365(日本)

    • 8 =实际/实际(国际)

    • 9 =实际/ 360(国际)

    • 10 =实际/ 365(国际)

    • 11 = 30/360E(国际)

    • 12 =实际/ 365 (ISDA)

    • 13 =总线/ 252

    • 有关更多信息,请参见基础

  • EndMonthRule(可选)月底规则。这条规则只适用于当成熟是一个月底日期一个月有30或更少的天。0=无视规则,也就是说,债券的息票付款日期总是相同的数值的一天。1=设置规则(默认),也就是说,债券的息票付款日期总是最后实际日

:

请注意

  • 如果债券一个表,表列有相同的意思同使用一个矩阵时,但成熟日期可以是一个datetime数组,字符串数组,或日期特征向量。

  • 如果债券是一个矩阵,它是一个吗NUMBONDS——- - - - - -6矩阵的每一行描述一个债券的债券。前两列是必需的;剩下的列是可选的,但必须添加。在所有行债券必须有相同数量的列。的列成熟,CouponRate,的脸,,基础,EndMonthRule

数据类型:|字符|字符串|datetime|

结算日期,指定为一个标量datetime,字符串,或日期特征向量。

支持现金宝app有的代码,prbyzero还接受连续日期数据作为输入,但不推荐。

数据类型:datetime|字符串|字符

注意到零利率,指定为NUMDATES——- - - - - -NUMCURVES矩阵的十进制分数。每一列代表一个速率曲线。每一行代表一个观察日期。

数据类型:

观察到的日期ZeroRates指定为一个NUMDATES——- - - - - -1使用一个datetime列向量数组,字符串数组,或日期特征向量。

支持现金宝app有的代码,prbyzero还接受连续日期数据作为输入,但不推荐。

数据类型:datetime|字符串|字符

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

  • 1—每年复利

  • 2半年一次的复合(默认)

  • 3——复合每年三次

  • 4-季度复合

  • 6——每月两次的复合

  • 12——每月复利

数据类型:

输出参数

全部折叠

干净的债券价格,作为一个返回NUMBONDS——- - - - - -NUMCURVES矩阵。来自每一列对应的零线ZeroRates

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

版本历史

之前介绍过的R2006a

全部展开