本文介绍了运用计量统计软件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个滞后值。
领取专属 10元无门槛券
私享最新 技术干货