量化投资——隐含波动率曲线建模(2)

论坛 期权论坛 期权     
Billy的量化投资与相关研究   2020-12-19 13:00   4620   0
对于隐含波动率方面一共建立了两个模型,一个动态模型,目的是根据期权价格的变化逐步修正模型参数,并对之后一个交易日的数据进行预测;另一个是静态模型,目的是通过不同时期同一标的资产之下波动率曲线变化趋势的相关性,对于之后类似期权资产的波动率曲线进行预测。本文为8月19日文章的衍生,主要介绍Model_Prediction_with_Kalman_Filtering的修改与完善,并简略介绍模型预测的结果。
注:由于这个模型实际上是实习单位的相关工作,数据也来自于单位的系统,因此在本篇文章(包括下篇文章)中都不会出现完整的模型过程和定量的结论分析,只会提供一个思考方向供诸位继续研究。





综述:对于上文中直接对期权各个数据走势采用直线回归拟合的方法进行了优化,采用BS模型作为基础,并通过Newton-Raphson迭代的方法对后一日的数据进行预估。并结合卡尔曼滤波的思路,构建其对于波动率曲线逐日的预测模型。





模型算法所需模块:
numpy:数值运算包
pandas:数据分析包
math:数学运算函数公式包
scipy:统计计算包,提供正态分布累积概率函数
sklearn.linear_model:进行线性回归处理
sklearn.metrics:对回归结果计算R2





模型思路与逻辑:
基本与前文相同,采取BS模型对隐含波动率进行估计实际上增加了模型的经济含义,并可以提供比线性回归更优的结果;Newton-Raphson迭代实际上本质为牛顿迭代法的思想,通过导数关系对隐含波动率进行求解,但最终计算时采用的Vega实际上为历史波动率,此处计算应该存在一定误差。





模型理论背景与经济含义:
Newton-Raphson迭代实际上为牛顿迭代,更深层次即为函数的Taylor展开式的近似。因为期权中本身有Vega指标,故做了简单的替换,成为下式:

事实上,有人曾提出了改进的Newton-Raphson迭代方法解决上述可能存在的不准确问题,具体方法可见马青华等人所著的《用改进的Newton-Raphson方法计算隐含波动率》。
另外,实际上牛顿迭代需要设置一个小量epsilon并要求经过迭代后使u_n-u*小于epsilon,但代码中由于本身数字量级较小没有进行多次迭代。





模型函数介绍:
Predict_iv_call_with_Newton_Raphson_and_BS_Model(csv_data_0,stock_data,stock_data_hv)= 0.5,model_end_rate = 0.9,r2_accept_rate = 0.8):构建Newton-Raphson迭代并计算后一日的估计值,为了数据能尽量反映市场情况,选取虚值五档作为模型范围。stock_data_hv为独立DataFrame数据,代表标的资产的历史波动率。

Model_Prediction_with_Kalman_Filtering_and_Newton_Raphson(csv_data,stock_data,stock_data_hv,csv_data_0,model_start_rate = 0.5,model_end_rate = 0.9,r2_accept_rate = 0.8):与19日文章中Model_Prediction_with_Kalman_Filtering作用类似,只是修改了部分内容以满足Predict_iv_call_with_Newton_Raphson_and_BS_Model的输出结果,具体内容细节不再赘述。





模型结果:
由于对于回归模型本身回归质量设置一定要求(至少存在一个R2大于0.8),因此模型循环开始阶段均输出模型拟合效果不足的结果。本身函数初始参数设定为自期权开始出售到行权之间50%的时间开始建模并到90%的时间停止(快行权是数据规律性骤降),因此大概会在60%的时间后模型达到拟合效果开始进行预测和滤波等工作,并输出预测值和实际值之间的差距。

上图为某一日实际值和预测值之间的差距,可以看到,除了在深度虚值的情况下预测和实际值有着较大偏差之外,平值和接近的虚值期权的误差基本在10^(-2)量级。





引申研究与优化设想:
[1]因为期权标的资产价格变动可能导致二者价差位置发生变化(期权合约价格以0.05元为一档的原因),这方面的处理可能还需要再斟酌;
[2]二次函数回归是否真的应该有相关联系,并能在数据上体现出来。





写在后面:
本来想BB点啥的,因为本来感觉10^(-2)精度还是有点东西,但后来一想好像期权隐含波动率每次差距也就在10^(-1)或者10^(-2)左右的精度波动,那10^(-2)精度是什么lj玩意儿。
那就没啥好写的了,四天时间搞出这样一个没啥应用价值的模型,不如睡觉。=)


模型中通过卡尔曼滤波的思路来自于陈蓉教授和吕恺博士在2010年发表在《金融研究》上的文章《隐含波动率曲面:建模与实证》,这个模型与该模型仍存在很大的差距。初次上手肯定存在诸多理解和实践上的不足,请诸位读者多多指教。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:93
帖子:2
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP