此示例说明了如何使用Financial Instruments Toolbox™创建Black-Derman-Toy (BDT)树,并使用BDT模型为工具组合定价。
结构RateSpec
是一种利率期限结构,它定义了初始远期利率规格,树利率就是从这个规格衍生出来的。使用下表中的年化零利率信息来填充RateSpec
结构。
从评价
2005年1月1日2006年1月1日
2005年1月1日2007年1月1日
2005年1月1日2008年1月1日
2005年1月1日2009年1月1日0.0415
2005年1月1日2010年1月1日
startdate可以= [2005年1月1日的];EndDates = [2006年1月1日的;2007年1月1日的;2008年1月1日的;2009年1月1日的;2010年1月1日的];ValuationDate = [2005年1月1日的];率= (0.0275;0.0312;0.0363;0.0415;0.0458);复合= 1;RateSpec = intenvset (“复合”复合,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“ValuationDate”ValuationDate)
RateSpec =结构体字段:FinObj: 'RateSpec' compound: 1 Disc: [5x1 double] Rates: [5x1 double] EndTimes: [5x1 double] StartTimes: [5x1 double] EndDates: [5x1 double] StartDates: 732313 ValuationDate: 732313 Basis: 0 EndMonthRule: 1
创建结构VolSpec
它使用以下数据指定波动性过程。
波动率= (0.005;0.0055;0.006;0.0065;0.007);BDTVolSpec = BDTVolSpec (ValuationDate, EndDates, Volatility)
BDTVolSpec =结构体字段:FinObj: 'BDTVolSpec' ValuationDate: 732313 VolDates: [5x1 double] VolCurve: [5x1 double] VolInterpMethod: 'linear'
结构TimeSpec
指定利率树的时间结构。这个结构定义了树的每一层的观察时间和相应日期之间的映射。
成熟= EndDates;BDTTimeSpec = BDTTimeSpec (ValuationDate,到期,复利)
BDTTimeSpec =结构体字段:FinObj: 'BDTTimeSpec' ValuationDate: 732313到期:[5x1 double]复利:1基础:0 endmonth规则:1
使用前面计算的值RateSpec
,VolSpec
,TimeSpec
创建BDTTree
.
BDTTree = BDTTree (BDTVolSpec, RateSpec, BDTTimeSpec)
BDTTree =结构体字段:FinObj: 'BDTFwdTree' VolSpec: [1x1 struct] TimeSpec: [1x1 struct] RateSpec: [1x1 struct] tObs: [0 1 23 4] dObs: [732313 732678 733043 733408 733774] TFwd: {[5x1 double] [4x1 double] [3x1 double] [2x1 double] [4]} FwdTree: {1x1 cell}
通过观察产出结构,想象利率沿着树的演变BDTTree
.BDTTree
返回一个逆贴现树,你可以将它转换成利率树cvtree
函数。
BDTTreeR = cvtree (BDTTree);
看看树的上分支和下分支路径:
%根节点的速率:RateRoot = treepath (BDTTreeR。RateTree [0])
RateRoot = 0.0275
沿上支率:RatePathUp = treepath (BDTTreeR。rattree, [1 1 1])
RatePathUp =5×10.0275 0.0347 0.0460 0.0560 0.0612
沿下分支的百分比:RatePathDown = treepath (BDTTreeR。rattree, [2 2 2])
RatePathDown =5×10.0275 0.0351 0.0472 0.0585 0.0653
您还可以显示树的图形表示,以交互方式检查树中节点的速率,直到成熟为止。这个函数树状视图
在左侧窗格中显示速率树的结构。右边窗格中的树显示是空白的,但是通过选择图
点击节点,你可以沿着路径检查速率。
treeview (BDTTreeR)
创建一个投资组合,包括两种债券工具和5%债券的期权。
%的债券CouponRate = [0.04, 0.05];解决=2005年1月1日的;成熟= [2009年1月1日的;2010年1月1日的];时间= 1;%的选择OptSpec = {“电话”};罢工= 98;ExerciseDates = [2010年1月1日的];AmericanOpt = 1;InstSet = instadd (“债券”,息票率,结算,到期,期限);InstSet = instadd (InstSet,“OptBond”, 2, OptSpec, Strike, ExerciseDates, AmericanOpt);
检查变量中包含的一组工具InstSet
.
instdisp (InstSet)
指数类型CouponRate结算期限为基础EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate可以面对1键0.04 01 - 1月- 2005年01 - 1月- 2009年1 0 1南南南南100 2 0.05债券01 - 1月- 2005年01 - 1月- 2010年1 0 1南南南南100指数类型UnderInd OptSpec罢工ExerciseDates AmericanOpt 3 OptBond 2拨打98 01 - 1月- 2010年1
计算仪器组中每台仪器的价格(InstSet
)使用bdtprice
.
价格= bdtprice(BDTTree, InstSet)
价格=3×199.6374 102.2460 4.2460
价格在输出向量中价格
对应于观测时刻0的价格(则
=0
),它被定义为利率树的估值日期。
在价格
向量,第一个元素,99.6374
,表示第一种工具的价格(4% Bond);第二个元素,102.2460
,表示第二种工具(5%债券)的价格4.2460
表示期权的价格。
instadd
|instaddfield
|instdelete
|instdisp
|instfields
|instfind
|instget
|instgetcell
|instlength
|instselect
|instsetfield
|insttypes
|intenvset
|hedgeopt
|hedgeslf