欧洲香草价格看涨期权使用布莱克-斯科尔斯模型和不同的股权定价的人
这个例子展示了如何比较欧洲香草
仪器使用一个看涨期权价格BlackScholes
模型和不同的定价方法。这种比较的定价方法是Cox-Ross-Rubinstein Leisen-Reimer,有限差分和布莱克-斯科尔斯分析公式。
创建ratecurve
对象
创建一个ratecurve
对象使用ratecurve
。
解决= datetime (2019、01 01);成熟= datetime (2022、01 01);率= 0.0111;复合= 1;ZeroCurve = ratecurve (“零”解决,成熟,速度,“复合”、复合);
创建BlackScholes
模型对象
使用finmodel
创建一个BlackScholes
模型对象。
波动率= .35点;BSModel = finmodel (“BlackScholes”,“波动”波动率);
创建香草
仪对象
使用fininstrument
创建一个香草
仪对象。
ExerciseDates = datetime(2019、09年01);罢工= 30;OptionType =“电话”;EuropeanCallOption = fininstrument (“香草”,“ExerciseDate”ExerciseDates,“罢工”罢工,…“OptionType”OptionType,“名字”,“vanilla_call_option”);
创建分析
,AssetTree
,FiniteDifference
定价的人对象
为香草选项创建两个场景。在第一个场景中,期权的钱(移动)。在第二个场景中(ATM)的选择是钱。
%定义树的层数AssetTree定价的人NumPeriods = 55;
计算移动香草期权价格的选择
使用finpricer
创建一个BlackScholes
,AssetTree
,FiniteDifference
定价的人移动对象的选择和使用ratecurve
对象的“DiscountCurve”
名称-值对的论点。
SpotPriceOTM = 25;%分析定价的人AnalyticPricerOTM = finpricer (“分析”,“模型”BSModel,“SpotPrice”SpotPriceOTM,“DiscountCurve”,ZeroCurve);PriceBLSOTM =价格(AnalyticPricerOTM EuropeanCallOption);% AssetTree定价的人CRRPricerOTM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceOTM,…“PricingMethod”,“CoxRossRubinstein”,“NumPeriods”NumPeriods,“成熟”,ExerciseDates);PriceCRROTM =价格(CRRPricerOTM EuropeanCallOption);LRPricerOTM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceOTM,…“PricingMethod”,“LeisenReimer”,“NumPeriods”NumPeriods,“成熟”ExerciseDates,“罢工”,罢工);PriceLROTM =价格(LRPricerOTM EuropeanCallOption);% FiniteDifference定价的人FDPricerOTM = finpricer (“FiniteDifference”,“模型”BSModel,“SpotPrice”SpotPriceOTM,“DiscountCurve”,ZeroCurve);PriceFDOTM =价格(FDPricerOTM EuropeanCallOption);
计算ATM香草期权价格的选择
使用finpricer
创建一个BlackScholes
,AssetTree
,FiniteDifference
定价的人对象并使用自动取款机选项ratecurve
对象的“DiscountCurve”
名称-值对的论点。
SpotPriceATM = 30;%分析定价的人AnalyticPricerATM = finpricer (“分析”,“模型”BSModel,“SpotPrice”SpotPriceATM,“DiscountCurve”,ZeroCurve);PriceBLSATM =价格(AnalyticPricerATM EuropeanCallOption);% AsetTree定价的人CRRPricerATM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceATM,…“PricingMethod”,“CoxRossRubinstein”,“NumPeriods”NumPeriods,“成熟”,ExerciseDates);PriceCRRATM =价格(CRRPricerATM EuropeanCallOption);LRPricerATM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceATM,…“PricingMethod”,“LeisenReimer”,“NumPeriods”NumPeriods,“成熟”ExerciseDates,“罢工”,罢工);PriceLRATM =价格(LRPricerATM EuropeanCallOption);% FiniteDifference定价的人FDPricerATM = finpricer (“FiniteDifference”,“模型”BSModel,“SpotPrice”SpotPriceATM,“DiscountCurve”,ZeroCurve);PriceFDATM =价格(FDPricerATM EuropeanCallOption);
香草选项选项移动时价格比较
使用displayPricesVanillaCallOption
在本地函数比较香草移动电话价格。
displayPricesVanillaCallOption (“移动”,PriceCRROTM PriceBLSOTM PriceLROTM PriceFDOTM)
比较香草看涨期权价格移动:布莱克-斯科尔斯:1.280591 Cox-Ross-Rubinstein: 1.278306 Leisen-Reimer: 1.280651有限差分:1.280599
当选择是ATM香草选择价格比较
使用displayPricesVanillaCallOption
在本地函数比较香草叫ATM的价格。
displayPricesVanillaCallOption (“取款机”,PriceCRRATM PriceBLSATM PriceLRATM PriceFDATM)
比较香草看涨期权价格的ATM:布莱克-斯科尔斯:3.505323 Cox-Ross-Rubinstein: 3.520559 Leisen-Reimer: 3.505377有限差分:3.505452
分析树的数量水平对期权价格的影响在使用AssetTree
定价的人
创建图形可视化如何收敛变化步骤二项计算数量的增加Cox-Ross-Rubinstein和Leisen-Reimer树模型,以及资产价格的变化对收敛的影响。
%定义树的时间步骤的数目NPoints = 240;% Cox-Ross-RubinsteinNumPeriodCRR = 5: 1: NPoints;NbStepCRR =长度(NumPeriodCRR);PriceOTMCRR =南(NbStepCRR, 1);PriceATMCRR = PriceOTMCRR;为i = 1: NbStepCRR PricerCRROTM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceOTM,…“PricingMethod”,“CoxRossRubinstein”,“NumPeriods”NumPeriodCRR(我),“成熟”,ExerciseDates);PriceOTMCRR (i) =价格(PricerCRROTM EuropeanCallOption);PricerCRRATM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceATM,…“PricingMethod”,“CoxRossRubinstein”,“NumPeriods”NumPeriodCRR(我),“成熟”,ExerciseDates);PriceATMCRR (i) =价格(PricerCRRATM EuropeanCallOption);结束% Leisen-ReimerNumPeriodLR = 5: 2: NPoints;NbStepLR =长度(NumPeriodLR);PriceOTMLR =南(NbStepLR, 1);PriceATMLR = PriceOTMLR;为i = 1: NbStepLR PricerLROTM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceOTM,…“PricingMethod”,“LeisenReimer”,“NumPeriods”NumPeriodLR(我),“成熟”ExerciseDates,“罢工”,罢工);PriceOTMLR (i) =价格(PricerLROTM EuropeanCallOption);PricerLRATM = finpricer (“AssetTree”,“DiscountCurve”ZeroCurve,“模型”BSModel,“SpotPrice”SpotPriceATM,…“PricingMethod”,“LeisenReimer”,“NumPeriods”NumPeriodLR(我),“成熟”ExerciseDates,“罢工”,罢工);PriceATMLR (i) =价格(PricerLRATM EuropeanCallOption);结束
第一个场景:移动香草看涨期权
情节退休研究中心的融合和LR模型为一个移动选项布莱克-斯科尔斯的解决方案。
% Cox-Ross-Rubinstein情节(NumPeriodCRR PriceOTMCRR);持有在;情节(NumPeriodCRR PriceBLSOTM *的(NbStepCRR, 1),“颜色”(0.9 0 0),“线宽”,1.5);% Leisen-Reimer情节(NumPeriodLR PriceOTMLR,“颜色”(0.9 0 0),“线宽”,1.5);%剪裁的感兴趣的领域集中在Y轴上的五倍% LR价格:YLimDelta = 5 * abs (PriceOTMLR (1) - PriceBLSOTM);甘氨胆酸ax =;斧子。YLim = [PriceBLSOTM - YLimDelta PriceBLSOTM + YLimDelta];斧子。NPoints XLim = [5];%注释情节titleString = sprintf (的哭泣和LR模型\ nConvergence BLS解决方案(移动)\ nStrike = % d,资产价格= % d '、罢工、SpotPriceOTM);标题(titleString) ylabel (期权价格的)包含(“许多步骤”)传说(“哭泣”,劳工统计局的,“LR”,“位置”,“东北”)
观察到Leisen-Reimer模型消除了振动并产生估计接近布莱克-斯科尔斯模型只使用少量的步骤。
第二个场景:ATM香草看涨期权
情节哭泣和LR模型收敛的布莱克-斯科尔斯ATM机解决方案的选择。
% Cox-Ross-Rubinstein图;情节(NumPeriodCRR PriceATMCRR);持有在;情节(NumPeriodCRR PriceBLSATM *的(NbStepCRR, 1),“颜色”(0.9 0 0),“线宽”,1.5);% Leisen-Reimer情节(NumPeriodLR PriceATMLR,“颜色”(0.9 0 0),“线宽”,1.5);%剪裁的感兴趣的领域集中在Y轴上的五倍% LR价格:YLimDelta = 5 * abs (PriceATMLR (1) - PriceBLSATM);甘氨胆酸ax =;斧子。YLim = [PriceBLSATM - YLimDelta PriceBLSATM + YLimDelta];斧子。NPoints XLim = [5];%注释情节titleString = sprintf (的哭泣和LR模型\ nConvergence BLS的解决方案(ATM) \ nStrike = % d,资产价格= % d '、罢工、SpotPriceATM);标题(titleString) ylabel (期权价格的)包含(“许多步骤”)传说(“哭泣”,劳工统计局的,“LR”,“位置”,“东北”)
而退休研究中心二项式模型和布莱克-斯科尔斯模型收敛随着时间步数的增加,这种融合,除了平价期权,一点也不光滑或统一。
本地函数
函数displayPricesVanillaCallOption(类型、PriceBLS PriceCRR、PriceLR PriceFD)流(的比较香草看涨期权价格% s: \ n”、类型);流(' \ n ');流(“布莱克-斯科尔斯:% f \ n”,PriceBLS);流(“Cox-Ross-Rubinstein: % f \ n”,PriceCRR);流(“Leisen-Reimer: % f \ n”,PriceLR);流(“有限差分:% f \ n”,PriceFD);流(' \ n ');结束
另请参阅
FiniteDifference
|AssetTree
|BlackScholes
|香草