此示例显示了如何校准位移传感器军刀
模型参数挥霍
当您使用军刀
定价方法。
%零曲线估价日期=日期时间(“2016年3月5日”,“区域设置”,“恩,我们”);ZeroDates=datemnth(估价日期[1236912*[123456789102]);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=具有属性的利率曲线:类型:“零”复利:1基础:0日期:[16x1日期时间]利率:[16x1双]结算:2016年3月5日InterpMethod:“线性”ShortExtrapMethod:“下一个”LongExtrapMethod:“上一个”
%定义交换选项swoptionSettle=日期时间(“2016年3月5日”,“区域设置”,“恩,我们”); swoptionexercisedate=datetime(“2017年3月5日”,“区域设置”,“恩,我们”);SwaptionStrikes=(-0.6:0.01:1.6)/100;%包括负面罢工SwapMaturity=日期时间(“2022年3月5日”,“区域设置”,“恩,我们”);%基础掉期的到期日OptSpec=“呼叫”;
交换
仪器使用精密仪器
创建交换
仪器对象。
LegRate=[0];Swap=fininstrument(“互换”,“到期日”,SwapMaturity,“LegRate”,LegRate,“LegType”,[“固定的”“浮动”],...“投影曲线”,零曲线,“起始日期”,swoptionexercisedate)
Swap=Swap with properties:LegRate:[0 0]LegType:[“固定”“浮动”]重置:[2]依据:[0 0]名义:100最新浮动利率:[NaN NaN]ResetOffset:[0 0]天计数调整现金流:[0]项目曲线:[1x2比率曲线]业务日惯例:[“实际”“实际”]假日:自然月底规则:[1]起始日期:2017年3月5日到期日期:2022年3月5日姓名:“
ForwardValue=parswaprate(交换,零曲线)
ForwardValue=7.3271e-04
市场互换期权波动率是根据带a的转移黑市波动率来报价的0.8
百分比转换。
罢工罢工=[-0.5;-0.25;-0.125;0;0.125;0.25;0.5;1.0;1.5]/100;市场罢工=前进价值+罢工罢工罢工罢工;班次=0.008;%0.8%位移市场转移的黑色波动率=[21.1;15.3;14.0;14.6;16.0;17.7;19.8;23.9;26.2]/100;ATM转移的黑色波动率=市场转移的黑色波动率(罢工率==0);
军刀
模型参数这个贝塔
参数是预先确定的0.5
使用挥发性
计算隐含波动率。
β=0.5;%校准Alpha、Rho和NuobjFun=@(X)市场转移的黑色挥发性-挥发性(finpricer(“分析性”,“模型”,...finmodel(“军刀”,“阿尔法”,X(1),“贝塔”,Beta,“Rho”,X(2),“努”,X(3),“转移”,班次),...“折扣曲线”,零曲线),SwaptionExerciseDate,ForwardValue,MarketStreaks);X=lsqnonlin(objFun,[0.50 0.5],[0-10],[Inf 1-Inf]);
局部最小可能值。lsqnonlin停止,因为平方和相对于其初始值的最终变化小于函数公差值。
Alpha=X(1);Rho=X(2);Nu=X(3);
军刀
使用校准参数的模型使用finmodel
创建军刀
模型对象。
SABRModel=finmodel(“军刀”,“阿尔法”阿尔法“贝塔”,Beta,“Rho”,Rho,“努”,Nu,“转移”,轮班)
SABRModel=SABR,属性:Alpha:0.0135 Beta:0.5000 Rho:0.4654 Nu:0.4957 Shift:0.0080 VolatilityType:“黑色”
军刀
使用校准的价格军刀
模型和计算波动率使用芬普瑟
创建军刀
pricer对象并使用速率曲线
对象“折扣曲线”
名称-值对参数。
SABRPricer=finpricer(“分析性”,“模型”,SABRModel,“折扣曲线”,零曲线)
SABRPricer=SABR,属性为:折扣曲线:[1x1比率曲线]模型:[1x1 finmodel.SABR]
SABRShiftedBlack波动率=波动率(SABRPricer、SwapptioneXerciseDate、ForwardValue、SwapptionStrikes)
SabrshiftedBlack挥发性=221×10.2978 0.2911 0.2848 0.2787 0.2729 0.2673 0.2620 0.2568 0.2518 0.2470 ⋮
图形情节(市场罢工、市场转移的黑市波动率、,“哦”,...SwaptionStrikes,SabrshiftedBlack挥发性);h=gca;直线([0,0],[min(h.YLim),max(h.YLim)],“线条样式”,'--'); ylim([0.13 0.31])xlabel(“罢工”);传奇(“市场报价”,“移动刀”,“位置”,‘东南’);头衔([“转移的黑色波动率(',num2str(班次*100),“百分比偏移量”)]);
挥霍
使用校准的仪器军刀
模型与军刀
价格%创建交换工具纽明斯特=长度(SwaptionStrikes);交换(纽明斯特,1)=有限仪器(“交换”,...“罢工”,SwaptionStrikes(1),“锻炼日期”,swoptionexercisedate(1),“交换”,掉期);对于k=1:NumInst Swaption(k)=有限仪器(“交换”,“罢工”,SwaptionStrikes(k),...“锻炼日期”,swoptionexercisedate,“交换”交换“OptionType”,OptSpec);终止互换期权
交换=221×1对象具有以下属性的16x1交换选项数组:OptionType ExerciseStyle ExerciseDate Strike交换名称⋮
%使用SABR pricer的价格互换选项SwaptionPrices=价格(SABRPricer,Swaptions);图形;绘图(SwaptionStrikes,SwaptionPrices,“r”)h=gca;直线([0,0],[min(h.YLim),max(h.YLim)],“线条样式”,'--'); xlabel(“罢工”);头衔(“互换期权价格”);