在课堂讲授的“事件研究”的实施范例中,我们假设每一个事件样本是不同公司的事件,然而在实际的研究中,有可能遇到同一个公司的多个事件样本。例如:在研究年度的盈利公告事件中,如果研究期间在一年以上,那么同一个公司就有多个盈利公告事件。在这种情况下,如果还照搬原有的SAS程序,会出现什么问题?如何在基于原有程序的框架下,解决这个问题?(提示:可以通过多种途径)
附:事件研究SAS程序(课堂)
data etdaily1; set et.etdaily; run;
proc sort data=etdaily1; by firm date; run;
data etdaily2; set etdaily1; by firm; if first.firm=1 then n=1; else n+1; run;
data edate1;set et.eventdt;date=evntdate;run;
proc sort data=edate1; by firm date; run;
data m1(drop=date ret); merge etdaily2 (in=a) edate1(in=b); by firm date;
if a=1 and b=1;rename n=nid; run;
Data m2;Merge etdaily2(in=a) m1(in=b);By firm;If a=1 and b=1;Run;
data m3(drop=n nid); set m2; evtday =n-nid; run;
proc sort data=m3; by date; proc sort data=et.index; by date;
data returns; merge m3(in=a) et.index(in=b); by date; if a=1 and b=1; run;
proc sort data=returns; by firm evntdate date; run;
data estper; set returns; if evtday>=-110 and evtday<=-10; run;
data evntper; set returns; if -1<=evtday<=0; run;
proc reg data=estper outest=mmparam noprint; by firm evntdate; model ret=mktret; quit;
data mmparam1(keep=firm evntdate alpha beta); set mmparam; rename Intercept=alpha mktret=beta; run;
data ar; merge evntper mmparam1; by firm evntdate; ar=ret-alpha-beta*mktret; run;
proc means data=ar noprint; by firm evntdate; var ar; output out=car sum=car; run;
proc means data=car n mean t prt; var car; run;