主要内容

使用Black-Derman-Toy Model定价投资组合

此示例说明了金融仪器Toolbox™如何用于创建Black-Derman-Toy(BDT)树,并使用BDT模型为仪器组合价格。

创建利率期限结构

结构RatesPec是一个兴趣率的术语结构,它定义了从中派生树费率的初始转发速率规范。使用下表中的年化零优惠券率的信息填充RatesPec结构。

从率

2005年1月1日01日1月1日0.0275

2005年1月01日2007年1月1日0.0312

2005年1月1日01日1月1日2008年0.0363

2005年1月1日2009年1月1日0.0415

2005年1月1日01日1日汇0.0458

startdates = ['01 2005年1月'];enddates = ['01 2006';'01 2007年1月';'01 2008年1月';'01 2009年1月';'01 2010年1月'];valationdate = ['01 2005年1月'];速率= [0.0275;0.0312;0.0363;0.0415;0.0458]复合= 1;ratespec = intenvset(“复合”,复合,'startdates',起始,......'enddates',结束,'费率',费率,'估值',估值)
ratespec =结构与字段:FINOBJ:'ratespec'复合:1个光盘:[5x1双]速率:[5x1双]启动时间:[5x1双]终点:[5x1 double] Startdates:732313估值:732313基础:0 endmonthleule:1

指定波动模型

创建结构volspec,该volspec指定具有以下数据的波动率进程。

波动率= [0.005;0.0055;0.006;0.0065;0.007];bdtvolspec = bdtvolspec(valuationdate,enddates,波动率)
bdtvolspec =结构与字段:FINOBJ:'BDTVOLSPEC'估值:732313 VOLDENTE:[5x1 DOUBLE]火山:[5x1双] volinterpmethod:'linear'

指定树的时间结构

结构TimeSpec指定兴趣率树的时间结构。该结构定义了树的每个级别和相应日期的观察时间之间的映射。

成熟= enddates;bdttimespec = bdttimespec(估值,成熟,复合)
bdttimespec =结构与字段:FINOBJ:'BDTTIMESPEC'估值:732313成熟:[5x1双]复合:1个基础:0终液:1

创建BDT树

使用先前计算的RatesPec,Volspec和Timespec的值来创建BDT树。

bdttree = bdttree(bdtvolspec,ratespec,bdttimespec)
bdttree =结构与字段:Finobj:'bdtfwdtree'volspec:[1x1 struct] timespec:[1x1 struct] ratespec:[1x1 struct] tobs:[0 1 2 3 4] DOB:[732313 732678 733043 733408 733774] TFWD:{[5x1双] [4x1Double] [3x1 Double] [2x1 Double] [4]} CFlowt:{[5x1 Double] [4x1 Double] [3x1 double] [2x1 double] [5]} fwdtree:{1x5 cell}

观察利率树

通过查看输出结构BDTTree来可视化树的兴趣进​​展。bdttree返回一个逆折扣树,您可以使用它转换为兴趣率树CVTree.功能。

bdttreer = cvtree(bdttree);

看看树的上部分支和下分支路径:

root节点的%速率:rateroot = treepath(bdttreer.ratetree,[0])
Rateroot = 0.0275.
沿着上部分支的%率:RatePathUp = TreePath(BDTTreer.ratetree,[1 1 1 1])
RatePathUp =.5×10.0275 0.0347 0.0460 0.0560 0.0612
沿着低级分支的估计价格:RatePathdown = treepath(bdttreer.ratetree,[2 2 2 2])
RAPEPTOWD =.5×10.0275 0.0351 0.0472 0.0585 0.0653

您还可以显示树的图形表示,以交互方式在树的节点上以交互方式检查到成熟度。函数treeViewer显示左窗格中的速率树的结构。右窗格中的树可视化为空白,但通过选择图表并单击节点,您可以沿路径检查速率。

TreeViewer(BDTTreer)

创建仪器组合

创建由两个债券仪器组成的投资组合,以及5%债券的选项。

%债券佣金= [0.04; 0.05];安顿='01 2005年1月';成熟= ['01 2009年1月';'01 2010年1月'];期限= 1;% 选项optspec = {'称呼'};罢工= 98;锻炼= ['01 2010年1月'];americanopt = 1;ettset = instaDD('键',优惠变换,定居,成熟,期限);ettset = instaDD(服用,'Optbond',2,optspec,罢工,锻炼,美国经验;

检查变量Instset中包含的一组仪器。

instdisp(服用)
索引类型汇率定位定期期基础终止终止发行首创职业职员最后一键突击队面部1债券0.04 01-Jan-2005 01-Jan-2009 1 0 1 Nan Nan Nan Nan 100 2债券0.05 01-Jan-2005 01-Jan-2010 1 0 1南南南南100指数型下调OptiSpec罢工锻炼Americanopt 3 Optbond 2致电98 01-Jan-2010 1

使用BDT树为投资组合价格

计算仪器集中的每个仪器的价格。

Price = BDTPRICE(BDTTREE,INSETSET)
价格=3×199.6374 102.2460 4.2460

输出矢量的价格价格对应于观察时间零(TOB = 0)的价格,其被定义为利率树的估值日期。

在价格向量中,第一个元素99.6374代表第一仪器的价格(4%债券);第二个元素102.2460代表第二仪器(5%债券)的价格,4.2460表示期权的价格。

也可以看看

||||||||||||||

相关例子

更多关于