|
打开sp500.DAT文件
load sp500.DAT
打开data.mat文件
load data.mat
%%%%%%%%%%data_analysis.m
data.mat 有4个 variables
% p: average labor productivity
% u: unemployment rate
% v: vacancies posted
% y: gdp
Ch2007.xls也有4个 variables
可以套用,但未必合适!
因为作者是依其需要取对数
并增加一变量theta=v./u;
请自行斟酌.
%%%%%%%
X=xlsread('Ch2007.xls','B2:E57');
p=X(:,1);
u=X(:,2);
y=X(:,3);
v=X(:,4);
N=56;
smooth=1600; % hpfilter smoothing papameter
theta=v./u;
logp=log(p);
logu=log(u);
logy=log(y);
logv=log(v);
logtheta=log(theta);
hp_p=hpfilter(logp,smooth);
hp_u=hpfilter(logu,smooth);
hp_y=hpfilter(logy,smooth);
hp_v=hpfilter(logv,smooth);
hp_theta=hpfilter(logtheta,smooth);
pdev=logp-hp_p;
udev=logu-hp_u;
ydev=logy-hp_y;
vdev=logv-hp_v;
thetadev=logtheta-hp_theta;
stddev=std([pdev, udev, vdev, thetadev, ydev]);
corrall=corrcoef([udev, vdev, thetadev]);
num=corrcoef([pdev(1:N-1), pdev(2:N)]);
ap=num(1,2);
num=corrcoef([udev(1:N-1), udev(2:N)]);
au=num(1,2);
num=corrcoef([vdev(1:N-1), vdev(2:N)]);
av=num(1,2);
num=corrcoef([thetadev(1:N-1), thetadev(2:N)]);
atheta=num(1,2);
num=corrcoef([ydev(1:N-1), ydev(2:N)]);
ay=num(1,2);
num=corrcoef([pdev(2:N),udev(1:N-1)]);
corrpu(1,1)=num(1,2);
num=corrcoef([pdev(1:N), udev(1:N)]);
corrpu(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), udev(2:N)]);
corrpu(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), udev(3:N)]);
corrpu(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), udev(4:N)]);
corrpu(1,5)=num(1,2);
num=corrcoef([pdev(2:N), vdev(1:N-1)]);
corrpv(1,1)=num(1,2);
num=corrcoef([pdev(1:N), vdev(1:N)]);
corrpv(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), vdev(2:N)]);
corrpv(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), vdev(3:N)]);
corrpv(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), vdev(4:N)]);
corrpv(1,5)=num(1,2);
num=corrcoef([pdev(2:N), thetadev(1:N-1)]);
corrptheta(1,1)=num(1,2);
num=corrcoef([pdev(1:N), thetadev(1:N)]);
corrptheta(1,2)=num(1,2);
num=corrcoef([pdev(1:N-1), thetadev(2:N)]);
corrptheta(1,3)=num(1,2);
num=corrcoef([pdev(1:N-2), thetadev(3:N)]);
corrptheta(1,4)=num(1,2);
num=corrcoef([pdev(1:N-3), thetadev(4:N)]);
corrptheta(1,5)=num(1,2);
num=corrcoef([ydev(2:N), pdev(1:N-1)]);
corryp(1,1)=num(1,2);
num=corrcoef([ydev(1:N), pdev(1:N)]);
corryp(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), pdev(2:N)]);
corryp(1,3)=num(1,2);
num=corrcoef([ydev(2:N), udev(1:N-1)]);
corryu(1,1)=num(1,2);
num=corrcoef([ydev(1:N), udev(1:N)]);
corryu(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), udev(2:N)]);
corryu(1,3)=num(1,2);
num=corrcoef([ydev(2:N), vdev(1:N-1)]);
corryv(1,1)=num(1,2);
num=corrcoef([ydev(1:N), vdev(1:N)]);
corryv(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), vdev(2:N)]);
corryv(1,3)=num(1,2);
num=corrcoef([ydev(2:N), thetadev(1:N-1)]);
corrytheta(1,1)=num(1,2);
num=corrcoef([ydev(1:N), thetadev(1:N)]);
corrytheta(1,2)=num(1,2);
num=corrcoef([ydev(1:N-1), thetadev(2:N)]);
corrytheta(1,3)=num(1,2);
|