主要内容

欧美价差期权定价

这个例子展示了如何使用各种技术为欧洲和美国的点差期权定价和计算灵敏度。首先,欧式点差期权的价格和敏感性是用封闭形式解来计算的。金宝搏官方网站然后,利用有限差分和蒙特卡罗模拟计算了美式点差期权的价格和敏感性。最后,对不同输入范围下的价差期权进行了进一步的分析。

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

一个 x X 1 - X 2 - K 0

在哪里 X 1 为第一项标的资产的价格, X 2 第二项标的资产的价格是多少 K 是行权价格。到期时,如果息差 X 1 - X 2 大于行权价 K ,期权持有人行使期权并获得价差与执行价格之间的差额。如果价差小于0,期权持有人不执行期权,收益为0。差价期权在能源市场上交易频繁。两个例子是:

  • 裂解价差:成品油和原油之间价差的期权。下载188bet金宝搏价差代表炼油厂通过将原油“裂解”成成品油而获得的精炼利润。

  • 火花利差:电力和某种燃料之间的差价。这个差价代表了发电厂的边际,发电厂需要燃料来运行发电机发电。

定价方法概述

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

  • 偏微分方程(PDE)的封金宝搏官方网站闭形式解和近似是有利的,因为它们非常快,并且很好地扩展到计算灵敏度(希腊语)。然而,封闭形式的解决方案并不总是可用的,例金宝搏官方网站如美国的点差期权。

  • 有限差分法是将价格变量和时间变量离散到网格中求解偏微分方程的数值方法。有关此方法的详细分析,请参阅[2]。它可以处理封闭形式解决方案不可用的情况。金宝搏官方网站此外,有限差分法还可以很好地应用于敏感性计算,因为它可以输出一系列标的价格和时间的期权价格网格。然而,它比封闭形式的解决方案慢。金宝搏官方网站

  • 蒙特卡罗模拟使用随机抽样来模拟标的资产价格的变动。它处理不存在封闭解的情况。金宝搏官方网站然而,它通常需要很长时间来运行,特别是如果计算灵敏度。

欧式价差期权的定价

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

炼油厂担心其即将到来的维护计划,并需要防止原油价格下跌和取暖油价格上涨。在维修期间,炼油厂需要继续向客户提供取暖油,以满足客户的需求。这家炼油商的策略是使用点差期权来管理对冲。

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

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

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

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

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

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

柯克近似[PriceKirk, DeltaKirk, GammaKirk] =...spreadsensbykirk(RateSpec, StockSpec1, StockSpec2,结算,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec)
价格柯克= 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] =...spreadsensbybjs(RateSpec, StockSpec1, StockSpec2,结算,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec)
PriceBJS = 8.3662
DeltaBJS =1×20.6115 - -0.5597
GammaBJS =1×20.0225 - 0.0248

计算价格的比较表明,两种封闭形式模型在价格和敏感性方面得出相似的结果。除了和,这个函数还可以计算,vega,和。

displayComparison (“柯克”“毕加索”, 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] =...spreadsensbyfd(RateSpec, StockSpec1, StockSpec2,结算,...成熟度,OptSpec, Strike, Corr,“OutSpec”OutSpec,...“PriceGridSize”, [500 500],“TimeGridSize”, 100,...“AssetPriceMin”, [0 0],“AssetPriceMax”, [2000 2000],...“AmericanOpt”1);%显示价格和灵敏度PriceFD
价格= 8.5463
DeltaFD
DeltaFD =1×20.6306 - -0.5777
GammaFD
GammaFD =1×20.0233 - 0.0259

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

%地块期权价格图;mesh(AssetPrice1, AssetPrice2, PriceGrid(:,:, 1)');标题(标的价格区间的美式价差期权价格);包含(“标的资产价格1”);ylabel (“标的资产价格2”);zlabel ("价差期权价格");

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

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

表示我们正在用朗斯塔夫指数为美国期权定价%和Schwartz方法,添加一个可选输入|AmericanOpt|和一个值%的|1|到函数的参数。美式价差期权的蒙特卡罗方法[PriceMC, DeltaMC, GammaMC] =...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

比较了两种模型的计算结果。根据模拟的结果,朗斯塔夫和施瓦茨方法计算出的价格和灵敏度在每次运行时都会有所不同。值得注意的是,有限差分法和蒙特卡罗模拟的结果质量取决于可选的输入参数。例如,增加路径的数量(NumTrials)。spreadsensbyls函数将产生更精确的结果,但代价是更长的执行时间。

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

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

如前所述,当执行权远离零时,柯克近似倾向于高估价差期权。为了确认这一点,价差期权的定价与之前相同,但有一定范围的执行价格。

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

将Kirk近似和Bjerksund和Stensland模型的结果与有限差分法的数值近似进行了比较。自spreadsensbyfd一次只能为一个期权定价,它被称为每个行权值的循环。蒙特卡罗模拟(spreadsensbyls)也可以用作基准,但在本例中使用的是有限差分。

柯克近似[PriceKirk, deltakkirk] =...spreadsensbykirk(RateSpec, StockSpec1, StockSpec2,结算,...成熟度,OptSpec, Strike, Corr,“OutSpec”, OutSpec);% Bjerksund和Stensland模型[PriceBJS, DeltaBJS] =...spreadsensbybjs(RateSpec, StockSpec1, StockSpec2,结算,...成熟度,OptSpec, Strike, Corr,“OutSpec”, OutSpec);%有限差分PriceFD = 0 (numel(Strike), 1);DeltaFD = 0 (numel(Strike), 2);i = 1:numel(Strike) [PriceFD(i), DeltaFD(i,:)] =...spreadsensbyfd(RateSpec, StockSpec1, StockSpec2,结算,...期限、OptSpec、Strike(i)、Corr、“OutSpec”OutSpec,...“PriceGridSize”, [500 500],“TimeGridSize”, 100,...“AssetPriceMin”, [0 0],“AssetPriceMax”, [2000 2000]);结束displaycomparonprices (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“颜色”“蓝”);持有;标题(“价格差异与有限差异”);传奇(“柯克”“毕加索”“位置”“EastOutside”);包含(“罢工”);Ax = gca;斧子。XTickLabel = Strike; ylabel(“价差”);

图包含一个轴对象。标题为Difference in Price Against Finite Difference的axes对象包含2个类型为line的对象。这些东西代表Kirk, BJS。

接下来,绘制封闭形式模型和有限差分之间的差值。上面的图显示了第一个资产的差值,下面的图显示了第二个资产的差值。从10e-3阶y轴的小增量可以看出,所有三种模型(Kirk, BJS,有限差分)对delta产生相似的值。

%第一个资产与基准的差值图图;Subplot (2,1,1);情节(DeltaKirk (: 1) -DeltaFD (: 1),“颜色”“红色”);持有;情节(DeltaBJS (: 1) -DeltaFD (: 1),“颜色”“蓝”);持有;标题(Delta(资产1)对FD的差值);传奇(“柯克”“毕加索”“位置”“EastOutside”);包含(“罢工”);Ax = gca;斧子。XTickLabel = Strike; ylabel(“Delta的差异”);%第二项资产与基准的差值图Subplot (2,1,2);情节(DeltaKirk (:, 2) -DeltaFD (:, 2),“颜色”“红色”);持有;情节(DeltaBJS (:, 2) -DeltaFD (:, 2),“颜色”“蓝”);持有;标题(Delta(资产2)对FD的差值);传奇(“柯克”“毕加索”“位置”“EastOutside”);包含(“罢工”);Ax = gca;斧子。XTickLabel = Strike; ylabel(“Delta的差异”);

图中包含2个轴对象。轴对象1的标题差为Delta(资产1)对FD包含2个类型为line的对象。这些东西代表Kirk, BJS。标题差为Delta的轴对象2(资产2)对FD包含2个类型为line的对象。这些东西代表Kirk, BJS。

分析不同波动水平下的价格和维加

为了进一步展示可以使用这些模型进行的分析类型,上面的价差期权是在第一种资产的不同波动水平上定价的。第一种资产的价格和维加在三个波动水平上进行比较:0.10.3,0.5.Bjerksund和Stensland模型用于此分析。

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

价格和维加相对于第一种资产的波动性的变化如下图所示。你可以观察到,随着第一项资产的波动性增加,价差期权的价格也会增加。此外,vega的变化表明,价差期权的价格对第一种资产的波动率更加敏感,而对第二种资产的波动率不那么敏感。

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

图中包含2个轴对象。标题为Price (BJS)的轴对象1包含一个类型为line的对象。这个对象表示价格。标题为Vega (BJS)的轴对象2包含2个类型为line的对象。这些对象表示资产1和资产2。

总结

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

参考文献

Carmona, Rene, Durrleman, Valdo。定价和对冲价差期权暹罗。第45卷第4期,2003年,第627-685页。

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

[3]比耶克松,皮特,斯坦斯兰,加纳。"封闭式价差期权估值"NHH财务部,2006年。

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

效用函数

函数displayComparison(model1, model2, price1, price2, delta1, delta2, gamma1, gamma2)用额外的空格填充模型名addalspaces = numel(model1) - numel(model2);如果addalspaces > 0 model2 = [model2]' ', 1, additionalSpaces)];其他的Model1 = [Model1 repmat]' ', 1, abs(additionalSpaces))];结束%计算价格的比较流(“价格比较:\n”);流(' \ n ');流('%s: % f\n', model1, price1);流('%s: % f\n', model2, price2);流(' \ n ');Delta的%比较流(delta:\n的比较);流(' \ n ');流('%s: % f % f\n', model1, delta1(1), delta1(2));流('%s: % f % f\n', model2, delta2(1), delta2(2));流(' \ n ');% Gamma比较流(“gamma:\n的比较”);流(' \ n ');流('%s: % f % f\n', model1, gamma1(1), gamma1(2));流('%s: % f % f\n', model2, gamma2(1), gamma2(2));流(' \ n ');结束函数displaycomparonprices (PriceKirk, PriceBJS, PriceFD, Strike)%计算价格的比较流(“罢工范围的价格:\n”);流(' \ n ')流(“Kirk \tBJS \tFD \n”);i = 1:numel(Strike)' % 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 ');显示vega为第一个资源流(“资产1中的不同音量级别的资产1:\n”);流(' \ n ');i = 1:numel(Vol1) fprintf(“% f \ n”VegaBJS(我1));结束流(' \ n ');显示vega为第二个资源流(“资产2在资产1中的不同音量级别:\n”);流(' \ n ');i = 1:numel(Vol1) fprintf(“% f \ n”VegaBJS(我,2));结束结束

相关的话题