Events SAS:创建基准期模型(围绕事件)

Events SAS:创建基准期模型(围绕事件),events,sas,benchmarking,Events,Sas,Benchmarking,我想做一个事件研究,需要一些关于我用不同窗口大小测试的事件的描述 假设我有一个包含10000个观察值(股票、日期、度量值)的数据集,并将它们与公告数据集合并。现在,我想得到一个虚拟变量,除了我给出的参数外,它总是0: 如果日期=公告日期,则 t-60至t-11处的窗_假人=1 或 t-5至t+5=1处的窗口_假人 我希望我能恰当地描述它,因为没有领导职能或类似职能 最好的 M根据我从中收集的信息,您希望有一个额外的变量,它创建一个窗口(或binning)变量,该变量到达过去和未来的x天 首先,我

我想做一个事件研究,需要一些关于我用不同窗口大小测试的事件的描述

假设我有一个包含10000个观察值(股票、日期、度量值)的数据集,并将它们与公告数据集合并。现在,我想得到一个虚拟变量,除了我给出的参数外,它总是0:

如果日期=公告日期,则

t-60至t-11处的窗_假人=1 或 t-5至t+5=1处的窗口_假人

我希望我能恰当地描述它,因为没有领导职能或类似职能

最好的
M

根据我从中收集的信息,您希望有一个额外的变量,它创建一个窗口(或binning)变量,该变量到达过去和未来的x天

首先,我们生成一些测试数据。SAS日期只是数字,因此:

data begin; 
    do i = 21040 to 21080;
        my_date= i;
        output;
    end;
    drop i;
run;
接下来,我们计算窗口:

%let act_date= 21060;

%let min_date= %eval(&act_date - 5); /*5 days to past*/
%let max_date= %eval(&act_date + 3); /*3 days to future*/
然后剩下来生成虚拟变量:

data refined; 
    set begin;
    if  &min_date <= my_date and 
        my_date <= &max_date then 
            dummy = 1;
    else dummy = 0;
run;

然后用运算符将它们添加到if子句中

请添加示例数据和您尝试的代码。
min_date1= %eval(&act_date - 60);
max_date2= %eval(&act_date - 11); 
....