主要内容

欧洲和美国价差期权定价

这个例子展示了如何使用各种技术为欧洲和美国的价差期权定价和计算敏感性。首先,采用封闭式解决方案计算欧洲价差期权的价格和敏感性。万博 尤文图斯然后,利用有限差分和蒙特卡罗模拟计算了美国价差期权的价格和敏感性。最后,进一步分析了不同投入范围下的价差选择。

传播选项是两种标的资产价格差的期权。例如,两种资产价差的看涨期权到期日的收益如下:

一个 x X 1 - X 2 - K 0

在哪里 X 1 是第一项标的资产的价格, X 2 第二项标的资产的价格是多少 K 为执行价格。在到期日,如果利差 X 1 - X 2 比行使价更高 K ,期权持有者执行期权并获得价差和执行价格之间的差价。如果价差小于0,则期权持有者不执行期权,收益为0。价差期权在能源市场上经常交易。两个例子是:

  • 裂解价差:成品油与原油价差期权。s manbetx 845价差代表炼油厂通过将原油“裂解”成成品油而获得的精炼利润。

  • 火花利差:电力和某种燃料之间的分配选项。这一差额代表了发电厂的利润,发电厂需要燃料来运行发电机来发电。

定价方法概述

价差期权有几种方法,如[1]所述。这个例子使用了封闭形式、有限差分和蒙特卡洛模拟来计算价差期权。下面讨论每种方法的优缺点:

  • 偏微分方程(PDE)的闭万博 尤文图斯形式解和近似是有利的,因为它们非常快,并很好地扩展到计算灵敏度(希腊人)。然而,封闭形式的解决方案并不总是可用的,例万博 尤文图斯如美国的价差选项。

  • 有限差分法是将价格和时间变量离散到网格中求解偏微分方程的一种数值方法。[2]对这种方法进行了详细的分析。它可以处理关闭表单解决方案不可用的情况。万博 尤文图斯此外,有限差分还可以很好地用于计算敏感性,因为它输出了一系列标的价格和时间的期权价格网格。然而,它比封闭形式的解要慢。万博 尤文图斯

  • 蒙特卡罗模拟使用随机抽样来模拟标的资产价格的运动。它处理不存在封闭解决方案的情况。万博 尤文图斯然而,它通常需要很长时间才能运行,特别是在计算灵敏度时。

欧洲价差期权定价

下面的例子演示了crack价差期权的定价。

一种磨浆机,很关心其即将推出的维护计划,需要防止降低原油价格,增加取暖油价格。在保养磨浆机需要继续为客户提供取暖油,以满足他们的要求。该炼油厂的策略是利用价差期权来管理其对冲。

2013年1月,炼厂买入取暖油期货,卖出原油期货,购买1:1裂缝价差期权。CLF14 WTI原油期货价格为每桶100美元,HOF14取暖油期货价格为每加仑2.6190美元。

清晰;燃料油的价格、波动率和股息Price1gallon = 2.6190;%$ /加仑Price1 = Price1gallon * 42;%美元/桶Vol1 = 0.10;Div1 = 0.03;WTI原油的价格、波动率和股息Price2 = 100;%美元/桶影响= 0.15;Div2 = 0.02;基础价格的相关性相关系数= 0.3;%的选择类型OptSpec =“电话”%的罢工罢工= 5;%结算日期定居=' 01 - 1月- 2013%的成熟度成熟=' 01 - 1月- 2014%无风险费率RiskFreeRate = 0.05;

定价函数以利率期限结构和股票结构为输入。另外,您需要指定哪些输出是感兴趣的。

%定义RateSpec复合= 1;基础= 1;RateSpec = intenvset (“ValuationDate”解决,startdate可以的解决,...“EndDates”成熟,“利率”RiskFreeRate,“复合”...复合,'基础'、基础);%为两个资产定义StockSpecStockSpec1 = stockspec(Vol1, price,'连续', Div1);StockSpec2 = stockspec(VOL2,Price2,'连续', Div2);%指定价格和灵敏度输出OutSpec = {“价格”“δ”“伽马”};

金融工具工具箱™包含两种类型的封闭形式近似计算的欧洲价差期权的价格和敏感性:柯克的近似值(spreadbykirkspreadsensbykirk)和Bjerksund和Stensland模型(spreadbybjsspreadsensbybjs)[3]。

这个函数spreadsensbykirk使用柯克近似计算欧洲价差期权的价格和敏感性。

柯克%的近似值[PriceKirk, DeltaKirk, GammaKirk] =...RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec)
PriceKirk = 8.3636
DeltaKirk =1×20.6108 - -0.5590
GammaKirk =1×20.0225 - 0.0249

这个函数spreadsensbybjs使用Bjerksund和Stensland模型计算欧洲价差期权的价格和敏感性。在[3]中,Bjerksund和Stensland解释说,柯克近似倾向于在执行接近零时低估价差期权的价格,而在执行远离零时高估价差期权的价格。相比之下,Bjerksund和Stensland的模型具有更高的精度。

% Bjerksund和Stensland模型[PriceBJS, DeltaBJS, GammaBJS] =...RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec)
PriceBJS = 8.3662
DeltaBJS =1×20.6115 - -0.5597
GammaBJS =1×20.0225 - 0.0248

计算出的价格的比较表明,这两种封闭的形式模型产生的价格和敏感性相似的结果。除了δ和γ,则所述功能还可以计算THETA,维加,λ,和Rho。

displayComparison (“柯克”'BJS', PriceKirk, PriceBJS, DeltaKirk, DeltaBJS, GammaKirk, GammaBJS)
价格比较:Kirk: 8.363641 BJS: 8.366158 delta比较:Kirk: 0.610790 -0.558959 BJS: 0.611469 -0.559670 gamma比较:Kirk: 0.022533 0.024850 BJS: 0.022495 0.024819

美国价差期权定价

尽管封闭式近似法快速且非常适合于欧洲价差期权的定价,但它不能为美国价差期权定价。利用有限差分法和蒙特卡罗方法对美式价差期权进行定价。在这个例子中,美式价差期权的定价属性与上面的裂缝价差期权相同。

有限差分法通过将标的价格和时间变量离散到网格中来数值求解偏微分方程。金融工具工具箱™包含这些功能spreadbyfdspreadsensbyfd,采用有限差分法计算欧美价差期权的价格和敏感性。对于有限差分法,网格的组成对输出质量和执行时间有很大的影响。一般来说,精细的离散网格会产生更接近理论值的输出,但代价是更长的执行时间。网格的组成由可选参数控制PriceGridSizeTimeGridSizeAssetPriceMinAssetPriceMax

要表示美式期权的定价,添加一个可选的输入AmericanOpt值为1函数的自变量。

有限差分法求解美式价差期权[PriceFD, DeltaFD, GammaFD, PriceGrid, AssetPrice1,...AssetPrice2] =...(RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec,...“PriceGridSize”(500 500),“TimeGridSize”, 100,...“AssetPriceMin”,[0 0],“AssetPriceMax”(2000 2000),...“AmericanOpt”1);显示价格和灵敏度PriceFD
PriceFD = 8.5463
DeltaFD
DeltaFD =1×20.6306 - -0.5777
GammaFD
GammaFD =1×20.0233 - 0.0259

这个函数spreadsensbyfd还返回一个网格,其中包含一系列标的价格和时间的期权价格。0时刻的期权价格网格,即结算日的期权价格,可以绘制出一个标的价格范围。

%地块期权价格图;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}标题(“标的价格区间的美国价差期权价格”);包含(“标的资产1的价格”);ylabel (“标的资产2的价格”);zlabel (“价差期权价格”);

图中包含一个坐标轴。标题为“基础价格范围的美国价差期权价格”的轴包含一个表面类型的对象。

美式期权的定价可以采用蒙特卡罗方法,采用Longstaff和Schwartz[4]最小二乘法。金融工具工具箱™包含这些功能spreadbylsspreadsensbyls该软件通过模拟计算欧洲和美国期权的价格和敏感性。蒙特卡罗模拟法在spreadsensbyls根据两个基础资产价格的几何布朗运动(GBM)生成多个模拟路径。类似于网格的粒度决定输出质量和执行时间的有限差分法,蒙特卡罗模拟的输出质量和执行时间取决于路径的数量(NumTrials)和每条路径的时间周期数(NumPeriods).蒙特卡罗模拟的结果也不确定。根据模拟结果,每次运行都会有不同的结果。

表示我们正在使用朗斯塔夫为美国期权定价%和Schwartz方法,添加一个带有值的可选输入|AmericanOpt|将|1|的%赋给函数的参数。%美式价差期权的蒙特卡罗方法[PriceMC, DeltaMC, gammmc] =...spreadsensbyls(RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec,...'的numtrials', 1000,“反向”, 真的,“AmericanOpt”, 1)
PriceMC = 8.4999
DeltaMC =1×20.6325 -0.5931
GammaMC =1×2-0.0873 - 0.0391

比较了两种模型的计算结果。根据模拟结果,Longstaff和Schwartz方法计算的价格和敏感性在每次运行时都会有所不同。值得注意的是,有限差分法和蒙特卡罗模拟结果的质量取决于可选的输入参数。例如,增加路径的数量(NumTrials)spreadsensbyls功能会导致在较长的执行时间成本更精确的结果。

displayComparison (有限差分的“蒙特卡罗”, PriceFD, PriceMC, DeltaFD, DeltaMC, GammaFD, GammaMC)
价格比较:有限差:8.546285蒙特卡罗:8.499894 delta的比较:有限差:0.630606 -0.577686蒙特卡罗:0.632549 -0.593106 gamma的比较:有限差:0.023273 0.025852蒙特卡罗:-0.087340 0.039120

比较一系列执行价格的结果

正如前面所讨论的,柯克近似往往会在期权的价差离零更远的时候高估价差。为了证实这一点,价差期权的定价属性与之前相同,但执行价格的范围不同。

%指定输出OutSpec = {“价格”“δ”};%执行价格范围罢工= [-25;-15;5;0;5;15;25);

将柯克近似和Bjerksund和Stensland模型的结果与有限差分方法的数值近似结果进行了比较。自spreadsensbyfd一次只能为一个选项定价,它在每个执行值的循环中被调用。蒙特卡罗模拟(spreadsensbyls)与大量的试验路径也可以用作基准,但本例使用有限差分。

柯克%的近似值[PriceKirk, DeltaKirk] =...RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”, OutSpec);% Bjerksund和Stensland模型[PriceBJS, DeltaBJS] =...RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”, OutSpec);%有限差分PriceFD = 0 (numel(Strike), 1);DeltaFD = 0 (numel(Strike), 2);i = 1:numel(Strike) [PriceFD(i), DeltaFD(i,:)] =...(RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike(i), Corr,“OutSpec”OutSpec,...“PriceGridSize”(500 500),“TimeGridSize”, 100,...“AssetPriceMin”,[0 0],“AssetPriceMax”[2000 2000]);结束displayComparisonPrices(PriceKirk, PriceBJS, PriceFD, Strike)
罢工范围价格:Kirk BJS FD 32.707787 32.672353 32.676040 23.605307 23.577099 23.580307 15.236908 15.228510 15.230919 11.560332 11.560332 11.562023 8.363641 8.366158 8.367212 3.689909 3.678862 3.680493 1.243753 1.219079 1.221866

下图是封闭形式和有限差分方法之间的价格差异。很明显,当打击距离0更远时,柯克近似和有限差分(红线)之间的差值增加,而Bjerksund和Stensland模型和有限差分(蓝线)之间的差值保持在同一水平。如[3]所述,柯克近似是当冲击距离为0时,价差期权的定价过高。

绘制价格与基准的差异图;图(PriceKirk-PriceFD,'颜色'“红色”);持有;情节(PriceBJS-PriceFD'颜色''蓝色');持有;标题(“差异价格反有限差分”);传奇(“柯克”'BJS'“位置”'EastOutside');包含(“罢工”);甘氨胆酸ax =;斧子。XTickLabel = Strike; ylabel(不同价格的);

图中包含一个坐标轴。标题为Difference in Price Against Finite Difference的坐标轴包含两个line类型的对象。这些物体代表柯克,BJS。

接下来,在封闭形式模型和有限差分之间的差值被绘制出来。顶部的图显示了第一个资产的delta值的差异,底部的图显示了第二个资产的delta值的差异。由10e-3阶y轴上的小增量可以看出,这三种模型(Kirk, BJS, finite difference)对delta的值是相似的。

绘制第一资产相对于基准的delta的差值图;次要情节(2,1,1);情节(DeltaKirk (: 1) -DeltaFD (: 1),'颜色'“红色”);持有;情节(DeltaBJS(:,1)-DeltaFD(:,1),'颜色''蓝色');持有;标题(“Delta(资产1)与FD的差异”);传奇(“柯克”'BJS'“位置”'EastOutside');包含(“罢工”);甘氨胆酸ax =;斧子。XTickLabel = Strike; ylabel(“差δ”);绘制第二资产相对于基准的delta的差值次要情节(2,1,2);情节(DeltaKirk(:,2)-DeltaFD(:,2),'颜色'“红色”);持有;情节(DeltaBJS (:, 2) -DeltaFD (:, 2),'颜色''蓝色');持有;标题(Delta(资产2)与FD的差异);传奇(“柯克”'BJS'“位置”'EastOutside');包含(“罢工”);甘氨胆酸ax =;斧子。XTickLabel = Strike; ylabel(“差δ”);

图中包含2个轴。带有标题差值的轴1(资产1)与FD包含2个类型为line的对象。这些物体代表柯克,BJS。带有标题差值的轴2(资产2)针对FD包含两个类型为line的对象。这些物体代表柯克,BJS。

分析价格和Vega在波动的不同级别

为了进一步说明使用这些模型可以进行的分析类型,上面的价差期权是在第一种资产的不同波动率水平上定价的。第一种资产的价格和织女星在三个波动水平上进行比较:0.10.3,0.5.该分析使用了Bjerksund和Stensland模型。

%的罢工罢工= 5;%指定输出OutSpec = {“价格”“织女星”};%资产1的不同波动水平Vol1 = [0.1, 0.3, 0.5];StockSpec1 = stockspec(Vol1, price,'连续', Div1);% Bjerksund和Stensland模型[PriceBJS, VegaBJS] =...RateSpec, StockSpec1, StockSpec2, Settle,...成熟度,OptSpec, Strike, Corr,“OutSpec”, OutSpec);displaySummary (Vol1 PriceBJS VegaBJS)
价格为不同的vol水平在资产1:8.366158 14.209112 21.795746资产1 vega不同的vol水平在资产1:15.534849 36.212192 38.794348资产2 vega不同的vol水平在资产1:29.437036 7.133657 -0.557852

价格和织女星相对于第一种资产的波动性的变化如图所示。你可以观察到,随着第一种资产的波动性增加,价差期权的价格也会增加。vega的变化表明,价差期权的价格对第一资产的波动更加敏感,而对第二资产的波动更加敏感。

图;% BJS型地块价格次要情节(2,1,1);情节(PriceBJS'颜色'“红色”);标题(“价格(毕加索)”);传奇(“价格”“位置”'EastOutside');包含(资产1的Vol);甘氨胆酸ax =;斧子。XTick = 1:3; ax.XTickLabel = Vol1; ylabel(“价格”);% BJS模型织女星图次要情节(2,1,2);情节(VegaBJS (: 1),'颜色'“红色”);持有;情节(VegaBJS(:,2),'颜色''蓝色');持有;标题(“维加(毕加索)”);传奇(“资产1”《资产2》“位置”'EastOutside');包含(资产1的Vol);甘氨胆酸ax =;斧子。XTick = 1:3; ax.XTickLabel = Vol1; ax.YLim = [-1 40]; ylabel(“织女星”);

图中包含2个轴。轴1与标题价格(BJS)含有式线的一个目的。此对象表示的价格。轴2与标题维加(BJS)包含类型的线2个对象。这些对象表示资产1,资产2。

概括

在这个例子中,欧洲和美国的价差期权使用不同的技术进行定价和分析。金融工具工具箱™提供了两种闭形式解(Kirk, BJS)的函数,有限差分法和蒙特卡罗模拟法。万博 尤文图斯封闭式解决方案由于速度快,非常适万博 尤文图斯合于欧洲价差期权的定价和敏感性计算。然而,它们无法为美国价差期权定价。有限差分法和蒙特卡罗法可以对欧美期权进行定价。然而,与封闭形式的解决方案相比,它们在为欧洲价差期权定价方面没有那么快。万博 尤文图斯

参考

[1]卡莫纳,雷内,Durrleman,瓦尔多。“定价和套期保值策略价差期权。”暹罗。第45卷第4期,2003年,第627-685页。

[2]威尔莫特,保罗,Dewynne,杰夫豪伊森,山姆。期权定价。牛津金融出版社,1993年。

Bjerksund, Petter, Stensland, Gunnar。"封闭式价差期权估值"财政部门,NHH, 2006。

朗斯塔夫,弗朗西斯A,施瓦茨,爱德华多S。《模拟评估美国期权:一种简单的最小二乘方法》安德森管理学院,加州大学洛杉矶分校,2001年。

效用函数

函数displayComparison(MODEL1,模型2,价格1,price2,DELTA1,DELTA2,迦玛,GAMMA2)用额外的空格填充模型名称additionalSpaces = numel(model1) - numel(model2);如果additionalSpaces > 0 model2 = [model2 repmat(' '1 additionalSpaces)];其他的Model1 = [Model1 repmat(' '1、abs (additionalSpaces));结束%计算价格的比较流(“比较价格:\ n”);流(' \ n ');流('%S:%F \ N'、model1 price1);流('%S:%F \ N'、model2 price2);流(' \ n ');% Delta比较流(三角洲的比较:\ n”);流(' \ n ');流('%s: % f % f\n', model1, delta1(1), delta1(2);流('%s: % f % f\n', model2, delta2(1), delta2(2);流(' \ n ');%比较流(γ的比较:\ n”);流(' \ n ');流('%s: % f % f\n',MODEL1,迦玛(1),迦玛(2));流('%s: % f % f\n', model2, gamma2(1), gamma2(2));流(' \ n ');结束函数displayComparisonPrices(PriceKirk, PriceBJS, PriceFD, Strike)%计算价格的比较流(罢工范围的价格:\n');流(' \ n ')fprintf中('柯克\ tBJS \ TFD \ n');i = 1:numel(Strike) fprintf(' % f \ t % f \ t % f \ n”,PriceKirk(i)中,PriceBJS(i)中,PriceFD(I));结束结束函数displaySummary (Vol1 PriceBJS VegaBJS)%显示价格流(“价格的资产1不同体积的水平:\ N”);流(' \ n ');i = 1:numel(Vol1) fprintf(“% f \ n”PriceBJS(我));结束流(' \ n ');%显示第一个资产的织女星流('资产1的vega不同的vol水平在资产1:\n');流(' \ n ');i = 1:numel(Vol1) fprintf(“% f \ n”VegaBJS(我1));结束流(' \ n ');%显示为维加第二资产流('资产2的vega不同的vol水平在资产1:\n');流(' \ n ');i = 1:numel(Vol1) fprintf(“% f \ n”VegaBJS(我,2));结束结束