价格Heath-Jarrow-Morton嵌入期权的债券利率树
创建一个HJMTree
使用以下数据:
率= (0.05;0.06;0.07);复合= 1;startdate可以= [“2007年1月- 1”;“2008年1月- 1”;“2009年1月- 1”];EndDates = [“2008年1月- 1”;“2009年1月- 1”;“2010年1月- 1”];ValuationDate =“2007年1月- 1”;
创建一个RateSpec
。
RateSpec = intenvset (“利率”率,startdate可以的ValuationDate,“EndDates”,…EndDates,“复合”复合,“ValuationDate”ValuationDate)
RateSpec =结构体字段:FinObj:“RateSpec”组合:1盘:x1双[3]利率:x1双[3]EndTimes: x1双[3]开始时间:x1双[3]EndDates: x1双[3]startdate可以:733043 ValuationDate: 733043: 0 EndMonthRule: 1
创建一个VolSpec
。
VolSpec = hjmvolspec (“不变”,0.01)
VolSpec =结构体字段:FinObj:“HJMVolSpec”FactorModels:{“常数”}FactorArgs: {{1 x1细胞}}SigmaShift: 0 NumFactors: 1 NumBranch: 2 PBranch: [0.5000 - 0.5000] Fact2Branch: [1]
创建一个TimeSpec
。
TimeSpec = hjmtimespec (ValuationDate EndDates复合)
TimeSpec =结构体字段:FinObj:“HJMTimeSpec”ValuationDate: 733043成熟度:[3 x1双]复合:1基础:0 EndMonthRule: 1
构建HJMTree
。
HJMTree = HJMTree (VolSpec RateSpec TimeSpec)
HJMTree =结构体字段:FinObj:“HJMFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2]罗伯特:[733043 733408 733774]TFwd: {[3 x1双][2 x1双][2]}CFlowT: {[3 x1双][2 x1双][3]}FwdTree: {[3 x1双][2 x1x2双][1 x2x2双重的]}
计算一个美国可赎回债券的价格支付每年6%的优惠券和成熟,可调用的1月1日2010年。
BondSettlement =“2007年1月- 1”;BondMaturity =“2010年1月- 1”;CouponRate = 0.06;时间= 1;OptSpec =“电话”;罢工= [98];ExerciseDates =' 01 - 1月- 2010;AmericanOpt = 1;[PriceCallBond, PT] = optembndbyhjm (HJMTree、CouponRate BondSettlement, BondMaturity,…ExerciseDates OptSpec,罢工,“时间”,1“AmericanOp”,1)
PriceCallBond = 95.9492
PT =结构体字段:FinObj:“HJMPriceTree”则:[0 1 2 3]PBush: {1 x4细胞}ProbBush: {[1] [1 x1x2双][1 x2x2双重的][1 x4双]}ExBush: {[0] [1 x1x2双][1 x2x2双重的][1 1 1 1]}ExProbBush: {[0] [1 x1x2双][1 x2x2双重的][1 x4双]}ExProbsByBushLevel: [0 0 0 1)
创建一个HJM树
使用以下数据:
率= (0.05;0.06;0.07);复合= 1;startdate可以= [“2007年1月- 1”;“2008年1月- 1”;“2009年1月- 1”];EndDates = [“2008年1月- 1”;“2009年1月- 1”;“2010年1月- 1”];ValuationDate =“2007年1月- 1”;
创建一个RateSpec
。
RateSpec = intenvset (“利率”率,startdate可以的ValuationDate,“EndDates”,…EndDates,“复合”复合,“ValuationDate”,ValuationDate);
与以下数据建立HJM树。
VolSpec = hjmvolspec (“不变”,0.01);TimeSpec = hjmtimespec (ValuationDate EndDates,复合);HJMTree = HJMTree (VolSpec RateSpec TimeSpec);
定义可赎回债券工具。
解决=' 01 - 1月- 2007;成熟= {' 01 - 1月- 2009;' 01 - 1月- 2010};CouponRate = {{' 01 - 1月- 2009.0325;' 01 - 1月- 2010.0375}};OptSpec =“电话”;罢工= (90;92);ExerciseDates = {' 01 - 1月- 2009;' 01 - 1月- 2010};
价格的工具。
(价格、PriceTree) = optembndbyhjm (HJMTree CouponRate,解决、成熟度、OptSpec罢工,…ExerciseDates,“时间”,1“AmericanOpt”,1)
价格=2×186.0874 - 84.1482
PriceTree =结构体字段:FinObj:“HJMPriceTree”则:[0 1 2 3]PBush: {1 x4细胞}ProbBush: {[1] [1 x1x2双][1 x2x2双重的][1 x4双]}ExBush: {1} x4细胞ExProbBush: {1 x4细胞}ExProbsByBushLevel: [2 x4双)
检查输出PriceTree.ExBush
。PriceTree.ExBush
数组包含运动指标。细胞数组的每个元素是一个数组,其中包含1
的一个选项在哪里锻炼0
它不是的地方。
PriceTree.ExBush {4}
ans =2×40 0 0 0 1 1 1 1
没有锻炼仪器1和仪器2是行使在所有节点。
PriceTree.ExBush {3}
ans = ans (:: 1) = 1 1 0 0 ans (:,: 2) = 1 1 0 0
有锻炼仪器1在所有节点和不锻炼仪器2。
PriceTree.ExBush {2}
ans = ans (:: 1) = 0 0 ans (:,: 2) = 0 0
没有锻炼仪器1或仪器2。
下一个视图的概率达到每个节点从根节点使用PriceTree.ProbBush
。
PriceTree.ProbBush {2}
ans = ans (:: 1) = 0.5000 ans (:,: 2) = 0.5000
PriceTree.ProbBush {3}
ans = ans (:: 1) = 0.2500 - 0.2500 ans (:,: 2) = 0.2500 - 0.2500
PriceTree.ProbBush {4}
ans =1×40.2500 0.2500 0.2500 0.2500
查看运动概率使用PriceTree.ExProbBush
。PriceTree.ExProbBush
包含运动的概率。单元阵列中的每个元素是一个数组,其中包含0
没有运动,到达该节点的概率或运动发生的地方。
PriceTree.ExProbBush {4}
ans =2×40 0 0 0 0.2500 0.2500 0.2500 0.2500
PriceTree.ExProbBush {3}
ans = ans (:: 1) = 0.2500 - 0.2500 0 0 ans (:,: 2) = 0.2500 - 0.2500 0 0
PriceTree.ExProbBush {2}
ans = ans (:: 1) = 0 0 ans (:,: 2) = 0 0
查看运动概率每棵树使用水平PriceTree.ExProbsByBushLevel
。PriceTree.ExProbsByBushLevel
是一个数组的每一行的锻炼对于一个给定的概率选择在每棵树的观察时间。
PriceTree.ExProbsByBushLevel
ans =2×40 0 1 0 0 0 0 1)
价格以下单走使用以下数据:可提前偿还的债券利率期限结构的数据如下:
率= (0.035;0.042147;0.047345;0.052707);ValuationDate =“2010年1月- 1”;startdate可以= ValuationDate;EndDates = {“2011年1月- 1”;“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”};复合= 1;%创建RateSpecRS = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,…“EndDates”EndDates,“利率”率,“复合”、复合);%的乐器解决=' 01 - 1月- 2010;成熟= {' 01 - 1月- 2013;' 01 - 1月- 2014};CouponRate = {{' 01 - 1月- 2012.0425;' 01 - 1月- 2014.0750}};OptSpec =“电话”;罢工= 100;ExerciseDates =' 01 - 1月- 2012;%在两年内可调用的%与以下数据建立树波动率= [2;.19;只要;.17];CurveTerm = [1;2;3;4);HJMTimeSpec = HJMTimeSpec (ValuationDate EndDates);HJMVolSpec = HJMVolSpec (“比例”1、波动性、CurveTerm e6);HJMT = hjmtree (RS, HJMVolSpec HJMTimeSpec);%第一行对应于可赎回债券的价格与成熟%的三年。第二行对应的价格可调用的%与成熟的四年。PHJM = optembndbyhjm (HJMT CouponRate,解决、成熟度、OptSpec罢工,…ExerciseDates,“时间”,1)
PHJM =2×1100.0484 - 99.8009
公司问题的3年期债券偿债基金面值的义务要求公司水槽1/3后第一年,第二年后1/3。公司选择购买的债券市场或称它们为99美元。以下数据描述了偿债基金债券定价所需的细节:
率= (0.035;0.042147;0.047345;0.052707);ValuationDate =“2011年1月- 1”;startdate可以= ValuationDate;EndDates = {“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”;“2015年1月- 1”};复合= 1;
创建RateSpec
。
RateSpec = intenvset (“ValuationDate”ValuationDate,startdate可以的,…startdate可以,“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =结构体字段:FinObj:“RateSpec”组合:1盘:x1双[4]利率:x1双[4]EndTimes: x1双[4]开始时间:x1双[4]EndDates: x1双[4]startdate可以:734504 ValuationDate: 734504: 0 EndMonthRule: 1
构建HJM
树。
σ= 0.1;HJMTimeSpec = HJMTimeSpec (ValuationDate EndDates,复合);HJMVolSpec = HJMVolSpec (“不变”σ);HJMT = hjmtree (HJMVolSpec RateSpec HJMTimeSpec)
HJMT =结构体字段:FinObj:“HJMFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2 3]罗伯特:[734504 734869 735235 735600]TFwd: {[4 x1双][3 x1双][2 x1双][3]}CFlowT: {[4 x1双][3 x1双][2 x1双][4]}FwdTree: {[4 x1双][3 x1x2双][2 x2x2双][1 x4x2双]}
定义偿债基金的乐器。债券的票面利率为4.5%,一年和1 - 1月- 2013年到期。第一年后面临减少1/3。
CouponRate = 0.045;解决=“2011年1月- 1”;成熟=“2013年1月- 1”;时间= 1;面对= {{“2012年1月- 1”100;…“2013年1月- 1”66.6666}};
定义选项提供。
OptSpec =“电话”;罢工= 99;ExerciseDates =“2012年1月- 1”;
non-sinking基金债券的价格。
PNSF = bondbyhjm (HJMT CouponRate,解决、成熟时期)
PNSF = 100.5663
债券的价格与选择沉没条款。
PriceSF = optembndbyhjm (HJMT CouponRate定居,成熟,…ExerciseDates OptSpec,罢工,“时间”期,“脸”脸)
PriceSF = 98.8736
这个例子展示了如何摊还可赎回债券和香草可赎回债券价格使用HJM格点模型。
创建一个RateSpec
。
率= (0.035;0.042147;0.047345;0.052707);ValuationDate =“2012年1月- 1”;startdate可以= ValuationDate;EndDates = {“2013年1月- 1”;“2014年1月- 1”;“2015年1月- 1”;“2016年1月- 1”};复合= 1;RS = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,…“EndDates”EndDates,“利率”率,“复合”、复合);
建立一个HJM树。
VolSpec = hjmvolspec (“不变”,0.01)
VolSpec =结构体字段:FinObj:“HJMVolSpec”FactorModels:{“常数”}FactorArgs: {{1 x1细胞}}SigmaShift: 0 NumFactors: 1 NumBranch: 2 PBranch: [0.5000 - 0.5000] Fact2Branch: [1]
TimeSpec = hjmtimespec (ValuationDate EndDates复合)
TimeSpec =结构体字段:FinObj:“HJMTimeSpec”ValuationDate: 734869成熟度:[4 x1双]复合:1基础:0 EndMonthRule: 1
HJMTree = HJMTree (RS, VolSpec TimeSpec)
HJMTree =结构体字段:FinObj:“HJMFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2 3]罗伯特:[734869 735235 735600 735965]TFwd: {[4 x1双][3 x1双][2 x1双][3]}CFlowT: {[4 x1双][3 x1双][2 x1双][4]}FwdTree: {[4 x1双][3 x1x2双][2 x2x2双][1 x4x2双]}
定义可赎回债券。
CouponRate = 0.05;解决=“2012年1月- 1”;成熟=“2016年1月- 1”;时间= 1;面对= {{“2014年1月- 1”100;“2015年1月- 1”70;“2016年1月- 1”50个};};OptSpec =“电话”;罢工= (97 95 93);ExerciseDates = {“2014年1月- 1”“2015年1月- 1”“2016年1月- 1”};
价格可调用的摊还式债券使用HJM树。
BondType =“掩盖”;Pcallbonds = optembndbyhjm (HJMTree CouponRate,解决、成熟度、OptSpec罢工,…ExerciseDates,“时间”,1“脸”的脸,“BondType”BondType)
Pcallbonds = 98.6000
HJMTree
- - - - - -利率树结构利率树结构,通过使用指定的hjmtree
。
数据类型:结构体
CouponRate
- - - - - -债券票面利率债券票面利率,指定为一个NINST
——- - - - - -1
小数的年增长率或NINST
——- - - - - -1
单元阵列,其中每个元素是一个NumDates
——- - - - - -2
单元阵列。的第一列NumDates
——- - - - - -2
单元阵列是日期和第二列率有关。日期显示最后一天的票面利率是有效的。
数据类型:双
|细胞
解决
- - - - - -结算日期结算日期键选项,指定为一个NINST
——- - - - - -1
串行数字或日期特征向量的向量。
请注意
的解决
日期为每个键设置为ValuationDate
HJM树的。债券的论点解决
将被忽略。
数据类型:双
|字符
成熟
- - - - - -到期日到期日,指定为一个NINST
——- - - - - -1
串行数字或日期特征向量的向量。
数据类型:双
|字符
OptSpec
- - - - - -选项的定义“电话”
或“把”
|单元阵列特征向量的值“电话”
或“把”
定义的选项,指定为一个NINST
——- - - - - -1
单元阵列的特征向量。
数据类型:字符
罢工
- - - - - -期权执行价格的值期权执行价格值,指定为一个NINST
——- - - - - -1
或NINST
——- - - - - -NSTRIKES
根据类型的选择:
欧式期权,NINST
——- - - - - -1
向量的价值。
百慕大期权,NINST
罢工的数量(NSTRIKES
执行价格)矩阵的值。每一行是一个选择的时间表。如果一个选项有不足NSTRIKES
锻炼的机会,行是垫的结束南
年代。
美式选择权,NINST
——- - - - - -1
向量的每个选项的价值。
数据类型:双
ExerciseDates
- - - - - -选择锻炼时间选择锻炼日期,指定为一个NINST
——- - - - - -1
,NINST
——- - - - - -2
,或NINST
——- - - - - -NSTRIKES
使用串行数字或日期特征向量,这取决于类型的选择:
欧式期权,使用NINST
——- - - - - -1
向量的日期。欧式期权,只有一个ExerciseDates
在期权到期日。
百慕大期权,使用NINST
——- - - - - -NSTRIKES
向量的日期。
对于一个美国选项,使用NINST
——- - - - - -2
矢量的运动边界。选择可以行使在任何日期或包括两个日期之间这一行。如果只有一个非南
日期列,或者ExerciseDates
是一个NINST
——- - - - - -1
向量,可以行使之间的选择ValuationDate
上市股票的树和单一ExerciseDates
。
数据类型:双
|字符
指定可选的逗号分隔条名称,值
参数。的名字
参数名称和吗价值
相应的价值。的名字
必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家
。
价格= optembndbyhjm (HJMTree CouponRate,解决、成熟度、OptSpec罢工,ExerciseDates,“时期”,1,“AmericanOp”, 1)
“AmericanOpt”
- - - - - -选择类型0
欧洲/百慕大(默认)|整型值0
或1
选择类型,指定为逗号分隔组成的“AmericanOpt”
和NINST
——- - - - - -1
正整数的旗帜与价值观:
0
-欧洲/百慕大
1
——美国
数据类型:双
“时间”
- - - - - -每年的优惠券2
每年(默认)|向量每年优惠券,指定为逗号分隔组成的“时间”
和一个NINST
——- - - - - -1
向量。
数据类型:双
“基础”
- - - - - -日计数的基础上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 =实际/实际(国际)
9 =实际/ 360(国际)
10 =实际/ 365(国际)
11 = 30/360E(国际)
12 =实际/ 365 (ISDA)
13 =总线/ 252
有关更多信息,请参见基础。
数据类型:双
“EndMonthRule”
- - - - - -月底规则国旗1
(效果)(默认)|非负整数的值0
或1
月底规则标志,指定为逗号分隔组成的“EndMonthRule”
和一个非负整数使用NINST
——- - - - - -1
向量。这条规则只适用于当成熟
是一个月底日期一个月有30或更少的天。
0
=无视规则,这意味着债券息票付款日期总是相同的数值的一天。
1
=设置规则,这意味着债券息票付款日期总是最后实际日。
数据类型:双
“IssueDate”
- - - - - -债券发行日期债券发行日期,指定为逗号分隔组成的“IssueDate”
和一个NINST
——- - - - - -1
使用串行数字或日期向量特征向量。
数据类型:双
|字符
“FirstCouponDate”
- - - - - -不规则首先息票日期不规则首先优惠券日期,指定为逗号分隔组成的“FirstCouponDate”
和一个NINST
——- - - - - -1
使用串行数字或日期向量特征向量。
当FirstCouponDate
和LastCouponDate
都是指定的,FirstCouponDate
优先支付在确定结构。如果你不指定一个FirstCouponDate
、现金流支付日期决定从其他输入。
数据类型:双
|字符
“LastCouponDate”
- - - - - -不规则的最后优惠日期不规则的最后优惠日期,指定为逗号分隔组成的“LastCouponDate”
和一个NINST
——- - - - - -1
使用串行数字或日期向量特征向量。
在缺乏指定FirstCouponDate
,一个指定的LastCouponDate
确定债券的票面利率结构。债券的票面利率结构是截断LastCouponDate
的,不管在哪里摔倒,是成熟之后只债券的现金流。如果你不指定一个LastCouponDate
、现金流支付日期决定从其他输入。
数据类型:字符
|双
StartDate可以的
- - - - - -开工日期支付提出开工日期付款的日期(债券的现金流被认为是),指定为逗号分隔组成的StartDate可以的
和一个NINST
——- - - - - -1
使用串行数字或日期向量特征向量。
如果你不指定StartDate可以
,有效的开始日期解决
日期。
数据类型:字符
|双
“脸”
- - - - - -票面价值One hundred.
(默认)|NINST
——- - - - - -1
向量|NINST
——- - - - - -1
单元阵列脸或票面价值,指定为逗号分隔组成的“脸”
和一个NINST
——- - - - - -1
向量或一个NINST
——- - - - - -1
单元阵列,其中每个元素是一个NumDates
——- - - - - -2
单元阵列,第一列是日期和第二列面值相关联。日期显示最后一天的面值是有效的。
请注意
仪器没有的脸
计划被视为纯债券或走息债券与嵌入选项。
数据类型:双
“BondType”
- - - - - -基本类型的债券“香草”
对于标量的脸
值,“callablesinking”
为计划的脸
值(默认)|单元阵列特征向量的值“香草”
,“掩盖”
,或“callablesinking”
|字符串数组的值“香草”
,“掩盖”
,或“callablesinking”
类型的潜在债券,指定为逗号分隔组成的“BondType”
和一个NINST
——- - - - - -1
单元阵列特征向量数组或字符串指定如果底层香草债券,摊还式债券,或可调用的偿债基金债券。支持的类万博1manbetx型有:
“香草
”是一个标准的或可卖回的债券和一个标量的脸
价值和一个券或优惠券了。
“callablesinking”
债券的计划吗的脸
价值观和电话偿债基金条款与单个或优惠券。
“掩盖”
是一个摊还可调用或可卖回的债券计划的的脸
值和单个或优惠券。
数据类型:字符
|字符串
“选项”
- - - - - -衍生品定价选项衍生品定价选项,指定为逗号分隔组成的“选项”
和创建一个结构derivset
。
数据类型:结构体
价格
预期的时间内嵌期权的价格0
内嵌期权的预期价格0
,返回NINST
——- - - - - -1
矩阵。
PriceTree
——包含树的结构向量的仪器价格和运动对每个节点概率包含树的结构向量的仪器价格,每个节点,一个向量的观察时间和运动概率。值:
PriceTree.ExBush
数组包含运动指标。细胞数组的每个元素是一个数组,其中包含1
的一个选项在哪里锻炼0
的,它不是。
PriceTree.tObs
包含了观察时间。
PriceTree.ProbBush
包含从根节点到每个节点的概率。
PriceTree.ExProbBush
包含运动的概率。单元阵列中的每个元素是一个数组,其中包含0
没有运动,到达该节点的概率或运动发生的地方。
PriceTree.ExProbsByBushLevel
是一个数组的每一行的锻炼对于一个给定的概率选择在每棵树的观察时间。
香草附息债券是安全代表有义务偿还借来的在指定的时间和定期支付利息,直到那时。
债券的发行人定期支付利息,直到债券到期。到期,发行人支付所欠本金债券的持有人(面值)和利息支付。香草和嵌入式期权是期权合同的标的资产香草债券。
升压和降压债券是一种债务证券与预定的票息结构随着时间的推移。
使用这些工具,优惠券增加(加强)或减少(下台)在特定时期的生活。加强息债券可以有选择的特性(调用并将)。
偿债基金债券息票债券偿债基金条款。
这一规定要求发行人的摊销部分本金到期之前,影响债券价格自本金还款时间的变化。这意味着投资者获得的优惠券和部分本金偿还。这些类型的债券信用风险降低,因为它降低了投资者的概率不接受他们的本金到期付款。
看涨期权债券可能有偿债基金条款允许发行人偿债基金义务退休通过从市场购买债券赎回或通过调用通过电话偿债基金债券,哪个比较便宜。如果利率高,发行人从市场买回要求数量的债券由于债券是廉价的,但如果利率很低(债券价格很高),那么最有可能购买的债券发行者的价格。与调用功能,然而,如果债券偿债基金看涨期权规定,它是一种责任,不是一种选择,发行人回购问题的增量如上所述。正因为如此,偿债基金债券交易价格低于non-sinking基金债券。
均摊callable或可卖回的债券在预定下工作的脸
。
一个摊还可赎回债券给发行方有权收回债券,而是付出的脸
到期金额,偿还本金和利息的一部分。一摊还可卖回的债券,偿还本金和利息的一部分,给债券持有人有权出售债券发行方。
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。