如何预测波动率
现在是美国东部时间22日凌晨两点,离大四开学还有一天,刚刚赶完下周要给导师看的presentation,有一种如释重负的轻松感,一下子困意全消。所以就准备快速码一篇文章,讲讲我的论点,也就是如何预测波动率。波动率这玩意一直是很有神秘感也非常抽象的,它的作用非常巨大,尤其是对于期权市场,因为iv决定了期权的定价。这东西不像是股价,后者基本上是随机游走,但波动率具有统计学性质,也就是说在一定程度上我们是可以对其进行建模预测的。在这片文章里,我就介绍一种预测波动率的方法。由于时间原因,具体的代码已经数据我就不一一展示了,直接上图和讲解建模的过程。
为了简便,我只选取了苹果2021年8月20日往前的1000个交易日的收盘价作为我们的训练数据集。
然后进行差分,在这里我们只想研究收益的波动所以可以用对数求出连续收益率,并且将其绘制出来,如下图:
看图可以粗略的假设,数据是相对平稳和带有自相关性的,也就是说可以用自回归均值模型。但在这之前,为了严谨还是需要对假设进行验证。平稳性我用了adf test,测试了unit root。相关性用到了acf,pacf,最后用eacf确认模型的阶数。具体结果如下图:
为了简便,我就选取了第一个截尾,acf和pacf都是1。接下来我就可以建立均值模型arima,在这里因为研究的对象就是收益率,所以对数差分就不算在内,arima模型的order就是(1,0,1)。模型训练出来的结果ar系数为-0.2743,ma系数为0.1411,aic为-4992.13。有了这个模型我们就可以计算出模型的扰动项,也就是计算模型的残差,如下图:
得到的图形可以清楚的发现残差并不是白噪声,具有clustering的现象,这不符合正常回归模型对于扰动项的假设。也就是说我们得到的残差相互不独立,且存在异方差。此时大佬garch模型就该派上用场了,和前面一样,训练之前还是需要做hypothesis testing和order analysis。这里我用了ljung box test,返回的p值远小于0.05,拒绝原假设,序列具有相关性。
上图分别对残差,残差的平方和残差的绝对值进行acf test,最后可以大致确定使用arma(2,2)+garch(1,1),跑出来的aic,bic,sic的数值也都比较不错。有了模型,我们就可以计算出方差了:
上图是conditional variacne条件异方差,也就是所说的波动率。下图是均值加上下方差,也就是收益波动的范围。图还是非常理想,非常漂亮的。
到这里,我就完成了初步的波动率建模,后续还需要对模型进行测试,最后才能预测。后面这两步是最复杂也是最关键的步骤,我就先不写了。这倒不是因为时间太晚,而是因为还没有研究出来哈哈,正常后面出来的预测结果往往和市场的真实波动率有着不小的差距,而且有很多现象garch模型无法很好的解释。暑假的时候和导师聊过几次,有一些非常好的想法,但是由于远程受限进展缓慢。现在离毕业还有差不多10个月时间,希望能在这之前能有所突破。最后如果老板们看了文章对波动率的预测还比较有兴趣的话,请点个赞,赞多的话我就把后续新的进展发上来
$短期VIX期货ETN(VXX)$$1.5倍做多波动率指数短期期货ETF-ProShares(UVXY)$$苹果(AAPL)$$百度(BIDU)$$老虎证券(TIGR)$
免责声明:上述内容仅代表发帖人个人观点,不构成本平台的任何投资建议。


东部我知道的大学有MIT,哈佛,康奈尔,普林斯顿,耶鲁,哥伦比亚,布朗,卡内基,,,