ARIMA模型来预测股票数据

本篇博文主要介绍如何用ARIMA模型来对股票数据做时序预测的。

文章目录

  • 获取数据
  • 数据预处理
  • 模型识别
  • 假设检验
  • 模型预测

获取数据

这里用的是tushare库,得到万科股票半年的数据。

import tushare as t1
t1.set_token('你自己的token')
ts=t1.pro_api()
df = ts.get_k_data('000002',start='2021-09-01',end='2021-12-31')#查万科两个月的历史行情
print(df)

在这里插入图片描述
观察原始数据的时序图和acf图:

df = df.dropna()
df = df["close"]
df.reset_index()plt.plot(np.arange(81),df)
plt.title("时序图")  #添加图标题 
plt.xticks(rotation=45)    #横坐标旋转45度
plt.xlabel('date')   #添加图的标签(x轴,y轴)
plt.ylabel("close")

在这里插入图片描述

from statsmodels.graphics.tsaplots import plot_acf 
plot_acf(df,lags=30) 
plt.show()  

在这里插入图片描述
观察可得,数据不是平稳序列,接下来对数据进行简单的处理,使其变为平稳序列。

数据预处理

这块对数据做的处理是对数据进行一阶差分:

# 进行一阶差分 
D_ts1 = df.diff().dropna()  
D_ts1.columns = [u'close差分']

做完差分后,观察其时序图和acf、pacf图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看起来感觉还可以,接下来用ADF检验来判断差分后的序列是否为平稳序列:

from arch.unitroot import ADF
adf = ADF(D_ts1)
# print(adf.pvalue)
print(adf.summary().as_text())

在这里插入图片描述
根据结果,可得到一阶差分后的序列为平稳序列。

模型识别

确定阶数的这一块是利用AIC和BIC,代码我就不放了
在这里插入图片描述
画出来的热力图是这样的,可得p=3,q=3

假设检验

拟合模型:

from statsmodels.tsa.arima_model import ARIMAmodel = ARIMA(df, order=(3,1,3))
model_fit = model.fit()
model_fit.summary()

在这里插入图片描述
这里利用QQ图(利用QQ图检验残差是否满足正态分布)和DW(利用D-W检验,检验残差的自相关性)进行检验:

from statsmodels.graphics.api import qqplot 
from statsmodels.stats.stattools import durbin_watson #DW检验resid = model_fit.resid 
plt.figure(figsize=(12,8))qqplot(resid,line='q',fit=True)print('D-W检验值为{}'.format(durbin_watson(resid.values)))

Out:

D-W检验值为2.000610162178381

在这里插入图片描述
说明模型还可以。

模型预测

预测模型使用predict函数就可以了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于遗传算法的BP神经网络的股票预测模型_matlab实现

文章目录 摘要bp神经网络遗传算法实验结果与分析完整代码下载: 摘要 在目前的股票投资市场,不少自然人股民的投资主要方式使根据对当天或者一个较长周期对股票数据的预测,来得到下一天的股票数据,从而进行相应的投资。为了满足股…

基于LSTM的股票预测模型_python实现_超详细

文章目录 一、背景二、主要技术介绍1、RNN模型2、LSTM模型3、控制门工作原理四、代码实现五、案例分析六、参数设置七、结论运行环境完整程序下载 一、背景 近年来,股票预测还处于一个很热门的阶段,因为股票市场的波动十分巨大,随时可能因为…

这样给宝宝起小名,好听不俗气

你家宝宝的小名叫什么? 对于父母来说,他们的宝宝不仅是这个世界上独一无二的宝贝,而且还是上天送给他们最珍贵的的礼物,所以,当他们来到这个世上的时候,父母总是喜欢把世上最美好的东西上赠与他们&#xf…

怎么样给小孩取名字?准爸妈为孩子起名字的另类姿势

老一辈都说:赐子千金,不如教子一艺,教子一艺,不如赐子好名。所以说,名字对孩子的重要性简直是不言而喻。要是起的名字奇奇怪怪的或者是寓意不好的话,大家会发现,孩子可能从去上学,就…

C# 名字五格测试

先申明,看着这个罗莊罗大师罗半仙的文章 https://blog.csdn.net/luozhuang/article/details/8725396 https://blog.csdn.net/luozhuang/article/details/8729523 他这是java版本的 我看了下,把它改成了C#版本 直接上代码吧 比较乱 没有优化命名啥的…

微信小程序:宝宝起名神器微信小程序

2022年马上到了,还不知道怎么给虎宝宝取名字嚒 那么这款小程序源码就可以帮到你了 这款小程序支持输入姓氏自动起名,不满意还可以点击换一换来找到满意的 支持起两个字或者三个字的名字 另外小编也给该款小程序添加了几个流量主广告给大家 小程序源码下载地址: 微…

根据谐音自动转换英文名的网站~如何起一个流行、有意义的英文名?你的英文名有什么内在意义吗?

今天发现自己的英文名有点low,想重新起一个。百度一搜,发现起名的网站真不少,定睛一看,起个名字要几十块?爱了爱了。 于是我花了半天时间研究,综合了网上的资源,写出这篇攻略。 ps&#xff1a…

目标检测算法——YOLOv5/YOLOv7改进之结合Swin Transformer V2(涨点神器)

&#x1f496;&#x1f496;>>>加勒比海带&#xff0c;QQ2479200884<<<&#x1f496;&#x1f496; &#x1f340;&#x1f340;>>>【YOLO魔法搭配&论文投稿咨询】<<<&#x1f340;&#x1f340; ✨✨>>>学习交流 | 温澜潮…

Pr——2020版本对导入视频如何编辑的操作

首先打开软件选择新建项目 填写好项目名称并选择该项目的位置&#xff0c;点击确定 在项目栏中右键&#xff0c;并选择导入&#xff0c;并选择想导入的视频 将视频拖动到时间轴栏&#xff0c;即可对视频进行你想要的操作。

Pr 入门系列之十:基本图形

在 Pr 中&#xff0c;文字&#xff08;包括字幕&#xff09;以及形状等被归类为图形 Graphics。 一个图形剪辑里可包含多个文本图层、形状图层以及其它媒体文件等图形元素。 提示&#xff1a; 1、图形剪辑不会出现在项目面板中&#xff0c;除非升级为源图。 2、与 Ps 一样&…

Pr 从入门到精通(合集)

PHOTOSHOPTEA 致力于打造随时可查、反复可用的工具手册&#xff0c;多数文章里少实例、无噱头。这样的文章在闲暇时读起来确实让人“头疼”。 但&#xff0c;当你遇到技术问题真正“头疼”的时候&#xff0c;其中一篇可能就是对症的“良药”&#xff1b;当你有所生疏或者有些遗…

开发中时常提到的提交pr是什么意思?

在编程开发领域&#xff0c;PR是Pull Request的缩写&#xff0c;一般用于Git/SVN等版本管理软件中。 它的过程是这样的&#xff1a;比如你在GitHub上看到一个很牛X的项目&#xff0c;你fork到自己仓库后&#xff0c;再改动一些代码&#xff0c;然后可以向提交一个pull request…

视频剪辑软件:Premiere Pro 2023 中文直装版(带语音转字幕)

Premiere Pro它是一款功能强大、灵活易用的视频编辑工具。该软件可以用于剪辑、调色、特效制作、音频处理等多种视频制作任务。Premiere Pro还支持多种视频格式&#xff0c;包括高清和超高清视频。 ​具有以下特点&#xff1a; 多格式支持&#xff1a;Premiere Pro支持多种视频…

Pr初识01

Pr初识 1.关于Pr&#xff1a;2.项目序列3.PR工作界面4.导入素材5.制式与素材管理6.剪辑与工具7.剪辑与工具&#xff08;下&#xff09;8.工具面板与时间轴面板进阶9.关键帧动画10.视频特效11.视频特效&#xff08;下&#xff09;12.音频及结合AU去除噪音13.字幕运用 1.关于Pr&a…

Premiere基础操作

一&#xff1a;设置缓存 二&#xff1a;ctrI导入素材 三&#xff1a;导入图像序列 四&#xff1a;打开吸附。 打开吸附后素材会对齐。 五&#xff1a;按~键可以全屏窗口。 六&#xff1a;向前选择轨道工具。 在时间线上点击&#xff0c;向前选中时间线上素材。向后选择轨道工具…

PR基础知识

什么是帧&#xff0c;什么叫帧速率&#xff0c;什么叫方形像素&#xff0c;什么叫场序…… 1、时长 时长为视频时间的长度&#xff0c;基本单位为秒。但是在PR软件中&#xff0c;有更为精准的时间单位计算为帧&#xff0c;也就是把1秒分为若干份&#xff0c;一份就是一帧&…

添加视频字幕后期制作Premiere Pro 2022中文

Premiere Pro 2022是一款PR视频剪辑软件&#xff0c;同时支持M1/M2芯片和Intel芯片安装&#xff0c;可以帮助用户提升自己的创作能力和创作自由度&#xff0c;具有易学、高效、精确的优点&#xff0c;可为用户提供采集、剪辑、调色、美化音频、字幕添加、输出、DVD刻录一整套的…

premiere(Pr)为视频配字幕 开放式字幕使用详解

1、前期工作&#xff1a;新建项目、新建序列、将素材导入序列&#xff0c;这里不再贴图详解 2、依次点击 – 文件 – 新建 – 字幕 3、找到开放式字幕并选择 – 确定 4、将字幕拖放到序列视频轨道&#xff0c;可以根据实际情况将字幕轨道适当拉长。 5、双击视频轨道的字幕 进行…

adobe PR2022 没有开放式字幕怎么办?

PR2022 将开放式字幕删除了 怎么用其他方法替代呢&#xff1f; 看下图&#xff0c;直接选中工作区下面的 字幕和图形 或者点击窗口后&#xff0c;勾选 文本 这里就可以看到新版的字幕 添加窗口了 直接创建新字幕轨 添加 新字幕轨道 添加 字幕分段 添加字幕 后面的操作就跟…

【PR 基础】PR界面简介

1.在界面最左上角介绍了软件名称和当前项目名称以及该项目的存放位置 2.然后是工具栏 3.点击这个按钮可以回到主页 4. 可以通过如下选项卡跳转到不同的工作界面 5.左下角为项目窗口 双击如下区域来导入素材 6. 右下角为剪辑窗口 我们可以将素材拖入该窗口中来编辑素材 可以在如…