/*建立数据集*/
data test;
input date : $ 20. stk1 : $ 20.;
cards;
. 000791.SZ
. 甘肃电投
. 2010-7-1
. .
2010-6-21 -9.86
2010-6-22 -9.85
2010-6-23 -9.84
2010-6-24 -9.83
2010-6-25 -9.82
2010-6-28 -9.81
2010-6-29 -9.8
2010-6-30 -9.79
2010-7-1 -9.78
2010-7-2 -9.77
2010-7-5 -9.76
2010-7-6 -9.75
2010-7-7 -9.74
2010-7-8 -9.73
2010-7-9 -9.72
2010-7-12 -9.71
2010-7-13 -9.7
;
run;
/*事件发生日披露的日期赋值给宏变量stkdt1*/
/*并且把该日顺序号赋值给宏变量n*/
data test;
set test;
n=_n_;
if n=3 then
call symput('stkdt1',stk1);
if input(date,yymmdd10.)=input("&stkdt1.",yymmdd10.) then
call symput('n',n);
run;
/*根据宏变量n选择所需时间范围的数据*/
data test1;
set test;
where n<=4 or &n.-5<=n<=&n.+5;
run;