主要内容

bondbyhjm

Heath-Jarrow-Morton利率树的价格债券

描述

例子

价格PriceTree[m] = =HJMTreeCouponRate解决成熟根据Heath-Jarrow-Morton利率树为债券定价。bondbyhjm计算香草债券,阶梯息票债券和摊销债券的价格。

例子

价格PriceTree[m] = =___名称,值添加额外的名称-值对参数。

例子

全部折叠

使用HJM利率树为4%的债券定价。

负载deriv.mat,提供HJMTree.的HJMTree结构包含债券定价所需的时间和利率信息。

负载deriv.mat

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

CouponRate = 0.04;结算= datetime(2000,1,1);到期日= datetime(2004,1,1);

使用bondbyhjm计算债券的价格。

周期= 1;价格=债券byhjm(hjm树,票面利率,结算,到期日,期限)
价格= 97.3600

利用市场数据为单级息票债券定价。

定义利率期限结构。

rate = [0.035;0.042147;0.047345;0.052707);ValuationDate = datetime(2010,1,1);StartDates = ValuationDate;EndDates = [datetime(2011,1,1);datetime(2012年,1,1);datetime(2013年,1,1);datetime(2014年,1,1)]; Compounding = 1;

创建RateSpec

RS = intervset ()“ValuationDate”ValuationDate,startdate可以的startdate可以,“EndDates”EndDates,“利率”率,“复合”、复合);

创建阶梯式债券工具。

结算= datetime(2010,1,1);到期日= [datetime(2011,1,1);datetime(2012年,1,1);datetime(2013年,1,1);datetime(2014年,1,1)];CouponRate = {{datetime(2012,1,1) .0425;datetime(2014,1,1) .0750}};周期= 1;

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

波动率= [.2];.19;只要;.17];CurveTerm = [1;2;3;4);HJMTimeSpec = HJMTimeSpec (ValuationDate, EndDates);HJMVolSpec = HJMVolSpec =“比例”,波动率,CurveTerm, 6);HJMT = hjmtree(HJMVolSpec,RS,HJMTimeSpec);

计算阶梯式息票债券的价格。

PHJM= bondbyhjm(HJMT,票面利率,结算,到期,期限)
PHJM =4×1100.7246 100.0945 101.5900 102.0820

用摊销时间表为债券定价定义调度的输入参数。

定义利率期限结构。

比率= 0.065;ValuationDate = datetime(2011,1,1);StartDates = ValuationDate;EndDates = datetime(2017、1、1);复利= 1;

创建RateSpec

rate = intervset ()“ValuationDate”ValuationDate,startdate可以的startdate可以,“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =带有字段的结构体:FinObj: 'RateSpec'复合: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日到期。

息票率= 0.07;结算= datetime(2011,1,1);到期日期= datetime(2017,1,1);周期= 1;Face = {{datetime(2015,1,1) 100;datetime(2016,1,1) 90;datetime(2017,1,1) 80}};

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

波动率= [.2];.19;只要;.17];CurveTerm = [1;2;3;4);MaTree = [datetime(2012,1,1);datetime(2013年,1,1); datetime(2014,1,1) ; datetime(2015,1,1);datetime(2016年,1,1);datetime(2017年,1,1)];HJMTimeSpec = HJMTimeSpec (ValuationDate, MaTree);HJMVolSpec = HJMVolSpec =“比例”,波动率,CurveTerm, 6);HJMT = hjmtree(HJMVolSpec,RateSpec,HJMTimeSpec);

计算摊销债券的价格。

价格=债券byhjm(HJMT,票面利率,结算,到期日,“时间”期间,“脸”脸)
价格= 102.3155

将结果与香草债券的价格进行比较。

price = bondbyhjm(HJMT,票面利率,结算,到期日,期限)
价格= 102.4205

输入参数

全部折叠

利率树形结构,由hjmtree

数据类型:结构体

债券票面利率,指定为NINST——- - - - - -1十进制年利率或NINST——- - - - - -1单元格数组,其中每个元素是NumDates——- - - - - -2单元阵列。的第一列NumDates——- - - - - -2单元格数组是日期,第二列是相关的汇率。日期表示票面利率有效的最后一天。

数据类型:|细胞

结算日期,指定为标量或NINST——- - - - - -1使用日期时间数组、字符串数组或日期字符向量的向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

解决每个债券的日期设置为ValuationDateHJM树。债券论点解决将被忽略。

到期日,指定为aNINST——- - - - - -1向量,使用表示每个债券到期日的日期时间数组、字符串数组或日期字符向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

名称-值参数

指定可选的参数对为Name1 = Value1,…,以=家,在那里名字是参数名和吗价值是对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来名字在报价。

例子:[Price,PriceTree] = bondbyhjm(HJMTree,息票率,结算,到期日,'期',4,'面',10000)

每年的优惠券,指定为逗号分隔成对组成“时间”和一个NINST——- - - - - -1向量。值123.46,12

数据类型:

仪器的日计数基础,指定为由逗号分隔的对组成“基础”和一个NINST——- - - - - -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 = bus /252

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

数据类型:

生成日期的月末规则标志成熟一个月有30天或更少的月末日期是否指定为由“EndMonthRule”一个非负整数[01使用aNINST——- - - - - -1向量。

  • 0=忽略规则,意思是付款日期总是一个月中相同的数字天。

  • 1=设置规则,意思是付款日期总是一个月的最后一天。

数据类型:逻辑

债券发行日期,指定为逗号分隔对组成“IssueDate”和一个NINST——- - - - - -1使用日期时间数组、字符串数组或日期字符向量的向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

不规则的第一次券日期,指定为逗号分隔对组成“FirstCouponDate”和一个NINST——- - - - - -1使用日期时间数组、字符串数组或日期字符向量的向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

FirstCouponDateLastCouponDate都是指定的,FirstCouponDate优先决定息票支付结构。如果没有指定FirstCouponDate,现金流量支付日期由其他输入确定。

不规则的最后优惠券日期,指定为由逗号分隔的对组成“LastCouponDate”和一个NINST——- - - - - -1使用日期时间数组、字符串数组或日期字符向量的向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

在没有指定的FirstCouponDate,指定的LastCouponDate确定债券的息票结构。债券的息票结构在LastCouponDate,不管它落在哪里,后面只跟着债券的到期现金流量日期。如果没有指定LastCouponDate,现金流量支付日期由其他输入确定。

远期付款开始日期(考虑债券现金流的日期),用逗号分隔成对组成StartDate可以的和一个NINST——- - - - - -1使用日期时间数组、字符串数组或日期字符向量的向量。

为了支金宝app持现有代码,bondbyhjm也接受序列号日期作为输入,但不推荐使用。

如果不指定StartDate可以,生效开始日期为解决日期。

面或票面值,指定为由逗号分隔的对“脸”和一个NINST——- - - - - -1非负的面值或向量NINST——- - - - - -1面值或面值表的单元格数组。对于后一种情况,单元格数组的每个元素都是aNumDates——- - - - - -2单元格数组,其中第一列是日期,第二列是其关联的表面值。日期表示票面价值有效的最后一天。

数据类型:细胞|

衍生品定价期权,指定为逗号分隔对组成“选项”这个结构是由derivset

数据类型:结构体

根据实际期间日数调整现金流量的标志,指定为由逗号分隔的对“AdjustCashFlowsBasis”和一个NINST——- - - - - -1值为的逻辑向量0(虚假的)或1(真正的)。

数据类型:逻辑

工作日约定,指定为由逗号分隔的对“BusinessDayConvention”一个字符向量或者aN——- - - - - -1(或NINST——- - - - - -2如果BusinessDayConvention是不同的每条腿)单元数组的字符向量的工作日惯例。工作日惯例的选择决定了如何处理非工作日。非工作日的定义是周末加上任何其他不营业的日期(例如法定假日)。值:

  • 实际—有效忽略非工作日。假定非营业日的现金流量在实际日期分配。

  • 遵循-假定非营业日的现金流量在下一个营业日分配。

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

  • 以前的-假定非营业日的现金流量在前一个营业日分配。

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

数据类型:字符|细胞

用于计算工作日的假日,指定为由逗号分隔的对“假期”和MATLAB数据使用aNHolidays——- - - - - -1向量。

数据类型:datetime

输出参数

全部折叠

0时刻的预期债券价格,以a形式返回NINST——- - - - - -1向量。

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

  • PriceTree。PBush包含清洁价格。

  • PriceTree。AIBush包含应计利息。

  • PriceTree.tObs包含观测次数。

更多关于

全部折叠

香草债券

香草票息债券是一种证券,代表在指定时间偿还借款金额并在该时间之前定期支付利息的义务。

债券发行者在债券到期前定期支付利息。到期时,发行人向债券持有人支付所欠的本金(面值)和最后的利息。

阶梯式息票债券

升压和降压债券是一种随着时间的推移具有预定息票结构的债务证券。

有了这些工具,息票在债券存续期的特定时间增加(上升)或减少(下降)。

有摊销时间表的债券

摊销债券被视为资产,贴现金额在债券存续期内摊销为利息费用。

版本历史

R2006a之前引入

全部展开