hjmprice

仪器价格从希思 - 贾罗 - 莫顿利率树

描述

[价格PriceTree) = hjmprice (HJMTreeInstSet计算无套利价格使用与创建的利率树仪器hjmtree。所有工具中包含金融工具变量,InstSet定价。

hjmprice处理仪器类型:“债券”“现金流”“OptBond”“OptEmBond”“OptEmBond”“OptFloat”'OptEmFloat'“固定”'浮动''帽''地板''RangeFloat'“交换”。看到instadd构建定义的类型。

[价格PriceTree) = hjmprice (___选项为。添加可选输入参数选项

例子

全部收缩

从数据文件加载HJM树和工具deriv.mat

加载deriv.mat;HJMSubSet = instselect(HJMInstSet,“类型”, {“债券”'帽'});instdisp(HJMSubSet)
指数类型CouponRate结算期限为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对名称数量1键0.04 01 - 1月- 2000年01 - 2003年1月- 1南南南南南南南4%债券100 2债券0.04 01 - 1月- 2000年01 - 2004年1月- 2南南南南南南南4%债券50指数类型罢工解决成熟度CapReset基础主体名称数量3帽0.03 01 - 1月- 2000年01 - 2004年1月- 1南南帽30 3%

hjmprice以价格手段。

[Price, PriceTree] = hjmprice(HJMTree, hjm子集)
警告:并非所有的现金流都与树对齐。结果是近似值。在hjmprice(第85行)中,Price = 98.7159 97.5280 6.2831 PriceTree = FinObj: 'HJMPriceTree' PBush: {[3x1 double] [3x1x2 double] [3x4x2 double] [3x8 double]

您可以使用树状视图沿着价格树查看这三种乐器的价格。

树状视图

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

率= (0.035;0.042147;0.047345;0.052707);ValuationDate =“扬1-2010”;startdate可以= ValuationDate;EndDates = {“2011年1月- 1”;“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”};复合= 1;

创建一个RateSpec

RS = intenvset ('ValuationDate'ValuationDate,startdate可以的,StartDates,“EndDates”EndDates,“价格”,价格,“复利”复合)
RS =同场的结构:起始时间:[4x1双]结束时间:[4x1双]结束日期:[4x1双]开始日期:734139值日期:734139基础:0结束月规则: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月- 20130.06;' 01 - 1月- 201407}};ISet = instbond(优惠券,结算,到期,1);instdisp (ISet)
索引类型CouponRate Settle的成熟期基础EndMonthRule IssueDate FirstCouponDate LastCouponDate的StartDate面1邦德[电池] 01-JAN-2010 01-JAN-2011 1 0 1楠楠楠楠100 2邦德[电池] 01-JAN-2010 01-Jan-2012 1 0 1楠楠楠楠100 3邦德[电池] 01-JAN-2010 01-JAN-2013 1 0 1楠楠楠楠100 4邦德[电池] 01-JAN-2010 01-JAN-2014 1 0 1楠楠楠楠100

构建具有下列数据的树:

波动率= [2;.19;只要;.17];CurveTerm = [1;2;3;4);HJMTimeSpec (ValuationDate, enddate);HJMVolSpec = HJMVolSpec (“比例”,波动性,CurveTerm,1E6);HJMT = hjmtree(HJMVolSpec,RS,HJMTimeSpec)
HJMT =同场的结构:FinObj: 'HJMFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734139 734504 734869 735235] TFwd: {[4x1双][3x1双][2x1双][3]}

计算了息债券的价格。

hjmprice(HJMT, ISet)
PHJM =4×1100.6763 100.7368 100.9266 101.0115

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

率= (0.035;0.042147;0.047345;0.052707);ValuationDate =“扬1-2010”;startdate可以= ValuationDate;EndDates = {“2011年1月- 1”;“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”};复合= 1;

创建一个RateSpec

RS = intenvset ('ValuationDate'ValuationDate,startdate可以的,StartDates,“EndDates”EndDates,“价格”,价格,“复利”复合)
RS =同场的结构:起始时间:[4x1双]结束时间:[4x1双]结束日期:[4x1双]开始日期:734139值日期:734139基础:0结束月规则:1

创建工具组合三个阶梯,可赎回债券和三个阶梯香草债券和显示仪表组合。

定居=' 01 - 1月- 2010;成熟= {' 01 - 1月- 2012;' 01 - 1月- 2013;' 01 - 1月- 2014};CouponRate = {{' 01 - 1月- 2011.042;' 01 - 1月- 2012. 05;' 01 - 1月- 20130.06;' 01 - 1月- 201407}};OptSpec =“电话”;罢工= 100;ExerciseDates =' 01 - 1月- 2011;一年内赎回具有隐含期权债券%= instoptembnd(优惠券,结算,到期,期权,罢工,罢工)ExerciseDates,“时间”,1);%纯债券ISet = instbond(ISet, CouponRate, Settle, Maturity, 1);instdisp (ISet)
索引类型CouponRate Settle的成熟度OptSpec击ExerciseDates周期为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate的StartDate工作面AmericanOpt 1 OptEmBond [电池] 01-JAN-2010 01-JAN-2012呼叫100 01-JAN-2011 1 0 1楠楠楠楠100 0 2 OptEmBond[电池] 01-JAN-2010 01-JAN-2013呼叫100 01-JAN-2011 1 0 1楠楠楠楠100 0 3 OptEmBond [电池] 01-JAN-2010 01-JAN-2014呼叫100 01-Jan-2011 1 0 1楠楠楠楠100 0索引类型CouponRate Settle的成熟期基础EndMonthRule IssueDate FirstCouponDate LastCouponDate的StartDate工作面4邦德[电池] 01-JAN-2010 01-JAN-2012 1 0 1楠楠楠楠100 5债券[细胞] 01-JAN-2010 01-JAN-2013 1 0 1楠楠楠楠100 6邦德[电池] 01-JAN-2010 01-JAN-2014 1 0 1楠楠楠楠100

构建具有下列数据的树:

波动率= [2;.19;只要;.17];CurveTerm = [1;2;3;4);HJMTimeSpec (ValuationDate, enddate);HJMVolSpec = HJMVolSpec (“比例”,波动性,CurveTerm,1E6);HJMT = hjmtree(HJMVolSpec,RS,HJMTimeSpec)
HJMT =同场的结构:FinObj: 'HJMFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734139 734504 734869 735235] TFwd: {[4x1双][3x1双][2x1双][3]}

价格器械包使用hjmprice

hjmprice(HJMT, ISet)
PHJM =6×1100.3682 100.1557 99.9232 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可以的StartDates,“EndDates”EndDates,“价格”,价格,“复利”复合)
RS =同场的结构:起始时间:[4x1 double]结束时间:[4x1 double]结束日期:[4x1 double]开始日期:734504 ValuationDate: 734504 Basis: 0结束月规则:1

用以下数据创建一个包含两个范围音符和一个浮动利率音符的工具组合,并显示结果:

扩展= 200;定居=“2011年1月- 1”;成熟=“2014年1月- 1”;%第一音域RateSched(1).Dates = {“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);%创建一个InstSetInstSet = instadd ('RangeFloat',利差,结算,到期,利率);增加一张浮动利率票据InstSet = instadd (InstSet,'浮动'(利差,安定,成熟);%显示组合仪器instdisp (InstSet)
索引类型传播Settle的成熟度RateSched FloatReset基础主要EndMonthRule 1 RangeFloat 200 01-JAN-2011 01-JAN-2014 [STRUCT] 1 0 100 1 2 RangeFloat 200 01-JAN-2011 01-JAN-2014 [STRUCT] 1 0 100 1索引类型传播Settle的成熟度FloatReset基础主要EndMonthRule癸FloorRate 3浮球200 01-JAN-2011 01-JAN-2014 1 0 100 1 Inf文件-Inf

构建树的数据如下:

波动率= [2;.19;只要;.17];CurveTerm = [1;2;3;4);MaTree = {“2012年1月- 1”;“2013年1月- 1”;“2014年1月- 1”;“2015年1月- 1”};HJMTS = hjmtimespec(ValuationDate,MaTree);HJMVS = hjmvolspec(“比例”,波动性,CurveTerm,1E6);HJMT = hjmtree(HJMVS,RS,HJMTS)
HJMT =同场的结构:FinObj: 'HJMFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23] dObs: [734504 734869 735235 735600] TFwd: {[4x1双][3x1双][2x1双][3]}

价格组合。

Price = hjmprice(HJMT, InstSet)
价格=3×191.1555 90.6656 105.5147

instswap创建一个浮浮交换价配合互换hjmprice

RateSpec = intenvset (“价格”,.05,'开始日期',今天,'结束日期'datemnth(今天60));= instswap([。02 . 03],今天,datemnth(今天,60),[],[],[],[1]);VolSpec = hjmvolspec (“不变”,0.2);TIMESPEC = hjmtimespec(今日,cfdates(今日,datemnth(今日,60),1));HJMTree = hjmtree(VolSpec,RateSpec,TIMESPEC);hjmprice(HJMTree,IS)
ANS = -4.3220

instswap创建多个掉期合约并为其定价hjmprice

RateSpec = intenvset (“价格”,.05,'开始日期',今天,'结束日期'datemnth(今天60));= instswap([。03年02),今天,datemnth(今天,60),[],[],[],[1]);是= instswap((200 300),今天,datemnth(今天,60),[],[],[],[0 0]);是= instswap((。08年300],今天datemnth(今天,60),[],[],[],[1 0]);VolSpec = hjmvolspec (“不变”,0.2);TIMESPEC = hjmtimespec(今日,cfdates(今日,datemnth(今日,60),1));HJMTree = hjmtree(VolSpec,RateSpec,TIMESPEC);hjmprice(HJMTree,IS)
ANS =3×14.3220 -4.3220 -0.2701

输入参数

全部收缩

利率树形结构,规定使用hjmtree

数据类型:结构

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

数据类型:结构

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

数据类型:结构

输出参数

全部收缩

价格为每台仪器,返回为NINST——- - - - - -1向量。利率树的价格是通过逆向动态规划来计算的。如果一种工具不能定价,则a为NaN在该条目中返回。

相关的单类定价功能有:

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

  • PriceTree.PTree包含清洁价格。

  • PriceTree.AITree包含应计利息。

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

之前介绍过的R2006a