悬赏 5 个论坛币 未解决
以下是我的命令的关键部分
by company_id: gen event_window=1 if dif>=-2 & dif<=2
egen count_event_obs=count(event_window), by(company_id)
by company_id: gen estimation_window=1 if dif<-30 & dif>=-60
egen count_est_obs=count(estimation_window), by(company_id)
replace event_window=0 if event_window==.
replace estimation_window=0 if estimation_window==.
tab company_id if count_event_obs<5
tab company_id if count_est_obs<30
删掉了一些观测值不够的样本
drop if count_event_obs < 5
drop if count_est_obs < 30
drop count_event_obs
drop count_est_obs
set more off
gen predicted_return=.
egen id=group(group_id)
forvalues i=1/118{
list id company_id if id==`i' & dif==0
reg ret market_return if id==`i' & estimation_window==1
predict p if id==`i'
replace predicted_return = p if id==`i' & event_window==1
drop p
}
问题1:执行到这条以后显示no observations,问题可能出在哪里?
问题2:我的研究样本一共118个,前面删掉了观察值不够的样本23个,理应还有95个,但最后输出excel表中只有60多个样本是怎么回事呢?