关于数据挖掘:Python金融时间序列模型ARIMA-和GARCH-在股票市场预测应用附代码数据

38次阅读

共计 3268 个字符,预计需要花费 9 分钟才能阅读完成。

原文链接: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 单位根测验后果。

# 价格是已知的非安稳的;收益是安稳的
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 模型和金融工夫序列案例

正文完
 0