应用 ARMA-GARCH 需要平稳性吗?

机器算法验证 时间序列 有马 平稳性 加奇 金融
2022-01-24 10:43:09

我打算将 ARMA-GARCH 模型用于金融时间序列,并且想知道在应用所述模型之前该序列是否应该是平稳的。我知道应用 ARMA 模型,该系列应该是平稳的,但是我不确定 ARMA-GARCH,因为我包括 GARCH 错误,这意味着波动性聚类和非恒定方差,因此无论我做什么转换都是非平稳序列.

金融时间序列通常是平稳的还是非平稳的?我尝试将 ADF 测试应用于一些 volatile 系列并得到 p-value<0.01,这似乎表明平稳,但 volatile 系列本身的原理告诉我们该系列不是平稳的。

有人可以帮我解决这个问题吗?我真的很困惑

4个回答

从Engle 原始论文的摘要中复制
“这些是均值为零、序列不相关的过程,具有以过去为条件的非恒定方差,但恒定的无条件方差。对于此类过程,最近的过去提供了有关一期预测方差的信息”。

继续参考文献,正如介绍 GARCH 的作者所展示的 (Bollerslev, Tim (1986). " Generalized Autoregressive Conditional Heteroskedasticity ", Journal of Econometrics, 31:307-327) 对于 GARCH(1,1) 过程,它就足够了α1+β1<1对于二阶平稳性。

平稳性(估计过程所需的)是相对于无条件分布和矩定义的。

附录
为了总结评论中的讨论,GARCH 建模方法是一种巧妙的方法来模拟随时间推移的可疑异方差性,即过程的某种形式的异质性(这将使过程非平稳)作为观察到的特征来自过程记忆的存在,本质上是在无条件的水平上诱导平稳性。

换句话说,我们在随机过程分析(异质性和记忆性)中选择了我们的两个“大对手”,并用一个来抵消另一个——这确实是一个受启发的策略。

是的,该系列应该是静止的。GARCH 模型实际上是具有非平凡依赖结构的白噪声过程。经典 GARCH(1,1) 模型定义为

rt=σtεt,

σt2=α0+α1εt12+β1σt12,

在哪里εt是具有单位方差的独立标准正态变量。

然后

Ert=EE(rt|εt1,εt2,...)=EσtE(εt|εt1,εt2,...)=0

Ertrth=EE(rtrth|εt1,εt2,...)=ErthσtE(εt|εt1,εt2,...)=0

为了h>0. 因此rt是一个白噪声过程。然而有可能证明rt2实际上是一个ARMA(1,1)过程。所以 GARCH(1,1) 是平稳过程,但具有非常量条件方差。

对于仍然想知道这个问题的任何人,我会澄清一下——波动性聚类并不意味着该系列是非平稳的。这表明存在一个不断变化的条件方差机制——它可能仍然满足无条件分布的恒定性。

Bollerslev 的 GARCH(1,1) 模型在以下情况下不是弱平稳的α1+β>1,但是对于更大的范围,它实际上仍然是严格平稳的,Nelson 1990。进一步的 Rahbek & Jensen 2004(非平稳 GARCH 中的渐近推断)表明,α1β对于确保模型非平稳的任何参数规范,它是一致且渐近正态的。将此与 Nelson 1990 的结果(所有弱或严格的平稳 GARCH(1,1) 模型的 MLE 估计量一致且渐近正态)相结合,表明任何参数组合α1β>1将有一致且渐近正态的估计量。

然而,重要的是要注意,如果 GARCH(1,1) 模型是非平稳的,则条件方差中的常数项不会被一致地估计。

无论如何,这表明在估计 GARCH 模型之前不必担心平稳性。但是,您确实必须怀疑它是否似乎具有对称分布,以及该系列是否具有高持久性,因为这在经典 GARCH(1,1) 模型中是不允许的。当您估计了模型后,有兴趣测试是否α1+β=1如果您正在使用金融时间序列,因为这意味着趋势条件方差,很难想象这是投资者的行为趋势。然而,测试这个可以通过正常的 LR 测试来完成。

平稳性被相当误解了,并且仅与方差或均值是否似乎在局部变化有关 - 因为在过程保持恒定的无条件分布时仍然会发生这种情况。您可能认为方差的表面变化可能会导致偏离平稳性的原因是,方差方程(或均值方程)中的永久水平位移根据定义会破坏平稳性。但如果变化是由模型的动态规范引起的,即使平均值无法识别并且波动率不断变化,它也可能仍然是平稳的。另一个很好的例子是 Ling 在 2002 年引入的 DAR(1,1) 模型。

平稳性是一个理论概念,然后将其修改为其他形式,例如可以轻松测试的弱感平稳性。大多数测试都像你提到的 adf test 只测试线性条件。ARCH 效应适用于一阶不具有自相关但在平方序列中存在相关性的序列。

你说的 ARMA-GARCH 过程,这里使用 GARCH 部分去除了二阶依赖,然后线性项中的任何依赖都被 ARMA 过程捕获。

解决的方法是检查平方序列的自相关,如果存在相关性,则应用 GARCH 模型并检查任何线性时间序列属性的残差,然后可以使用 ARMA 过程对其进行建模。