python寻找波峰波谷算法,python 自动找曲线规律

首页 > 经验 > 作者:YD1662022-11-03 06:27:27

04 GARCH模型

GARCH模型是Bollerslev在1986年提出来的,全称为广义自回归条件异方差模型,Generalized Autoregressive Conditionally Heteroskedastic Models - GARCH(p,q),是ARCH模型的扩展。GARCH模型认为时间序列每个时间点变量的波动率是最近p个时间点残差平方的线性组合,与最近q个时间点变量波动率的线性组合加起来得到。即GARCH模型的条件方差不仅是滞后残差平方的线性函数,还是滞后条件方差的线性函数,因而GARCH模型适合在计算量不大时,方便地描述高阶的ARCH过程,具有更大的适用性。

python寻找波峰波谷算法,python 自动找曲线规律(9)

其中,

python寻找波峰波谷算法,python 自动找曲线规律(10)

为白噪音,

python寻找波峰波谷算法,python 自动找曲线规律(11)

,否则模型将是非平稳的。GARCH模型的估计与ARCH模型类似,具体推导过程参见计量经济学相关书籍。在实际应用中,GARCH(1,1)和GARCH(2,1)一般可以满足对自回归条件异方差的描述。下面使用Python对GARCH(1,1)模型进行模拟和估计。

Python中的ARCH包

先来看下arch包中arch_model函数各参数的含义以及模型设定方法。

arch.arch_model(y, x=None, mean='Constant', lags=0, vol='Garch', p=1, o=0, q=1, power=2.0, dist='Normal', hold_back=None)

各参数含义:

y : 因变量。

x : 外生变量,如果没有外生变量则模型自动省略。

mean: 均值模型的名称,可选: ‘Constant’, ‘Zero’, ‘ARX’ 以及 ‘HARX’。

lags:滞后阶数。

vol :波动率模型,可选: ‘GARCH’ (默认), ‘ARCH’, ‘EGARCH’, ‘FIARCH’ 以及 ‘HARCH’。

p :– 对称随机数的滞后阶,即扣除均值后的部分。

o :非对称数据的滞后阶。

q :波动率或对应变量的滞后阶。

power:使用GARCH或相关模型的精度。

dist:误差分布,可选:正态分布: ‘normal’, ‘gaussian’ (default);学生T分布: ‘t’, ‘studentst’;偏态学生T分布: ‘skewstudent’, ‘skewt’;通用误差分布: ‘ged’, ‘generalized error”。

hold_back:对同一样本使用不同的滞后阶来比较模型时使用该参数。

# 模拟GARCH(1, 1) 过程 np.random.seed(1) a0 = 0.2 a1 = 0.5 b1 = 0.3 n = 10000 w = np.random.normal(size=n) garch = np.zeros_like(w) sigsq = np.zeros_like(w) for i in range(1, n): sigsq[i] = a0 a1*(garch[i-1]**2) b1*sigsq[i-1] garch[i] = w[i] * np.sqrt(sigsq[i]) _ = ts_plot(garch, lags=30,title='模拟GARCH')

python寻找波峰波谷算法,python 自动找曲线规律(12)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.