看涨期权价格的Black-Scholes公式
这个例子展示了如何使用Black-Scholes公式计算看涨期权价格。这个例子使用了vpasolve
从数值上解决了从Black-Scholes公式求现货价格和隐含波动率的问题。
寻找看涨期权价格
Black-Scholes公式模拟了欧洲看涨期权的价格[1]。对于不分红的标的股票,公式的参数定义为:
当前的股票价格或现货价格。
是行权价或行权价。
是股票连续复合年收益的标准差,称为波动率。
是期权以年为单位到期的时间。
是年化无风险利率。
看涨期权的价格 用Black-Scholes参数表示
,
地点:
为标准正态累积分布函数, .
求一份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) =
Csym = N(d1)*S - N(d2)*PV_K
Csym =
要获得具有可变精度的数值结果,请使用vpa
.默认情况下,vpa
返回一个32位有效数字。
Cvpa = vpa(Csym)
Cvpa =
要改变精度,请使用数字
.6位有效数字的期权价格为12.5279美元。
数字(6)Cvpa = vpa(Csym)
Cvpa =
认购期权价格
接下来,假设同一股票期权的到期时间发生了变化,每天的股票价格是未知的。找出该看涨期权在到期日的价格
从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 (“看涨期权价格”)
计算到期日为0.1年,现货价格为105美元的看涨期权价格。使用潜艇
代入…的值T
而且年代
到表达式C
.将价格作为数值结果返回vpa
.
Csym = subs(C,[T S],[0.1 105]);Cvpa = vpa(Csym)
Cvpa =
寻找现货价格
假设期权价格在变化,你想知道这对股票价格的影响。这是一个寻找的问题 给出已知参数的Black-Scholes公式 , , , , .
例如,一个月后,同一看涨期权的价格现在为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 =
寻找隐含波动率
考虑期权价格变化的情况,你想知道隐含波动率是多少。这是一个求值的问题 给出已知参数的Black-Scholes公式 , , , , .
考虑同样的股票期权,三个月后到期,行权价格为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 (“隐含波动率”)