sort Stkcd date2
forvalue i=1/160347 {
qui sum date2 if event==`i'
local t=`r(mean)' //得出事件时间
qui sum Stkcd if event==`i'
local id=`r(mean)' //得出事件影响的企业id
qui sum n if event==`i'
local nn=`r(mean)' //定位到行数
forvalue j=1/90{
gen v=1+b_mkt_rf[`nn']*mkt_rf[`nn'+`j']+ b_smb[`nn']*smb[`nn'+`j']+ b_hml[`nn']*hml[`nn'+`j']+ b_umd[`nn']*umd[`nn'+`j']+cons[`nn'] //求出异常回报率,其中b_是由事前窗口得出的回归系数,没有b的是1-90天的值
qui sum v
local w=`w'*`r(mean)' //连乘求出bhar
drop v
}
replace k=`w' if event==1 //将结果填入k
display " finish `i' "
}