第10章 期权定价模型与数值方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1.1
期权及其有关概念
3. 期权的内在价值 买入期权在执行日的价值CT为 CT=max(ST -E,0) 式中:E表示行权价;ST表示标的资产的市场价。 卖出期权在执行日的价值PT为 PT=max(E- ST,0) 根据期权的行权价与标的资产市场价之间的关系,期权可分为价内期权(in the money)(S > E)、平价期权(at the money)(S = E)和价外期权(out of the money)(S < E)。
10.3. 2
隐含波动率计算方法
隐含波动率是把权证的价格代入BS模型中反算出来的,它反映了投资者 对未来标的证券波动率的预期。BlackScholes期权定价公式中已知St (标的资产 市场价格)、X (执行价格)、r (无风险利率)、T-t (距离到期时间)、看涨期权ct 或者看跌期权pt ,根据B-S公式计算出与其相应的隐含波动率σyin。 数学模型为
Γ 表示δ与标的资产价格变动的关系。
10.3 B-S公式隐含波动率计算
10.3.1
隐含波动率概念
BlackScholes期权定价公式,欧式期权理论价格的表达式:
式中:
隐含波动率是将市场上的期权交易价格代入权证理论价格BlackScholes模型反 推出来的波动率数值。由于期权定价BS模型给出了期权价格与五个基本参数之间的 定量关系,只要将其中前4个基本参数及期权的实际市场价格作为已知量代入定价 公式,就可以从中解出惟一的未知量,其大小就是隐含波动率。
步骤1:建立方程函数。 看涨期权隐含波动率方程的M文件ImpliedVolatitityCallObj.M,其语法如下: f=ImpliedVolatitityCallObj(Volatility, Price, Strike, Rate, Time, Callprice) 程序代码如下: function f=ImpliedVolatitityCallObj(Volatility, Price, Strike, Rate, Time, Callprice) %ImpliedVolatitityCallObj %code by ariszheng@gmail.com 2009-8-3 [Call,Put] = blsprice(Price, Strike, Rate, Time, Volatility); %存在一个波动率使得下列等式成立 %fc(ImpliedVolatitity)=Call-Callprice=0 f=Call-Callprice;
说明期权价格与股票价格相关
10.2.4
Black-Scholes方程求解
BlackScholes微分方程的风险中性定价。在风险中性事件中,以下两个结论称 为风险中性定价原则: 任何可交易的基础金融资产的瞬时期望收益率均为无风险利率,即恒有μ = r ; 任何一种衍生工具当前t时刻的价值均等于未来T时刻其价值的期望值按无风险 利率贴现的现值。 BlackScholes期权定价公式,欧式买权或卖权解的表达式为
计算函数为blsdelta.m,函数语法如下:
10.2.5
影响期权价格的因素分析
[CallDelta,PutDelta]=blsdelta(Price,Strike,Rate,Time,Volatility,Yield) 输入参数: Price:标的资产市场价格; Strike:执行价格; Rate:无风险利率; Time:距离到期时间; Volatility:标的资产价格波动率; Yield:(可选)资产连续贴现利率,默认为0。 输出参数: CallDelta: 看涨期权的δ; PutDelta:看跌期权的δ。
function [Vc,Vp,Cfval,Pfval]= ImpliedVolatility( Price, Strike, Rate,Time, CallPrice, PutPrice) %ImpliedVolatility %code by ariszheng@gmail.com 2009-8-3 Volatility0=1.0; %优化算法初始迭代点; %CallPrice对应的隐含波动率 [Vc,Cfval] =fsolve(@(Volatility) ImpliedVolatitityCallObj(Volatility, Price, Strike,Rate, Time, CallPrice),Volatility0); %CallPrice对应的隐含波动率
10.2.5
影响期权价格的因素分析
期权价格受到当前价格S、执行价格E、期权的期限T、股票价格方差率σ2及 无风险利率r五个因素的影响。下面以欧式看涨期权为例来分析。期权对这五个 因素的敏感程度称为期权的Greeks,其计算公式与计算函数如下。
1. 德尔塔(Delta)δ
期权δ是考察期权价格随标的资产价格变化的关系,从数学角度看,δ是期 权价格相对于标的资产价格的偏导数,有
2. 期权的要素
期权的四个要素:行权价(exercise price或striking price)、到期日(maturing data)、标的资产(underlying asset)、期权费(option premium)。
对于期权的购买者(持有者)而言,付出期权费后,只有权利没有义务;对期权的 出售者而言,接受期权费后,只有义务没有权利。
10.2.4
Black-Scholes方程求解
例10.2 假设欧式股票期权,三个月后到期,执行价格95元,现价为100元,无股利 支付,股价年化波动率为50%,无风险利率为10%,计算期权价格。 代码如下: %标底资产价格 Price=100; %执行价格 Strike=95; %无风险收益率(年化)10% Rate=0.1 %剩余时间 Time=3/12; %年化波动率 Volatility=0.5 [Call, Put] = blsprice(100, 9Fra Baidu bibliotek, 0.1, 0.25, 0.5) >> Call=13.70 %买入期权 >> Put=6.35 %卖出期权
《金融数量分析——基于MATLAB编程 》
10.1 期权基础概念
10.1.1 期权及其有关概念
1. 期权的定义 期权分为买入期权(call option)和卖出期权(put option)。
买入期权:又称看涨期权(或敲入期权),它是赋予期权持有者在给定时间(或在
此时间之前任一时刻)按规定价格买入一定数量某种资产的权利的一种法律合同。 卖出期权:又称看跌期权(或敲出期权),它是赋予期权持有者在给定时间(或在 此时间之前任一时刻)按规定价格卖出一定数量某种资产的权利的一种法律合同。
10.3. 3
隐含波动率计算程序
看跌期权隐含波动率方程的M 文件为ImpliedVolatitityPutObj.m,其语法如下: f=ImpliedVolatitityPutObj(Volatility,Price,Strike,Rate,Time,Putprice) 程序代码如下: function f=ImpliedVolatitityPutObj(Volatility, Price, Strike, Rate, Time, Putprice) %ImpliedVolatitityCallObj %code by ariszheng@gmail.com 2009-8-3 %根据参数,使用blsprice计算期权价格 [Call,Put] = blsprice(Price, Strike, Rate, Time, Volatility); %fp(ImpliedVolatitity)=Put-Putprice=0 %目标使得寻找X使得目标函数为0 f=Put-Putprice;
• 若要分析期权δ与标的资产价格、剩余期限的关系,即不同的 Price与Time计算不同的δ三维关系,可以编写如下代码: Price=60:1:100; %标底资产价格 Strike=95; %执行价格 Rate=0.1; %无风险收益率(年化) Time=(1:1:12)/12; %剩余时间 Volatility=0.5; %年化波动率 [Price,Time]=meshgrid(Price,Time); [Calldelta, Putdelta] = blsdelta(Price, Strike, Rate, Time, Volatility); %mesh(Price, Time, Calldelta); mesh(Price, Time, Putdelta); xlabel('Stock Price '); ylabel('Time (year)'); zlabel('Delta');
• 例10.2 假设欧式股票期权,三个月后到期,执行价格95元,现 价为100元,无股利支付,股价年化波动率为50%,无风险利率 为10%,计算期权δ。 • 代码如下: Price=60:1:100; %标底资产价格 Strike=95; %执行价格 Rate=0.1; %无风险收益率(年化) Time=(1:1:12)/12; %剩余时间 Volatility=0.5; %年化波动率 [CallDelta, PutDelta] = blsdelta(Price, Strike, Rate, Time, Volatility)
式中:
求解方程fc(σyin)=0,fp (σyin)=0的根。
本质上是 非线性方 程
10.3. 3
隐含波动率计算程序
利用fsolve函数计算隐含波动率,fsolve是MATLAB最主要内置的求解方程组
的函数,具体fsolve的使用方法可以参看相关函数说明。
例10.4 假设欧式股票期权,3个月后到期,执行价格95元,现价为100元, 无股利支付,股价年化波动率为50%,无风险利率为10%,计算期权价格。
计算结果如下:
>>[Call, Put] = blsprice(100, 95, 0.1, 0.25, 0.5) >> Call = 13.6953 Put = 6.3497
假设目前其期权交易价格为Call=15.00 元,Put=7.00 元,分别计算其相对
应的隐含波动率。
10.3. 3
隐含波动率计算程序
10.3. 3
隐含波动率计算程序
步骤2: 求解方程函数。 求解方程函数的M文件为ImpliedVolatility.m,其语法如下: \[Vc,Vp,Cfval,Pfval\]=ImpliedVolatility(Price,Strike,Rate,Time,CallPrice,PutPrice)
10.2.5
影响期权价格的因素分析
2. 西塔(Theta)θ
θ表示期权价格对于到期日的敏感度,称为期权的时间损耗。
10.2.5
影响期权价格的因素分析
3. 维伽(Vega)ν ν表示方差率对期权价格的影响。 4. 珞(Rho)ρ ρ为期权的价值随利率波动的敏感度,利率增加,使期权价值变大。
5. 伽玛(Gamma)Γ
式中:
10.2.4
Black-Scholes方程求解
MATLAB中计算期权价格的函数为blsprice函数,语法为 \[Call, Put\] = blsprice(Price, Strike, Rate, Time, Volatility, Yield) 输入参数: Price:标的资产市场价格; Strike:执行价格; Rate:无风险利率; Time:距离到期时间; Volatility:标的资产价格波动率; Yield:(可选)资产连续贴现利率,默认为0。 输出参数: Call: Call option价格; Put:Put option价格。
[Vp,Pfval] =fsolve(@(Volatility) ImpliedVolatitityPutObj(Volatility, Price, Strike, Rate, Time,
PutPrice),Volatility0);
10.3. 3
隐含波动率计算程序
步骤3: 函数求解。 M文件TestImpliedVolatility.M代码如下: