主要内容

floatbyhw

来自赫尔-怀特利率树的浮动利率票据

描述

例子

价格PriceTree= floatbyhw(HWTree传播解决成熟根据赫尔-怀特利率树为浮动利率票据定价。

floatbyhw计算普通浮动利率票据、摊销浮动利率票据、上限浮动利率票据、下限浮动利率票据和套期浮动利率票据的价格。

请注意

或者,您可以使用FloatBond反对为浮动利率债券工具定价。有关更多信息,请参见开始使用基于对象的金融工具定价框架的工作流程

例子

价格PriceTree= floatbyhw(___名称,值添加额外的名称-值对参数。

例子

全部折叠

使用赫尔-怀特利率树为20个基点的浮动利率票据定价。

加载文件deriv.mat,提供HWTree.的HWTree结构包含为票据定价所需的时间和利率信息。

负载deriv.mat

使用必需的参数定义浮动利率票据。其他参数使用默认值。

Spread = 20;set = datetime(2004,1,1);成熟度= datetime(2007,1,1);

使用floatbyhw计算票据的价格。

价格= floatbyhw(HWTree,价差,结算,成熟度)
价格= 100.5618

为摊销浮动利率票据定价主要输入参数来定义摊销计划。

创建RateSpec

比率= [0.03583;0.042147;0.047345;0.052707;0.054302);ValuationDate = datetime(2011,11,15);StartDates = ValuationDate;EndDates = [datetime(2012,11,15);datetime(2013、11、15);datetime(2014、11、15); datetime(2015,11,15) ; datetime(2016,11,15)]; Compounding = 1; RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:1光盘:[5x1 double]利率:[5x1 double]结束时间:[5x1 double]开始时间:[5x1 double]结束日期:[5x1 double]开始日期:734822估值日期:734822基础:0 EndMonthRule: 1

使用以下数据创建浮动利率工具:

Settle = datetime(2011,11,15);成熟度= datetime(2015,11,15);Spread = 15;

定义浮动利率票据摊销计划。

Principal ={{datetime(2012,11,15) 100;datetime(2013,11,15) 70;datetime(2014,11,15) 40;

构建HW树,并假设波动率为10%。

VolDates = [datetime(2012,11,15);datetime(2013、11、15);datetime(2014、11、15);datetime(2015、11、15);datetime(2016、11、15);datetime(2017、11、15)];VolCurve = 0.1;AlphaDates = datetime(2017,11,15);阿尔法曲线= 0.1;HWVolSpec = HWVolSpec(速率规格。ValuationDate, VolDates, VolCurve,...AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RateSpec。ValuationDate,VolDates, Compounding); HWT = hwtree(HWVolSpec, RateSpec, HWTimeSpec);

计算摊销浮动利率票据的价格。

价格= floatbyhw(HWT,价差,结算,到期,“校长”校长)
价格= 100.3059

为带有浮动利率票据的项圈定价癸酸盐而且FloorRate输入参数来定义项圈定价。

使用以下数据为两种套领浮动利率票据定价:

比率= [0.0287;0.03024;0.03345;0.03861;0.04033);ValuationDate = datetime(2012,4,1);StartDates = ValuationDate;EndDates = [datetime(2013,4,1);datetime (2014 4 1);datetime (2015 4 1); datetime(2016,4,1) ; datetime(2017,4,1)]; Compounding = 1;

创建RateSpec

RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”、复合);

构建HW树,并假设波动率为5%。

VolDates = [datetime(2013,4,1);datetime (2014 4 1);datetime (2015 4 1);datetime (2016 4 1);datetime (2017 4 1);datetime (2018 4 1)];VolCurve = 0.05;AlphaDates = datetime(2018,11,15);阿尔法曲线= 0.1;HWVolSpec = HWVolSpec(速率规格。ValuationDate, VolDates, VolCurve,...AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RateSpec。ValuationDate,VolDates, Compounding); HWT = hwtree(HWVolSpec, RateSpec, HWTimeSpec);

创建浮动利率票据工具。

set = datetime(2012,4,1);成熟度= datetime(2016,4,1);Spread = 10;本金= 100;

计算一个香草漂浮器的价格。

价格= floatbyhw(HWT,价差,结算,到期)
价格= 100.3680

计算有套期浮动利率票据的价格。

CapStrike = {{datetime(2014,4,1) 0.045;datetime(2015,4,1) 0.05;...datetime (2016 4 1) 0.06};0.06};FloorStrike = {{datetime(2014,4,1) 0.035;datetime(2015,4,1) 0.04;...datetime (2016 4 1) 0.05};0.03};PriceCollared = floatbyhw(HWT,价差,结算,成熟度,...“癸酸盐CapStrike,“FloorRate”FloorStrike)
PriceCollared =2×1102.0458 - 100.9299

当使用floatbyhw浮动利率票据的定价,在HW树中指定日期的情况下TimeSpec与现金流日期不一致。

使用以下数据为浮动利率票据定价:

ValuationDate = datetime(2013,9,1);费率= [0.0001;0.0001;0.0010;0.0015);EndDates = [datetime(2013,12,1);datetime(2014,3,1);datetime(2014,6,1);datetime(2014,9,1)];

创建RateSpec

RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的...ValuationDate,“EndDates”EndDates,“利率”率,“复合”1);

构建HW树。

Volcurve = 0.1;Alpha = 0.01;hw挥发物规格= hwvolspec(RateSpec. com)ValuationDate,...EndDates Volcurve,...EndDatesα);HWTimeSpec = HWTimeSpec (RateSpec。评估日期,结束日期,1);HWT = hwtree(HWVolatilitySpec, RateSpec, HWTimeSpec);

使用以下数据计算浮动利率票据的价格。

Spread = 10;Settle = datetime(2013,9,1);成熟度= datetime(2014,6,1);重置= 2;价格= floatbyhw(HWT,价差,结算,到期,“FloatReset”重置)
使用floatengbytrintree错误(第318行)工具“1”的现金流日期跨越树节点。floatbyhw(第136行)错误[Price, PriceTree, CFTree] = floatengbytrintree(HWTree, Spread, Settle, Maturity, OArgs{:});

这个错误表明,不可能确定用于计算重置日期的收益的适用利率,因为无法计算所需的适用利率(由于树节点的重组而丢失了信息)。请注意,如果FRN的重置周期跨越了一个以上的树级别,由于树的重组性质,计算支付将变得不可能。也就是说,连接两个连续重置日期的树路径不能唯一确定,因为连接两个付款日期的可能路径不止一条。最简单的解决方案是将树级别放在工具的现金流日期,这是通过指定HWTimeSpec.在树级别之间设置重置日期也是可以接受的,只要树级别上存在重置日期。

要从这个错误中恢复,可以构建一个与仪器对齐的树。

基准= intenvget(RateSpec,“基础”);EOM = intenvget(利率,“EndMonthRule”);resetDates = cfdates(ValuationDate, Maturity, Reset, Basis, EOM);HWTimeSpec = HWTimeSpec (RateSpec。ValuationDate,resetDates, Reset); HWT = hwtree(HWVolatilitySpec, RateSpec, HWTimeSpec); Price = floatbyhw(HWT, Spread, RateSpec.ValuationDate,...成熟,“FloatReset”重置)
价格= 100.0748

输入参数

全部折叠

利率树结构,由hwtree

数据类型:结构体

高于参考利率的基点数,以a表示NINST——- - - - - -1向量。

数据类型:

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

要支持现有代码,floatbyhw也接受序列号作为输入,但不建议使用。

解决每个浮动利率票据的日期设置为ValuationDateHW树的。浮动利率票据参数解决将被忽略。

到期日,指定为NINST——- - - - - -1向量,使用日期时间数组、字符串数组或日期字符向量表示每个浮动利率票据的到期日期。

要支持现有代码,floatbyhw也接受序列号作为输入,但不建议使用。

名称-值参数

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

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

例子:[Price,PriceTree] = floatbyhw(HWTree,价差,结算,成熟度,'基础',3)

每年支付的频率,由逗号分隔的对组成“FloatReset”和一个NINST——- - - - - -1向量。

请注意

浮动利率票据的支付是由重置日期之间的有效利率决定的。如果FRN的重置周期跨越了一个以上的树级别,由于树的重组性质,计算支付将变得不可能。也就是说,连接两个连续重置日期的树路径不能唯一确定,因为连接两个付款日期的可能路径不止一条。

数据类型:

日计数基础表示年化输入正向速率树时使用的基础,指定为由逗号分隔的对组成“基础”和一个NINST——- - - - - -1向量。

  • 0 = actual/实际的

  • 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

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

数据类型:

名义本金,以逗号分隔的一对,由“校长”和一个向量或单元格数组。

主要接受一个NINST——- - - - - -1向量或NINST——- - - - - -1单元格数组,其中单元格数组的每个元素都是aNumDates——- - - - - -2单元格数组,第一列是日期,第二列是其相关的名义主值。日期表示主体值有效的最后一天。

数据类型:细胞|

衍生品期权定价结构,指定为逗号分隔的对组成“选项”一个结构使用derivset

数据类型:结构体

月末规则标志,用于生成日期成熟一个月的月底日期是否只有30天或更少,指定为逗号分隔的对,由“EndMOnthRule”和一个非负整数[01用…NINST——- - - - - -1向量。

  • 0= Ignore规则,这意味着付款日期总是同一个数字日。

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

数据类型:逻辑

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

数据类型:逻辑

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

数据类型:datetime

工作日约定,指定为逗号分隔的对,由“BusinessDayConvention”还有一个字符向量aN——- - - - - -1营业日惯例的字符向量的单元格数组。营业日惯例的选择决定了如何对待非营业日。非营业日定义为周末加上任何其他不营业的日期(如法定假日)。值:

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

  • 遵循—非营业日的现金流假设在下一个营业日进行分配。

  • modifiedfollow—非营业日的现金流假设在下一个营业日进行分配。但是,如果下一个营业日在不同的月份,则采用前一个营业日。

  • 以前的-非营业日的现金流假设在前一个营业日进行分配。

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

数据类型:字符|细胞

年上限利率,指定为逗号分隔的对,由“癸酸盐和一个NINST——- - - - - -1十进制年利率或NINST——- - - - - -1单元格数组,其中每个元素都是aNumDates——- - - - - -2单元格数组,单元格数组的第一列是日期,第二列是相关的上限费率。该日期表示上限费率生效的最后一天。

数据类型:|细胞

年最低利率,指定为逗号分隔的对,由“FloorRate”和一个NINST——- - - - - -1十进制年利率或NINST——- - - - - -1单元格数组,其中每个元素都是aNumDates——- - - - - -2单元格数组,单元格数组的第一列是日期,第二列是相关的最低费率。日期表示最低费率有效的最后一天。

数据类型:|细胞

输出参数

全部折叠

时间0时浮动利率票据的预期价格,返回为aNINST——- - - - - -1向量。

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

  • PriceTree。PTree包含干净的价格。

  • PriceTree。AITree包含应计利息。

  • PriceTree.tObs包含观测次数。

  • PriceTree。连接包含连接向量。单元格数组中的每个元素描述了该层的节点如何连接到下一层。对于给定的树层,有NumNodes元素,它们包含中间分支连接到的下一层节点的索引。从该值减去1表示向上分支连接的位置,加上1表示向下分支连接的位置。

  • PriceTree。聚合氯化铝包含概率数组。单元格数组的每个元素都包含该级别每个节点的向上、中间和向下转换概率。

更多关于

全部折叠

浮动利率注意

一个浮动利率注意是一种类似债券的证券,但票据的利率相对于参考指数利率定期重置,以反映市场利率的波动。

版本历史

R2006a之前介绍

全部展开

Baidu
map