加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

ZZ 误差修正模型(VECM, 包含单位根、协整检验)

(2013-05-27 22:56:49)
分类: SAS
1、        单位根检验
SAS支持的单位根检验方法包括DF、ADF、PP、KPSS和RW(检验带漂移项的随机游走)。ADF在应用中最为常见,其SAS程序可如下编写:
proc arima data=one;
identify var=y1 stationarity=(adf=(3));
run;
adf=(3)表示滞后阶为3,这可以根据系数显著性的t检验来确定。难道SAS不能根据信息准这自主选择检验时的滞后阶数?Eviews可以实现。
SAS给出的结果非常多,因此,如果只想保留ADF检验的内容,则可以对输出结果进行控制。参考程序如下:
ods listing select ;
'identification 1'.'Augmented Dickey-Fuller Unit Root Tests';
proc arima data=one;
identify var=y1 stationarity=(adf=(3));
run;
quit;

2、        协整检验
    COINTEG语句格式为:
COINTEG RANK=number < H=(matrix) > < J=(matrix) >
< EXOGENEITY > < NORMALIZE=variable > ;
协整语句能够检验调节向量和长期参数的约束;也可以检验长期参数的弱外生性。协整系统用Johansen and Juselius (1990)and Johansen (1995a, 1995b)提出的ML法估计。
RANK=number指定协整系统的秩,其值大于0小于变量个数。在COINTEG语句中该选项是必须的。指定协整关系中一个变量的系数被标准化为1。为了检验α和β的限制性条件,可以使用H和J矩阵。这里重点介绍H和J矩阵行列数的确定。H=(matrix)选项是协整向量的约束阵。设协整向量矩阵为β,则β=H∮,H为K×s或(k+1)×s,∮为s×r的未知阵。k等于解释变量个数,r<=s
MODEL语句格式为:
MODEL dependents < = regressors >
< , dependents < = regressors > . . . >
< / options > ;
Model语句设定内生变量和外生变量。与协整相关的Model语句除一般功能外,还设定单位根检验的方法(DF检验),协整检验的方法(Johansen检验或SW检验),如下面的参考程序:
proc varmax data=one;
model y1-y4 / p=2 lagmax=6 dftest
cointtest=(johansen=(iorder=2))
ecm=(rank=1 normalize=y1);
run;

3、        弱外生性检验
< EXOGENEITY >选项用于变量的弱外生性检验。弱外生性由Engle (1987)所提出,其核心是将外生性基于感兴趣的参数(称为关注参数Interesting Parameters)而定义,Johansen(1991)将弱外生性检验扩展到ECM 之上。一般将关注参数设定为协整向量,若某一调节系数可约束为零,则称对应的应变量为关于协整向量的弱外生变量。
参考程序如下:
proc varmax data=one;
model y1-y4 / p=2;
cointeg rank=1 exogeneity;
run;

4、        格兰杰因果检验
代码:
var y x1 x2....[lag(滞后期数)]
vargranger
参考程序如下:
title 'Bivariate Granger Causality Test';
   data gdp;
     set sashelp.citiqtr;
     keep date gdpq;
   run;
   data gp;
     set sashelp.citimon;
     keep date eegp;
   run;
   proc expand data=gp out=temp from=month to=qtr;
     convert eegp / observed=average;
     id date;
   run;
   data combined;
     merge gdp temp;
     by date;
   run;
   data causal;
     set work.combined;
     gdpq_1 = lag(gdpq);
     gdpq_2 = lag2(gdpq);
     eegp_1 = lag(eegp);
     eegp_2 = lag2(eegp);
   run;
   
     unrestricted model;
   proc autoreg data=causal;
      model gdpq = gdpq_1 gdpq_2 eegp_1 eegp_2;
      output out=out1 r=e1;   
   run;
     restricted model;
   proc autoreg data=out1;
      model gdpq = gdpq_1 gdpq_2;
      output out=out2 r=e0;   
   run;
   ods select Iml._LIT1010
              Iml.TEST1_P_VAL1
              Iml.TEST2_P_VAL2;
   ods html body='exgran01.htm';           
     compute test;
   proc iml;
      start main;
      use out1;
      read all into e1 var{e1};
      close out1;
      use out2;
      read all into e0 var{e0};
      close out2;
      p = 2;           
      T = nrow(e1);   
      sse1 = ssq(e1);
      sse0 = ssq(e0);
      * F test;
      test1 = ((sse0 - sse1)/p)/(sse1/(T - 2*p - 1));
      p_val1 = 1 - probf(test1,p,T - 2*p - 1);
      * asymtotically equivalent test;
      test2 = (T * (sse0 - sse1))/sse1;
      p_val2 = 1 - probchi(test2,p);
      print "IML Result",, test1 p_val1,,
                           test2 p_val2;
      finish;
   run;
   quit;
   ods html close;
     Plot of the two series;
   data trans;
      set combined;
      keep date gdpq eegp;
      obs = _n_;
      gdpq = (gdpq - 3600)/1400;
      eegp = (eegp - 80)/70;
   run;
   title1 ' GDP and Gasoline Price';
   axis1 label=(angle=90 'Gross Domestic Product')
         order=(0 to 1 by .142) minor=none major=none offset=(0,0)
         value=('3600' '3800' '4000' '4200' '4400' '4600' '4800' '5000');
   axis2 label=(angle=90 'Gasoline Price')
         order=(0 to 1 by .142) minor=none major=none offset=(0,0)
         value=('80' '90' '100' '110' '120' '130' '140' '150');
   axis3 label=('Date');
   symbol1 color=red interpol=join value=none;
   symbol2 color=blue interpol=join value=none;
   proc gplot data=trans;
      format date year4.;
      plot gdpq*date / cframe=ligr
                vaxis=axis1 haxis=axis3;
      plot2 eegp*date / cframe=ligr
                vaxis=axis2;
   run;
   quit;

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有