前一篇写了如何用Python构建AR模型,但是由于不太熟悉,很多问题都没有说清楚,本文用R语言详细的讲一讲,算是为前面两篇文章补漏吧。
library(quantmod)
library(xts)
library(zoo)
library(quantmod)
library(TTR)
#获取数据
getSymbols("300033.SZ")
View(`300033.SZ`)
THS.Close = `300033.SZ`$`300033.SZ.Adjusted`
THS.Close
dim(THS.Close)
library(fBasics)
pacf(THS.Close, lag.max = 30)
acf(THS.Close, lag.max = 30)
THS.ret = diff(THS.Close)
tail(THS.ret)
log_data = log(THS.Close)
log_ret = diff(log_data)
数据清理:
na.omit(log_ret)
log_ret <- na.omit(log_ret)
dim(log_ret)
basicStats(log_data)
basicStats(log_ret)
plot(log_ret)
hist(log_ret, nclass = 200)
pacf(log_ret, lag.max = 30)
acf(log_ret, lag.max = 30)
Box.test(log_ret, lag = 2, type = 'Ljung-Box')
Box.test(log_ret, lag = 1, type = 'Ljung-Box')
arx2 = arima(log_ret, order = c(2, 0, 0))
plot(arx2$residuals)
plot(arx2$residuals, log_ret)
上面几个数值的意义:
yt=xt−0.0011yt=xt−0.0011
y(t)=0.0829∗y(t−1)+0.0076∗y(t−2)+a(t)
Box.test(arx2$residuals, lag = 2, type = 'Ljung-Box')
tsdiag(arx2)
predict(arx2, 8)