在时间序列中创建平稳性的问题
Posted
技术标签:
【中文标题】在时间序列中创建平稳性的问题【英文标题】:Problem with creating stationarity in a time series 【发布时间】:2019-04-15 19:36:58 【问题描述】:我的代码有问题。我想用 R 中的 ARIMA 模型预测股票收益,但我无法让我的数据保持稳定。除了将股票价格转化为回报之外,我还尝试了 diff 函数来区分我的时间序列。我总是假设数据通过使用这两种方法之一变得静止。但是,当我运行增强的 dickey fuller 测试(R 中的 adf.test)时,我的 p 值显示数据保持非平稳。我做错了什么?
enter image description here
提前致谢。
【问题讨论】:
确保在文本中而不是在图像中包含代码。请参阅***.com/questions/5963269/…。 【参考方案1】:您必须将时间序列分解为数据、季节性、趋势和残差:
library('forecast')
library('tseries')
data$moving_average=ma(data$original, order=7)
moving_average = ts(na.omit(data$moving_average), frequency=30)
decomposition = stl(moving_average, s.window="periodic")
stationary <- seasadj(decomposition)
plot(decomposition)
你会得到:
【讨论】:
首先,谢谢。但是,我计算的回报怎么可能是平稳的,但是一旦我将它们转换为时间序列格式,它们就会变成非平稳的?它实际上是相同的数据,只是格式不同。还是我错过了什么?以上是关于在时间序列中创建平稳性的问题的主要内容,如果未能解决你的问题,请参考以下文章