全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
7140 3
2012-03-06
我的数据结构是这样的:数据集名: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;

求高人指点,哪里出错了呢?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-3-6 19:52:23
  data a;
input stkcd $          day           excessreturn   marketreturn;
cards;
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
run;

proc corr data=a cov nomiss outp=work.b;
var excessreturn;
with marketreturn;
by stkcd day;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-6 20:11:13
如上,拼写错误,用ods 输出吧:
proc corr data=A cov nomiss outp=covsh;
var excessreturn;
with marketreturn;
by stkcd day;
ods output cov=covsh1;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-3-6 22:11:27
yugao1986 发表于 2012-3-6 20:11
如上,拼写错误,用ods 输出吧:
proc corr data=A cov nomiss outp=covsh;
var excessreturn;
thank you so mush!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群