主要内容

hwprice

来自赫尔-怀特利率树的工具价格

描述

例子

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

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

例子

价格PriceTree= hwprice(___选项的可选输入参数选项

例子

全部折叠

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

负载deriv.mat;hw子集= instselect(HWInstSet,“类型”, {“债券”“帽子”});instdisp (HWSubSet)
instdisp(hw子集)指数类型票面利率结算到期日基准EndMonthRule发行日期第一票面日期最后票面日期开始日期面值数量1债券0.04 01- 2004年1月01- 2007年1月01 01 NaN NaN NaN NaN 100 4%债券20 2债券0.04 01- 2004年1月01- 2008年1月10 1 NaN NaN NaN 100 4%债券15指数类型打击结算到期日CapReset基础本金名称数量3 Cap 10

为上限和债券工具定价。

[Price, PriceTree] = hwprice(HWTree, hw子集);
100.9188 99.3296 0.5837

你可以使用树状视图沿着价格树来看看这三种工具的价格。

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

比率= [0.035;0.042147;0.047345;0.052707);ValuationDate =“2010年1月- 1”;StartDates = ValuationDate;结束日期= {“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光盘:[4x1 double]利率:[4x1 double]结束时间:[4x1 double]开始时间:[4x1 double]结束日期:[4x1 double]开始日期:734139估值日期: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(息票率,结算,到期,1);instdisp (ISet)
指数类型息票率结算到期日基准结束月规则发行日期第一息票日期最后息票日期开始日期面1债券[Cell] 2010年1月01日-2011年1月10 1 NaN NaN NaN NaN 100 2债券[Cell] 2010年1月01日-2012年1月10 1 NaN NaN NaN NaN 100 3债券[Cell] 2010年1月01日-2013年1月10 1 NaN NaN NaN 100 4债券[Cell] 2010年1月01日-2014年1月10 1 NaN NaN NaN NaN 100

使用以下数据构建树:

VolDates = [“1 - 1月- 2011”“1 - 1月- 2012”“1 - 1月- 2013”“1 - 1月- 2014”];VolCurve = 0.01;AlphaDates =“01-01-2014”;阿尔法曲线= 0.1;HWVolSpec = HWVolSpec (RS。ValuationDate, VolDates, VolCurve,...AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RS。估价日期,VolDates,复合);HWT = hwtree(HWVolSpec, RS, HWTimeSpec)
HWT =带字段的结构:FinObj: 'HWFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734139 734504 734869 735235] CFlowT: {[4x1 double] [3x1 double] [2x1 double] [4]} Probs: {[3x1 double] [3x3 double] [3x5 double]}连接:{[2][2 34 45 6]}FwdTree: {1x4 cell}

计算阶梯息票债券的价格。

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

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

比率= [0.035;0.042147;0.047345;0.052707);ValuationDate =“2010年1月- 1”;StartDates = ValuationDate;结束日期= {“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光盘:[4x1 double]利率:[4x1 double]结束时间:[4x1 double]开始时间:[4x1 double]结束日期:[4x1 double]开始日期:734139估值日期: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, Settle, Maturity, OptSpec, Strike,...ExerciseDates,“时间”1);

香草债券。

ISet = instbond(ISet,息票率,结算,到期,1);

显示仪器组合。

instdisp (ISet)
指数类型息票率结算到期OptSpec Strike exercisates Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face AmericanOpt 1 OptEmBond [Cell] 2010年1月01日-2012年1月call 100 01- 2011年1月01- 2013年1月call 100 01- 2011年1月01- 2014年1月call 100 01- 2011年1月1日NaN NaN NaN NaN 100 0 3 OptEmBond [Cell] 2010年1月01- 2014年1月01日call 100 01- 2011年1月11 NaN NaN NaN NaN 100 00指数类型息票率结算到期期限Basis EndMonthRuleIssueDate FirstCouponDate LastCouponDate StartDate Face 4 Bond [Cell] 01-Jan-2010 01-Jan-2012 1 0 1 NaN NaN NaN NaN 100 5 Bond [Cell] 01-Jan-2010 01-Jan-2013 1 0 1 NaN NaN NaN NaN 100 6 Bond [Cell] 01-Jan-2010 01-Jan-2014 1 0 1 NaN NaN NaN NaN 100

使用以下数据构建树:

VolDates = [“1 - 1月- 2011”“1 - 1月- 2012”“1 - 1月- 2013”“1 - 1月- 2014”];VolCurve = 0.01;AlphaDates =“01-01-2014”;阿尔法曲线= 0.1;HWVolSpec = HWVolSpec (RS。ValuationDate, VolDates, VolCurve,...AlphaDates AlphaCurve);HWTimeSpec = HWTimeSpec (RS。估价日期,VolDates,复合);HWT = hwtree(HWVolSpec, RS, HWTimeSpec)
HWT =带字段的结构:FinObj: 'HWFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734139 734504 734869 735235] CFlowT: {[4x1 double] [3x1 double] [2x1 double] [4]} Probs: {[3x1 double] [3x3 double] [3x5 double]}连接:{[2][2 34 45 6]}FwdTree: {1x4 cell}

计算阶梯可赎回债券和阶梯香草债券的价格。

PHW = 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”;StartDates = ValuationDate;结束日期= {“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光盘:[4x1 double]利率:[4x1 double]结束时间:[4x1 double]开始时间:[4x1 double]结束日期:[4x1 double]开始日期:734504估值日期: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”,扩散,结算,成熟度,速率);添加浮动利率票据InstSet = instadd(InstSet,“浮”,扩散,确定,成熟);显示投资组合工具instdisp (InstSet)
指标类型Spread Settle Maturity RateSched FloatReset Basis Principal EndMonthRule 1 RangeFloat 200 01-Jan-2011 01- 1- 2014 [Struct] 10 100 1 2 RangeFloat 200 01-Jan-2011 01-Jan-2014 [Struct] 10 100 1 Float 200 01-Jan-2011 01- 1- 2014 10 100 1 Inf -Inf

构建树的数据如下:

VolDates = [“1 - 1月- 2012”“1 - 1月- 2013”“1 - 1月- 2014”“1 - 1月- 2015”];VolCurve = 0.01;AlphaDates =“01-01-2015”;阿尔法曲线= 0.1;HWVS = hwvolspec(RS。ValuationDate, VolDates, VolCurve,...AlphaDates AlphaCurve);HWTS = hwtimespec(RS。估价日期,VolDates,复合);HWT = hwtree(HWVS, RS, HWTS)
HWT =带字段的结构:FinObj: 'HWFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734504 734869 735235 735600] CFlowT: {[4x1 double] [3x1 double] [2x1 double] [4]} Probs: {[3x1 double] [3x3 double] [3x5 double]}连接:{[2][2 34 4][2 345 6]}FwdTree: {1x4 cell}

为投资组合定价。

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

使用instswap创建浮动-浮动掉期并为其定价hwprice

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

使用instswap创建多个掉期并为其定价hwprice

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

输入参数

全部折叠

利率树结构,由using指定hwtree

数据类型:结构体

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

数据类型:结构体

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

数据类型:结构体

输出参数

全部折叠

每个仪器的价格,作为NINST——- - - - - -1向量。在利率树上采用逆向动态规划的方法计算价格。如果一种工具无法定价,则a在该条目中返回。

相关的单一类型定价函数为:

  • bondbyhw:为赫尔-怀特树的债券定价。

  • capbyhw:为一顶Hull-White树上的帽子定价。

  • cfbyhw:对Hull-White树上任意一组现金流进行定价。

  • fixedbyhw:为赫尔-怀特树的固定利率票据定价。

  • floatbyhw:为赫尔-怀特树的浮动利率票据定价。

  • floorbyhw:从Hull-White树上定价地板。

  • optbndbyhw:根据赫尔-怀特树为债券期权定价。

  • optembndbyhw:通过Hull-White树为带有嵌入式期权的债券定价。

  • optfloatbybdt:用Hull-White树中的期权为浮动利率票据定价。

  • optemfloatbybdt:从Hull-White树中嵌入期权,为浮动利率票据定价。

  • rangefloatbyhw:使用Hull-White树的价格范围浮动票据。

  • swapbyhw:对Hull-White树的交换进行定价。

  • swaptionbyhw:为赫尔-怀特树的交换物定价。

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

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

  • PriceTree。AITree包含应计利息。

  • PriceTree.tObs包含观测次数。

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

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

版本历史

R2006a之前介绍