Python金融时间序列模子ARIMA 和GARCH 在股票市场揣测利用|附代码数据
原文链接:
比来我们被客户要求撰写关于股票市场揣测的研究陈述,包罗一些图形和统计输出。
那篇文章讨论了自回回综合挪动均匀模子 (ARIMA) 和自回回前提异方差模子 (GARCH) 及其在股票市场揣测中的利用
介绍
一个 ARMA (AutoRegressive-Moving Average)") 有两部门,AR(p)部门和MA(q)部门,表达如下
此中 L 是滞后算子,ϵi 是白噪声。它能够通过 Box-Jenkins method. 我们可能会利用 PACF 绘造识别 AR 滞后阶数 p,和 ACF 图以识别 MA 滞后阶数 q;或利用信息,例如 AIC 和 BIC 做模子抉择。
ARIMA (AutoRegressive Integrated Moving Average)") 是 ARMA 的拓展,通过为非平稳过程添加阶数为 d 的积分部门。
展开全文
ARIMA是针对价格程度或收益率的,而GARCH(广义自回回前提异方差)则试图对颠簸率或收益率平方的聚类停止建模。它将ARMA项扩展到方差方面。
做为随机颠簸率模子的离散版本,GARCH也能捕获到股票市场的厚尾效应。因而,将ARIMA和GARCH连系起来,估量在模仿股票价格时比零丁一个模子更合适。在那篇文章中,我们将把它们利用于标普500指数的价格。
ARIMA
起首,寡所周知,股票价格不是平稳的;而收益可能是平稳的。ADF单元根查验成果。
# 价格是已知的非平稳的;收益是平稳的
import adfuller
rsut = aduler(close)
prnt(f'ADF Satitic: {reslt[]}, pale: {rslt1]}') # null 假设:单元根存在;不克不及回绝 null。
relt = adfler(histet)
prnt(f'ADF Statistic: {reut[0]}, pvaue: {rslt[1]}') # 回绝单元根的空假设 == 平稳
收益序列的 ADF p 值为 0,回绝单元根的原假设。因而,我们在 ARIMA(p, d, q) 中承受 d=1,下一步是识别滞后 p 和 q。ACF 和 PACF 图表白滞后最多 35 个工做日。假设我们根据图表停止拟合,将有太多参数无法拟合。一种处理计划是利用每周或每月图表。在那里,我们将更大滞后时间限造为 5 天,并利用 AIC 抉择更佳模子。
for p in rage(6):
for q in rage(6):
ry:
mft = fit(disp=0)
ic[(p, q)] = fiaic
except:
pass
下一步是拟合模子并通过残差统计评估模子拟合。残差仍然展现出一些自相关,而且没有通过正态性查验。因为滞后阶数限造,那在某种水平上是意料之中的。
虽然如斯,让我们陆续最初一步并利用模子停止揣测。下面比力了对测试集的收益率揣测和现实收益率。
收益率揣测以 0% 为中心,置信区间在 ±2% 之间。成果并非特殊令人印象深入。事实,市场正在履历一个动乱的阶段,在揣测时间窗口内以至下跌了 6%。
点击题目查阅往期内容
R语言ARIMA-GARCH颠簸率模子揣测股票市场苹果公司日收益率时间序列
摆布滑动查看更多
01
02
03
04
GARCH
让我们看看加进GARCH效果能否会产生更好的成果。建模过程类似于ARIMA:起首识别滞后阶数;然后拟合模子并评估残差,最初假设模子令人称心,就用它来揣测。
我们将 AR 滞后和 GARCH 滞后都限造为小于 5。成果更优阶为 (4,2,2)。
for l in rage(5):
for p in rage(1, 5):
for q in rage(1, 5):
try:
mdl = arch(is_et, man='ARX', vol='Garch', p=p, o=0, q=q, dist='Nomal')
fit(last_obs=spldat)
dc_ic[(l, p, q)] =aic
except:
pass
接下来让我们根据抉择的更佳参数来拟合模子,如下所示。证明了均值模子是AR(4),方差模子是GARCH(2, 2)。一些系数在统计上不显着。
最初但并不是最不重要的是,揣测区间从±4%下降到±3%,然后又反弹到±5%,那清晰地表白了模子的颠簸性集群。请重视,那里是单步滚动揣测,应该比静态的多期揣测要好。
趋向平稳和差分平稳
趋向平稳,即确定性趋向,具有确定性均值趋向。相反,差分平稳具有随机趋向。前者能够用OLS估量,后者需要先求差分。
考虑一个简单的过程
假设 φ1,则过程是趋向平稳的;也就是说,假设我们减往趋向 at,则过程变得平稳。若φ=1,则差分平稳。将第二个方程代进第一个方程很随便看出随机性,并将方程改写为
点击文末 “阅读原文”
获取全文完全材料。
本文选自《Python金融时间序列模子ARIMA 和GARCH 在股票市场揣测利用》。
点击题目查阅往期内容
金融时间序列模子ARIMA 和GARCH 在股票市场揣测利用
时间序列阐发模子:ARIMA-ARCH / GARCH模子阐发股票价格
R语言ARIMA-GARCH颠簸率模子揣测股票市场苹果公司日收益率时间序列
R语言中的时间序列阐发模子:ARIMA-ARCH / GARCH模子阐发股票价格
R语言多元Copula GARCH 模子时间序列揣测
python中的copula:Frank、Clayton和Gumbel copula模子估量与可视化
R语言中的copula GARCH模子拟应时间序列并模仿阐发
matlab利用Copula仿实优化市场风险数据VaR阐发
R语言多元Copula GARCH 模子时间序列揣测
R语言Copula函数股市相关性建模:模仿Random Walk(随机游走)
R语言实现 Copula 算法建模依靠性案例阐发陈述
R语言ARMA-GARCH-COPULA模子和金融时间序列案例
R语言基于copula的贝叶斯分层混合模子的诊断准确性研究
R语言COPULA和金融时间序列案例
matlab利用Copula仿实优化市场风险数据VaR阐发
matlab利用Copula仿实优化市场风险
R语言多元CopulaGARCH模子时间序列揣测
R语言Copula的贝叶斯非参数MCMC估量
R语言COPULAS和金融时间序列R语言乘法GARCH模子对高频交易数据停止颠簸性揣测
R语言GARCH-DCC模子和DCC(MVT)建模估量
Python利用GARCH,EGARCH,GJR-GARCH模子和蒙特卡洛模仿停止股价揣测
R语言时间序列GARCH模子阐发股市颠簸率
R语言ARMA-EGARCH模子、集成揣测算法对SPX现实颠簸率停止揣测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模子估量
Python利用GARCH,EGARCH,GJR-GARCH模子和蒙特卡洛模仿停止股价揣测
利用R语言对S&P500股票指数停止ARIMA + GARCH交易战略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机颠簸率SV模子对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模子和对数收益率数据探痛快阐发
R语言多元Copula GARCH 模子时间序列揣测
R语言利用多元AR-GARCH模子权衡市场风险
R语言中的时间序列阐发模子:ARIMA-ARCH / GARCH模子阐发股票价格
R语言用Garch模子和回回模子对股票价格阐发
GARCH(1,1),MA以及汗青模仿法的VaR比力
matlab估量arma garch 前提均值和方差模子
R语言ARMA-GARCH-COPULA模子和金融时间序列案例