构建AR模型

#tushare ID:474220
构建AR模型
自回归,全称自回归模型(Autoregressive model,简称AR模型),是统计上一种处理时间序列的方法,是用同一变量之前各期的表现情况,来预测该变量本期的表现情况,并假设它们为线性关系。因为这是从回归分析中的线性回归发展而来,只是不是用来预测其他变量,而是用来预测自己,所以叫做自回归。自回归模型被广泛运用在经济学、信息学、自然现象的预测上。
本次使用的数据来自与Tushare平台,有较为全面的金融数据可供使用,通过数据接口调用数据简单快捷,可以通过在终端利用命令pip install tushare安装该库并进行调用。

1.首先我们导入必要的库

import numpy as np
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import statsmodels.api as sm # 统计相关的库
from statsmodels.tsa.arima.model import ARIMA
from statsmodels.tsa.stattools import adfuller
import tushare as ts
#正常显示画图时出现的中文和负号
plt.rcParams["font.sans-serif"]=["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

2.初始化pro接口。token可以在https://tushare.pro/上注册后获得。

pro = ts.pro_api('你的token')

3.提取数据。本次我们调用的是600309.SH这支股票2020年的日线数据,同时并对数据进行一些预处理。

data = pro.daily(ts_code='600309.SH', start_date='20210101', end_date='20211231')
data = data.sort_values(by=['trade_date']).reset_index(drop=True)

4.提取收益率

r = np.array(data['pct_chg'])/100

5.进行ADF检验并输出P值

t = adfuller(r)
print("p-value:   ",t[1])

6.构建AR(2)模型并输出AIC值,绘制偏相关图

fig = plt.figure(figsize=(20,5))
ax1=fig.add_subplot(111)
sm.graphics.tsa.plot_pacf(r,lags = 20,ax=ax1)#绘制偏相关图
order = (2,0,0)#AR(2)
model = ARIMA(r,order=order).fit()
print('AIC-value: ', model.aic)#根据AIC值确定阶数,AIC值越小越好

7.偏相关图如下构建AR模型_第1张图片

 

你可能感兴趣的:(回归,机器学习)