主要内容

看涨期权价格的Black-Scholes公式

这个例子展示了如何使用Black-Scholes公式计算看涨期权价格。这个例子使用了vpasolve从数值上解决了从Black-Scholes公式求现货价格和隐含波动率的问题。

寻找看涨期权价格

Black-Scholes公式模拟了欧洲看涨期权的价格[1]。对于不分红的标的股票,公式的参数定义为:

  • 年代 当前的股票价格或现货价格。

  • K 是行权价或行权价。

  • σ 是股票连续复合年收益的标准差,称为波动率。

  • T 是期权以年为单位到期的时间。

  • r 是年化无风险利率。

看涨期权的价格 C 用Black-Scholes参数表示

C N d 1 × 年代 - N d 2 × P V K

地点:

  • d 1 1 σ T 日志 年代 K + r + σ 2 2 T

  • d 2 d 1 - σ T

  • P V K K 经验值 - r T

  • N d 为标准正态累积分布函数, N d 1 2 π - d 经验值 - t 2 / 2 d t

求一份3个月后到期的欧洲股票期权,行权价为95美元。假设标的股票不分红,交易价格为100美元,每年的波动率为50%。无风险利率是每年1%。

使用信谊来创建代表Black-Scholes参数值的符号数字。

信谊tdS = sym(100);当前股价%(现货价格)K = sym(95);%行权价格(执行价格)Sigma = sym(0.50);股票波动率%T = sym(3/12);%过期时间(以年为单位)R = sym(0.01);%年化无风险利率

计算不近似的期权价格。创建一个符号函数N (d)它表示标准正态累积分布函数。

PV_K = K*exp(-r*T);d1 =(日志(S / K) + (r +σ^ 2/2)* T) /(σ* sqrt (T));d2 = d1 - sigma*√(T);N (d) = int (exp (- ((t) ^ 2) / 2), t,负无穷,d) * 1 /√(2 *符号(π))
N (d) =

小块土地 2 d 2 2 + 1 2

Csym = N(d1)*S - N(d2)*PV_K
Csym =

50 小块土地 2 4 日志 20. 19 + 27 200 2 - 95 e - 1 400 小块土地 2 4 日志 20. 19 - 23 200 2 2 + 1 2 + 50

要获得具有可变精度的数值结果,请使用vpa.默认情况下,vpa返回一个32位有效数字。

Cvpa = vpa(Csym)
Cvpa =
                  
                   
                    
                     12.52792339252145394554497137187
                   
                  

要改变精度,请使用数字.6位有效数字的期权价格为12.5279美元。

数字(6)Cvpa = vpa(Csym)
Cvpa =
                  
                   
                    
                     12.5279
                   
                  

认购期权价格

接下来,假设同一股票期权的到期时间发生了变化,每天的股票价格是未知的。找出该看涨期权在到期日的价格 T 从0年到0.25年不等,而现货价格 年代 价格从50美元到140美元不等。使用运动率的数值(K)、波动率(σ),以及利率(r)。在这种情况下,使用到期的时间T以及每天的股票价格年代作为变量。

定义符号表达式C来表示看涨期权的价格T而且年代作为未知变量。

信谊T年代PV_K = K*exp(-r*T);d1 =(日志(S / K) + (r +σ^ 2/2)* T) /(σ* sqrt (T));d2 = d1 - sigma*√(T);Nd1 = int(exp(-(t)²)/2),- inf,d1)*1/根号下(2*pi);Nd2 = int(exp(-(t)²)/2),- inf,d2)*1/根号下(2*pi);C = Nd1*S - Nd2*PV_K;

绘制看涨期权价格作为现货价格和到期时间的函数。

fsurf(C,[50 140 0 0.25]) xlabel(现货价格的) ylabel (“到期时间”) zlabel (“看涨期权价格”

图中包含一个轴对象。axis对象包含一个functionsurface类型的对象。

计算到期日为0.1年,现货价格为105美元的看涨期权价格。使用潜艇代入…的值T而且年代到表达式C.将价格作为数值结果返回vpa

Csym = subs(C,[T S],[0.1 105]);Cvpa = vpa(Csym)
Cvpa =
                  
                   
                    
                     12.5868
                   
                  

寻找现货价格

假设期权价格在变化,你想知道这对股票价格的影响。这是一个寻找的问题 年代 给出已知参数的Black-Scholes公式 K σ T r , C

例如,一个月后,同一看涨期权的价格现在为15.04美元,到期时间为两个月。找出相关股票的现货价格。创建一个符号函数C (S)表示带未知参数的Black-Scholes公式年代

信谊C (S)d1 (S)d2 (S)Nd1 (S)阐述(S)K = 95;%行权价格(执行价格)西格玛= 0.50;股票波动率%T = 2/12;%过期时间(以年为单位)R = 0.01;%年化无风险利率PV_K = K*exp(-r*T);d1 (S) =(日志(S / K) + (r +σ^ 2/2)* T) /(σ* sqrt (T));d2(S) = d1 - sigma*√(T);Nd1 (S) = int (exp (- ((t) ^ 2) / 2),负无穷,d1) * 1 /√(2 *π);阐述(S) = int (exp (- ((t) ^ 2) / 2),负无穷,d2) * 1 /√(2 *π);C(S) = Nd1*S - Nd2*PV_K;

使用vpasolve用数值方法求出标的股票的现货价格。只在正数中寻找解。金宝搏官方网站标的股票的现货价格为106.162美元。

S_Sol = vpasolve(C(S) == 15.04,S,[0 Inf])
S_Sol =
                  
                   
                    
                     106.162
                   
                  

寻找隐含波动率

考虑期权价格变化的情况,你想知道隐含波动率是多少。这是一个求值的问题 σ 给出已知参数的Black-Scholes公式 年代 K T r , C

考虑同样的股票期权,三个月后到期,行权价格为95美元。假设标的股票交易价格为100美元,无风险利率为每年1%。找出隐含波动率作为期权价格的函数,范围从6美元到25美元。为期权价格的范围创建一个向量。创建一个符号函数C(σ)表示带未知参数的Black-Scholes公式σ.使用vpasolve用数值方法求解隐含波动率。

信谊C(σ)d1(σ)d2(σ)Nd1(σ)阐述(σ)S = 100;当前股价%(现货价格)K = 95;%行权价格(执行价格)T = 3/12;%过期时间(以年为单位)R = 0.01;%年化无风险利率C_Range = 6:25;期权价格的%范围sigma_Sol = 0 (size(C_Range));PV_K = K*exp(-r*T);d1(σ)=(日志(S / K) + (r +σ^ 2/2)* T) /(σ* sqrt (T));d2(sigma) = d1 - sigma*√(T);Nd1(σ)= int (exp (- ((t) ^ 2) / 2),负无穷,d1) * 1 /√(2 *π);阐述(σ)= int (exp (- ((t) ^ 2) / 2),负无穷,d2) * 1 /√(2 *π);C(sigma) = Nd1*S - Nd2*PV_K;i = 1:长度(C_Range) sigma_Sol(i) = vpasolve(C(sigma) == C_Range(i),sigma,[0 Inf]);结束

画隐含波动率作为期权价格的函数。

情节(C_Range sigma_Sol)包含(期权价格的) ylabel (“隐含波动率”

图中包含一个轴对象。axis对象包含一个line类型的对象。

参考

[1]https://en.wikipedia.org/wiki/Black-Scholes_model