开篇:润墨网以专业的文秘视角,为您筛选了一篇基于MATLAB的欧式期权定价与隐含波动率应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
[摘 要]期权价格依赖于标的产品的价格、执行价格、无风险利率、从目前到期权到期的时间、基础资产的波动率等变量。欧式期权定价和银行波动率的应用是金融工程领域研究的重要内容。本文利用MATLAB工具箱实现对欧式期权定价的求解,并进一步探讨隐含波动率在投资实践中的应用。
[关键词] MATLAB 欧式期权 隐含波动率
一、引言
期权,是指双方当事人达成某种协议,期权买方向期权卖方支付一定费用,取得在未来到期日(Maturity Data)或到期前按协议买进或卖出一定数量某种基础证券(Underlying Assets)的权利,欧式期权则指买入期权的一方只能在期权到期日当天才能行使的期权。
一直以来,MATLAB在期权定价模型等金融工程方面有着极其重要的作用。本文通过应用MATLAB,实现欧式期权和隐含波动率在实践中的应用。
二、Black-Scholes期权定价模型及MATLAB实现
1.欧式期权的理论价格
根据Black-Scholes期权定价模型可以得出欧式期权理论价格的表达式:
其中,
:标的资产市场价格
X : 执行价格
r : 无风险利率
:标的资产价格波动率
T t: 距离到期时间
2. MATLAB实现
MATLAB中计算欧式期权价格的函数是blsprice
>>[call, put]= blsprice(price, strike, rate, time, volatility)
输入参数,Price是股票价格,Strike是执行价,Rate代表无风险利率,Time是指距离到期日的时间,即期权的存续期(单位:年),Volatility表示标定资产的标准差。输出参数,Call表示欧式看涨期权价格,Put表示欧式看跌期权价格
算例:考虑一只无分红的股票,若股票的现在价格为80,波动率的标准差为0.4,无风险利率为8%,期权的执行价格为90元,执行期为3个月,利用MATLAB计算欧式期权价格。
>>[call,put]=blsprice(80,90,0.08,0.25,0.4)
计算结果:
Call=
3.3726
Put =
11.5905
三、隐含波动率的应用
隐含波动率是将市场上的期权交易价格代入权证理论价格Black-Scholes模型,反推出来的波动率数值。由于隐含波动率是由期权市场价格决定的波动率,是市场价格的真实印射,而有效市场价格是供求关系平衡下的产物,因此隐含波动率是一个重要的风险指标。历史波动率反映期权标的证券在过去一段时间的波动幅度,期权发行商与投资者在期权发行初期只能利用历史波动率作参考。
一般来说,期权的隐含波动率越高,其隐含的风险也就越大。期权投资者除了可以利用期权的标的资产价格变化方向来买卖期权外,还可以从标的资产价格的波动幅度的变化中获利。一般来说,波动率并不是可以无限上涨或下跌,而是在一个区间内来回震荡,投资者可以采取在隐含波动率较低时买入而在较高时卖出期权的方法来获利。期权的价格是否高估,主要是看隐含波动率与其标的证券的历史波幅之间的关系。隐含波动率是市场对相关资产(正股或指数)未来一段时间内的波动预期,与权证价格是同方向变化。一般而言,隐含波动率不会与历史波幅相等,但应该相差不大。如果隐含波动率明显超过历史波幅,则表明期权被高估。
算例:考虑一只无分红的股票,若股票的现在价格为100,波动率的标准差为0.1,无风险利率为10%,期权的执行价格为95元,执行期为1年。
Price=100;
Strike=95;
Rate=0.1;
Time=1;
Callprice=15.0 %看涨期权交易价格
Putprice=7.0 %看跌期权交易价格
[Vc,Vp,Cfval,Pfval]=Implied Volatility(Price,Strike,Rate,Time,Callprice,Putprice)
计算结果:
Vc=
0.1417
Vp=
0.3479
Cfval=
3.7957e-11
Pfval=
7.1054e-15
结果说明期权价格为call=15.00,put=7.00的隐含波动率分别为0.1417与0.3479.
参考文献:
[1]线加玲:基于matlab的金融工程模型计算,重庆文理学院学报,2008年第3期
[2]约翰.马歇尔 维普尔.班赛尔:金融工程,宋奉明译,清华大学出版社1998
[3]张智星:MATLAB程序设计与应用,清华大学出版社2002