adf检验代码 python_python在时间序列分析中的简介

本文介绍了时间序列分析的基本概念,以CSI300指数为例展示了时间序列的绘制、收益率波动分析。探讨了平稳与非平稳序列模拟,包括AR、MA、ARMA和ARIMA模型。并详细阐述了如何使用Python进行ADF检验,确定时间序列的平稳性,以及如何通过arma_order_select_ic()函数选择ARMA模型的阶数。最后,应用这些方法对CSI300指数进行预测,展示了模型的拟合和预测效果。
摘要由CSDN通过智能技术生成
1325695c01a0a179cb561575df6c5575.png

1

时间序列分析简介

时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。

时间序列分析的主要目的是根据已有的历史数据对未来进行预测。与面板数据不同,面板数据侧重于同一时间点不同样本的数值,而时间序列侧重于同一统计指标在时间的不同点的数值。时间序列有两个重要指标,一个是资料所属的时间,另一个是时间上的统计指标数值。时间序列可以描述社会经济现象在不同时间的发展状态和过程,也可以根据历史数据进行合理的未来推测。

时间序列分析是根据已有的时间序列历史数据,通过曲线拟合和参数估计(例如最常见的非线性最小二乘法)来建立数学模型的理论和方法。时间序列分析多见于国民经济、股票市场、市场潜力预测、灾害防治、气候管理等各个方面。

尽管在经管研究中,利用Stata、Eviews等统计软件可以实现一定程度的时间序列分析,但是Python语言无疑为我们提供了更为自由和广阔的研究空间。

2

时间序列分析:以CSI300为例

CSI300是观察我国股市的一个重要指数,非常适合作为考察我国股票市场的样本。显然,股指是一个变量在不同时间的变动,是时间序列变量。本文选取了CSI300从2002年1月4日到2019年10月8日的每日收盘价(Close)作为指标进行的观察(共计4307条数据)。

首先我们可以进行一个初步的绘图,观察17年来CSI300的走势。

TSdata=pd.read_excel('data.xlsx','TSdata',index_col=0);TSdata.head()TSdata.plot()plt.show()
39a281694259ed6f51bf778d182e5eff.png

进一步的,我们可以观察17年来每日股票收益率的波动。

def Return(Yt):    Rt=Yt/Yt.shift(1)-1                       #t日收盘价/t-1日收盘价    return(Rt)Rt=Return(TSdata)Rt.plot().axhline(y=0)plt.show()
02d8a690a443ff4898acb0cb23b44af5.png

通过这张图可以直观地看出股票的每日的收益率的波动是围绕零在进行上下波动

3

时间序列的模拟

一般地,我们认为一个随机游走的变量会服从正态分布。在Python中,我们可以利用简单的语句来实现对于一个随机过程的模拟。在随机过程中,我们一般地有平稳序列模拟和非平稳序列模拟。平稳时间序列粗略地讲,一个时间序列,如果均值没有系统的变化(无趋势)、方差没有系统变化,且严格消除了周期性变化,就称之是平稳的

平稳序列模拟:

08fcaed72a5c58477512babbddb0ce88.png

非平序列模拟:

3df1fc16e8a7f4623175ceaacb147413.png

时间序列的分析模型

AR模型

AR模型是自回归模型,AutoRegression的简称,是一种较为朴素的时间序列数据处理方法,利用同一变量的前n期来预测本期的变量的数值,并且假定为线性关系。这种分析方法中,自变量不是其他的影响因素,而是变量本身的历史数据,利用xt-n来预测xt,因此被称为自回归。以最简单的一阶自回归为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值