楼主: dqboy123
1934 5

急!急!gauss,e-views高手进 [推广有奖]

  • 0关注
  • 1粉丝

本科生

37%

还不是VIP/贵宾

-

威望
0
论坛币
44236 个
通用积分
30.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
13065 点
帖子
48
精华
0
在线时间
128 小时
注册时间
2009-7-29
最后登录
2022-11-17

10000论坛币
本人先遇到l了一个难题,请各位大大牛人帮忙!
要求:用gauss,e-views软件按照论文that paper (Phillips,Wu&Yu.pdf)所提供的方法 来分析所给的数据表Singapore Property Prices & Rental Indices.xls中用黄色标出的数据,用来评估经济泡沫的周期和状态。
What I want to do is to use the test (GAUSS program codes - ZAndrews.txt) developed in that paper (Phillips,Wu&Yu.pdf)to statistically evaluate the duration and the timing of the bubble  (using the data Singapore Property Prices & Rental Indices.xls).

Also, you may need to refer to a procedure unit root test, (I also attach to you the code:e-views.txt, but take note that this code is written in e-views,  you may need to modify it if needed into GAUSS)

这是一个挑战,也是一次赚取论坛币的机遇,请各位高手将分析的结果和程序以附件的形式贴上,每楼500币,我来购买,如果真的解决了问题,再给8000论坛币作为奖励!! evaluate the duration and the timing of the bubble.rar (299.07 KB)

关键词:e-views GAUSS Views view Aus 高手 GAUSS
沙发
xuehe 发表于 2010-9-13 18:17:03 |只看作者 |坛友微信交流群
#include ZAndrewa.set;
@load x[389,2] = c:\gauss9.0\NASDAQRealPriceDiv7305.TXT;@

@load x[389,2] = f:\paper\peter\explosive\NASDAQRealPriceDiv7305.TXT;@

@load x[156,1] = c:\gauss9.0\OilpriceMarch06March09.TXT;@

@Weekly crude oil prices from March 2006 to March 2009@

@load x[264,1] = c:\gauss9.0\houseprice_Jan1987Dec2008.TXT;@

@Montly housing price index in US from Jan 1987 to December 2008@

load x[200,1] = c:\gauss9.0\EurUsd_March2005Dec2008.TXT;
这些,可能还有其它需要上传,本版网民才可尝试。
这些东西从哪里来胡?比较在支离破碎啊,让不知所云?

使用道具

藤椅
dqboy123 发表于 2010-9-13 19:27:18 |只看作者 |坛友微信交流群
这只是一个例子,是要读paper,用paper的方法来写代码,自己写代码

使用道具

板凳
xuelida 在职认证  发表于 2010-9-13 19:41:03 |只看作者 |坛友微信交流群
首先:你给的za code 少了ZAndrewa.set程序,不能做。
/*ADF test on forward regression*/

swindow=20;@floor(0.1*nob);@

i=swindow+1;

adft=zeros(nob-i+1,1);

do while i<=nob;

    @{rho,adft[i-swindow],c_t}=adf(y[1:i],1,6);@

    tval= zandrewa(x[1:i,1],4,2,1.96);

    adft[i-swindow]=tval[1];

    i=i+1;

endo;

print adft;

xy(seqa(1,1,nob-swindow),adft);

/*ADF test on rolling regression*/

/*

delta0=0.2;

delta1=1-delta0;

swindow=77;@floor(delta0*nob);@

print swindow;

print floor(delta1*nob);

print;

@adft=zeros(0+floor(delta1*nob),1);@

adft=zeros(313,1);

i=1;

do while i<=313;

    @{rho,adft[i],c_t}=adf(y[i:(i+floor(delta0*nob))],1,6);@

    tval= zandrewa(x[i:(i+76),1],12,2,1.96);

    adft[i]=tval[1];

    i=i+1;

endo;

print adft;

xy(seqa(1,1,rows(adft)),adft);*/

/*ADF test on backward regression*/

/*

swindow=floor(0.2*nob);

adft=zeros(nob-swindow,1);

i=nob-swindow+1;

do while i>=1;

    @{rho,adft[i-swindow],c_t}=adf(y[1:i],1,6);@

    tval= zandrewa(x[i:nob,1],12,2,1.96);

    adft[i-swindow]=tval[1];

    i=i-1;

endo;

print adft;

xy(seqa(1,1,nob-swindow),adft);

*/

end;

中的ADF test on forward regression、ADF test on rolling regression和
ADF test on backward regression三种方法,应该是BLS文章中的。
这个使用eviews很好编写的,张孝桐老师的书后面有例子 。

使用道具

报纸
xuelida 在职认证  发表于 2010-9-13 19:44:19 |只看作者 |坛友微信交流群
给你一个za例子,你自己用数据运行吧
new; cls;
load data[,]=? ;  @数据调用格式你自己设置吧@
y=data;
maxlag=4;
pi0=0.15;
call zatest1(y,maxlag,pi0);


proc(0)=zatest1(y,maxlag,pi0);
   local thresholdt,n,dy,t1,t2,tb,i,j,x,d,lag,temp,rhs,tval,taua,taub,tauc;
   thresholdt=1.6;
   n=rows(y);
   dy=y[2:n]-y[1:n-1];
   t1=maxc(round(n*pi0)|maxlag+5); t2=minc(round(n*(1-pi0))|n-(maxlag+5)+1);
   taua=zeros(t2-t1+1,1); taub=zeros(t2-t1+1,1); tauc=zeros(t2-t1+1,1);
   tb=t1;
   do while tb<=t2;
      print "---------";
      print/lz "tb=" tb;
      print "---------";
      d=(zeros(tb,1)|ones(n-tb,1));
      lag=maxlag;
      do while lag>=1;
         j=2+lag;
         x=y[j-1:n-1];
         i=1;
         do while i<=lag;
            x=x~dy[j-1-i:n-1-i];
            i=i+1;
         endo;
         rhs=x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.];
         temp=rhs[.,1]; rhs[.,1]=rhs[.,cols(x)]; rhs[.,cols(x)]=temp;
         print/lz lag;; tval=dftau(dy[j-1:n-1],rhs);
         if abs(tval)>thresholdt;
            break;
         endif;
         lag=lag-1;
      endo;
      if lag==0;
         x=y[j-1:n-1];
      endif;
      print/lz "ZA Test(MODEL A): break at" tb;;print/lz "lag=" lag;
      taua[tb-t1+1]=dftau(dy[j-1:n-1],x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.]);
      print;
      d=(zeros(tb,1)|seqa(1,1,n-tb));
      lag=maxlag;
      do while lag>=1;
         j=2+lag;
         x=y[j-1:n-1];
         i=1;
         do while i<=lag;
            x=x~dy[j-1-i:n-1-i];
            i=i+1;
         endo;
         rhs=x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.];
         temp=rhs[.,1]; rhs[.,1]=rhs[.,cols(x)]; rhs[.,cols(x)]=temp;
         print/lz lag;; tval=dftau(dy[j-1:n-1],rhs);
         if abs(tval)>thresholdt;
            break;
         endif;
         lag=lag-1;
      endo;
      if lag==0;
         x=y[j-1:n-1];
      endif;
      print/lz "ZA Test(MODEL B): break at" tb;;print/lz "lag=" lag;
      taub[tb-t1+1]=dftau(dy[j-1:n-1],x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.]);
      print;
      d=(zeros(tb,1)|ones(n-tb,1))~(zeros(tb,1)|seqa(1,1,n-tb));
      lag=maxlag;
      do while lag>=1;
         j=2+lag;
         x=y[j-1:n-1];
         i=1;
         do while i<=lag;
            x=x~dy[j-1-i:n-1-i];
            i=i+1;
         endo;
         rhs=x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.];
         temp=rhs[.,1]; rhs[.,1]=rhs[.,cols(x)]; rhs[.,cols(x)]=temp;
         print/lz lag;; tval=dftau(dy[j-1:n-1],rhs);
         if abs(tval)>thresholdt;
            break;
         endif;
         lag=lag-1;
      endo;
      j=2+lag;
      if lag==0;
         x=y[j-1:n-1];
      endif;
      print/lz "ZA Test(MODEL C): break at" tb;;print/lz "lag=" lag;
      tauc[tb-t1+1]=dftau(dy[j-1:n-1],x~ones(n-j+1,1)~seqa(1,1,n-j+1)~d[j:n,.]);
      tb=tb+1;
   endo;
   print;
   print "Model A:";
   print/lz "tb=" minindc(taua)+t1-1;; print "minZA=" minc(taua);
   print/lz "tb=" maxindc(taua)+t1-1;; print "maxZA=" maxc(taua);
   print "                    aveZA=" meanc(taua);
   print "Model B:";
   print/lz "tb=" minindc(taub)+t1-1;;print "minZA=" minc(taub);
   print/lz "tb=" maxindc(taub)+t1-1;;print "maxZA=" maxc(taub);
   print "                    aveZA=" meanc(taub);
   print "Model C:";
   print/lz "tb=" minindc(tauc)+t1-1;;print "minZA=" minc(tauc);
   print/lz "tb=" maxindc(tauc)+t1-1;;print "maxZA=" maxc(tauc);
   print "                    aveZA=" meanc(tauc);
endp;

proc dftau(dy,x);
   local n1,k,b,e,s2hat,varb,se,tau;
   n1=rows(x); k=cols(x);
   b=inv(x'x)*x'dy;
   e=dy-x*b;
   s2hat=e'e/(n1-k);
   varb=s2hat*inv(x'x);
   se=sqrt(diag(varb));
   tau=b[1]./se[1];
   print "tau=" tau;; print/rz "( n=" n1 ")";
   retp(tau);
endp;

使用道具

地板
xuelida 在职认证  发表于 2010-9-13 19:48:10 |只看作者 |坛友微信交流群
根据统计量,画图你自己设置吧

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 22:13