主要内容

hwprice

仪器价格Hull-White利率树

描述

例子

(价格,PriceTree)= hwprice (HWTree,InstSet)计算的无套利价格工具使用一个利率树创建hwtree。所有工具中包含金融工具变量,InstSet定价。

hwprice处理仪器类型:“债券”,“现金流”,“OptBond”,“OptEmBond”,“OptEmBond”,“OptFloat”,“OptEmFloat”,“固定”,“浮”,“帽子”,“地板”,“RangeFloat”,“交换”。看到instadd构造类型定义。

例子

(价格,PriceTree)= hwprice (___,选项)添加一个可选的输入参数选项

例子

全部折叠

从数据文件加载HW树和仪器deriv.mat

负载deriv.mat;HWSubSet = instselect (HWInstSet,“类型”,{“债券”,“帽子”});instdisp (HWSubSet)
instdisp (HWSubSet)指数类型CouponRate结算期限为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对名称数量1键0.04 01 - 1月- 2004年01 - 1月- 2007年1 0 1南南南南100 4%债券20 2债券0.04 01 - 1月- 2004年01 - 1月- 2008年1 0 1南南南南100年4%债券15指数类型罢工解决成熟度CapReset基础主体名称数量3帽0.06 01 - 1月- 2004年01 - 100年1月- 2008 1 0 6%上限10

价格上限和债券工具。

(价格、PriceTree) = hwprice (HWTree HWSubSet);
100.9188 99.3296 0.5837

您可以使用树状视图看到这三个工具的价格以及价格树。

利率期限结构的数据如下:

率= (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;

创建RateSpec

RS = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,“EndDates”EndDates,“利率”率,“复合”复合)
RS =结构体字段:FinObj:“RateSpec”组合:1盘:x1双[4]利率:x1双[4]EndTimes: x1双[4]开始时间:x1双[4]EndDates: x1双[4]startdate可以:734139 ValuationDate: 734139: 0 EndMonthRule: 1

创建一个组合了息债券期限不同。

解决=' 01 - 1月- 2010;成熟= {' 01 - 1月- 2011;' 01 - 1月- 2012;' 01 - 1月- 2013;' 01 - 1月- 2014};CouponRate = {{' 01 - 1月- 2011.042;' 01 - 1月- 2012. 05;' 01 - 1月- 201306;' 01 - 1月- 201407}};ISet = instbond (CouponRate定居,成熟,1);instdisp (ISet)
指数类型CouponRate结算期限为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对1键(细胞)01 - 1月- 2010年01 - 1月- 2011年1 0 1南南南南100 2键(细胞)01 - 1月- 2010年01 - 1月- 2012年1 0 1南南南南100 3的债券(细胞)01 - 1月- 2010年01 - 1月- 2013年1 0 1南南南南100 4债券(细胞)01 - 1月- 2010年01 - 1月- 2014年1 0 1南南南南100

构建树与以下数据:

VolDates = [“1 - 1月- 2011”;“1 - 1月- 2012”;“1 - 1月- 2013”;“1 - 1月- 2014”];VolCurve = 0.01;AlphaDates =“01-01-2014”;AlphaCurve = 0.1;HWVolSpec = HWVolSpec (RS。ValuationDate、VolDates VolCurve,AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RS。ValuationDate VolDates,复利);HWT = hwtree (RS, HWVolSpec HWTimeSpec)
HWT =结构体字段:FinObj:“HWFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2 3]罗伯特:[734139 734504 734869 735235]CFlowT: {[4 x1双][3 x1双][2 x1双][4]}聚合氯化铝:{[3 x1双][3 x3双][3 x5双]}连接:{[2][2 3 4][2 3 4 5 6]}FwdTree: {[1.0350] [1.0677 1.0494 1.0314] [1.0953 1.0765 1.0580 1.0398 1.0220] [1.1264 1.1070 1.0880 1.0694 1.0510 1.0329 1.0152]}

计算了息债券的价格。

物理加工= hwprice (HWT ISet)
物理加工=4×1100.6763 100.7368 100.9266 101.0115

利率期限结构的数据如下:

率= (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;

创建一个RateSpec

RS = intenvset (“ValuationDate”ValuationDate,startdate可以的startdate可以,“EndDates”EndDates,“利率”率,“复合”复合)
RS =结构体字段:FinObj:“RateSpec”组合:1盘:x1双[4]利率:x1双[4]EndTimes: x1双[4]开始时间:x1双[4]EndDates: x1双[4]startdate可以:734139 ValuationDate: 734139: 0 EndMonthRule: 1

创建一个乐器组合的三个走可赎回债券和三个走纯债券。

解决=' 01 - 1月- 2010;成熟= {' 01 - 1月- 2012;' 01 - 1月- 2013;' 01 - 1月- 2014};CouponRate = {{' 01 - 1月- 2011.042;' 01 - 1月- 2012. 05;' 01 - 1月- 201306;' 01 - 1月- 201407}};OptSpec =“电话”;罢工= 100;ExerciseDates =' 01 - 1月- 2011;%可调用的一年

与嵌入式期权债券。

ISet = instoptembnd (CouponRate、定居、成熟度、OptSpec、罢工,ExerciseDates,“时间”1);

香草债券。

ISet = instbond (ISet CouponRate定居,成熟,1);

显示仪表组合。

instdisp (ISet)
指数类型CouponRate解决成熟度OptSpec罢工ExerciseDates时期基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对AmericanOpt 1 OptEmBond[电池]01 - 1月- 2010年01 - 1月- 2012拨打100 01 - 1月- 2011年1 0 1南南南南100 0 2 OptEmBond[电池]01 - 1月- 2010年01 - 1月- 2013拨打100 01 - 1月- 2011年1 0 1南南南南100 0 3 OptEmBond[电池]01 - 1月- 2010年01 - 1月- 2014拨打100 01 - 1月- 2011年1 0 1南南南南100 0索引类型CouponRate结算期限为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对4债券(细胞)01 - 1月- 2010年01 - 1月- 2012年1 0 1南南南南100 5的债券(细胞)01 - 1月- 2010年01 - 1月- 2013年1 0 1南南南南100 6的债券(细胞)01 - 1月- 2010年01 - 1月- 2014年1 0 1南南南南100

构建树与以下数据:

VolDates = [“1 - 1月- 2011”;“1 - 1月- 2012”;“1 - 1月- 2013”;“1 - 1月- 2014”];VolCurve = 0.01;AlphaDates =“01-01-2014”;AlphaCurve = 0.1;HWVolSpec = HWVolSpec (RS。ValuationDate、VolDates VolCurve,AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RS。ValuationDate VolDates,复利);HWT = hwtree (RS, HWVolSpec HWTimeSpec)
HWT =结构体字段:FinObj:“HWFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2 3]罗伯特:[734139 734504 734869 735235]CFlowT: {[4 x1双][3 x1双][2 x1双][4]}聚合氯化铝:{[3 x1双][3 x3双][3 x5双]}连接:{[2][2 3 4][2 3 4 5 6]}FwdTree: {[1.0350] [1.0677 1.0494 1.0314] [1.0953 1.0765 1.0580 1.0398 1.0220] [1.1264 1.1070 1.0880 1.0694 1.0510 1.0329 1.0152]}

计算的价格走可赎回债券和走纯债券。

物理加工= hwprice (HWT ISet)
物理加工=6×1100.4089 100.2043 100.0197 100.7368 100.9266 101.0115

前三行对应的价格走可赎回债券和最后三行对应于走纯债券的价格。

利率期限结构的数据如下:

率= (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

RS = intenvset (“ValuationDate”ValuationDate,startdate可以的,startdate可以,“EndDates”EndDates,“利率”率,“复合”复合)
RS =结构体字段:FinObj:“RateSpec”组合:1盘:x1双[4]利率:x1双[4]EndTimes: x1双[4]开始时间:x1双[4]EndDates: x1双[4]startdate可以:734504 ValuationDate: 734504: 0 EndMonthRule: 1

创建一个乐器组合有两个范围笔记和浮动利率债券与以下数据:

传播= 200;解决=“2011年1月- 1”;成熟=“2014年1月- 1”;%首先注意范围RateSched (1)。日期= {“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”};RateSched (1)。率= (0.045 - 0.055;0.0525 - 0.0675;0.06 - 0.08);%第二范围注意RateSched (2)。日期= {“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”};RateSched (2)。率= (0.048 - 0.059;0.055 - 0.068;0.07 - 0.09);

创建InstSet,添加一个浮动利率,并显示组合工具。

InstSet = instadd (“RangeFloat”,扩散,解决、成熟度、RateSched);%添加一个浮动利率InstSet = instadd (InstSet,“浮”成熟、传播、解决);%显示组合仪表instdisp (InstSet)
指数型传播解决成熟度RateSched FloatReset基础主要EndMonthRule 1 RangeFloat 200 01 - 1月- 2011年01 - 100年1月- 2014(结构)1 0 1 2 RangeFloat 200 01 - 1月- 2011年01 - 100年1月- 2014(结构)1 0 1索引类型传播解决成熟度FloatReset基础主要EndMonthRule癸酸盐FloorRate浮动200 01 - 1月- 2011年01 - 100年1月- 2014 1 0 1正无穷

构建树的数据如下:

VolDates = [“1 - 1月- 2012”;“1 - 1月- 2013”;“1 - 1月- 2014”;“1 - 1月- 2015”];VolCurve = 0.01;AlphaDates =“01-01-2015”;AlphaCurve = 0.1;HWVS = hwvolspec (RS。ValuationDate、VolDates VolCurve,AlphaDates AlphaCurve);HWTS = hwtimespec (RS。ValuationDate VolDates,复利);HWT = hwtree (RS, HWVS HWTS)
HWT =结构体字段:FinObj:“HWFwdTree”VolSpec: [1 x1 struct] TimeSpec: [1 x1 struct] RateSpec: [1 x1 struct]则:[0 1 2 3]罗伯特:[734504 734869 735235 735600]CFlowT: {[4 x1双][3 x1双][2 x1双][4]}聚合氯化铝:{[3 x1双][3 x3双][3 x5双]}连接:{[2][2 3 4][2 3 4 5 6]}FwdTree: {[1.0350] [1.0677 1.0494 1.0314] [1.0953 1.0765 1.0580 1.0398 1.0220] [1.1264 1.1070 1.0880 1.0694 1.0510 1.0329 1.0152]}

价格组合。

价格= hwprice (HWT InstSet)
价格=3×199.3327 98.1580 105.5147

使用instswap创建一个float-float交换和价格的交换hwprice

RateSpec = intenvset (“利率”,0。StartDate可以的,今天,“EndDate”datemnth(今天60));= instswap ([。02 . 03],今天,datemnth(今天,60),[],[],[],[1]);VolSpec = hwvolspec(今天,datemnth(今天,60). 01,datemnth(今天,60)。1);TimeSpec = hwtimespec(今天,cfdates(今天,datemnth(今天,60),1));HWTree = HWTree (VolSpec RateSpec TimeSpec);hwprice (HWTree)
ans = -4.3220

使用instswap创建多个互换和价格的互换hwprice

RateSpec = intenvset (“利率”,0。StartDate可以的,今天,“EndDate”datemnth(今天60));= instswap ([。03年02),今天,datemnth(今天,60),[],[],[],[1]);是= instswap((200 300),今天,datemnth(今天,60),[],[],[],[0 0]);是= instswap ((。08年300],今天datemnth(今天,60),[],[],[],[1 0]);VolSpec = hwvolspec(今天,datemnth(今天,60). 01,datemnth(今天,60)。1);TimeSpec = hwtimespec(今天,cfdates(今天,datemnth(今天,60),1));HWTree = HWTree (VolSpec RateSpec TimeSpec);hwprice (HWTree)
ans =3×14.3220 -4.3220 -0.2701

输入参数

全部折叠

利率树结构,通过使用指定的hwtree

数据类型:结构体

工具变量包含的集合NINST仪器,指定使用instadd。仪器按类型分类;每种类型可以有不同的数据字段。存储的数据字段是一个行向量或字符向量为每个乐器。

数据类型:结构体

(可选)衍生品定价期权结构,使用创建的derivset

数据类型:结构体

输出参数

全部折叠

价格为每一个乐器,作为一个返回NINST——- - - - - -1向量。上的价格由反向动态规划计算利率树。如果无法定价的一种乐器,一个返回的条目。

相关的单一类型的定价功能:

  • bondbyhw:价格债券从Hull-White树。

  • capbyhw:价格上限从Hull-White树。

  • cfbyhw:任意设定的价格现金流从Hull-White树。

  • fixedbyhw:价格的固定利率注意Hull-White树。

  • floatbyhw:价格的浮动利率注意Hull-White树。

  • floorbyhw:价格的地板Hull-White树。

  • optbndbyhw从Hull-White树:债券价格选项。

  • optembndbyhw:价格与内嵌期权的债券Hull-White树。

  • optfloatbybdt:价格浮动利率票据Hull-White树的一个选项。

  • optemfloatbybdt:价格的浮动利率注意使用嵌入式选项Hull-White树。

  • rangefloatbyhw:价格区间浮动注意使用Hull-White树。

  • swapbyhw从Hull-White树:价格交换。

  • swaptionbyhw:价格的掉期期权Hull-White树。

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

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

  • PriceTree.AITree包含应计利息。

  • PriceTree.tObs包含了观察时间。

  • PriceTree.Connect包含连接向量。单元阵列中的每个元素描述了如何连接到下一个节点的水平。对于一个给定的树级别,有NumNodes向量中的元素,它们包含的索引节点的下一个层次中间分支连接。减去1的值表示支行连接,并添加1表示的分支连接。

  • PriceTree.Probs包含概率数组。细胞数组的每个元素包含起来,中间,和向下跃迁概率为每个节点的水平。

版本历史

之前介绍过的R2006a