我的数据结构是这样的:数据集名:da.sh
stkcd day excessreturn marketreturn
000004 200301 0.1 0.2
000004 200301 0.2 0.3
000004 200301 0.3 0.4
000004 200302 0.4 0.5
000004 200302 0.5 0.6
000004 200302 0.6 0.7
000005 200301 0.2 0.2
000005 200301 0.2 0.4
000005 200301 0.3 0.8
000005 200302 0.4 0.5
000005 200302 0.2 0.9
000005 200302 0.6 0.7
stkcd为股票代码,day为交易月份,我希望得到每支股票每个月excessreturn 和marketreturn之间的协方差,并且输出到新的数据集da.covsh中,排列格式如:即是一个按照股票代码和年份组合的cluster。
stkcd day cov
000004 200301 x
000004 200302 y
000005 200301 z
000005 200302 w
这样。
应该怎么算呢?我的代码是:
proc sort data=da.sh;
by stkcd day;
run;
proc corr data=da.sh cov nomiss outp=da.covsh;
var excessreturn;
with marketexcessr;
by stkcd day;
run;
求高人指点,哪里出错了呢?