我想以滚动方式计算前30天的时间序列(股票回报)的偏差(因此,获取每日价值)。
数据集看起来像:
Stock date month year return
1SF7 1/07/2016 7 2016 0.94
1SF7 5/07/2016 7 2016 0.91
1SF7 6/07/2016 7 2016 0.82
1SF7 7/07/2016 7 2016 0.95
..........
目前,我尝试过proc手段并计算月末偏斜度
proc means data=have; by year month;
output out= want (drop= _freq_ _type_ ) skew(return)=Skew_monthly;
run;
任何人都有滚动偏斜的想法?我知道这里有一个问题要求滚动偏斜,但答案只能每30天输出一个值,但我想要每日价值。
感谢任何输入! 马克
答案 0 :(得分:0)
谢谢,我用数组版本管理它:
data want; array p{0:29} _temporary_;
set have; by symbol;
if symbol then call missing(of p{*});
p{mod(_n_,30)} = return;
skew = skewness(of p{*});
run;