主要内容

用不同的股票模型为欧洲看涨期权定价

这个例子说明了金融工具工具箱™如何使用不同的股票模型来为欧洲普通看涨期权定价。

该例子使用Cox-Ross-Rubinstein模型、Leisen-Reimer模型和Black-Scholes封闭公式比较看涨期权价格。

定义调用工具

以2010年1月1日行使价为30美元的欧洲看涨期权为例。该期权将于2010年9月1日到期。假设标的股票不提供股息。该股目前的交易价格为25美元,每年的波动性为35%。年化连续无风险复利利率为1.11%。

%的选择解决=“1月- 01 - 2010”;成熟=“9月- 01 - 2010”;罢工= 30;OptSpec =“电话”%的股票AssetPrice = 25;σ= .35点;

创建利率期限结构

startdate可以=2010年1月1日的;EndDates =2013年1月1日的;率= 0.0111;ValuationDate =2010年1月1日的;复合= 1;RateSpec = intenvset (“复合”复合,startdate可以的startdate可以,...“EndDates”EndDates,“利率”率,“ValuationDate”, ValuationDate);

创建股票结构

假设我们要创建两个场景。第一个假设AssetPrice目前是25美元,期权是亏本期权(OTM)。第二个场景假设期权在货币(ATM)处,因此AssetPriceATM30.

AssetPriceATM = 30;StockSpec = StockSpec (Sigma, AssetPrice);StockSpecATM = stockspec(Sigma, AssetPriceATM);

用布莱克-斯科尔斯封闭公式计算期权价格

使用的函数optstockbybls来计算欧洲看涨期权的价格。

%以AssetPrice = 25为期权定价PriceBLS = optstockbybls(RateSpec, StockSpec,结算,到期,OptSpec, Strike);% AssetPrice = 30的期权价格PriceBLSATM = optstockbybls(RateSpec, StockSpecATM,结算,到期,OptSpec, Strike);

建立Cox-Ross-Rubinstein树

%创建树的时间规格NumPeriods = 15;CRRTimeSpec = CRRTimeSpec (ValuationDate, Maturity, NumPeriods);%构建树CRRTree = CRRTree (StockSpec, RateSpec, CRRTimeSpec);CRRTreeATM = crrtree(StockSpecATM, RateSpec, CRRTimeSpec);

建立Leisen-Reimer树

%创建树的时间规格LRTimeSpec = LRTimeSpec (ValuationDate, Maturity, NumPeriods);%使用默认方法'PP1' (Peizer-Pratt方法1反演)来构建%的树LRTree = LRTree (StockSpec, RateSpec, LRTimeSpec, Strike);LRTreeATM = lrtree(StockSpecATM, RateSpec, LRTimeSpec, Strike);

使用Cox-Ross-Rubinstein (CRR)模型为期权定价

PriceCRR = optstockbycrr(CRRTree, OptSpec, Strike, Settle, Maturity);PriceCRRATM = optstockbycrr(CRRTreeATM, OptSpec, Strike, Settle, Maturity);

使用Leisen-Reimer (LR)模型为期权定价

PriceLR = optstockbylr(LRTree, OptSpec, Strike, Settle, Maturity);PriceLRATM = optstockbylr(LRTreeATM, OptSpec, Strike, Settle, Maturity);

比较BLS、CRR和LR结果

sprintf (“PriceBLS: \ t % f \ nPriceCRR: \ t % f \ nPriceLR: \ t % f \ n”PriceBLS,...PriceCRR PriceLR)
ans = 'PriceBLS: 1.275075 PriceCRR: 1.294979 PriceLR: 1.275838 '
sprintf ('\t== ATM ==\nPriceBLS ATM:\t%f\ nPriceCRR ATM:\t%f\ nPriceLR ATM:\t%f\n'PriceBLSATM,...PriceCRRATM PriceLRATM)
ans = ' == ATM == PriceBLS ATM: 3.497891 PriceCRR ATM: 3.553938 PriceLR ATM: 3.498571 '

CRR和LR模型对BLS求解的收敛性

下表比较了使用CRR和LR模型的看涨期权价格与使用Black-Scholes公式得到的结果。

尽管CRR二项模型和Black-Scholes模型随着时间步长变长而收敛,但这种收敛,除了货币期权,绝不是平滑或均匀的。

从下表可以看出,Leisen-Reimer模型在45步以内就可以减小误差的大小。

Strike = 30,资产价格= 30

-------------------------------------

#步骤LR哭泣

15 3.4986 - 3.5539

25日3.4981 - 3.5314

45 3.4980 - 3.5165

65年3.4979 - 3.5108

85年3.4979 - 3.5077

105年3.4979 - 3.5058

201年3.4979 - 3.5020

501年3.4979 - 3.4996

999年3.4979 - 3.4987

罢工= 30,资产价格= 25

-------------------------------------

#步骤LR哭泣

15 1.2758 - 1.2950

25日1.2754 - 1.2627

45 1.2751 - 1.2851

65年1.2751 - 1.2692

85年1.2751 - 1.2812

105年1.2751 - 1.2766

201年1.2751 - 1.2723

501年1.2751 - 1.2759

999年1.2751 - 1.2756

分析期权期限对期权价格的影响

下面的图表显示了收敛如何随着二项式计算的步数的增加而变化,以及收敛对股票价格变化的影响。观察Leisen-Reimer模型去除振荡,并仅使用少量步骤产生接近Black-Scholes模型的估计。

NPoints = 300;% Cox-Ross-RubinsteinNumPeriodCRR = 5: 1: NPoints;NbStepCRR =长度(NumPeriodCRR);PriceCRR = nan(NbStepCRR, 1);PriceCRRATM = PriceCRR;i = 1: NbStepCRR CRRTimeSpec = CRRTimeSpec (ValuationDate, Maturity, NumPeriodCRR(i));CRRT = crrtree(StockSpec, RateSpec, CRRTimeSpec);PriceCRR(i) = optstockbycrr(CRRT, OptSpec, Strike,ValuationDate, Maturity);CRRTATM = crrtree(StockSpecATM, RateSpec, CRRTimeSpec);PriceCRRATM(i) = optstockbycrr(CRRTATM, OptSpec, Strike,ValuationDate, Maturity);结束现在是雷森-雷默NumPeriodLR = 5: 2: NPoints;NbStepLR =长度(NumPeriodLR);PriceLR = nan(NbStepLR, 1);PriceLRATM = PriceLR;i = 1: NbStepLR LRTimeSpec = LRTimeSpec (ValuationDate, Maturity, NumPeriodLR(i));LRT = lrtree(StockSpec, RateSpec, LRTimeSpec, Strike);PriceLR(i) = optstockbylr(LRT, OptSpec, Strike,ValuationDate, Maturity);LRTATM = lrtree(StockSpecATM, RateSpec, LRTimeSpec, Strike);PriceLRATM(i) = optstockbylr(LRTATM, OptSpec, Strike,ValuationDate, Maturity);结束

第一种情况:退出货币看涨期权

%为Cox-Ross-Rubinstein情节(NumPeriodCRR PriceCRR);持有;情节(NumPeriodCRR PriceBLS *的(NbStepCRR, 1),“颜色”(0.9 0 0),“线宽”, 1.5);%为Leisen-Reimer情节(NumPeriodLR PriceLR,“颜色”(0.9 0 0),“线宽”, 1.5);%在感兴趣的区域集中,在Y轴上剪5倍的% LR价格:YLimDelta = 5*abs(PriceLR(1) - PriceBLS);甘氨胆酸ax =;斧子。YLim = [PriceBLS-YLimDelta PriceBLS+YLimDelta];%注释情节titleString = sprintf (CRR和LR模型收敛到BLS解决方案(OTM)\nStrike = %d,资产价格= %d', Strike,资产价格);标题(titleString) ylabel (期权价格的)包含(“许多步骤”)传说(“哭泣”劳工统计局的“LR”“位置”“东北”

图中包含一个轴对象。标题为“CRR和LR模型收敛到一个BLS解决方案(OTM) Strike = 30, Asset Price = 25”的轴对象包含3个类型为line的对象。这些对象代表CRR、BLS、LR。

第二种情况:货币看涨期权

%为Cox-Ross-Rubinstein图;情节(NumPeriodCRR PriceCRRATM);持有;情节(NumPeriodCRR PriceBLSATM *的(NbStepCRR, 1),“颜色”(0.9 0 0),“线宽”, 1.5);%为Leisen-Reimer情节(NumPeriodLR PriceLRATM,“颜色”(0.9 0 0),“线宽”, 1.5);%在感兴趣的区域集中,在Y轴上剪5倍的% LR价格:YLimDelta = 5*abs(PriceLRATM(1) - PriceBLSATM);甘氨胆酸ax =;斧子。YLim = [PriceBLSATM-YLimDelta PriceBLSATM+YLimDelta];%注释情节titleString = sprintf (CRR和LR模型收敛到BLS解决方案(ATM)\nStrike = %d,资产价格= %d', Strike, AssetPriceATM);标题(titleString) ylabel (期权价格的)包含(“许多步骤”)传说(“哭泣”劳工统计局的“LR”“位置”“东北”

图中包含一个轴对象。以CRR和LR模型收敛到BLS解决方案(ATM) Strike = 30, Asset Price = 30为标题的轴对象包含3个类型为line的对象。这些对象代表CRR、BLS、LR。

另请参阅

||||||||||||||||||||||||||||||||||||||||||||||||||

相关的例子

更多关于