Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列2

简介: Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列1:https://developer.aliyun.com/article/1485068

随机行走的一阶差分

我们的定义成立,因为这看起来与白噪声过程完全一样。如果我们对 SPY 价格的一阶差分进行随机游走会怎么样?

# SPY价格的一阶差分
plt(diff(dt.PY), lag=30)

将随机行走模型拟合到ETF价格

它与白噪声非常相似。但是,请注意 QQ 和概率图的形状。这表明该过程接近正态分布,但具有“重尾”。 ACF 和 PACF 在滞后 1、5?、16?、18 和 21 附近似乎也存在一些显着的序列相关性。这意味着应该有更好的模型来描述实际的价格变化过程。

线性模型

线性模型又称趋势模型,代表了一个可以用直线作图的TS。其基本方程为。

在这个模型中,因变量的值由β系数和一个单一的自变量--时间决定。一个例子是,一家公司的销售额在每个时间段都会增加相同的数量。让我们来看看下面的一个特制的例子。在这个模拟中,我们假设坚定的ABC公司在每个时间段的销售额为-50.00元(β0或截距项)和+25.00元(β1)。

# 模拟线性趋势
# 例子 公司ABC的销售额默认为-50元,在每个时间步长为+25元
w = n.anom.ann(100)
y = nppt_lke(w)
b0 = -50.
b1 = 25.
for t in rge(lnw)):
    y\[t\] = b0 + b1*t + w\[t\]
    
 plt(y, lags=ls)

线性趋势模型模拟

在这里我们可以看到模型的残差是相关的,并且作为滞后的函数线性减少。分布近似正态。在使用此模型进行预测之前,我们必须考虑并消除序列中存在的明显自相关。PACF 在滞后 1 处的显着性表明_自回归_ 模型可能是合适的。

对数线性模型

这些模型与线性模型类似,只是数据点形成了一个指数函数,代表了相对于每个时间步的恒定变化率。例如,ABC公司的销售额在每个时间步长增加X%。当绘制模拟的销售数据时,你会得到一条看起来像这样的曲线。

# 模拟ABC的指数式增长
# 日期
pdat_rge('2007-01-01', '2012-01-01', freq='M')
# 假设销售额以指数速度增长
ale = \[exp( x/12 ) for x inage1, len(id)+1)\]
# 创建数据框架并绘图
df = d.ataame(sals, ix=x)
plt()

模拟指数函数

然后我们可以通过采用销售额的自然对数来转换数据。现在线性回归拟合数据。

# ABC对数销售 
indexid.plot()

指数函数的自然对数

如前所述,这些模型有一个致命的弱点。它们假设连续不相关的误差,正如我们在线性模型的例子中看到的那样。在现实生活中,TS数据通常会违反我们的平稳假设,这使我们转向自回归模型。

自回归模型 - AR(p)

当因变量针对自身的一个或多个滞后值进行回归时,该模型称为自回归模型。公式如下所示:

AR (P) 模型

当您描述 模型的“阶”时,例如阶“p”的 AR 模型 p 表示模型中使用的滞后变量的数量。例如,AR(2) 模型或_二阶_自回归模型如下所示:

AR (2) 模型

这里,alpha (a) 是系数,omega (w) 是白噪声项。在 AR 模型中,Alpha 不能等于 0。请注意,alpha 设置为 1 的 AR(1) 模型是_随机游走_ ,因此不是平稳的。

AR(1) 模型,ALPHA = 1;随机漫步

让我们模拟一个 alpha 设置为 0.6 的 AR(1) 模型

# 模拟一个α=0.6的AR(1)过程
rndm.sed(1)
n_sams = int(1000)
a = 0.6
x = w = n.amma(siz=_apes)
for t in rane(n_saps):
    x\[t\] = a*x\[t-1\] + w\[t\]
    
plot(x, gs=lgs)

AR(1) 模型,ALPHA = 0.6

正如预期的那样,我们模拟的 AR(1) 模型的分布是正常的。滞后值之间存在显着的序列相关性,尤其是在滞后 1 处,如 PACF 图所示。

现在我们可以使用 Python 的 statsmodels 拟合 AR(p) 模型。首先,我们将 AR 模型拟合到我们的模拟数据并收益估计的 alpha 系数。然后我们使用 statsmodels 函数“order()”来查看拟合模型是否会选择正确的滞后。如果 AR 模型是正确的,估计的 alpha 系数将接近我们的真实 alpha 0.6,所选阶数等于 1。

# 拟合AR(p)模型到模拟的AR(1)模型,alpa=0.6
md = AR(x).itm=30, ic='aic', trnd='nc')
%time st_oer = mt.R(x).stor(
    mxag=30, ic='aic', trnd='nc')
tuerer = 1

看起来我们能够恢复模拟数据的基础参数。让我们用 alpha\_1 = 0.666 和 alpha\_2 = -0.333 来模拟 AR(2) 过程。为此,我们使用 statsmodel 的“generate_samples()”函数。该函数允许我们模拟任意阶数的 AR 模型。

# 模拟一个AR(2)过程
n = int(1000)
# Python要求我们指定零滞后值,即为1
# 还要注意,AR模型的字母必须是否定的
# 对于AR(p)模型,我们也将MA的betas设置为0
ar = nr_\[1, -ahas\]
ma = npr_\[1, beas\]
ar2 = smt.arme_pe(ar=ar, ma=a, nsale=n) 
plot(ar2, lags=lags)

AR(2) 模拟 ALPHA\_1 = 0.666 和 ALPHA\_2 = -0.333

让我们看看是否可以恢复正确的参数。

# 拟合AR(p)模型来模拟AR(2)过程
max_lag = 10
est_rer = st.AR(r2)sennc')
tu_rder = 2

让我们看看 AR(p) 模型将如何拟合 MSFT 对数收益。这是收益TS。

MSFT 对数收益时间序列

# 选择MSFT收益的最佳滞后阶数
max_ag = 30
ml = smt.AR(ls.MSFT).fit(mam_lg, c='aic', tnc)
es_rr = tAR(rts.FT).secter(
    maag=malag ic=aic', re=nc')
p('最佳估计滞后阶数 = {}'.format(etoer))

最好的阶数是 23 个滞后或 23 !任何具有这么多参数的模型在实践中都不太可能有用。显然,收益过程背后的复杂性比这个模型所能解释的要复杂得多。

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列3:https://developer.aliyun.com/article/1485073

相关文章
|
2天前
|
机器学习/深度学习 数据采集 数据可视化
python用回归、arima、随机森林、GARCH模型分析国债期货波动性、收益率、价格预测
python用回归、arima、随机森林、GARCH模型分析国债期货波动性、收益率、价格预测
10 1
|
7天前
|
API vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(上)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
34 5
|
7天前
|
资源调度 数据挖掘 vr&ar
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(中)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
25 2
|
7天前
|
vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(下)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
29 3
|
6天前
|
存储
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析(上)
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
|
6天前
|
索引
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析(中)
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
12 1
|
6天前
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析(下)
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
12 1
|
13天前
|
API Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列1
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
25 0
|
13天前
|
资源调度 数据挖掘 vr&ar
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列3
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
25 0
|
13天前
|
vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列4
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
38 0

热门文章

最新文章