前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用|附代码数据

Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用|附代码数据

原创
作者头像
拓端
发布2023-06-02 23:28:24
4330
发布2023-06-02 23:28:24
举报
文章被收录于专栏:拓端tecdat拓端tecdat

原文链接:http://tecdat.cn/?p=24407

最近我们被客户要求撰写关于金融时间序列模型的研究报告,包括一些图形和统计输出。

这篇文章讨论了自回归综合移动平均模型 (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单位根检验结果。

代码语言:javascript
复制
#?价格是已知的非平稳的;收益是平稳的
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 选择最佳模型。

图片
图片
代码语言:javascript
复制
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)。

代码语言:javascript
复制
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 在股票市场预测应用》。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原文链接:http://tecdat.cn/?p=24407
  • 介绍
  • ARIMA
  • GARCH
  • 趋势平稳和差分平稳
相关产品与服务
数据万象
数据万象(Cloud Infinite,CI)是依托腾讯云对象存储的数据处理平台,涵盖图片处理、内容审核、媒体处理、AI 识别、文档预览等功能,为客户提供一站式的专业数据处理解决方案,满足您多种业务场景的需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com