在算CAR,做的多个事件研究,看连续公告的市场反应。
连老师关于事件研究法的代码如下:
sort companyid date
by companyid: gen datenum = _n
by companyid: gen target = datenum if date==eventdate
egen td = min(target), by(companyid)
gen dif = datenum-td
其中,td=min(target),但这个应该是单个事件的算法。如果是多事件,我理解应该在td这个步骤改动。我自己理解应该是这样,
1、td=target
2、其余空白值,td后2行还是取这个事件的td值。从第3行开始,取下一个事件的td值。
不知道这个怎么实现?
数据太多,我就没贴,画了一个Excel表
求黄色和绿色部分怎么实现的??
我参考了这个帖子,
https://bbs.pinggu.org/thread-4181678-1-1.html
写的这个,
gen td=.
replace td=target if target!=.
sort stkcd date
xtset stkcd date
tsfill
sort stkcd date
bys stkcd: replace td[_n-1]=td if td!=. & td[_n-1]=.
但结果提示“weights not allowed”
求有经验的小伙伴指教,怎么实现这个算法?
或者能直接告知多事件研究的代码,更是感激不尽。