金融学习之八 | 您所在的位置:网站首页 › 精美小摆件图片简笔画可爱 › 金融学习之八 |
对衍生产品定价和风险管理中,常常需要对衍生产品的波动率进行预测,这就需要使用到波动率模型。常见的波动率模型有两个,一个是自回归条件异方差模型ARCH,另一个是广义自回归条件异方差模型GARCH。这两个模型的数学公式有点多,但如果只是跑代码的话就没那么麻烦,本次仅介绍这两个模型在python中的应用。 我们希望根据2016-2018年的沪深300指数的涨跌幅构建波动率模型,步骤如下: (1)利用Tushare获取沪深300指数的数据 因不知道沪深300指数的代码,所以先做了个查询 import tushare as ts ts.set_token('b497571a3ddd7dde8ebe28b372879594b2f8356c918ad80dae01605b') pro=ts.pro_api() index=pro.index_basic() index
结果显示如下:
这里需要用到arch模块中的arch_model函数,其中的mean参数表示平均方差是一个常数,lags表示滞后项阶数,vol是波动率模型的类型,p为对称随机数的滞后项阶数,o为非对称随机数的滞后项阶数,q为波动率的滞后项阶数,dist表示误差项服从的分布类型。 于是可以看到结果: 下面那个omega和alpha是我们关心的模型中的系数。p值也还可以。 接着再来构建Garch模型,过程与arch几乎一样,就是函数的参数小小调整了一下: model1=arch.arch_model(data.pct_chg,mean='Constant',lags=0,vol='GARCH',p=1,o=0,q=1,dist='normal') result1=model1.fit() result1.summary()
这个结果是: 0.9240148943742655,太惊人了,感觉问题很大,但不知道是哪有问题。 最后将结果进行可视化: result.plot()
|
CopyRight 2018-2019 实验室设备网 版权所有 |