这个例子说明了金融工具工具箱™如何使用不同的股票模型来为欧洲普通看涨期权定价。
该例子使用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)处,因此AssetPriceATM
=30.
.
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);
%创建树的时间规格NumPeriods = 15;CRRTimeSpec = CRRTimeSpec (ValuationDate, Maturity, NumPeriods);%构建树CRRTree = CRRTree (StockSpec, RateSpec, CRRTimeSpec);CRRTreeATM = crrtree(StockSpecATM, RateSpec, CRRTimeSpec);
%创建树的时间规格LRTimeSpec = LRTimeSpec (ValuationDate, Maturity, NumPeriods);%使用默认方法'PP1' (Peizer-Pratt方法1反演)来构建%的树LRTree = LRTree (StockSpec, RateSpec, LRTimeSpec, Strike);LRTreeATM = lrtree(StockSpecATM, RateSpec, LRTimeSpec, Strike);
PriceCRR = optstockbycrr(CRRTree, OptSpec, Strike, Settle, Maturity);PriceCRRATM = optstockbycrr(CRRTreeATM, OptSpec, Strike, Settle, Maturity);
PriceLR = optstockbylr(LRTree, OptSpec, Strike, Settle, Maturity);PriceLRATM = optstockbylr(LRTreeATM, OptSpec, Strike, Settle, Maturity);
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模型的看涨期权价格与使用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”,“位置”,“东北”)
第二种情况:货币看涨期权
%为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”,“位置”,“东北”)
assetbybls
|assetsensbybls
|cashbybls
|cashsensbybls
|chooserbybls
|gapbybls
|gapsensbybls
|impvbybls
|optstockbybls
|optstocksensbybls
|supersharebybls
|supersharesensbybls
|impvbyblk
|optstockbyblk
|optstocksensbyblk
|impvbyrgw
|optstockbyrgw
|optstocksensbyrgw
|impvbybjs
|optstockbybjs
|optstocksensbybjs
|spreadbybjs
|spreadsensbybjs
|basketbyju
|basketsensbyju
|basketstockspec
|maxassetbystulz
|maxassetsensbystulz
|minassetbystulz
|minassetsensbystulz
|spreadbykirk
|spreadsensbykirk
|asianbykv
|asiansensbykv
|asianbylevy
|asiansensbylevy
|lookbackbycvgsg
|lookbacksensbycvgsg
|basketbyls
|basketsensbyls
|basketstockspec
|asianbyls
|asiansensbyls
|lookbackbyls
|lookbacksensbyls
|spreadbyls
|spreadsensbyls
|optstockbyls
|optstocksensbyls
|optpricebysim
|optstocksensbybaw