swaptionbynormal
使用Normal或Bachelier期权定价模型的价格互换
语法
描述
例子
使用正常模型为交换定价
定义零曲线,并创建一个RateSpec
.
Settle = datetime(2016,1,20);ZeroTimes =[。5 1 2 3 4 5 7 10 20 30]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';ZeroDates = datemnth(Settle,12*ZeroTimes);RateSpec = intenvset(StartDate可以的解决,“EndDates”ZeroDates,“利率”ZeroRates)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:2光盘:[10x1 double]利率:[10x1 double]结束时间:[10x1 double]开始时间:[10x1 double]结束日期:[10x1 double]开始日期:736349估值日期:736349基础:0 EndMonthRule: 1
定义交换。
ExerciseDate = datetime(2021,1,20);成熟度= datetime(2026,1,20);OptSpec =“电话”;LegReset = [1 1];
计算票面交换率。
[~,ParSwapRate] = swapbyzero(RateSpec,[NaN 0],Settle,Maturity,“LegReset”LegReset)
ParSwapRate = 0.0216
Strike = ParSwapRate;BlackVol = .3;NormalVol = BlackVol*ParSwapRate;
带有黑色波动的价格。
Price = swaptionbyblk(RateSpec,OptSpec,Strike,Settle,ExerciseDate,Maturity,BlackVol)
价格= 5.9756
价格波动正常。
Price_Normal = swaptionbynormal(RateSpec,OptSpec,Strike,Settle,ExerciseDate,Maturity,NormalVol)
Price_Normal = 5.5537
使用正常模型为具有接收腿和支付腿的交换定价
创建一个RateSpec
.
比率= 0.06;复利= -1;ValuationDate = datetime(2010,1,1);EndDates = datetime(2020,1,1);基= 1;RateSpec = intenvset(“ValuationDate”ValuationDate,startdate可以的ValuationDate,…“EndDates”EndDates,“利率”率,“复合”复合,“基础”、基础);
定义交换。
ExerciseDate = datetime(2021,1,20);成熟度= datetime(2026,1,20);set = datetime(2010,1,1);OptSpec =“电话”;罢工= .09;NormalVol = .03;Reset = [1 4];第一列表示接收部分,第二列表示支付部分基础= [1 7];第一列表示接收部分,第二列表示支付部分
价格波动正常。
Price_Normal = swaptionbynormal(RateSpec,OptSpec,Strike,Settle,ExerciseDate,Maturity,NormalVol,“重置”重置,“基础”基础)
Price_Normal = 5.9084
为交换使用定价swaptionbynormal
和比较swaptionbyblk
定义RateSpec
.
Settle = datetime(2016,1,20);ZeroTimes =[。5 1 2 3 4 5 7 10 20 30]';ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';ZeroDates = datemnth(Settle,12*ZeroTimes);RateSpec = intenvset(StartDate可以的解决,“EndDates”ZeroDates,“利率”ZeroRates)
RateSpec =带字段的结构:FinObj: 'RateSpec'复合:2光盘:[10x1 double]利率:[10x1 double]结束时间:[10x1 double]开始时间:[10x1 double]结束日期:[10x1 double]开始日期:736349估值日期:736349基础:0 EndMonthRule: 1
定义交换工具和价格swaptionbyblk
.
ExerciseDate = datetime(2021,1,20);成熟度= datetime(2026,1,20);OptSpec =“电话”;[~,ParSwapRate] = swapbyzero(RateSpec,[NaN 0],Settle,Maturity,StartDate可以的ExerciseDate)
ParSwapRate = 0.0326
Strike = ParSwapRate;BlackVol = .3;NormalVol = BlackVol*ParSwapRate;Price = swaptionbyblk(RateSpec,OptSpec,Strike,Settle,ExerciseDate,Maturity,BlackVol)
价格= 3.6908
定价交换工具使用swaptionbynormal
.
Price_Normal = swaptionbynormal(RateSpec,OptSpec,Strike,Settle,ExerciseDate,Maturity,NormalVol)
Price_Normal = 3.7602
定价交换工具使用swaptionbynormal
为了一个消极的打击。
Price_Normal = swaptionbynormal(RateSpec,OptSpec,-.005,Settle,ExerciseDate,Maturity,NormalVol)
Price_Normal = 16.3674
输入参数
OptSpec
- - - - - -期权的定义
带值的字符向量“电话”
或“把”
|带有值的字符向量的单元格数组“电话”
或“把”
选项的定义为“电话”
或“把”
,指定为NINST
——- - - - - -1
字符向量的单元格数组。
一个“电话”
掉期期权,或付款人互换期权,允许期权买方进入利率掉期,期权买方支付固定利率,获得浮动利率。
一个“把”
掉期期权,或接收机互换期权,允许期权买方进入利率掉期,期权买方获得固定利率,支付浮动利率。
数据类型:字符
|细胞
罢工
- - - - - -取消掉期利率值
小数
取消交换速率值,指定为aNINST
——- - - - - -1
十进制向量。
数据类型:双
解决
- - - - - -结算日期
datetime数组|字符串数组|日期字符向量
结算日期(表示每次交换的结算日期),指定为NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。解决
一定不能晚于ExerciseDates
.
要支持金宝app现有代码,swaptionbynormal
也接受序列号作为输入,但不建议使用。
的解决
日期输入swaptionbynormal
是互换(进入互换的期权)定价的估值日期。掉期买方在这个日期支付这个价格来持有掉期。
ExerciseDates
- - - - - -交换到期和基础交换开始的日期
datetime数组|字符串数组|日期字符向量
交换到期和基础交换开始的日期,指定为NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。只有一个ExerciseDate
在期权到期日。这也是StartDate可以
远期掉期。
要支持金宝app现有代码,swaptionbynormal
也接受序列号作为输入,但不建议使用。
成熟
- - - - - -远期互换的到期日
datetime数组|字符串数组|日期字符向量
每个远期互换的到期日,用NINST
——- - - - - -1
向量,使用日期时间数组、字符串数组或日期字符向量。
要支持金宝app现有代码,swaptionbynormal
也接受序列号作为输入,但不建议使用。
波动
- - - - - -波动值
数字
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:价格= swaptionbynormal(OISCurve,OptSpec,Strike,Settle,ExerciseDate,Maturity,NormalVol,'Reset',4)
重置
- - - - - -重置每年远期掉期的频率
1
(默认)|数字
基础远期掉期的每年重置频率,指定为由逗号分隔的对组成“重置”
和一个NINST
——- - - - - -1
向量或NINST
——- - - - - -2
矩阵表示每个腿每年的重置频率。如果重置
是NINST
——- - - - - -2
,第一列表示接收部分,第二列表示支付部分。
数据类型:双
基础
- - - - - -仪器的日计数基础
0
(实际/实际)(默认)|整数的0
来13
仪器的日计数基础,表示年化输入期限结构时使用的基础,指定为逗号分隔的对,由“基础”
和一个NINST
——- - - - - -1
向量或NINST
——- - - - - -2
矩阵表示每条腿的基。如果基础
是NINST
——- - - - - -2
,第一列表示接收部分,第二列表示支付部分。
值:
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
有关更多信息,请参见基础.
数据类型:双
主要
- - - - - -名义本金
One hundred.
(默认)|数字
名义上的本金,以逗号分隔的一对组成“校长”
和一个NINST
——- - - - - -1
向量。
数据类型:双
ProjectionCurve
- - - - - -用于预测未来现金流的利率曲线
如果ProjectionCurve
没有指定,那么RateSpec
既用于贴现现金流,又用于预测未来现金流(默认)|结构
用于预测未来现金流的利率曲线,由逗号分隔的对组成“ProjectionCurve”
以及一个速率曲线结构。此结构必须使用intenvset
.如果远期曲线与贴现曲线不同,则使用此可选输入。
数据类型:结构体
输出参数
价格
-时间0时的互换价格
向量
0时刻互换的价格,返回为aNINST
——- - - - - -1
价格向量。
更多关于
电话掉期期权
一个电话掉期期权或付款人互换允许期权买方进入利率互换,其中期权买方支付固定利率并获得浮动利率。
放掉期期权
一个放掉期期权或接收方掉期允许期权买方进入利率掉期,期权买方获得固定利率,支付浮动利率。
版本历史
在R2017a中引入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国家站点没有针对您所在位置的访问进行优化。