capbyblk
使用Black期权定价模型的价格上限
语法
描述
例子
使用黑色期权定价模型为上限定价
假设一位投资者签订了一份合同,从2009年1月1日开始,一笔10万美元贷款的季度复利上限为8%,为期3个月。假设2008年1月1日零利率为6.9394%连续复利,波动率为20%,用这个数据来计算上限价格。首先,计算RateSpec
:
ValuationDate = datetime(2008,1,1);EndDates = datetime(2010,4,1);利率= 0.069394;复利= -1;基= 1;RateSpec = intenvset(“ValuationDate”ValuationDate,...startdate可以的ValuationDate,“EndDates”EndDates,...“利率”率,“复合”复合,“基础”基础)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:-1光盘:0.8554利率:0.0694 EndTimes: 2.2500 StartTimes: 0 EndDates: 734229 StartDates: 733408 ValuationDate: 733408基础:1 EndMonthRule: 1
计算上限的价格。
set = datetime(2009,1,1);%上限在一年内开始成熟度= datetime(2009,4,1);波动率= 0.20;CapRate = 0.08;CapReset = 4;校长= 100000;CapPrice = capbyblk(RateSpec, CapRate,结算,到期,波动性,...“重置”CapReset,“ValuationDate”ValuationDate,“校长”校长,...“基础”基础)
CapPrice = 51.6125
使用不同的曲线对上限进行定价,以生成未来远期利率
定义OIS和Libor利率。
Settle = 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]';
创建关联的RateSpec
OIS和Libor曲线。
OISCurve = intenvset(“利率”OISRates,StartDate可以的解决,“EndDates”CurveDates,“复合”2,“基础”1);LiborCurve = intenvset(“利率”LiborRates,StartDate可以的解决,“EndDates”CurveDates,“复合”2,“基础”1);
定义Cap工具。
成熟度= [datetime(2018,3,15);datetime(2020、3、15)];Strike = [0.04;0.05];BlackVol = 0.2;
使用期限结构为上限工具定价OISCurve
既可以折现现金流,也可以产生未来远期利率。
[Price, Caplets] = capbyblk(OISCurve, Strike, Settle, Maturity, BlackVol)
价格=2×10.7472 - 0.9890
囊片=2×70 0.0000 0.0033 0.2996 0.4443 NaN NaN 0 0.0000 0.0003 0.1134 0.2112 0.2292 0.4349
使用期限结构为上限工具定价LiborCurve
产生未来远期利率。期限结构OISCurve
用于现金流的折现。
[PriceLC, CapletsLC] = capbyblk(OISCurve, Strike, Settle, Maturity, BlackVol,“ProjectionCurve”LiborCurve)
PriceLC =2×11.3293 - 1.6329
CapletsLC =2×70 0.0000 0.0337 0.4250 0.8706 NaN 0 0.0000 0.0052 0.1767 0.4849 0.3663 0.5998
用黑色模型计算两个平摊上限的价格
定义RateSpec
.
比率= [0.0358;0.0421;0.0473;0.0527;0.0543);ValuationDate = datetime(2011,11,15);StartDates = 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光盘:[5x1 double]利率:[5x1 double]结束时间:[5x1 double]开始时间:[5x1 double]结束日期:[5x1 double]开始日期:734822估值日期:734822基础:0 EndMonthRule: 1
定义上限工具。
Settle = datetime(2011,11,15);成熟度= datetime(2015,11,15);Strike = [0.03;0.035];重置= 1;Principal ={{datetime(2012,11,15) 100;datetime(2013,11,15) 70;datetime(2014,11,15) 40;
为摊销上限定价。
波动率= 0.10;价格= capbyblk(利率,罢工,结算,到期,波动率,...“重置”重置,“校长”校长)
价格=2×13.0339 - 2.0141
使用移位的黑色模型为上限定价
创建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]结束时间:[5x1 double]开始时间:[5x1 double]结束日期:[5x1 double]开始日期:736390估值日期:736390基础:1 EndMonthRule: 1
使用移位黑色模型对负打击的上限定价。
Settle = datetime(2016,6,1);% Cap将在3个月内启动。成熟度= datetime(2016,9,1);ShiftedBlackVolatility = 0.31;CapRate = -0.003;% - 0.3%罢工。CapReset = 4;本金= 100000;Shift = 0.01;% 1%的变化。CapPrice = capbyblk(RateSpec,CapRate,结算,到期,ShiftedBlackVolatility,...“重置”CapReset,“ValuationDate”ValuationDate,“校长”校长,...“基础”的基础上,“转变”转变)
CapPrice = 26.0733
输入参数
罢工
- - - - - -执行上限的速率
小数
执行上限的速率,指定为NINST
——- - - - - -1
十进制向量。
数据类型:双
解决
- - - - - -结算上限日期
datetime数组|字符串数组|日期字符向量
结算日期的上限,指定为NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
要支持金宝app现有代码,capbyblk
也接受序列号作为输入,但不建议使用。
成熟
- - - - - -限额到期日期
datetime数组|字符串数组|日期字符向量
上限的到期日期,指定为NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
要支持金宝app现有代码,capbyblk
也接受序列号作为输入,但不建议使用。
波动
- - - - - -波动值
数字
volatile值,指定为NINST
——- - - - - -1
数值向量。
的波动
输入不用于波动曲面或多维数据集。如果你指定一个矩阵波动
输入,capbyblk
内部转换为一个向量。capbyblk
方法中指定的挥发性波动
输入是平坦的波动率,它平等地应用于每个小块。
数据类型:双
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:[CapPrice,Caplets] = capbyblk(RateSpec,Strike,Settle,Maturity,Volatility,'Reset',CapReset,'Principal',100000,'Basis',7)
重置
- - - - - -重置每年的付款频率
1
(默认)|数字
重置每年支付的频率,指定为NINST
——- - - - - -1
向量。
数据类型:双
主要
- - - - - -名义本金
One hundred.
(默认)|数字
名义本金,以a表示NINST
——- - - - - -1
向量还是aNINST
——- - - - - -1
单元阵列。当主要
是一个NINST
——- - - - - -1
单元格数组中,每个元素都是aNumDates
——- - - - - -2
单元格数组,其中第一列是日期,第二列是相关的本金金额。日期表示主体值有效的最后一天。
使用主要
传递一个时间表以计算摊销上限的价格。
数据类型:双
|细胞
基础
- - - - - -仪器的日计数基础
0
(实际/实际)(默认)|整数的0
来13
日计数基础,表示年化输入远期汇率时使用的基础,指定为NINST
——- - - - - -1
整数向量。
0 = actual/实际的
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
有关更多信息,请参见基础.
数据类型:双
ProjectionCurve
- - - - - -用于计算未来远期利率的利率曲线
如果ProjectionCurve
没有指定,那么RateSpec
既用于折现现金流,又用于预测未来远期利率(默认)|结构
用于生成未来远期利率的利率曲线。此结构必须使用intenvset
.如果远期曲线与贴现曲线不同,则使用此可选输入。
数据类型:结构体
转变
- - - - - -移位布莱克模型的小数移位
0
(没有变化)(默认)|积极的小数
移位的Black模型的小数移位,使用标量或指定NINST
——- - - - - -1
速率以正小数移动的向量。将此参数设置为小数形式的正速率移动,以向正向速率和走向添加正移动,这将有效地为正向速率设置负下限。例如,转变
的0.01
等于1%的位移。
数据类型:双
输出参数
CapPrice
-上限预期价格
向量
预期价格的上限,返回作为一个NINST
——- - - - - -1
向量。
囊片
——囊片
数组
Caplets,返回为aNINST
——- - - - - -NCF
阵列的小片,垫南
年代。
更多关于
算法
版本历史
在R2009a中引入Abrir比如
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
MATLAB突击队
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。