掉期期权
仪对象
创建一个SwaptionInstrument
= fininstrument (InstrumentType
,'罢工
“strike_value,”ExerciseDate
”,exercice_date)掉期期权
通过指定对象InstrumentType
并设置属性用于指定的名称-值对参数罢工
和ExerciseDate
.想了解更多信息掉期期权
仪器,看更多关于.
InstrumentType
- - - - - -仪器类型“掉期期权”
|字符向量值“掉期期权”
仪器类型,指定为值为的字符串“掉期期权”
或者一个值为的字符向量“掉期期权”
.
数据类型:字符
|字符串
掉期期权
名称-值对的观点
指定必需的和可选的逗号分隔的对名称,值
参数。名称
参数名和价值
是相应的价值。名称
必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
.
SwaptionInstrument = fininstrument( “掉期期权”, '罢工',67 'ExerciseDate',日期时间(2019,1,30), '交换',Swap_obj, 'OptionType', “放”, 'ExerciseStyle', “欧洲”,'名称', “swaption_instrument”)
掉期期权
名称-值对的观点
“罢工”
- - - - - -选择罢工价值选项击值,指定为逗号分隔的一对组成的“罢工”
和标量非负的十进制值。
数据类型:双
“ExerciseDate”
- - - - - -期权行权日选项执行日期,指定为逗号分隔对,由“ExerciseDate”
以及标量日期时间、串行日期号、日期字符向量或日期字符串。
请注意
对于欧洲来说,只有一个选择ExerciseDate
在期权到期日。
如果使用日期字符向量或日期字符串,则格式必须是可识别的DateTime.
因为ExerciseDate
属性存储为日期时间。
数据类型:双
|字符
|字符串
|DateTime.
“交换”
- - - - - -标的换
对象换
对象标的换
对象,指定为逗号分隔的对,由“交换”
和一个标量换
对象。
数据类型:对象
掉期期权
名称-值对的观点
“OptionType”
- - - - - -选项类型“电话”
(默认)|字符串值“电话”
或者“把”
|字符向量值'打电话'
或者'放'
选项类型,指定为逗号分隔的一对组成的“OptionType”
以及标量字符串或字符向量。
数据类型:字符
|字符串
“名字”
- - - - - -用户定义的名称仪器”“
(默认)|字符串|特征向量用户定义的名称为仪器,指定为逗号分隔的一对组成的“名字”
以及标量字符串或字符向量。
数据类型:字符
|字符串
罢工
- - - - - -选择罢工价值期权行权价值,返回标非负十进制值。
数据类型:双
ExerciseDate
- - - - - -期权行权日选项执行日期,作为日期时间返回。
数据类型:DateTime.
换
- - - - - -标的换
对象换
对象换
对象,作为标量返回换
对象。
数据类型:对象
OptionType
- - - - - -选项类型“电话”
(默认)|字符串值“电话”
或者“把”
期权型,带的值作为字符串返回“电话”
或者“把”
.
数据类型:字符串
ExerciseStyle
- - - - - -选择运动风格“欧洲”
(默认)|字符串值“欧洲”
行使选择权的风格,用的值作为字符串返回“欧洲”
.
数据类型:字符串
名称
- - - - - -用户定义的名称仪器”“
(默认)|字符串用户定义的仪器名称,作为字符串返回。
数据类型:字符串
这个例子展示了定价a的工作流程掉期期权
仪器使用时SABR
模型和A.SABR
定价方法。
创造ratecurve
对象
创建A.ratecurve
对象使用ratecurve
.
解决= datetime(2018、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([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]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”,沉淀,零氮酸盐,零)
myRC = ratecurve具有属性:类型: “零” 配混:-1基础:0日期:[10×日期时间]价格:[10×双]结清:15九月2018 InterpMethod: “线性” ShortExtrapMethod: “下一个” LongExtrapMethod:“此前”
创造换
仪对象
使用fininstrument
要创建底层的换
仪器对象。
交换= fininstrument (“交换”,“成熟”datetime (2027 3 15),“LegRate”[0 0],“LegType”,......[“浮动”,“固定”],“名义上”, 100,StartDate可以的,日期时间(2022,3,15),“名字”,“swap_instrument”)
交换=交换与属性:LegRate: [0 0] LegType:[“浮动”“固定”]重置:[2 2]基础:[0 0]名义:100 LatestFloatingRate:[南南]ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [0 x0 ratecurve] BusinessDayConvention:(“实际”“实际”)假期:NaT EndMonthRule: [1] StartDate可以:15 - 3月- 2022成熟:15 - 3月- 2027的名字:“swap_instrument”
创造掉期期权
仪对象
使用fininstrument
创建一个掉期期权
仪器对象。
掉期期权= fininstrument (“掉期期权”,“罢工”, 0.02,“ExerciseDate”,日期时间(2022,3,15),“交换”交换,“名字”,“swaption_option”)
Swap =交换属性:OptionType: "call" exercisstyle: "european" exercisdate: 15-Mar-2022 Strike: 0.0200 Swap: [1x1 fininstrument。交换)的名字:“swaption_option”
创造SABR
模型对象
使用Finmodel.
创建一个SABR
模型对象。
SabrModel = finmodel (“SABR”,“阿尔法”,0.032,“测试版”, 0.04,的ρ、。08“怒江”, 0.49,“转变”,0.002)
SabrModel = SABR的属性:Alpha: 0.0320 Beta: 0.0400 Rho: 0.0800 Nu: 0.4900 Shift: 0.0020
创造SABR
定价的人对象
使用finpricer
创建一个SABR
对象,并使用ratecurve
对象的'DiscountCurve'
名称-值对的论点。
outPricer = finpricer (“分析”,'型号'SabrModel,'DiscountCurve'myRC)
outPricer = SABR with properties:SABR]
价格掉期期权
仪器
使用价格
来计算价格掉期期权
乐器。
价格=价格(outPricer互换期权)
价格= 10.8558
这个例子展示了定价a的工作流程掉期期权
仪器使用时黑色的
模型和A.黑色的
定价方法。
创造ratecurve
对象
创建A.ratecurve
对象使用ratecurve
.
解决= datetime(2018、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([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]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”,沉淀,零氮酸盐,零)
myRC = ratecurve具有属性:类型: “零” 配混:-1基础:0日期:[10×日期时间]价格:[10×双]结清:15九月2018 InterpMethod: “线性” ShortExtrapMethod: “下一个” LongExtrapMethod:“此前”
创造换
仪对象
使用fininstrument
要创建底层的换
仪器对象。
交换= fininstrument (“交换”,“成熟”datetime (2027 3 15),“LegRate”[0 0],“LegType”,......[“浮动”,“固定”],“名义上”, 100,StartDate可以的,日期时间(2022,3,15),“名字”,“swap_instrument”)
交换=交换与属性:LegRate: [0 0] LegType:[“浮动”“固定”]重置:[2 2]基础:[0 0]名义:100 LatestFloatingRate:[南南]ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [0 x0 ratecurve] BusinessDayConvention:(“实际”“实际”)假期:NaT EndMonthRule: [1] StartDate可以:15 - 3月- 2022成熟:15 - 3月- 2027的名字:“swap_instrument”
创造掉期期权
仪对象
使用fininstrument
创建一个掉期期权
仪器对象。
掉期期权= fininstrument (“掉期期权”,“罢工”, 0.02,“ExerciseDate”,日期时间(2022,3,15),“交换”交换,“名字”,“swaption_option”)
Swap =交换属性:OptionType: "call" exercisstyle: "european" exercisdate: 15-Mar-2022 Strike: 0.0200 Swap: [1x1 fininstrument。交换)的名字:“swaption_option”
创造黑色的
模型对象
使用Finmodel.
创建一个黑色的
模型对象。
BlackModel = finmodel (“黑色”,“波动”,0.032,“转变”,0.002)
BlackModel =黑色与性能:波动:0.0320转变:0.0020
创造黑色的
定价的人对象
使用finpricer
创建一个黑色的
对象,并使用ratecurve
对象的'DiscountCurve'
名称-值对的论点。
outPricer = finpricer (“分析”,'型号'BlackModel,'DiscountCurve'myRC)
outPricer =黑色与属性:型号:[1x1的finmodel.Black] DiscountCurve:[1x1的ratecurve]
价格掉期期权
仪器
使用价格
来计算价格掉期期权
乐器。
价格=价格(outPricer互换期权)
价格= 3.3116
这个例子展示了定价a的工作流程掉期期权
仪器使用时HullWhite
模型和一个IRTree
定价方法。
创造ratecurve
对象
创建A.ratecurve
对象使用ratecurve
.
解决= datetime(2018、9、15);类型=“零”;ZeroTimes = [calmonths(6) calyears([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]';zeroates = Settle + ZeroTimes;myRC = ratecurve (“零”,沉淀,零氮酸盐,零)
myRC = ratecurve具有属性:类型: “零” 配混:-1基础:0日期:[10×日期时间]价格:[10×双]结清:15九月2018 InterpMethod: “线性” ShortExtrapMethod: “下一个” LongExtrapMethod:“此前”
创造换
仪对象
使用fininstrument
要创建底层的换
仪器对象。
交换= fininstrument (“交换”,“成熟”datetime (2027 3 15),“LegRate”[0 0],“LegType”,......[“浮动”,“固定”],“名义上”, 100,StartDate可以的,日期时间(2022,3,15),“名字”,“swap_instrument”)
交换=交换与属性:LegRate: [0 0] LegType:[“浮动”“固定”]重置:[2 2]基础:[0 0]名义:100 LatestFloatingRate:[南南]ResetOffset: [0 0] DaycountAdjustedCashFlow: [0 0] ProjectionCurve: [0 x0 ratecurve] BusinessDayConvention:(“实际”“实际”)假期:NaT EndMonthRule: [1] StartDate可以:15 - 3月- 2022成熟:15 - 3月- 2027的名字:“swap_instrument”
创造掉期期权
仪对象
使用fininstrument
创建一个掉期期权
仪器对象。
掉期期权= fininstrument (“掉期期权”,“罢工”, 0.02,“ExerciseDate”,日期时间(2022,3,15),“交换”交换,“名字”,“swaption_option”)
Swap =交换属性:OptionType: "call" exercisstyle: "european" exercisdate: 15-Mar-2022 Strike: 0.0200 Swap: [1x1 fininstrument。交换)的名字:“swaption_option”
创造HullWhite
模型对象
使用Finmodel.
创建一个HullWhite
模型对象。
HullWhiteModel = finmodel (“HullWhite”,“阿尔法”,0.032,“σ”, 0.04)
HullWhiteModel = HullWhite与属性:阿尔法:0.0320西格玛:0.0400
创造IRTree
定价的人对象
使用finpricer
创建一个IRTree
对象,并使用ratecurve
对象的'DiscountCurve'
名称-值对的论点。
outPricer = finpricer (“IRTree”,'型号',HullWhiteModel,'DiscountCurve'myRC,“TreeDates”ZeroDates)
outPricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [10x1 datetime] Model: [1x1 finmodel. outPricer = HWBKTree with properties: Tree: [1x1 struct] TreeDates: [10x1 datetime] Model: [1x1 finmodel. outPricer = HWBKTree折现曲线:[1x1率曲线]
价格掉期期权
仪器
使用价格
计算价格和敏感性的掉期期权
乐器。
[Price, outPR] = Price (outPricer,Swaption,[“所有”])
价格= 14.6581
OUTPR = priceresult与性能:结果:[表1×4] PricerData:[1x1的结构]
outPR。结果
ans =1×4表价格维加伽玛三角洲______ ______ _______ _____ 14.658 321.44 -2261.6 142.2
这个例子展示了如何校准偏移SABR
对于模型参数掉期期权
仪器使用时SABR
定价方法。
市场数据加载
%零线ValuationDate = datetime (“3月5日-2016”,“场所”,'EN_US');ZeroDates = datemnth(ValuationDate,[1 2 3 6 9 12 * [1 2 3 4 5 6 7 8 9 10 12]])';ZeroRates = [-0.33 -0.28 -0.24 -0.12 -0.08 -0.03 0.015 0.028......0.033 0.042 0.056 0.095 0.194 0.299 0.415 0.525]'/100;复合= 1;ZeroCurve = ratecurve (“零”, ZeroDates ValuationDate ZeroRates,“复合”复合)
ZeroCurve =带有属性的比率曲线:类型:" 0 "复利:1基础:0日期:[16x1 datetime]利率:[16x1 double]定值:2016年3月05日InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"
定义交换SwaptionSettle = datetime (“3月5日-2016”,“场所”,'EN_US');SwaptionExerciseDate = datetime (“3月5日,2017年”,“场所”,'EN_US');SwaptionStrikes = (-0.6:0.01:1.6) / 100;%加入排除罢工SwapMaturity = datetime (“5 - 3月- 2022,“场所”,'EN_US');标的掉期的期限optspec ='打电话';
通过创建计算正向交换速率换
仪器
使用fininstrument
创建一个换
仪器对象。
LegRate = [0 0];交换= fininstrument (“交换”,“成熟”SwapMaturity,“LegRate”LegRate,“LegType”[“固定”“浮动”],......“ProjectionCurve”,ZeroCurve,“StartDate可以”SwaptionExerciseDate)
交换=交换与属性:LegRate:[0 0] LegType:[ “固定”, “浮动”]复位:[2 2]基础:[0 0]名义:100 LatestFloatingRate:[楠楠] ResetOffset:[0 0] DaycountAdjustedCashFlow:[0 0] ProjectionCurve:[1×2 ratecurve] BusinessDayConvention:[ “实际”, “实际”]假期:自然科学EndMonthRule:[1 1]开始日期:05-MAR-2017到期日:05-MAR-2022名称: “”
ForwardValue = parswaprate(SWAP,ZeroCurve)
ForwardValue = 7.3271 e-04
加载市场引伸波幅数据
市场掉期波动率是以转移的黑色波动率来报价的0.8
百分比变化。
StrikeGrid = (-0.5;-0.25;-0.125;0;0.125;0.25;0.5;1.0;1.5) / 100;MarketStrikes = ForwardValue + StrikeGrid; Shift = 0.008;%0.8%移MarketShiftedBlackVolatilities = [21.1;15.3;14.0;14.6;16.0;17.7;19.8;23.9;26.2] / 100;ATMShiftedBlackVolatility = MarketShiftedBlackVolatilities(StrikeGrid == 0);
校准移SABR
模型参数
的bet
参数是预定在0.5
.使用波动
来计算隐含波动率。
β= 0.5;%校准阿尔法,卢和NUobjFun = @(X) marketshiftedblackvolatility - finpricer(“分析”,'型号',......finmodel (“SABR”,“阿尔法”X (1),“测试版”,β,的ρ, X (2),“怒江”,X(3),“转变”转变)......'DiscountCurve',ZeroCurve),SwaptionExerciseDate,ForwardValue,MarketStrikes);X = lsqnonlin(objFun,[0.5 0 0.5],[0 -1 0],[1 Inf文件Inf文件]);
当地最小的可能。lsqnonlin停止,因为在相对于其初始值的平方和最终的变化小于函数允差值。
α= X (1);ρ= X (2);ν= X (3);
创造SABR
模型使用校准参数
使用Finmodel.
创建一个SABR
模型对象。
SABRModel = finmodel (“SABR”,“阿尔法”,阿尔法,“测试版”,Beta版,的ρ,卢,“怒江”ν,“转变”转变)
SABRModel = SABR与性能:阿尔法:0.0135 Beta版:0.5000卢:0.4654怒江:0.4957转变:0.0080 VolatilityType: “黑”
创造SABR
定价的人使用校准SABR
模型和计算波动性
使用finpricer
创建一个SABR
对象,并使用ratecurve
对象的'DiscountCurve'
名称-值对的论点。
SABRPricer = finpricer(“分析”,'型号'SABRModel,'DiscountCurve',ZeroCurve)
SABRPricer = SABR与属性:DiscountCurve:[1x1的ratecurve]型号:[1x1的finmodel.SABR]
sabrshiftedblackvolatility =波动性(SABRPricer, swaptionexercisdate, ForwardValue, SwaptionStrikes)
SABRShiftedBlackVolatilities =221×10.2978 0.2911 0.2848 0.2787 0.2729 0.2673 0.2620 0.2568 0.2518 0.2470⋮
图;图(MarketStrikes,MarketShiftedBlackVolatilities,“o”,......SwaptionStrikes SABRShiftedBlackVolatilities);甘氨胆酸h =;线([0],[min (h.YLim), max (h.YLim)],“线型”,“——”);ylim([0.13 0.31])xlabel(“罢工”);传奇(“市场行情”,“转移SABR”,“位置”,“东南”);标题([“移黑波动(”num2str(* 100)转变,“%的移)”]);
价格掉期期权
使用校准仪器SABR
模型和SABR
定价的人
%创建交换工具NumInst =长度(SwaptionStrikes);swap (NumInst, 1) = fininstrument(“掉期期权”,......“罢工”SwaptionStrikes (1)“ExerciseDate”SwaptionExerciseDate (1)“交换”、交换);为k = 1:NumInst Swaptions(k) = 1“掉期期权”,“罢工”,SwaptionStrikes(K),......“ExerciseDate”SwaptionExerciseDate,“交换”交换,“OptionType”, OptSpec);结束掉期期权
掉期期权=221×1对象16x1带有属性的交换数组:OptionType exercisstyle exercisdate Strike Swap Name⋮
%使用SABR定价器的价格互换SwaptionPrices =价格(SABRPricer,互换期权);图;图(SwaptionStrikes,SwaptionPrices,“r”);甘氨胆酸h =;线([0],[min (h.YLim), max (h.YLim)],“线型”,“——”);包含(“罢工”);标题(“掉期期权价格”);
一个电话掉期期权支付人互换允许期权买方进行利率互换,期权买方支付固定利率,接受浮动利率。
一个放掉期期权接收方互换允许期权买方进行利率互换,期权买方接受固定利率,支付浮动利率。
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。