布莱克-卡拉辛斯基利率树的浮动利率票据
使用Black-Karasinski利率树为20个基点的浮动利率票据定价。
加载文件deriv.mat
,它提供了BKTree
.的BKTree
结构包含为票据定价所需的时间和利率信息。
负载deriv.mat;
使用必需的参数定义浮动汇率票据。其他参数使用默认值。
传播= 20;解决=' 01 - 1月- 2005;成熟=' 01 - 1月- 2006;
使用floatbybk
来计算钞票的价格。
价格= floatbybk(BKTree,价差,结算,到期)
警告:浮动范围票据在树估值日期而不是结算。
价格= 100.3825
为摊销浮动利率票据定价主要
定义摊销时间表的输入参数。
创建RateSpec
.
率= (0.03583;0.042147;0.047345;0.052707;0.054302);ValuationDate =“15 - 11月- 2011”;startdate可以= ValuationDate;EndDates = {“15 - 11月- 2012”;“15 - 11月- 2013”;“15 - 11月- 2014”;“15 - 11月- 2015”;“15 - 11月- 2016”};复合= 1;RateSpec = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =结构体字段:FinObj: 'RateSpec' compound: 1 Disc: [5x1 double] Rates: [5x1 double] EndTimes: [5x1 double] StartTimes: [5x1 double] EndDates: [5x1 double] StartDates: 734822 ValuationDate: 734822 Basis: 0 EndMonthRule: 1
使用以下数据创建浮动汇率工具:
解决=“15 - 11月- 2011”;成熟=“15 - 11月- 2015”;传播= 15;
定义浮动利率票据摊销时间表。
校长= {{“15 - 11月- 2012”100;“15 - 11月- 2013”70;“15 - 11月- 2014”40;“15 - 11月- 2015”10}};
构建BK树并假设波动性为10%。
VolDates = [“15 - 11月- 2012”;“15 - 11月- 2013”;“15 - 11月- 2014”;“15 - 11月- 2015”;“15 - 11月- 2016”;“15 - 11月- 2017”];VolCurve = 0.1;AlphaDates =“15 - 11月- 2017”;AlphaCurve = 0.1;BKVolSpec = BKVolSpec (RateSpec。ValuationDate,VolDates, VolCurve,...AlphaDates AlphaCurve);BKTimeSpec = BKTimeSpec (RateSpec。ValuationDate,VolDates, Compounding); BKT = bktree(BKVolSpec, RateSpec, BKTimeSpec);
计算摊销浮动利率票据的价格。
价格= floatbybk(BKT,差价,结算,到期,“校长”校长)
价格= 100.3059
用浮动利率票据为项圈定价癸酸盐
和FloorRate
输入参数来定义领子定价。
使用下列数据为浮动汇率制票据组合定价:
率= (0.0287;0.03024;0.03345;0.03861;0.04033);ValuationDate =的1 - 4月- 2012;startdate可以= ValuationDate;EndDates = {的1 - 4月- 2013;的1 - 4月- 2014;的1 - 4月- 2015;...的1 - 4月- 2016;的1 - 4月- 2017};复合= 1;
创建RateSpec
.
RateSpec = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”、复合);
构建BK树,并假定波动性为5%。
VolDates = [的1 - 4月- 2013;的1 - 4月- 2014;的1 - 4月- 2015;的1 - 4月- 2016;...的1 - 4月- 2017;的1 - 4月- 2018];VolCurve = 0.05;AlphaDates =“15 - 11月- 2018”;AlphaCurve = 0.1;BKVolSpec = BKVolSpec (RateSpec。ValuationDate,VolDates, VolCurve,...AlphaDates AlphaCurve);BKTimeSpec = BKTimeSpec (RateSpec。ValuationDate,VolDates, Compounding); BKT = bktree(BKVolSpec, RateSpec, BKTimeSpec);
创建浮动利率票据工具。
解决=的1 - 4月- 2012;成熟=的1 - 4月- 2016;传播= (15;10);校长= 100;
计算两个香草浮动的价格。
价格= floatbybk(BKT,价差,结算,到期)
价格=2×1100.5519 - 100.3680
计算浮动利率债券的价格。
CapStrike = {{的1 - 4月- 20130.045;的1 - 4月- 20140.05;...的1 - 4月- 20150.06};0.06};FloorStrike = {{的1 - 4月- 20130.035;的1 - 4月- 20140.04;...的1 - 4月- 20150.05};0.03};价差,结算,到期,...“癸酸盐CapStrike,“FloorRate”FloorStrike)
PriceCollared =2×1102.8537 - 100.4918
当使用floatbybk
要为浮动利率票据定价,在BK树时间规格中指定的日期与现金流日期不一致的情况下。
浮动汇率票据的价格使用以下数据:
ValuationDate =的13 - 9月- 2013;ForwardRatesVector = [0.0001;0.0001;0.0010;0.0015);EndDatesVector = [的13 - 12月- 2013;的14 - 3月- 2014;截止2014年6月13的;的13 - 9月- 2014];
创建RateSpec
.
RateSpec = intenvset (“ValuationDate”ValuationDate,startdate可以的,...ValuationDate,“EndDates”EndDatesVector,“利率”ForwardRatesVector,“复合”1);
构建BK树。
Volcurve = 0.1;α= 0.01;BKVolatilitySpec = bkvolspec (RateSpec。ValuationDate,...EndDatesVector Volcurve,...EndDatesVectorα);BKTimeSpec = BKTimeSpec (RateSpec。ValuationDate,EndDatesVector, 1); BKT = bktree(BKVolatilitySpec, RateSpec, BKTimeSpec);
使用以下数据创建浮动利率票据工具;
传播= 0;成熟=截止2014年6月13的;重置= 4;
计算浮动利率票据的价格。
价格= floatbybk(BKT,价差,费率)ValuationDate,...成熟,“FloatReset”重置)
警告:不是所有的现金流都与树一致。结果将近似。使用floatengbytrintree错误(第319行)工具'1 '具有跨越树节点的现金流日期。错误在floatbybk(第136行)[Price, PriceTree, CFTree] = floatengbytrintree(BKTree, Spread, Settle, Maturity, OArgs{:})
这个错误表明,如果无法计算所需的适用率(由于树节点的重组而丢失了信息),则不可能确定用于计算重置日期的收益的适用率。注意,如果FRN的重置周期跨越多个树级别,则由于树的重新组合性质,计算支付将变得不可能。也就是说,连接两个连续重置日期的树路径无法唯一确定,因为连接两个支付日期的可能路径不止一条。最简单的解决方案是将树级别放置在工具的现金流日期,这是通过指定来完成的BKTimeSpec
.树级别之间有重置日期也是可以接受的,只要树级别上有重置日期。
为了从这个错误中恢复,构建一个与仪器对齐的树。
基础= intenvget (RateSpec,“基础”);加工= intenvget (RateSpec,“EndMonthRule”);resetDates = cfdates(ValuationDate, Maturity,reset,Basis,EOM);BKTimeSpec = BKTimeSpec (RateSpec.ValuationDate resetDates,重置);BKT = bktree(BKVolatilitySpec, RateSpec, BKTimeSpec);价格= floatbybk(BKT,价差,费率)ValuationDate,...成熟,“FloatReset”重置)
价格= 100.0004
BKTree
- - - - - -利率结构利率树结构,由bktree
数据类型:结构体
传播
- - - - - -高于参考利率的基点数高于参考利率的基点数,指定为NINST
——- - - - - -1
向量。
数据类型:双
解决
- - - - - -结算日期结算日期,指定为标量或NINST
——- - - - - -1
序列日期号或日期字符向量的向量。
的解决
每个浮动利率票据的日期都被设定为ValuationDate
BK树的。浮动利率票据参数解决
将被忽略。
数据类型:字符
|双
成熟
- - - - - -到期日到期日,指定为NINST
——- - - - - -1
表示每个浮动利率票据到期日的连续日期数字或日期字符向量。
数据类型:字符
|双
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
(价格、PriceTree) = floatbybk (BKTree,扩散,解决,成熟,“基础”,3)
FloatReset
- - - - - -每年支付的频率1
(默认)|向量每年支付的频率,指定为逗号分隔的对,由“FloatReset”
和一个NINST
——- - - - - -1
向量。
请注意
浮动利率票据(frn)的支付由重置日期之间的有效利率决定。如果FRN的重置周期跨越一个以上的树级别,则由于树的重组性质,无法计算支付。也就是说,连接两个连续重置日期的树路径无法唯一确定,因为连接两个支付日期的可能路径不止一条。
数据类型:双
基础
- - - - - -天计算基础0
(实际/实际)(默认)|整数的0
来13
日计数基数表示每年化输入转发率树时使用的基数,指定为逗号分隔对,由“基础”
和一个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 = actual/actual (ICMA)
9 = actual/360 (ICMA)
10 =实际/365 (ICMA)
11 = 30/360e (icma)
12 =实际/365 (ISDA)
13 =总线/ 252
有关更多信息,请参见基础.
数据类型:双
主要
- - - - - -名义本金金额或本金价值表One hundred.
(默认)|向量或单元格数组指定为由逗号分隔的对组成的名义本金数量“校长”
向量或单元格数组。
主要
接受一个NINST
——- - - - - -1
向量或NINST
——- - - - - -1
单元格数组,其中单元格数组的每个元素都是NumDates
——- - - - - -2
单元格数组,第一列是日期,第二列是其关联的名义主值。日期表示主值有效的最后一天。
数据类型:细胞
|双
选项
- - - - - -衍生品定价期权结构衍生品定价期权结构,由指定为逗号分隔对组成“选项”
以及一个使用derivset
.
数据类型:结构体
EndMonthRule
- - - - - -月末规则标志,用于生成日期成熟
月的月末日期有30天或更少的日期吗1
(效果)(默认)|非负整数[0, 1]
月末规则标志,用于生成日期成熟
一个月有30天或更少的月末日期,指定为逗号分隔的对,由“EndMonthRule”
和一个非负整数[0
,1
)使用NINST
——- - - - - -1
向量。
0
=忽略规则,意思是付款日期总是相同的数字日。
1
=设置规则,这意味着付款日期总是当月的最后一天。
数据类型:逻辑
AdjustCashFlowsBasis
- - - - - -标志以调整现金流量根据实际期间日计数假
(默认)|的价值0
(虚假的)或1
(真正的)标记以根据实际期间日计数调整现金流量,指定为逗号分隔的对,由“AdjustCashFlowsBasis”
和一个NINST
——- - - - - -1
值为的逻辑向量0
(虚假的)或1
(真正的)。
数据类型:逻辑
假期
- - - - - -用于计算营业日的节假日holidays.m
(默认)|MATLAB®日期数字用于计算工作日的假日,指定为逗号分隔的对,由“假期”
和MATLAB日期数字使用NHolidays
——- - - - - -1
向量。
数据类型:双
BusinessDayConvention
- - - - - -工作日约定实际
(默认)|特征向量|字符向量的单元格数组工作日约定,指定为逗号分隔的对,由“BusinessDayConvention”
还有一个字符向量aN
——- - - - - -1
工作日约定字符向量的单元数组。工作日惯例的选择决定了如何对待非工作日。非工作日是指周末和其他不营业的日子(如法定节假日)。值:
实际
-非工作日被忽略了。在非营业日的现金流量被假定在实际日进行分配。
遵循
-现金流在一个非营业日被假定在下一个营业日分配。
modifiedfollow
-现金流在一个非营业日被假定在下一个营业日分配。但是,如果下一个营业日在不同的月份,则以上一个营业日为准。
以前的
-现金流在一个非营业日被假定在前一个营业日被分配。
modifiedprevious
-现金流在一个非营业日被假定在前一个营业日被分配。但如前一个营业日在不同的月份,则以下一个营业日为准。
数据类型:字符
|细胞
癸酸盐
- - - - - -年盖率年上限速率,指定为逗号分隔对,由“癸酸盐
和一个NINST
——- - - - - -1
十进年利率或NINST
——- - - - - -1
单元格数组,其中每个元素是NumDates
——- - - - - -2
单元格数组,单元格数组的第一列是日期,第二列是相关的上限率。日期表示上限利率有效的最后一天。
数据类型:双
|细胞
FloorRate
- - - - - -地板年率年最低汇率,指定为逗号分隔对,由“FloorRate”
和一个NINST
——- - - - - -1
十进年利率或NINST
——- - - - - -1
单元格数组,其中每个元素是NumDates
——- - - - - -2
单元格数组,单元格数组的第一列是日期,第二列是相关的最低费率。日期表示最低汇率有效的最后一天。
数据类型:双
|细胞
价格
- 0时刻浮动利率票据的预期价格在时间0时的预期浮动利率票据价格,作为a返回NINST
——- - - - - -1
向量。
PriceTree
-仪器价格树状结构仪器价格的树状结构,返回为MATLAB树状结构,其中包含仪器价格和应计利息的向量,以及每个节点的观测时间向量。在PriceTree
:
PriceTree。PTree
包含清洁价格。
PriceTree。AITree
包含应计利息。
PriceTree.tObs
包含观测时间。
PriceTree。连接
包含连通性向量。单元格数组中的每个元素描述了这一层的节点如何连接到下一层。对于给定的树级别,有NumNodes
元素,它们包含中间分支连接到的下一层节点的索引。该值减去1表示上行分支连接到的位置,加上1表示下行分支连接到的位置。
PriceTree。聚合氯化铝
包含概率数组。单元格数组的每个元素都包含关卡中每个节点的向上、中间和向下转移概率。
一个浮动利率注意是一种类似于债券的证券,但票据的利率相对于一个参考指数利率定期重置,以反映市场利率的波动。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。