全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
8652 11
2017-03-03
我在用stata按照普林斯顿大学的方法进行事件研究时,代码运行到循环之前的
egen id=group(group_id) 就一直报错说variable __000001 not found r(111) 是为什么??完整的代码如下

use eventdates, clear

sort company_id

by company_id: gen eventcount=_N

by company_id: keep if _n==1sort company_idkeep company_id eventcount save eventcount use stockdata, clearsort company_idmerge m:1 company_id using eventcounttab _mergekeep if _merge==3drop _mergeexpand eventcount      drop eventcountsort company_id dateby company_id date: gen set=_nsort company_id setsave stockdata2 use eventdates, clearsort company_idby company_id: gen set=_nsort company_id setsave eventdates2use stockdata2, clearmerge m:1 company_id set using eventdates2tab _merge     egen group_id = group(company_id set)sort group_id dateby group_id: gen datenum=_nby group_id: gen target=datenum if date==event_dateegen td=min(target), by(group_id)drop targetgen dif=datenum-tdby group_id: gen event_window=1 if dif>=-10 & dif<=10egen count_event_obs=count(event_window), by(group_id)by group_id: gen estimation_window=1 if dif<-30 & dif>=-60egen count_est_obs=count(estimation_window), by(group_id)replace event_window=0 if event_window==.replace estimation_window=0 if estimation_window==.tab group_id if count_event_obs<21tab group_id if count_est_obs<30drop if count_event_obs <21drop if count_est_obs <30set more off gen predicted_return=.egen id=group(group_id)
后面还准备进行forvalues i=1(1)2680{        l id group_id if id==`i' & dif==0        reg ret market_ret if id==`i' & estimation_window==1         predict p if id==`i'        replace predicted_return = p if id==`i' & event_window==1         drop p}  

esttab using test.rtf

毕业论文急切求助!!

二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-3 16:52:11
格式太乱再发一遍
use eventdates, clear
sort company_id
by company_id: gen eventcount=_N
by company_id: keep if _n==1
sort company_id
keep company_id eventcount
save eventcount

use stockdata, clear
sort company_id
merge m:1 company_id using eventcount
tab _merge
keep if _merge==3
drop _merge
expand eventcount       
drop eventcount
sort company_id date
by company_id date: gen set=_n
sort company_id set
save stockdata2

use eventdates, clear
sort company_id
by company_id: gen set=_n
sort company_id set
save eventdates2
use stockdata2, clear
merge m:1 company_id set using eventdates2
tab _merge       
egen group_id = group(company_id set)



sort group_id date
by group_id: gen datenum=_n
by group_id: gen target=datenum if date==event_date
egen td=min(target), by(group_id)
drop target
gen dif=datenum-td







by group_id: gen event_window=1 if dif>=-10 & dif<=10
egen count_event_obs=count(event_window), by(group_id)
by group_id: gen estimation_window=1 if dif<-30 & dif>=-60
egen count_est_obs=count(estimation_window), by(group_id)
replace event_window=0 if event_window==.
replace estimation_window=0 if estimation_window==.


tab group_id if count_event_obs<21
tab group_id if count_est_obs<30
drop if count_event_obs <21
drop if count_est_obs <30


set more off

gen predicted_return=.
egen id=group(group_id)
forvalues i=1(1)2680{
        l id group_id if id==`i' & dif==0
        reg ret market_ret if id==`i' & estimation_window==1
        predict p if id==`i'
        replace predicted_return = p if id==`i' & event_window==1
        drop p
}  

esttab using test.rtf
二维码

扫码加我 拉你入群

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

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

2017-7-17 23:49:11
请问解决了吗 我也是同样的问题
二维码

扫码加我 拉你入群

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

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

2020-10-5 18:16:06
楼主解决了吗,我也有相同的问题
二维码

扫码加我 拉你入群

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

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

2020-10-9 23:21:38
请问如何解决的呀
二维码

扫码加我 拉你入群

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

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

2021-3-26 20:45:53
请问解决了吗
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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