bondbybk
Black-Karasinski利率树的价格债券
描述
例子
用BK树给债券定价
用布莱克-卡拉辛斯基利率树为4%的债券定价。
负载deriv.mat
,提供BKTree
.的BKTree
结构包含为债券定价所需的时间和利率信息。
负载deriv.mat;
使用所需的参数定义绑定。其他参数使用默认值。
CouponRate = 0.04;Settle = datetime(2004,1,1);成熟度= datetime(2008,1,1);
使用bondbybk
计算债券的价格。
周期= 1;价格= BKTree,息票率,结算,期限,期限
价格= 99.3296
给阶梯息票债券定价
利用市场数据为单级息票债券定价。
定义利率期限结构。
比率= [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)];复利= 1;
创建RateSpec
.
RS = intvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”复合)
RS =带有字段的结构:FinObj: 'RateSpec'复合:1盘:[4x1 double]利率:[4x1 double] EndTimes: [4x1 double] StartTimes: [4x1 double] EndDates: [4x1 double] StartDates: 734139估值日期:734139基础:0 EndMonthRule: 1
创建阶梯式键合工具。
Settle = 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;
使用以下市场数据构建BK树:
VolDates = [datetime(2011,1,1);datetime(2012年,1,1);datetime(2013年,1,1);datetime(2014年,1,1)];VolCurve = 0.01;AlphaDates = datetime(2014,1,1);alpha曲线= 0.1;BKVolSpec = BKVolSpec (RS。ValuationDate,VolDates, VolCurve,...AlphaDates AlphaCurve);BKTimeSpec = BKTimeSpec (RS。ValuationDate,VolDates, Compounding); BKT = bktree(BKVolSpec, RS, BKTimeSpec);
计算阶梯式息票债券的价格。
债券收益率(BKT,息票率,结算,期限,期限)
PBK =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
.
RateSpec = intenvset(“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日到期。
CouponRate = 0.07;Settle = 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}};
用以下市场数据建立BK树:
VolDates = [datetime(2012,1,1);datetime(2013年,1,1);...datetime(2014年,1,1);datetime(2015年,1,1);datetime(2016年,1,1);datetime(2017年,1,1)];VolCurve = 0.01;AlphaDates = datetime(2017,1,1);alpha曲线= 0.1;BKVolSpec = BKVolSpec (RateSpec.)ValuationDate,VolDates, VolCurve,...AlphaDates AlphaCurve);BKTimeSpec = BKTimeSpec (rate。ValuationDate,VolDates, Compounding); BKT = bktree(BKVolSpec, RateSpec, BKTimeSpec);
计算摊还债券的价格。
息票率,结算,到期日“时间”期,...“脸”脸)
价格= 102.3155
将结果与普通债券的价格进行比较。
PriceVanilla = bondbybk(BKT,息票率,结算,到期日)
PriceVanilla = 102.4205
输入参数
BKTree
- - - - - -利率结构
结构
利率树形结构,由bktree
数据类型:结构体
CouponRate
- - - - - -债券票面利率
正十进制值
债券票面利率,指定为NINST
——- - - - - -1
十进制年率或NINST
——- - - - - -1
单元格数组,其中每个元素都是NumDates
——- - - - - -2
单元阵列。的第一列NumDates
——- - - - - -2
单元格数组是日期,第二列是相关的利率。日期表示票面利率有效的最后一天。
数据类型:双
|细胞
解决
- - - - - -结算日期
datetime数组|字符串数组|日期字符向量
结算日期,指定为标量或NINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
的解决
每个债券的日期都是ValuationDate
BK树的。债券的论点解决
将被忽略。
成熟
- - - - - -到期日
datetime数组|字符串数组|日期字符向量
到期日期,指定为NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量表示每个债券的到期日。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字
在报价。
例子:[Price,PriceTree] = bondbybk(BKTree,CouponRate,结算,期限,'期限',4,'面',10000)
期
- - - - - -每年的优惠券
2
每年(默认)|向量
每年的优惠券,以逗号分隔的对所组成“时间”
和一个NINST
——- - - - - -1
向量。值期
是1
,2
,3.
,4
,6
,12
.
数据类型:双
基础
- - - - - -日计数的基础上
0
(实际/实际)(默认)|整数的0
来13
仪器的日计数基,指定为逗号分隔的对,由“基础”
和一个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 = bus /252
有关更多信息,请参见基础.
数据类型:双
EndMonthRule
- - - - - -生成日期的月末规则标志成熟
月末的日期是否只有30天或更少
1
(效果)(默认)|非负整数[0, 1]
生成日期的月末规则标志成熟
一个月的月底日期是否有30天或更少的天,指定为逗号分隔的对,由“EndMonthRule”
和一个非负整数[0
,1
使用aNINST
——- - - - - -1
向量。
0
= Ignore规则,这意味着付款日期总是当月的同一天。1
=设置规则,这意味着支付日期总是每月的最后一天。
数据类型:逻辑
IssueDate
- - - - - -债券发行日期
datetime数组|字符串数组|日期字符向量
债券发行日期,以逗号分隔的对所组成“IssueDate”
和一个NINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
FirstCouponDate
- - - - - -首次券息日期不规则
datetime数组|字符串数组|日期字符向量
不规则的第一次优惠券日期,指定为逗号分隔的对“FirstCouponDate”
和一个NINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
当FirstCouponDate
而且LastCouponDate
都是指定的,FirstCouponDate
优先决定息票支付结构。如果不指定FirstCouponDate
,现金流支付日期由其他投入确定。
LastCouponDate
- - - - - -最后优惠券日期不固定
datetime数组|字符串数组|日期字符向量
不规则的最后优惠券日期,指定为逗号分隔的一对,由“LastCouponDate”
和一个NINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
在没有指定的情况下FirstCouponDate
,指定的LastCouponDate
决定债券的息票结构。债券的息票结构在LastCouponDate
它只跟随债券到期日的现金流日期。如果不指定LastCouponDate
,现金流支付日期由其他投入确定。
StartDate可以
- - - - - -转发开始付款日期
解决
日期(默认)|datetime数组|字符串数组|日期字符向量
转发支付开始日期(债券现金流考虑的日期),指定为逗号分隔的对,由StartDate可以的
和一个NINST
——- - - - - -1
Vector,使用日期时间数组、字符串数组或日期字符向量。
要支持万博1manbetx现有代码,bondbybk
也接受序列号作为输入,但不建议使用。
如果不指定StartDate可以
的生效起始日期为解决
日期。
脸
- - - - - -票面价值
One hundred.
(默认)|非负价值|非负值的单元格数组
面值或面值,指定为逗号分隔的一对,由“脸”
和一个NINST
——- - - - - -1
非负面值的向量NINST
——- - - - - -1
面值或面值表的单元格数组。对于后一种情况,单元格数组的每个元素都是aNumDates
——- - - - - -2
单元格数组,其中第一列是日期,第二列是其相关联的面值。日期表示面值有效的最后一天。
数据类型:细胞
|双
选项
- - - - - -衍生品定价选项
结构
衍生品期权定价,指定为逗号分隔的对组成“选项”
这个结构是用derivset
.
数据类型:结构体
AdjustCashFlowsBasis
- - - - - -标记以根据实际期间日计数调整现金流
假
(默认)|的价值0
(虚假的)或1
(真正的)
标记以根据实际的期间日计数调整现金流,指定为逗号分隔的对,由“AdjustCashFlowsBasis”
和一个NINST
——- - - - - -1
值为的逻辑向量0
(虚假的)或1
(真正的)。
数据类型:逻辑
BusinessDayConvention
- - - - - -工作日约定
实际
(默认)|特征向量|字符向量的单元格数组
工作日约定,指定为逗号分隔的对,由“BusinessDayConvention”
还有一个字符向量aN
——- - - - - -1
(或NINST
——- - - - - -2
如果BusinessDayConvention
对每个分支不同)工作日约定的字符向量单元格数组。营业日约定的选择决定了如何处理非营业日。非营业日的定义是周末加上任何其他不营业的日期(如法定假日)。值:
实际
-非工作日被有效地忽略。非营业日的现金流假定在实际日分配。遵循
-非营业日的现金流假定在下一个营业日分配。modifiedfollow
-非营业日的现金流假定在下一个营业日分配。但是,如果下一个工作日在不同的月份,则采用上一个工作日。以前的
-非营业日的现金流假定在前一个营业日分配。modifiedprevious
-非营业日的现金流假定在前一个营业日分配。但是,如果上一个工作日在不同的月份,则采用下一个工作日。
数据类型:字符
|细胞
假期
- - - - - -用于计算工作日的假日
如果没有指定,默认是使用holidays.m
(默认)|MATLAB®日期
假日用于计算工作日,指定为逗号分隔的对,由“假期”
和MATLAB数据使用NHolidays
——- - - - - -1
向量。
数据类型:datetime
输出参数
价格
-时刻0的预期债券价格
向量
时刻0的预期债券价格,返回为aNINST
——- - - - - -1
向量。
PriceTree
-仪器价格树形结构
结构
仪器价格的树形结构,返回为MATLAB树结构,包含仪器价格和累计利息的向量,以及每个节点的观测时间向量。在PriceTree
:
PriceTree。PTree
包含干净的价格。PriceTree。AITree
包含应计利息。PriceTree.tObs
包含观察时间。PriceTree。连接
包含连通性向量。单元格数组中的每个元素描述该级别的节点如何连接到下一级别的节点。对于给定的树级别,有NumNodes
元素,它们包含中间分支连接到的下一层节点的索引。从这个值中减去1表示上行分支连接到的地方,加上1表示下行分支连接到的地方。PriceTree。聚合氯化铝
包含概率数组。单元格数组的每个元素都包含关卡每个节点的向上、中间和向下迁移概率。
更多关于
香草债券
普通息票债券是一种证券,代表在指定时间偿还借款金额的义务,并在指定时间之前定期支付利息。
债券的发行人定期支付利息,直到债券到期。到期时,发行人向债券持有人支付所欠本金(票面价值)和最后支付的利息。
阶梯式息票债券
增减债券是一种债券证券,随着时间的推移票面结构是预先确定的。
通过这些工具,票息在债券存续期内的特定时间增加(上升)或减少(下降)。
债券与摊销计划
摊销债券被视为一种资产,贴现金额在债券存续期内摊销为利息支出。
版本历史
R2006a之前介绍过MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。