全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1137 2
2018-10-01
use stock,clear
sort company
merge m:m company using event
drop if _merge==2
drop _merge
save eventda,replace
use eventda
sort company date
by company:gen datenum=_n
by company:gen target=datenum if date==event
egen td =min(target),by (company)
gen dif=datenum-td
by company:gen event_window=1 if (dif>=-2 & dif<=2)
egen count_event_obs=count(event_window),by(company)
by company:gen estimation_window=1 if dif>=-60 & dif<=-30
egen count_est_obs=count(estimation_window),by(company)
drop if count_event_obs<5
drop if count_est_obs<30
replace event_window=0 if event_window==.
replace estimation_window=0 if estimation_window==.
gen predicted_return=.
egen id=group(company)
local N=r(r)
出现问题:
forvalues i=1(1)N{
l id company if id=='i'&dif==0
reg ret mktreturn if id=='i' & estimation_window==1
predict p if id=='i'
replace predicted_return=p if id=='i'&event_window==1
drop p
}


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-10-1 16:54:31
最后一段出现问题,哪位大神给解解
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-1 18:24:04
用 merge m:m 一定要非常小心 (其实是根本不要用 m:m)。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群