用R语言写代码,数据路径为"D:\Desktop\002362hwkj.xlsx",使用ARIMA模型预测股票收益时间序列,要求将数据中2012年至2018年作为训练集,2018至2021年数据作为测试集,验证该模型的预测准确率,并作图
时间: 2024-03-13 18:45:26 浏览: 45
以下是用R语言编写的代码,实现对数据路径为"D:\Desktop\002362hwkj.xlsx"的股票收益时间序列的ARIMA模型预测,并将2018至2021年的数据作为测试集,计算预测准确率,并作图:
```R
# 导入所需库
library(readxl)
library(forecast)
# 读取数据
data <- read_excel("D:/Desktop/002362hwkj.xlsx")
# 将数据转换为时间序列
ts_data <- ts(data$shouyi, start = c(2010, 1), frequency = 12)
# 拆分训练集和测试集
train_data <- window(ts_data, start=c(2012,1), end=c(2018,12))
test_data <- window(ts_data, start=c(2019,1))
# 拟合ARIMA模型
fit <- auto.arima(train_data)
# 对测试集进行预测
forecast <- forecast(fit, h = length(test_data))
# 计算预测准确率
accuracy <- accuracy(forecast, test_data)
# 打印预测准确率
cat("预测准确率为:", accuracy$Overall[2], "\n")
# 绘制预测结果图形
plot(forecast, main="ARIMA Model Forecast", xlab="Year", ylab="Stock Returns")
lines(test_data, col="red")
legend("bottomright", legend=c("Forecast", "Actual"), col=c("blue", "red"), lty=1)
```
其中,首先使用`read_excel`函数读取Excel文件中的数据,然后使用`ts`函数将数据转换为时间序列对象。接着,使用`window`函数将数据拆分为训练集(2012至2018年数据)和测试集(2019至2021年数据)。然后,使用`auto.arima`函数拟合ARIMA模型,并使用`forecast`函数进行预测。接着,使用`accuracy`函数计算预测准确率,并使用`plot`函数作图,其中蓝色线条表示预测结果,红色线条表示测试集中的实际数据。最后,使用`legend`函数添加图例说明。
阅读全文