运行数据时碰到一个问题,现有共十年的daily股票收益,每个股票分类到4种投资组合(portfolio)里, 例子如下:
date 股票代码 portfolio return
19910101 AD 1 0.001
19910101 jhk 1 0.123
19910101 koj 2 -0.024
19910101 jkh 2 0.0013
19910101 ab 3 0.144
19910101 fff 3 -0.003
19910101 ere 4 0.094
19910101 frrh 4 0.0038
19910102 fh 1 0.002
19910102 te 1 0.002
19910102 jiou 2 0.0435
19910102 iuiu 2 0.0054
19910102 ui 3 0.0535
19910102 rge 3 0.0432
19910102 vds 4 0.0236
19910102 ewi 4 0.0877
.
.
.
.
现在我想用sas计算每天每个portfolio的平均收益, 例如一月一号potfolio1的平均收益 = (0.001+0.123)/2,
portfolio2的平均收益= (-0.024+0.0013/2
.
.
一月二号portfolio1的平均值收益= (0.002+0.002)/2
portfolio2的平均值收益= (0.0435+0.0054)/2
以此类推
一共算出十年每天每种portfolio的平均收益
我知道用 proc means data = “ " mean sum maxdec = 4;
class “ ";
var return;
run;
可以计算 但是适合于数据比较少的变量 因为算出的结果会在另外的output中输出。但我的数据量十分大,按日期分类的话一共十年3千6百多天,用以上的code不方便计算,有没有其他的代码可以一次性算出总共10年每天每个投资组合的平均收益值? 请高手多多指教 谢谢!!