数据表new中有如下几个变量:
stkcd(股票代码,升序),price(收盘价格),date(日期,descending排序)。基本是两年的A股日数据。
我想做一个这样的程序,加上一个新的变量price30——30天后的股票收盘价,并计算期间的收益率。从第一条记录开始,先判断指针向后29个记录的stkcd,是否相同,如果相同则将这个第30条记录的price赋值给第一条记录的新变量price30。
我先编的是这样的程序:
data a.new1;
set a.new;
if lag29(stkcd)=stkcd then
do;
price30=lag29(price);
ret30=log(price30/price);
end;
run;
但是这样做出来的新数据集的滞后项不是通过new数据集定位的,而是从new1中定位的,一直没解决这个问题。所以想请教一下大家,请问如何才能够从new中做判断并且定位滞后项呢?先谢谢各位了。