金融时间序列分析:6. AR模型实例(R语言)

1. 前言

前一篇写了如何用Python构建AR模型,但是由于不太熟悉,很多问题都没有说清楚,本文用R语言详细的讲一讲,算是为前面两篇文章补漏吧。

 

2. 获取数据

library(quantmod)
library(xts)
library(zoo)
library(quantmod)
library(TTR)

#获取数据
getSymbols("300033.SZ")

View(`300033.SZ`)

 

 

3. 数据预处理

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)

 

 

 

4. 数据预览

plot(log_ret)
hist(log_ret, nclass = 200)

 

5. 定阶

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')

 

6. AR模型

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)

 

免责声明:信息仅供参考,不构成投资及交易建议。投资者据此操作,风险自担。
如果觉得文章对你有用,请随意赞赏收藏
相关推荐
相关下载
登录后评论
Copyright © 2019 宽客在线