计算期权的价值有许多种方法,但万变不离其宗,核心原理都是将未来现金流的各种情况按照其发生的概率折现。首先看看BSM模型和隐含波动率的问题。
BSM期权价格计算公式
BSM模型假设:
1、股价随机波动并服从正态分布;(特别不符合现实)
2、期权有效期内,Rf和E(r)和价格波动率恒定;(特别不符合现实)
3、市场无摩擦,没有交易成本及税收;
4、股票资产在期权有效期内不分红;
5、适用于欧式期权;
6、没有无风险套利的机会;
7、交易是连续的,非离散;
8、没有卖空限制。
简单而言,看涨期权的价值等于股价与执行价格的差额,即C = S - X。
我们不知道未来股价S,所以用S0代替,现在的S0与未来的S之间需要乘以正态分布的累积概率,即N(d1)。
我们知道未来的执行价格X,但为了求现在的期权价值,则需减去的其实是X的现值。因此X需要乘以 e的-rT次方。同时,由于行权并不一定会发生,因此需要再乘以执行的概率N(d2),即S大于等于X的概率。
隐含波动率与历史波动率
波动率越大,可选择权越大,期权的价值越大。
implied vol意义是按照实际期权价格倒推出来的波动率,表示市场的观点。隐含波动率越大,表示预期的波动率越大。
历史波动率的意义是根据过往的股价数据,求出的股价波动率,代表了历史的真实情况。
隐含波动率的计算
使用牛顿迭代法近似求解非线性方程。根据C(St,K,t,T,r,σ) = C* 倒推出σ。公式如下:
对于一个一元二次方程,可用公式(x+a/x)/2来计算。比如求根号a,可以先假设x是其解,则计算 (x+a/x)/2,得到的结果x1继续代入(x1+a/x1)/2,一直重复下去,即可得近似值。
一般化公式为x1 = x0 - (f(x0)-0)/f'(x0)。其中的0其实是目标y的值,在求隐含波动率的时候,数值为当前股价。
其中,f'(x0)其实就是Vega,其公式为:
理解公式的计算步骤后,即可将其转换成Python代码,先导入期权的风险要素数据,然后计算Vega,然后代入牛顿迭代法的公式,进一步求出期权的隐含波动率,最后是可视化呈现。依照这个思路,可以借助Python的计算能力,大大节约数据分析的时间。
刺猬偷腥
2019年1月10日