ARIMA时序序列分析-股价预测
时间序列分析是按照时间顺序的一组数字序列。时间序列分析就是利用这组数列,应用数理统计方法加以处理,以预测未来事物的发展。时间序列分析是定量预测方法之一。
基本原理
实验内容
数据选择
原始序列
可视化展示
单位根检验
平稳性验证
差分序列
平稳性检验
相关性检验
BIC模型定价
残差检验
白噪声检验
未来5天收盘价预测
基本原理:
拿到一个观测值序列之后,首先判断它的平稳性,通过平稳性检验,判断序列是平稳序列还是非平稳序列。
若为非平稳序列,则利用差分变换成平稳序列。
对平稳序列,计算相关系数和偏相关系数,确定模型。
估计模型参数,并检验其显著性及模型本身的合理性。
检验模型拟合的准确性。
根据过去行为对将来的发展做出预测。
实验内容:
数据选择
万科201507-202205的股价数据来源
原始序列
可视化展示
fig1 = plt.figure(figsize=(12,8))
x_major_locator=MultipleLocator(120)
plt.plot(date,data)
plt.title("时序图") #添加图标题
plt.xticks(rotation=45) #横坐标旋转45度
plt.xlabel('日期') #添加图的标签(x轴,y轴)
plt.ylabel("收盘价")
ax=plt.gca()
ax.xaxis.set_major_locator(x_major_locator) # 设置X轴显示间隔
plt.savefig('收盘价变化图.jpg')
从上图来看,时序序列波动明显,观测不具备平稳性;
单位根检验
from statsmodels.tsa.stattools import adfuller
ori_adf = adfuller(data) # 单位根检验
adf_out = pd.Series(ori_adf[0:4]
相关链接
发表评论