大家好,我运行了GAUSS程序如下:
format /ld 6,3;
library pgraph,boot;
output file=sim.out reset;
output off;
true=0;
false=1;
ask=false;
seas=0; @ seasonal factors @
poly=0; @ degree of polynomial trends @
lag=0; @ lag length in var @
nimp=10; @ number of impulse responses @
rho=0;
brks=0;
nboot=100;
_report=false;
_graph=false; @ print or graph the impulse response functions@
_detrend=1; @ _detrend=0 put deterministic terms @
nobs=200;
_model=1;
do while _model<=2;
seed1=2345;
if _model == 1;
{data,ddata}=dgp1(nobs,0.0);
else;
{data,ddata}=dgp2(nobs,0.0);
endif;
nvar=cols(data);
count=zeros(nvar+1,1);
xncv=_model;
output on;
print "T " rows(data) "Lags " lag "Rank " xncv ;
output off;
{alphasj,gamao_sj,gama_sj,xnr1,s00}= ptdecomp(data,lag,poly,seas,ask,xncv);
if xncv <= nvar; xnr1 =xncv; endif;
alpha=alphasj;
@ normalize the cointegrating vector on the first variable @
i=1;
do while i<=xnr1;
alpha[.,i]=-alphasj[.,i]./alphasj[1,i];
i=i+1;
endo;
@ run the vecm using the normalized cointegrating vector @
if xnr1 < nvar and xnr1 > 0;
{beta1,beta2,gama,res,covmat,se}
=vecm(ddata,brks,lag,seas,poly,alpha,data,xnr1);
{gmat,beta}=getpar(alpha,gama,beta1,xnr1,nvar,lag);
chlmat=orthog(res,gmat);
nlag=lag;
else;
if xnr1 == nvar;
nlag=lag+1;
{beta,beta2,res,covmat,se}=var(data,brks,nlag,seas,poly);
chlmat=chol(covmat);
gmat = eye(nvar);
else;
nlag=lag;
{beta1,beta2,res,covmat,se}=var(ddata,brks,nlag,seas,poly);
gama=0;
if nlag > 0; @ get AR representation of the VECM @
beta=getbeta(beta1,zeros(nvar,nvar),zeros(nvar,nvar),nvar,xnr1,nlag);
else;
beta=getbeta(beta1,zeros(nvar,nvar),zeros(nvar,nvar),nvar,xnr1,nlag+1);
beta=trimr(beta,0,nvar);
endif;
chlmat=chol(covmat);
gmat = eye(nvar);
endif;
endif;
{impulse1,decomp1,sumc1,dd}=irf(beta,gmat,chlmat,covmat,se,lag,nimp);
output on;
call report(sumc1,impulse1,decomp1,gmat,chlmat,res,alpha,gama,nobs,lag,xnr1);
ask=false;
bootstrap(beta,beta2,res,data,poly,seas,brks,lag,ask,nvar,xnr1,nlag);
print;
_model=_model+1;
endo;
output off;
end;
proc(2)=dgp(bigt,init,nonc,rho);
local z,x,e,i,xdata,xddata,capt,nobs,b1,b2;
capt=init*bigt;
nobs=bigt+capt;
b1=2;b2=3;
nvar=3;
x=zeros(nobs,nvar);
z=zeros(nobs,nvar);
e = rndns(nobs,nvar,seed1) ;
i=2;
do while i <= nobs;
z[i,1]=rho*z[i-1,1]+e[i,1];
z[i,3]=(1-nonc)*z[i-1,3]+e[i,3];
x[i,2]=x[i-1,2]+e[i,2];
x[i,1]=b1*x[i,2]+z[i,1];
x[i,3]=b2*x[i,2]+z[i,3];
i=i+1;
endo;
xdata=x;
xddata=diff(xdata,1);
xdata=trimr(xdata,capt,0);
xddata=trimr(xddata,capt,0);
retp(xdata,xddata);
endp;
proc(2)=dgp0(bigt,init,nonc,rho);
local z,x,e,i,xdata,xddata,capt,nobs;
capt=init*bigt;
nobs=bigt+capt;
nvar=4;
x=zeros(nobs,nvar);
z=zeros(nobs,nvar);
e = rndns(nobs,nvar,seed1) ;
i=2;
do while i <= nobs;
x[i,3]=x[i-1,3]+e[i,3];
z[i,1]=rho*z[i-1,1]+e[i,1];
z[i,2]=(1-nonc)*z[i-1,2]+e[i,2];
x[i,1]=2*x[i,3]+z[i,1];
x[i,2]=3*x[i,3]+z[i,2];
x[i,4]=x[i-1,4]+e[i,4];
i=i+1;
endo;
xdata=x;
xddata=diff(xdata,1);
xdata=trimr(xdata,capt,0);
xddata=trimr(xddata,capt,0);
retp(xdata[.,1]~xdata[.,3]~xdata[.,4]~xdata[.,2],
xddata[.,1]~xddata[.,3]~xddata[.,4]~xddata[.,2]);
endp;
proc(2)=dgp2(bigt,init);
local i,capt,u,y,dy,ecm,t,xx,yy,e,theta,rho,a,delta,gama,nvar,ncv,alpha,nobs;
nvar=3;
ncv=2;
capt=init*bigt;
nobs=bigt+capt;
e=rndn(nobs,nvar);
u=zeros(nobs,nvar);
let theta[3,3] = .0,0,0,0,.0, .0, 0, 0, .0;
let a[3,3]= 1,0,0,-1, 1, -1, .5, .5, 1;
let rho[3,3]= 1,0,0,0, .0, 0, 0,0, .0;
delta = a[nvar-ncv+1:nvar,.]';
i=2;
do while i <= nobs;
u[i,.]=u[i-1,.]*rho + e[i,.]+e[i-1,.]*theta;
i=i+1;
endo;
y=(inv(a)*u')';
dy=zeros(1,nvar)|(y[2:nobs,.]-y[1:nobs-1,.]);
y=trimr(y,capt,0);
dy=trimr(dy,capt,0);
let alpha[3,2]=.333,-1,0,-.666,0,-1;
let gama[3,2]=0,0,1,0,0,1;
retp(y,dy);
endp;
proc(2)=dgp1(bigt,init);
local u,x,y,data,ddata,alpha,gama,nr1,nobs,capt,nvar,sigma,dx,e;
capt=init*bigt;
nobs=bigt+capt;
nvar=3;
sigma=eye(2);
dx = rndns(nobs,nvar-1,seed1);
e = rndns(nobs,1,seed1) ; /* Generate random walks */
u = rndns(nobs,1,seed1);
u = recserar(u,0,1);
x = recserar(dx,zeros(1,nvar-1),ones(1,nvar-1)) ;
/* Accumulate the innovations */
/* x is a non-cointegrated system */
/* of 2 I(1) variables */
/* cointegrating vector: (1,-1,-1) */
y = x[.,1] + 2*x[.,2] + e ; /* dgp */
data=y~x;
ddata=diff(data,1);
data=trimr(data,capt,0);
ddata=trimr(ddata,capt,0);
let alpha[3,1]=-1,1,1.;
gama=zeros(3,1);
gama[1]=1.0;
nr1=1;
retp(data,ddata);
endp;
为什么显示:
Library not found G0290,'C:\gauss10\boot.lcg'
undefined symbols:
ptdecomp D:\财富效应\p-t decomposition\sim.prg[33]
等等
是不是因为我没有安装什么软件包的缘故啊?guass运行时应该直接点击RUN命令就可以了对吧?不好意思,我是个菜鸟,刚接触Gauss没几天,恳请大家指导。