SVI模型
SVI 模型由 Gatheral(2004)提出,模型假定市场不存在日历套利机会和蝶式套利机会, 并在这个条件下构建一个一般化参数模型,具体形式为:
SVI模型的原理是基于市场数据进行 SVI 表达式的参数优化,其刻画了期权的隐含方差 (Implied Variance)对期权虚实值程度(Forward log-moneyness)的微笑曲线,可以 通过参数灵活的取值对方差的总体水平、左右渐近线角度、顶点的平滑程度、曲线的方 向以及曲线在水平方向上的位臵进行调整,得到符合市场实际情况的隐含波动率曲线。
采用 Quasi-Explicit 优化法,将 SVI 模型进行参数降维,将原始的含有 5 个参数的非线性优化问题分成内层 优化与外层优化两部分,大幅提高了运算效率与参数拟合的稳定性。其中,内层优化的 目标函数为:
SVI 模型的参数取值范围限定如下:
BS模型计算隐含波动率
隐含波动率的计算是基于 BS 模型,将不同到期日、行权价的期权市场价格观测数据代入模型反算出隐含波动率 imp:
以看涨期权为例,从市场交易数据中取得期权价格C ,标的资产价格S ,时间为t , 期权到期日为T ,该期权的隐含波动率为满足下述公式的唯一的 imp:
python实践
if __name__=='__main__':init_adc=[-0.14,0.109,0.214]init_sigma=0.25tol=0.000001svi_model=SVI(data,init_adc,init_sigma,tol)svi_iv=(svi_model.calc_svi_im())df['svi_iv']=svi_ivs=df['st']k=df['k']t=df['maturity']sigma=df['svi_iv']r=0.025opt='call'svi_price=BS(s,k,t,sigma,r,opt).option()df['svi_price']=svi_price
计算SVI模型的隐含波动率以及期权理论价格