主要内容

使用Black-Derman-Toy Model定价抵押贷款支持证券

此示例说明了金融工具箱™和金融仪器工具箱™如何使用BDT模型来价格抵押贷款支持安全性。

加载存储在数据文件中的BDT树

加载mbsexample.mat.

观察利率树

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

bdttreer = cvtree(bdttree);

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

oldformat = get(0,'格式');格式短的root节点的%速率:rateroot = treepath(bdttreer.ratetree,0)
RateToot = 0.0399.
沿着上部分支的%率:RatePathUp = treepath(bdttreer.ratetree,[1 1 1 1 1])
RatePathUp =.6×10.0399 0.0397 0.0391 0.0383 0.0373 0.0360
沿着低级分支的估计价格:RatePathDown = TreePath(BDTTreer.ratetree,[2 2 2 2 2])
RAPEPTOWD =.6×10.0399 0.0470 0.0550 0.0638 0.0734 0.0841

计算非预付抵押贷款的价格树

让我们说,我们拥有3年10000美元的预付贷款,抵押贷款利率为4.64%的半年复合。

mortgageamount = 10000;佣金= 0.0464;期限= 2;安顿='01-jan-2007';成熟='01-jan-2010';复合= bdttree.timespec.compounding;格式银行

使用功能缓冲在金融工具箱中计算贷款(MP),利息和主要成分以及未偿还的本金余额。

numperiods = date2time(定居,成熟,复合)';[校长,有股,未完成的差距,MP] =摊销(优惠变换/期间,Numperiods,Mortgageamount);%显示主要,兴趣和未结余额Principalamount =校长'
principalamount =6×11572.59 1609.07 1646.40 1684.60 1723.68 1763.67
利息留下了=有激的宝
利息留下=6×1232.00 195.52 158.19 119.99 80.91 40.92
OfferningBalanceamount = Offerengebalance'
OfferningBalanceamount =6×18427.41 6818.34 5171.94 3487.35 1763.67 0.00
cflowamounts = MP * ONE(1,NUMPERIODS);%clowddates与树级日期相同cflowdates = {'01-jul-2007''01-jan-2008''01-jul-2008''01-jan-2009''01-jul-2009''01-jan-2010'};%计算非预付抵押贷款的价格[PricenonPrepayableMortgage,PricetreenonPreabayableMortgegal] = CFBYBDT(BDTTree,CFlowamounts,CFlowdates,Setten);为了inlevel = 2:长度(pricetreenonprepayablemortgage.ptree)pricetreenonprepayablemortgage.ptree {inlevel}(:,:) = pricetreenonprepayablemortgage.ptree {inlevel}(:,) -  mp;结尾%看看抵押贷款的价格tobs = 0Pricenonprepayablemortgage.
pricenonprepayablemortgage = 10017.47
%非预付抵押贷款的价值为10017.47美元。这个值超过了自房主因收到10000美元而借来的10000美元金额,但%也是预付选项。%看最后一个日期的抵押贷款的价值,就在最后一次之后%抵押贷款支付,零:pricetreenonprepayablemortgage.ptree {结束}
ans =.1×6.0 0 0 0 0 0
%可视化非预付抵押贷款的价格树。TreeViewer(PricetreenonprepayableMortgage)

图形树查看器包含2个轴和UIControl类型的其他对象。轴1包含63个类型的类型。轴2是空的。

计算预付选项的价格树

%prepayment选项就像债券上的呼叫选项。%行使价格或罢工将等于未偿还的本金额使用该功能计算的%。optspec ='称呼';罢工= [Mortgageamount OfferentBalance];锻炼= [解决clowdate];americanopt = 0;成熟= CFlowdates(END);%计算预付款选项的价格:[PricePrepaymentOption,PricetreePrepaymentOption] = PrepaymentByBDT(BDTTree,Optspec,Strike,Astractionates,Americanopt,......0,定居,成熟,[],[],[],......[],[],[],[],0,[],cflowamounts);%看看今天预付款选项的价格(tobs = 0)PriceprepaymentOption.
PricePrepaymentOption = 17.47
%预计选项的价值是预期的17.47美元。%可视化预付选项的价格树TreeViewer(PricetreePrepaymentOption)

图形树查看器包含2个轴和UIControl类型的其他对象。轴1包含63个类型的类型。轴2是空的。

计算预付抵押贷款的价格树。

%计算预付款抵押贷款的价格。PricePrepayableMortgage = PricenonPrepayableMortgage  -  PricePrepaymentOption;pricetreeprepayablemortgage = pricetreenonprepayablemortgage;为了Ilevel = 1:长度(pricetreenonprepayablemortgage.ptree)pricetreeprepayablemortgage.ptree {inlevel}(:,:) = pricetreenonprepayablemortgage.ptree {inlevel}(:,) -......pricetreepaymentOption.ptree {inlevel}(:, :);结尾%看看今天预付款抵押的价格(Tobs = 0)PricePrepayableMortgage.
PricePrepayableMortgage = 10000.00
%抵押贷款的价值按预期为10000美元。%可视化预付抵押贷款的价格和价格树TreeViewer(PricetreePrepayableMortgage)

图形树查看器包含2个轴和UIControl类型的其他对象。轴1包含63个类型的类型。轴2是空的。

设置(0,'格式',oldformat);

也可以看看

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

相关例子

更多关于