【量化笔记】ARCH效应检验及GARCH建模的python实现
ARCH效应检验
import pandas as pd
SHret=pd.read_table('TRD_IndexSum.txt', index_col='Trddt', sep='\t')
/Users/yaochenli/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: FutureWarning: read_table is deprecated, use read_csv instead."""Entry point for launching an IPython kernel.
SHret.index=pd.to_datetime(SHret.index)
SHret.head()
Retindex | |
---|---|
Trddt | |
2009-01-05 | 0.032904 |
2009-01-06 | 0.030004 |
2009-01-07 | -0.006780 |
2009-01-08 | -0.023821 |
2009-01-09 | 0.014205 |
import matplotlib.pyplot as plt
import numpy as np
plt.subplot(211)
plt.plot(SHret**2)
plt.xticks([])
plt.title('Squared Daily Return of SH Index')plt.subplot(212)
plt.plot(np.abs(SHret))
plt.title('Absolute Daily Return of SH index')
/Users/yaochenli/anaconda3/lib/python3.7/site-packages/pandas/plotting/_converter.py:129: FutureWarning: Using an implicitly registered datetime converter for a matplotlib plotting method. The converter was registered by pandas on import. Future versions of pandas will require you to explicitly register matplotlib converters.To register the converters:>>> from pandas.plotting import register_matplotlib_converters>>> register_matplotlib_converters()warnings.warn(msg, FutureWarning)Text(0.5, 1.0, 'Absolute Daily Return of SH index')
from statsmodels.tsa import stattools
LjungBox=stattools.q_stat(stattools.acf(SHret**2)[1:13],len(SHret))
LjungBox[1][-1]
2.2324582490602845e-43
p值明显的小于0.05,所以可以拒绝上证指数收益率的平方是白噪声。即原序列存在ARCH效应
GARCH建模 假设GARCH(1,1)
from arch import arch_model
am = arch_model(SHret)
model=am.fit()
Iteration: 1, Func. Count: 6, Neg. LLF: -4464.281255289449
Iteration: 2, Func. Count: 19, Neg. LLF: -4464.512186616303
Iteration: 3, Func. Count: 32, Neg. LLF: -4464.710590460396
Iteration: 4, Func. Count: 45, Neg. LLF: -4464.735814639209
Iteration: 5, Func. Count: 61, Neg. LLF: -4464.735819191423
Positive directional derivative for linesearch (Exit mode 8)Current function value: -4464.735821909855Iterations: 9Function evaluations: 61Gradient evaluations: 5/Users/yaochenli/anaconda3/lib/python3.7/site-packages/arch/univariate/base.py:577: ConvergenceWarning:
The optimizer returned code 8. The message is:
Positive directional derivative for linesearch
See scipy.optimize.fmin_slsqp for code meaning.ConvergenceWarning)
print(model.summary())
Constant Mean - GARCH Model Results
==============================================================================
Dep. Variable: Retindex R-squared: -0.000
Mean Model: Constant Mean Adj. R-squared: -0.000
Vol Model: GARCH Log-Likelihood: 4464.74
Distribution: Normal AIC: -8921.47
Method: Maximum Likelihood BIC: -8900.16No. Observations: 1522
Date: Wed, Aug 14 2019 Df Residuals: 1518
Time: 14:12:36 Df Model: 4Mean Model
=============================================================================coef std err t P>|t| 95.0% Conf. Int.
-----------------------------------------------------------------------------
mu 3.3255e-04 3.181e-04 1.045 0.296 [-2.909e-04,9.561e-04]Volatility Model
============================================================================coef std err t P>|t| 95.0% Conf. Int.
----------------------------------------------------------------------------
omega 3.7169e-06 8.137e-14 4.568e+07 0.000 [3.717e-06,3.717e-06]
alpha[1] 0.0500 3.320e-04 150.614 0.000 [4.935e-02,5.065e-02]
beta[1] 0.9300 3.204e-03 290.305 0.000 [ 0.924, 0.936]
============================================================================Covariance estimator: robustWARNING: The optimizer did not indicate successful convergence. The message was
Positive directional derivative for linesearch. See convergence_flag.
ϵ t = σ t u t \epsilon_t=\sigma_t u_t ϵt=σtut
σ t 2 = 3.7169 ∗ 1 0 − 6 + 0.05 ϵ t − 1 2 + 0.93 σ t − 1 2 \\\sigma^2_t=3.7169*10^{-6}+0.05 \epsilon_{t-1}^2+0.93 \sigma^2_{t-1} σt2=3.7169∗10−6+0.05ϵt−12+0.93σt−12
【量化笔记】ARCH效应检验及GARCH建模的python实现相关推荐
- (1)ARCH效应、均值方程、GARCH族模型、对波动率建模、预测(包含代码)
一.ARCH模型的介绍 ARCH 模型通常有两个方程构成: 模型建立流程: 对资产收益率序列建立波动率模型需要4个步骤: (1)通过检验数据前后相关性建立一个均值方程,如果有必要,对收 ...
- R时间序列分析|SP500股指的ARIMA模型预测与残差ARCH效应分析
R时间序列分析|S&P500股指的ARIMA模型预测与残差ARCH效应分析 前言 一.数据及分析目的 二.数据探索 三.ARIMA模型构建 四.残差分析 五.模型预测 前言 由于R语言对新手并 ...
- 一阶差分序列garch建模_最全:ARCH, GARCH等模型家族是什么?软件如何做?怎么解释?...
关于时间序列方法,我们引荐了1.时间序列分析的各种程序, 38页集结整理成文档,2.ARDL, ARIMA, VAR, (G)ARCH时间数据模型讲解及软件操作,3.R软件中的时间序列分析程序包纵览, ...
- arch检验python_arch效应检验的一些要点
请问如果做出来的是30阶滞后序列的残差才存在ARCH效应还算存在ARCH效应吗?图如下: Heteroskedasticity Test: ARCH F-statistic ...
- 一阶差分序列garch建模_探讨黄金价格实证分析中ARIMA-GARCH模型的应用
一.引言 (一)研究背景 本文所涉及的黄金是具有金融属性且被多方面因素影响的一种产品,黄金投资者.生产者的价值行为根植于其价格变化上.黄金价格的动态演变过程也反映了金融市场中经济行为主体的投资决策,黄 ...
- R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化...
原文链接:http://tecdat.cn/?p=24441 我们研究波动聚集,以及使用单变量 GARCH(1,1) 模型对其进行建模. 波动聚集 波动聚集--存在相对平稳时期和高波动时期的现象--是 ...
- eviews 9.5新版本——平均预测、面板效应检验
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.界面优化 eviews9.5 更友好,可以 ...
- 调节效应检验(三):AMOS结构方程模型
一.调节变量 温忠麟等(2005)指出:"如果变量Y与变量X的关系是变量M的函数,即Y与X的关系受到第三个变量M的影响,则称M为调节变量,调节变量能够影响因变量和自变量之间关系的方向(正或负 ...
- 【学习笔记】正确写作美国大学生数学建模竞赛论文(已获得国二、美O)
[学习笔记]正确写作美国大学生数学建模竞赛论文(已获得国二.美O) 第2章 正确使用英文 第3章 写作规范 第4章 数学表达式 第5章 MCM/ICM竞赛论文写作 最近在学习总结如何写作美赛论文,就把 ...
最新文章
- hbase put 异步 java_java – HBase BufferedMutator vs PutList性能
- 【c语言】求最大最小值
- 机器学习--线性回归(原理与例子)
- 【解题报告】Leecode 2057. 值相等的最小索引——Leecode周赛系列
- java计算器简单吗,java简单计算器
- c语言编程数学黑洞,一个数学黑洞——6174
- 软件工程---17.分布式软件工程
- 女人,向《奋斗》中的夏琳米莱们学习什么
- python两个字符串数据可以复制吗_无论如何,是否要将Python pandas数据框中的单个数据中的数据复制到字符串或列表中以进行进一步处理?...
- 无线Hacking之D.O.S与AP欺骗
- SPI原理超详细讲解---值得一看
- 前端人员必须掌握哪些技术?常见缓存种类有什么?
- 数据流图技术相关基础知识
- httpd-2.4.9.tar.bz2的编译安装配置以及CGI、虚拟主机、https、mod_deflate、mod_status的实现。...
- javascript调用php函数_JavaScript怎么调用PHP函数?
- react-native 创建新的项目
- 从消费互联网谈到产业互联网
- multipartfile获取数据_关于使用Springmvc的MultipartHttpServletRequest来获得表单上传文件的问题,万分感谢~...
- IBM ACE User Defined Node
- setEnable和setClickable区别