主要内容

floorbyblk

使用Black期权定价模型进行定价

描述

例子

FloorPriceFloorlets) = floorbyblk (RateSpec罢工解决成熟波动使用黑色期权定价模型的价格下限。floorbyblk计算香草地板和摊还地板的价格。

请注意

或者,您也可以使用地板上反对底价工具。有关更多信息,请参见开始使用基于对象的框架为金融工具定价的工作流程

例子

FloorPriceFloorlets) = floorbyblk (___名称,值添加可选的名称-值对参数。

例子

全部折叠

这个例子展示了如何使用黑色期权定价模型为楼层定价。假设一位投资者签订了一份合同,将10万美元贷款的利率设定为6%的季度复利,期限为3个月,从2009年1月1日开始。假设2008年1月1日零利率连续复利为6.9394%,波动率为20%,使用该数据计算底价。

ValuationDate = datetime(2008、1、1);EndDates = datetime (2010 4 1);率= 0.069394;复合= 1;基础= 1;%计算RateSpecRateSpec = intenvset (“ValuationDate”ValuationDate,...startdate可以的ValuationDate,“EndDates”EndDates,...“利率”率,“复合”复合,“基础”、基础);解决= datetime(2009、1、1);一年内开始成熟= datetime (2009 4 1);波动率= 0.20;FloorRate = 0.06;FloorReset = 4;校长= 100000;FloorPrice = floorbyblk(rate, FloorRate,结算,期限,波动率,...“重置”FloorReset,“ValuationDate”ValuationDate,“校长”校长,...“基础”基础)
FloorPrice = 37.4864

定义OIS和Libor利率。

解决= datetime(2013、3、15);CurveDates = daysadd(设置,360*[1/12 2/12 3/12 6/12 12 3 4 5 7 10],1);OISRates =[。0018 .0019 .0021 .0023 .0031 .006 .011 .017 .021 .026 .03]'; LiborRates = [.0045 .0047 .005 .0055 .0075 .0109 .0162 .0216 .0262 .0309 .0348]';

创建一个关联RateSpecOIS和Libor曲线。

OISCurve = intenvset (“利率”OISRates,StartDate可以的解决,“EndDates”CurveDates,“复合”2,“基础”1);LiborCurve = intenvset (“利率”LiborRates,StartDate可以的解决,“EndDates”CurveDates,“复合”2,“基础”1);

定义楼层仪器。

成熟度= [datetime(2018,3,15);datetime(2020、3、15)];罢工=[.04点;. 05];BlackVol = 2;

使用期限结构为底部工具定价OISCurve贴现现金流和产生未来远期利率。

[价格,Floorlets] = floorbyblk(OISCurve, Strike, Settle, Maturity, BlackVol)
价格=2×19.9808 - 16.9057
Floorlets =2×73.6783 3.0706 1.8275 0.7280 0.6764南南4.6753 4.0587 2.7921 1.4763 1.3442 1.4130 1.1462

使用期限结构为底部工具定价LiborCurve产生远期利率。期限结构OISCurve用于现金流折现。

[PriceLC, FloorletsLC] = floorbyblk(OISCurve, Strike, Settle, Maturity, BlackVol,“ProjectionCurve”LiborCurve)
PriceLC =2×18.0524 - 14.3184
FloorletsLC =2×73.2385 2.5338 1.2895 0.5889 0.4017南南4.2355 3.5219 2.2286 1.2751 0.9169 1.1698 0.9706

定义RateSpec

率= (0.0358;0.0421;0.0473;0.0527;0.0543);ValuationDate = datetime(2011、11、15);startdate可以= ValuationDate;EndDates = [datetime(2012,11,15);datetime(2013、11、15);datetime(2014、11、15); datetime(2015,11,15) ; datetime(2016,11,15)]; Compounding = 1; RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“复合”复合)
RateSpec =结构体字段:FinObj: 'RateSpec'复合:1 Disc: [5x1 double] Rates: [5x1 double] EndTimes: [5x1 double] StartTimes: [5x1 double] EndDates: [5x1 double] StartDates: 734822 ValuationDate: 734822 Basis: 0 EndMonthRule: 1

定义地板仪表。

解决= datetime(2011、11、15);成熟= datetime(2015、11、15);罢工= 0.05;重置= 2;Principal ={{datetime(2012,11,15) 100;datetime(2013,11,15) 70;datetime(2014,11,15) 40;datetime(2015,11,15) 10}};

为摊销地板定价。

波动率= 0.20;价格=利率,执行,结算,期限,波动率,...“重置”重置,“校长”校长)
价格= 1.9315

创建RateSpec

ValuationDate = datetime (2016 3 1);EndDates = [datetime(2017,3,1);datetime (2018 3 1);datetime (2019 3 1);datetime (2020 3 1);datetime (2021 3 1)];率= (-0.21;-0.12;0.01;0.10; 0.20]/100; Compounding = 1; Basis = 1; RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的ValuationDate,...“EndDates”EndDates,“利率”率,“复合”复合,“基础”基础)
RateSpec =结构体字段:FinObj: 'RateSpec'复合:1盘:[5x1 double]利率:[5x1 double] EndTimes: [5x1 double] StartTimes: [5x1 double] EndDates: [5x1 double] StartDates: 736390估值日期:736390基础:1 EndMonthRule: 1

使用移位黑色模型对地板进行负打击定价。

解决= datetime(2016、6、1);3个月后开始。成熟= datetime (2016 9, 1);ShiftedBlackVolatility = 0.31;FloorRate = -0.001;% - 0.1%罢工。FloorReset = 4;校长= 100000;转变= 0.01;% 1%的移动。FloorPrice = floorbyblk (RateSpec FloorRate,解决、成熟度、ShiftedBlackVolatility...“重置”FloorReset,“ValuationDate”ValuationDate,“校长”校长,...“基础”的基础上,“转变”转变)
FloorPrice = 31.2099

输入参数

全部折叠

利率期限结构(年化和连续复利),由RateSpec获得intenvset.有关利率规范的信息,请参见intenvset

数据类型:结构体

执行楼层的速率,指定为NINST——- - - - - -1十进制值的向量。

数据类型:

结算日期为楼层,指定为NINST——- - - - - -1Vector,使用日期时间数组、字符串数组或日期字符向量。

要支持现有代码,floorbyblk也接受序列号作为输入,但不建议使用。

楼面的到期日,以NINST——- - - - - -1Vector,使用日期时间数组、字符串数组或日期字符向量。

要支持现有代码,floorbyblk也接受序列号作为输入,但不建议使用。

波动值,指定为NINST——- - - - - -1数值的向量。

波动输入不用于波动性曲面或多维数据集。如果你指定一个矩阵波动输入,floorbyblk内部转换成一个向量。floorbyblk中指定的波动率波动输入是平坦的波动,它被平等地应用到每个地板上。

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:[FloorPrice, Floorlets] = floorbyblk (RateSpec,罢工,解决,成熟度,波动,“重置”,CapReset,“校长”,100000年,“基础”,7)

重置每年支付频率,指定为NINST——- - - - - -1向量。

数据类型:

名义本金金额,指定为NINST——- - - - - -1名义本金,或NINST——- - - - - -1单元阵列。当主要是一个NINST——- - - - - -1单元格数组中,每个元素都是一个NumDates——- - - - - -2单元格数组,其中第一列是日期,第二列是相关的本金金额。日期表示主值有效的最后一天。

使用主要通过一个计划表来计算摊销层的价格。

数据类型:|细胞

日计基准,表示在年化远期投入汇率时使用的基准,指定为NINST——- - - - - -1向量的整数。

  • 0 =实际/实际

  • 1 = 30/360 (sia)

  • 2 =实际/ 360

  • 3 =实际/ 365

  • 4 = 30/360 (psa)

  • 5 = 30/360 (isda)

  • 6 = 30/360(欧洲)

  • 7 =实际/365(日文)

  • 8 =实际/实际(ICMA)

  • 9 =实际/360 (ICMA)

  • 10 =实际/365 (ICMA)

  • 11 = 30/360e (icma)

  • 12 =实际/365 (ISDA)

  • 13 =总线/ 252

有关更多信息,请参见基础

数据类型:

用于产生未来远期利率的利率曲线。此结构必须使用intenvset.如果远期曲线与贴现曲线不同,则使用此可选输入。

数据类型:结构体

对移位的Black模型进行小数移位,使用标量或指定NINST——- - - - - -1在正小数中速率移动的向量。将此参数设置为小数形式的正汇率偏移,以将正汇率偏移添加到正向汇率和strike中,这将有效地设置正向汇率的负下限。例如,一个转变0.01等于1%的位移。

数据类型:

输出参数

全部折叠

预期楼价,归为一NINST——- - - - - -1向量。

地板,返回作为一个NINST——- - - - - -NCF一排排地板,填充年代。

更多关于

全部折叠

地板上

一个地板上是一种合同,其中包括一项保证,该保证规定了持有人根据浮动利率获得的最低利率。

一层楼的回报是:

马克斯 F l o o r R 一个 t e C u r r e n t R 一个 t e 0

了黑

了黑模型本质上与布莱克模型相同,不同之处在于它模拟了(的运动)。F+转变)作为标的资产,而不是F(这是在地板的情况下的前进速率)。

该模型允许负利率,由移动量定义一个固定的负下限;也就是说,布莱克模型的零下界被移动了。

算法

全部折叠

黑色的模型

d F σ B l 一个 c k F d w c 一个 l l e γ T F N d 1 K N d 2 p u t e γ T K N d 2 F N d 1 d 1 ln F K + σ B 2 2 T σ B T d 2 d 1 σ B T σ B σ B l 一个 c k

在哪里F远期价值是和吗K是罢工。

将黑色的模型

d F σ 年代 h f t e d _ B l 一个 c k F + 年代 h f t d w c 一个 l l e γ T F + 年代 h f t N d 年代 1 K + 年代 h f t N d 年代 2 p u t e γ T K + 年代 h f t N d 年代 2 F + 年代 h f t N d 年代 1 d 年代 1 ln F + 年代 h f t K + 年代 h f t + σ 年代 B 2 2 T σ 年代 B T d 年代 2 d 年代 1 σ 年代 B T σ 年代 B σ 年代 h f t e d _ B l 一个 c k

在哪里F+转变远期价值是和吗K+转变是移位版本的打击。

版本历史

介绍了R2009a

全部展开

Baidu
map