R语言数据分析案例42-基于时间序列模型对股票预测分析和研究

news2024/11/19 12:41:20

一、研究背景和意义

随着全球经济的不断发展和数字化转型的加速推进,科技公司在全球市场中扮演着日益重要的角色。其中,中国的阿里巴巴集团作为全球最大的电子商务公司之一,其业务范围覆盖电子商务、云计算、金融科技等多个领域。由于其在中国及全球市场的影响力和市值巨大,阿里巴巴的股票价格不仅关乎公司自身的发展状况,也反映了中国和全球经济的整体走势。股票价格是金融市场最直观、最重要的指标之一,对于投资者、分析师和政策制定者来说,了解和预测股票价格的波动具有重要的意义。时间序列分析作为一种经典的统计方法,可以帮助我们深入理解阿里巴巴股票价格的走势规律,为投资决策和风险管理提供可靠的依据。。。。

二、研究综述

在国内研究方面,翁紫霞为提供可参考的投资建议,提高投资者在股票市场的收益,基于建设银行 2019 年 1 月 2 日—2022 年11 月 14 日每个交易日共计 939 组收盘价数据,应用 ARIMA 模型对股价进行预测和分析。结果显示,应用 ARIMA 模型可对短期内股价进行很好的预测,但因股票市场受多种多重因素的影响,进行长期预测时可能存在较大误差,需要深入探索更为准确的股价预测模型[1]。。。。姚金海通过构建一个基于ARIMA与信息粒化SVR的组合预测模型,对股票市场指数价格和收益变化的趋势进行预测。实证研究结果表明:基于ARIMA与信息粒化SVR组合的股指预测模型相较于传统时间序列模型而言,在预测精度和效度方面有较大提升,能够在一定时间周期内对股票等风险资产的价格波动区间进行较为可靠地预测[7]。。。。

三、理论部分

ARIMA模型为自回归移动平均模型,这是一个当选取的序列是非平稳序列时,能够通过差分、季节分解等一系列方法后将该序列变为平稳序列,随后继续建模的一个模型

指数平滑法是一种常用于时间序列预测的简单但有效的方法之一。它的核心思想是利用过去观测值的加权平均来预测未来的值,其中过去观测值的权重随时间指数级衰减。

季节性自回归整合移动平均模型(Seasonal Autoregressive Integrated Moving Average,sARIMA)是一种用于处理具有季节性的时间序列数据的方法。它是ARIMA模型的扩展,专门设计用于捕捉数据中的季节性变化。。。。

四、实证分析

本研究使用的数据来自阿里巴巴(股票代码:SW9988)的股票市场交易数据,涵盖了从 2022 年 1 月 1 日到 2024 年 3 月 12 日的时间范围。这段时间内的交易数据记录了阿里巴巴股票在市场中的各种表现和变化。

数据和代码

报告代码数据

首先读取数据并且查看数据和其特征格式:

library(ggplot2)
library(vars)
library(readxl)
# 导入所需的库
library(readr)
# 读取CSV文件
data <- read_csv('C:/Users/DWW/Desktop/ALBB-SW9988.csv')
data
# 显示数据的前几行
head(data)

 从上图可以看见,其中包含了538个数据点,每个数据点有7个变量,主要是数值型和字符串形式。接下来转换日期格式并且画出时间序列图:

data$date
# 绘制时间序列图
ggplot(data, aes(x = data$date, y = ts_data)) +
  geom_line() +
  labs(x = "日期", y = "收盘价") +
  ggtitle("收盘价时间序列") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

从图中可以看出几个特点,在波动性上,股票价格波动非常显著,其中在2022年中到2023年初出现较大的波峰和波谷,这意味着在这段时间内股票价格的波动幅度较大。

接下来进行平稳性检验

拒绝了原假设,这意味着我们有足够的证据来支持备择假设,即时间序列数据是平稳的。接下来画出ACF和PACF图。

# 绘制ACF图
acf(ts_data, main = "ACF Plot for ts_data")
# 绘制PACF图
pacf(ts_data, main = "PACF Plot for ts_data")

 ACF图显示了时间序列与其自身过去值的相关程度。这幅图显示了在多个时间滞后(Lag)下,ACF值逐渐减小。在这里,几乎所有的ACF条都是正值,并且逐渐减小到零,这通常是一个非平稳时间序列的指标。

在这里我们选取了arima (2, 0, 1)和自动定阶的模型来比较,模型信息如下:

# 拟合模型
manual_arima_model <- arima(ts_data, order = c(2, 0, 1))
# 显示手动选择的ARIMA模型信息
print(manual_arima_model)
# 模型评价
accuracy(manual_arima_model)

模型参数:ARIMA(0,1,0)表示你选择了一个差分阶数为1的一阶差分自回归移动平均模型。这个模型没有自回归项(AR)和移动平均项(MA),只有一个一阶差分(差分阶数为1)。

ARIMA(2,0,1)模型的参数为:ar1 = 1.3046, ar2 = -0.3185, ma1 = -0.3804,同时还有一个截距项(intercept)为90.3917。参数的标准误差分别为:ar1的标准误差为0.4346,ar2的标准误差为0.4245,,,

综合来看,虽然ARIMA(2,0,1)模型在参数较多的情况下拟合了数据。可以通过图来直观比较两模型的误差:

在MAE指标上,手动定阶的模型性能低于自动定阶模型,但是在RMSE和MAPE指标上,手动定阶的模型性能显著优于自动定阶模型,

接下来展示一下ARIMA(2,0,1)的预测结果:

# 绘制图表
ggplot(combined_data, aes(x=Date, y=Value, color=Data)) +
  geom_line() +
  labs(title="Time Series Forecast", x="Date", y="Closing Price") +
  theme_minimal()+
  theme(plot.title = element_text(hjust = 0.5))

其中,蓝色线显示了2022年1月至2023年底的价格走势。可以看到价格有明显的波动,其中有几个尖峰和深谷,这表明了该期间内的高波动性。。。。

接下来对模型进行残差分析:

# 残差分析
checkresiduals(manual_arima_model)

综合这些图表,我们可以得出结论,ARIMA(2,0,1)模型对数据进行了相对合理的拟合。

ETS模型

从上面结果可以得到,Smoothing parameters(平滑参数),alpha = 0.9422,这是平滑参数,它控制着对观察值的权重。较高的alpha值意味着更多的权重被分配给最近的观察值,。。

accuracy_ets <- accuracy(forecast_ets)
accuracy_ets
# 查看预测结果
plot(forecast_ets)

数据显示了显著的波动性和一个整体的下降趋势。从大约2023年初开始,图表以灰色区域显示了12个时间周期的预测。。。。

 Prophet模型

接下来使用Prophet模型来对数据做12期的预测:

# 构建未来数据框架
future <- make_future_dataframe(m, periods=12, freq = 'day')
# 进行预测
forecast_prophet <- predict(m, future)
forecast_prophet
# 查看预测结果
plot(m, forecast_prophet)
prophet_plot_components(m, forecast_prophet)

Prophet是Facebook开发的一个开源工具,它适用于时间序列数据的预测,特别是对于具有强季节性模式和多个季节性周期的数据。 特别的,该模型的指标情况为:MAE为5.2771,RMSE:为6.7873,MAPE: 0.0612。

SARIMA模型以及混合模型ARIMA-ETS

首先看一下SARIMA模型

fit_sarima <- auto.arima(data_ts, seasonal=TRUE)
# 概览模型
summary(fit_sarima)
# 进行预测
forecast_sarima <- forecast(fit_sarima, h=12)
# 查看预测结果
plot(forecast_prophet)

从上述模型参数可以知道,每个参数的标准误差(s.e.)分别为:ar1的标准误差为0.0686,ar2的标准误差为0.0658,。。

接下来进行混合模型的预测实验:

# 可视化预测结果
plot(forecast_arima, col="blue")
lines(forecast_ets$mean, col="red")
lines(combined_forecast, col="green")
legend("topright", legend=c("ARIMA", "ETS", "Combined"), col=c("blue", "red", "green"), lty=1)

从上图可以看出,ETS的预测是一条直线,说明预测未来股价会一直平稳,但是这可能性很小,从混合模型ARIMA-ETS和ARIMA模型对比来看,并不是模型通过混合之后其预测效果会变得更好,反之,有可能不如单一的时间序列模型。

五、结论和政策建议

在建模方面,我们尝试了多种时间序列模型,包括ARIMA、ETS、Prophet和SARIMA等。经过比较,我们发现ARIMA(2,0,1)模型在拟合数据和预测效果上表现较好,具有较低的预测误差和较高的拟合优度指标。。。。

参考文献

  1. 翁紫霞.基于ARIMA模型的股价分析与预测——以建设银行为例[J].现代信息科技,2023,7(14):137-141.DOI:10.19850/j.cnki.2096-4706.2023.14.029.
  2. 万文娣. 机器学习在股票价格混合预测模型中的研究与应用[D].西北师范大学,2023.DOI:10.27410/d.cnki.gxbfu.2023.002345.
  3. 刘祺,施三支,娄磊等.基于ARIAM-GARCH深度学习的股价预测与决策[J].长春理工大学学报(自然科学版),2024,47(01):119-130.、

创作不易,希望大家多点赞关注评论!!!(类似代码或报告定制可以私信)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1899909.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

盘点各个国家的国宝

中国&#xff1a;熊猫 熊猫已有800万年的历史&#xff0c;和它们同时代的动物都已灭绝&#xff0c;大熊猫生存至今成为“活化石”。 俄罗斯&#xff1a;北极熊 北极熊是世界上最大的陆地食肉动物&#xff0c;体型巨大&#xff0c;性格凶猛。 美国&#xff1a;白头海雕 白头海雕…

python基础语法 006 内置函数

1 内置函数 材料参考&#xff1a;内置函数 — Python 3.12.4 文档 Python 解释器内置了很多函数和类型&#xff0c;任何时候都能直接使用 内置函数有无返回值&#xff0c;是python自己定义&#xff0c;不能以偏概全说都有返回值 以下为较为常用的内置函数&#xff0c;欢迎补充…

docker 重要且常用命令大全

本文将总结一些常见的重要的docker命令&#xff0c;以作备忘。后续如果有新的比较常用重要的也会更新进来。欢迎补充。 docker服务管理 首先我们要解释一下&#xff1a;systemctl和docker命令的不同 systemctl&#xff1a;是许多 Linux 发行版中默认的初始化系统和服务管理器。…

transformer初探

transformer初探 self-attentionmultihead-attentionencoderdecoder self-attention 其实就是三个矩阵&#xff0c; W q W_q Wq​、 W k W_k Wk​、 W v W_v Wv​&#xff0c;这三个矩阵就是需要训练的参数。分别得到每个token对应的 q q q k k k v v v&#xff0c;其中 q …

网络安全设备——蜜罐

网络安全设备蜜罐&#xff08;Honeypot&#xff09;是一种主动防御技术&#xff0c;它通过模拟真实网络环境中的易受攻击的目标&#xff0c;以吸引和监测攻击者的活动。具体来说&#xff0c;蜜罐是一种虚拟或实体的计算机系统&#xff0c;它模拟了一个真实的网络系统或应用程序…

【开源项目】LocalSend 局域网文件传输工具

【开源项目】LocalSend 局域网文件传输工具 一个免费、开源、跨平台的局域网传输工具 LocalSend 简介 LocalSend 是一个免费的开源跨平台的应用程序&#xff0c;允许用户在不需要互联网连接的情况下&#xff0c;通过本地网络安全地与附近设备共享文件和消息。 项目地址&…

转盘输入法-单独鼠标版本

序 转盘输入法&#xff0c;给你的聊天加点新意。它不用常见的九宫格或全键盘&#xff0c;而是把字母摆在圆盘上&#xff0c;一滑一滑&#xff0c;字就出来了&#xff0c;新鲜又直接。 单独鼠标版本GIF演示 演示软件下载 转盘输入法https://download.csdn.net/download/u0146…

机器学习原理之 -- XGboost原理详解

XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;是近年来在数据科学和机器学习领域中广受欢迎的集成学习算法。它在多个数据科学竞赛中表现出色&#xff0c;被广泛应用于各种机器学习任务。本文将详细介绍XGBoost的由来、基本原理、算法细节、优缺点及应用场景。 X…

少花点精力找工作,5款AI制作简历工具助你一飞冲天

少花点精力找工作&#xff0c;5款AI制作简历工具助你一飞冲天&#xff01; 01 未来简历&#xff1a;个性化定制&#xff0c;让求职更高效 在求职的海洋中&#xff0c;一份出色的简历是脱颖而出的关键。未来简历&#xff0c;利用GLM-130B大模型&#xff0c;为求职者提供个性化的…

前端面试题18(js字符串特定内容查找方法)

在JavaScript中&#xff0c;有多种方法可以用来查找字符串中的特定内容。以下是一些常用的方法&#xff0c;包括它们的用途和示例代码&#xff1a; 1. indexOf() indexOf() 方法返回指定文本在字符串中第一次出现的索引&#xff08;位置&#xff09;&#xff0c;如果没有找到…

ssm“落雪”动漫网站-计算机毕业设计源码81664

目 录 摘要 1 绪论 1.1 研究背景 1.2 研究意义 1.3论文结构与章节安排 2系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据新增流程 3.2.2 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.2 非功能性分析 2.4 系统用例分析 2.5本章小结 3 系统总体设…

校园电动车安全监控和调度系统-计算机毕业设计源码13028

摘要 校园电动车安全监控和调度系统是为了确保校园内电动车的安全和高效运行而设计的。该系统通过安装在电动车上的监控设备&#xff0c;实时监测电动车的运行状态&#xff0c;包括速度、位置、电池电量等&#xff0c;一旦发现异常情况&#xff0c;系统会立即发出警报并通知相关…

热辣滚烫 凝“绳”聚力“力拔山河”中国拔河争霸赛圆满完赛

7月4日至5日&#xff0c;由中国拔河协会、山东省体育局、山东省总工会、山东省体育总会联合主办&#xff0c;山东省拔河协会承办&#xff0c;山东省体育中心协办&#xff0c;山东奥鼎体育文化传播有限公司运营的“力拔山河”中国拔河争霸赛在山东省体育中心羽毛球综合馆举行。 …

纸飞机社工库

收集了一些比较好用的纸飞机社工库&#xff0c;有纸飞机的可以加一下 Space X 隐私信息查询平台https://t.me/SpaceSGK_bot?startKhbOsEdELmingeek社工库 https://t.me/ingeeksgkbot?startNzM3ODE5NDM5Nw Botnet免费社工机器人https://t.me/SGK_0001_bot?start7378194397暗…

免费的K歌软件

提到K歌软件&#xff0c;目前市场上的选择似乎并不多&#xff0c;全民的会员制非常恶心&#xff01;除此之外&#xff0c;IKTV和想唱还不错是其中的热门选择&#xff0c;不过它们的更新频率有点让人有些疲倦。不过最近一款TV K歌软件非常火爆&#xff0c;而且他的曲库更新也是非…

支持离线的稍后阅读工具HamsterBase

什么是 HamsterBase &#xff1f; HamsterBase 是一个以隐私优先的、离线友好的稍后阅读工具。软件本身不需要连接互联网&#xff0c;没有遥测功能&#xff0c;不收集任何私人信息&#xff0c;也不需要登录或注册。同时&#xff0c;HamsterBase 是一个开放的知识管理工具&#…

提取重复数据

直接上控制台代码&#xff1a; Module Module1Sub Main()Console.WriteLine("请输入数据&#xff0c;以""&#xff0c;""相隔&#xff1a;")Dim str As String Console.ReadLineDim result From x In str.Split(",")Group By x Int…

HUAWEI VRRP 实验

实验要求&#xff1a;在汇聚交换机上SW1和SW2中实施VRRP以保证终端网关的高可靠性(当某一个网关设备失效时&#xff0c;其他网关设备依旧可以实现业务数据的转发。) 1.在SW1和SW2之间配置链路聚合&#xff0c;以提高带宽速度。 2.PC1 访问远端网络8.8.8.8 &#xff0c;优先走…

Vatee万腾平台:智能生活的新选择

在科技飞速发展的今天&#xff0c;智能生活已经不再是遥不可及的梦想&#xff0c;而是逐渐渗透到我们日常生活的方方面面。Vatee万腾平台&#xff0c;作为智能科技领域的佼佼者&#xff0c;正以其创新的技术、丰富的应用场景和卓越的用户体验&#xff0c;成为智能生活的新选择&…

【踩坑】探究PyTorch中创建稀疏矩阵的内存占用过大的问题

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 问题复现 原因分析 解决方案 碎碎念 问题复现 创建一个COO格式的稀疏矩阵&#xff0c;根据计算公式&#xff0c;他应该只占用约5120MB的内存&…