主要内容

bondbybk

来自Black-Karasinski的价格债券利率树

描述

例子

价钱PriceTree]=bondbybk(BKTreeCouponRate定居成熟价格债券从一个黑色的卡拉辛斯基利率树。bondbybk计算普通债券、阶梯息票债券和分期付款债券的价格。

例子

价钱PriceTree]=bondbybk(___名称,值添加额外的名称-值对参数。

例子

全部折叠

使用黑色Karasinski利率树为4%的债券定价。

负载德国,它提供了BKTree这个BKTree结构包含债券定价所需的时间和利率信息。

负载德国

使用所需的参数定义绑定。其他参数使用默认值。

佣金= 0.04;解决=‘01-Jan-2004’; 成熟度=“1 - 1月- 2008”

使用bondbybk来计算债券的价格。

时间= 1;价格= bondbybk(BKTree, CouponRate, Settle, Maturity, Period)
价格= 99.3296

使用市场数据为单步息票债券定价。

定义利率术语结构。

费率=[0.035;0.042147;0.047345;0.052707];估价日期=“2010年1月- 1”;startdates =估值;enddates = {“2011年1月1日”“2012年1月1日”......“2013年1月1日”“2014年1月1日”};复合= 1;

创建ratespec.

rs = intenvset(“ValuationDate”,估值,“开始日期”startdate可以,......“EndDates”,结束日期,“利率”率,“复合”,复配)
rs =结构体字段:FINOBJ:'ratespec'复合:1个光盘:[4x1双]速率:[4x1双]启动时间:[4x1双]终点:[4x1双]起始:734139估值:734139基础:0 endmonthule:1

创建阶梯式键合工具。

解决=‘2010年1月1日’;到期日={'01-jan-2011''01 -JAN-2012''01 -Jan-2013''01 -Jan-2014'};佣金= {{'01 -JAN-2012'.0425;'01 -Jan-2014'.0750}}; 周期=1;

使用以下市场数据构建BK树:

VolDates = ['1-1月 -  2011''1-Jan-2012''2013年1月1日'“1 - 1月- 2014”];VolCurve = 0.01;AlphaDates ='01 -01-2014';AlphaCurve = 0.1;BKVolSpec = BKVolSpec (RS。估价日期,VolDates, VolCurve,......AlphaDates,AlphaCurve);BKTimeSpec=BKTimeSpec(RS.ValuationDate,VolDates,composition);BKT=bktree(BKVolSpec,RS,BKTimeSpec);

计算阶梯式优惠券债券的价格。

PBK=bondbybk(BKT、耦合率、结算、到期日、期限)
PBK=4×1100.7246 100.0945 101.5900 102.0820

使用摊销时间表的债券使用输入参数以定义计划。

定义利率术语结构。

速率= 0.065;估值次数='1-1月 -  2011';startdates =估值;enddates =“1 - 1月- 2017”;复合= 1;

创建ratespec.

RateSpec=intenvset(“ValuationDate”,估值,“开始日期”startdate可以,......“EndDates”,结束日期,“利率”率,“复合”,复配)
RateSpec =结构体字段:FinObj: 'RateSpec' compound: 1 Disc: 0.6853 Rates: 0.0650 EndTimes: 6 StartTimes: 0 EndDates: 736696 StartDates: 734504 ValuationDate: 734504 Basis: 0 EndMonthRule: 1

创建债券工具。该债券票面利率为7%,期限为一年,于2017年1月1日到期。

CouponRate = 0.07;解决='1-1月 -  2011'; 成熟度=“1 - 1月- 2017”;周期=1;面={{“1 - 1月- 2015”100;“1 - 1月- 2016”90;“1 - 1月- 2017”80};

使用以下市场数据构建BK树:

VolDates = ['1-Jan-2012''2013年1月1日'......“1 - 1月- 2014”“1 - 1月- 2015”“1 - 1月- 2016”“1 - 1月- 2017”];VolCurve = 0.01;AlphaDates ='01 -01-2017';AlphaCurve=0.1;BKVolSpec=BKVolSpec(RateSpec.ValuationDate,VolDates,VolCurve,......AlphaDates,AlphaCurve);BKTimeSpec=BKTimeSpec(估价日期、价值日期、复利);BKT=bktree(BKTimeSpec,价值等级,BKTimeSpec);

计算摊销债券的价格。

Price = BondBybk(BKT,惠哥加特,定居,成熟,'时期'期,......“脸”, 脸)
价格= 102.3155.

将结果与普通债券的价格进行比较。

PriceVanilla = bondbybk(BKT,息票率,结算,到期,期限)
价格=102.4205

输入参数

全部折叠

利率树结构,由BKTree.

数据类型:结构体

债券息票率,指定为奈斯特-借-1小数年度率或奈斯特-借-1单元格数组,其中每个元素是努米德-借-2单元格数组努米德-借-2单元格数组是日期,第二列是相关的速率。此日期表示票面利率有效的最后一天。

数据类型:双重的|细胞

结算日期,指定为标量或奈斯特-借-1序列日期编号的向量或日期字符向量。

定居每个债券的日期都设置为估价日期BK树的。债券的论点定居被忽略了。

数据类型:烧焦|双重的

到期日,指定为a奈斯特-借-1表示各债券到期日的序列日期编号向量或日期字符向量。

数据类型:烧焦|双重的

名称-值参数

指定可选的逗号分隔的对名称,值论据。姓名参数名和价值是相应的价值。姓名必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值

例子:[价格,Pricetree] = BondBybk(Bktree,CoupOrate,Sold,成熟,'时期',4,'Face',10000)

每年优惠券,指定为逗号分隔的配对组成'时期'A.奈斯特-借-1向量。价值观时期123.46, 和12.

数据类型:双重的

日计数基础的仪器,指定为逗号分隔对组成“基础”A.奈斯特-借-1向量。

  • 0 =实际/实际

  • 1 = 30/360 (sia)

  • 2=实际值/360

  • 3 =实际/ 365

  • 4=30/360(PSA)

  • 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

有关详细信息,请参阅原因

数据类型:双重的

用于在以下情况下生成日期的月末规则标志:成熟是一个月的月末日期,该月的天数不超过30天,指定为逗号分隔的一对,由'endmonthleule'和一个非负整数[01]使用奈斯特-借-1向量。

  • 0=忽略规则,这意味着付款日期始终是当月的同一数字日。

  • 1=设置规则,这意味着付款日期总是当月的最后一天。

数据类型:逻辑

债券发行日期,指定为逗号分隔对,由'发行日期'A.奈斯特-借-1矢量使用串行非负日期号或日期字符矢量。

数据类型:双重的|烧焦

不规则的第一个优惠券日期,指定为逗号分隔的配对组成“FirstCouponDate”A.奈斯特-借-1矢量使用串行非负日期号或日期字符矢量。

什么时候FirstCouponDateLastCouponDate都是指定的,FirstCouponDate优先确定确定优惠券支付结构。如果您没有指定aFirstCouponDate,现金流支付日期根据其他输入确定。

数据类型:双重的|烧焦

不规则的最后息票日期,指定为逗号分隔对,由“LastCouponDate”A.奈斯特-借-1矢量使用串行非负日期号或日期字符矢量。

在没有指定的FirstCouponDate,一个指定的LastCouponDate决定债券的息票结构。债券的息票结构在年月日截断LastCouponDate,而不管它落在何处,后面只跟债券的到期现金流日期。如果您没有指定LastCouponDate,现金流支付日期根据其他输入确定。

数据类型:双重的|烧焦

转发付款日期(考虑债券现金流的日期),指定为逗号分隔的配对StartDate可以的A.奈斯特-借-1矢量使用串行日期编号或日期字符向量。

如果没有指定起始日期,生效日期为定居日期

数据类型:烧焦|双重的

面值或票面值,指定为逗号分隔的对,由“脸”A.奈斯特-借-1非负表面值的向量或奈斯特-借-1单元格数组的面值或面值时间表。对于后一种情况,单元格数组的每个元素都是努米德-借-2单元格数组,其中第一列是日期,第二列是其关联的面值。日期表示面值有效的最后一天。

数据类型:细胞|双重的

衍生品定价期权,指定为逗号分隔对,由“选项”和创造的结构衍生集

数据类型:结构体

标志以根据实际期间计数调整现金流量,指定为包括的逗号分隔对“AdjustCashFlowsBasis”A.奈斯特-借-1值为的逻辑向量0(虚假)或1(真正的)。

数据类型:逻辑

营业日约定,指定为逗号分隔对组成“BusinessDayConvention”和一个字符向量或N-借-1(或奈斯特-借-2如果BusinessDayConvention对于每条腿的人物阵列的商业日公约的字符向量是不同的。“营业日公约”的选择确定了非工作日如何处理。非工作日被定义为周末加上企业未开放的任何其他日期(例如法定假期)。值是:

  • 实际的- 非工作日有效忽略。假定在实际日期分发非工作日的现金流量。

  • 跟随- 假设落在非工作日的现金流量在以下工作日分发。

  • 修改如下-假设非营业日的现金流在下一个营业日分配。但是,如果下一个营业日在不同的月份,则采用上一个营业日。

  • 以前的- 假设落在非工作日的现金流量分布在以前的工作日。

  • modifiedprevious-假设非营业日的现金流在前一个营业日分配。但是,如果上一个工作日在不同的月份,则采用下一个工作日。

数据类型:烧焦|细胞

用于计算工作日的假日,指定为逗号分隔的对,由“假日”以及使用安霍利迪-借-1向量。

数据类型:双重的

输出参数

全部折叠

预期的债券价格在0时,返回A.奈斯特-借-1向量。

仪器价格的树状结构,返回为MATLAB树状结构,其中包含仪器价格和应计利息的向量,以及每个节点的观测时间向量。在PriceTree

  • pricetree.ptree.包含清洁价格。

  • PriceTree。AITree包含应计的兴趣。

  • pricetree.tobs.包含观测时间。

  • pricetree.connect.包含连接向量。单元数组中的每个元素描述该级别的节点如何连接到下一级别。对于给定的树级别,有NumNodes矢量中的元素,它们包含中间分支连接到的下一个级别的节点索引。从该值中减去1表示Up-Branch连接到的位置,并添加1所示的下降分支连接的位置。

  • pricetree.probs.包含概率数组。单元格数组的每个元素都包含关卡中每个节点的向上、中间和向下转移概率。

更多关于

全部折叠

香草债券

Vanilla优惠券债券是一项证券,代表有义务在指定时间偿还借来的金额,并在此期间进行定期利息支付。

债券的发行人使定期利息支付,直到债券成熟。在成熟时,发行人向债券持有人支付欠款(面值)和最后利息支付的债券。

阶梯息票债券

逐步上升和逐步下降债券是一种债务证券,随时间推移具有预定的息票结构。

使用这些工具,在债券寿命期间的特定时间,息票增加(上升)或减少(下降)。

有摊销表的债券

摊销债券被视为资产,折扣金额在债券的生命中摊销以利息费用。

在R2006A之前介绍