协整检验:Python

本文介绍了运用计量统计软件Spyder(3.2.6MAC-Python是版本3.6)进行Engle和Granger协整检验的方法。Spyder是一款出色的Python语言编辑器,界面类似Matlab。

整理数据

本例包括加拿大1954年至1991年长期、中期和短期利率

在Spyder中输入数据

1、打开Terminal,输入spyder,按Enter键确认,打开Spyder界面

2、在Console中右击,可选择清除所有变量和Console历史

3、删除屏幕上的代码,点击保存,将文件保存在数据所在的文件夹

import pandas # for readingexcel data

import statsmodels.api as sm#for ols

5、利用pandas.read_excel读取Excel,提示FileNotFoundError: [Errno 2] No such file or directory:'DataForThesis.xlsx',这是因为Spyder重启后,路径不再是文件所在位置,需要在路径栏调整位置

6、调整路径后,运行pandas.read_excel,设定为无变量名称,变量df出现在Variableexplorer栏中。41行4列,对应4个变量和采集的41个数据。同时提取x(短、中期利率)和y(长期利率)

import pandas # for readingexcel data

import statsmodels.api as sm#for ols

df =pandas.read_excel("CanadaInterest.xlsx")

x = df.iloc[0:41,1:2] # shortand medium interest

y = df.iloc[0:41,3] # longinterest

进行Engle和Granger协整检验

数据录入完成后,继续输入代码

1、利用sm.OLS函数,进行ols线性回归

import pandas # for readingexcel data

import statsmodels.api as sm#for ols

df =pandas.read_excel("CanadaInterest.xlsx")

x = df.iloc[0:41,1:2] # short andmedium interest

y = df.iloc[0:41,3] # longinterest

ols_result = sm.OLS(y, x).fit()

2、提取线性回归中的残差,进行adf单位根检验

import pandas # for readingexcel data

import statsmodels.api as sm#for ols

df =pandas.read_excel("CanadaInterest.xlsx")

x = df.iloc[0:41,1:2] # shortand medium interest

y = df.iloc[0:41,3] # longinterest

ols_result = sm.OLS(y, x).fit()

result=adfuller(ols_result.resid)

对残差adf检验的t值是-3.32,小于5%置信区间的判断值-2.94,说明可以推翻存在一个单位根的原假设,并接受残差平稳的事实,从而判断长、中、短期利率存在协整关系。值得注意的是,python自动给予残差的adf检验1个滞后值。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180210G0QUF600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券