全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
15852 19
2014-12-17
cap pro drop es
pro es
version 12.0
forv i=2005/2005{
use `i'
keep code date year yue r0
save `i',replace
}
use 2005
append using 2004
append using 2003
append using 2002
append using 2001
append using 2000
append using 1999
append using 1998
append using 1997
save all,replace
use mr0
sort year date
save,replace
use all
sort year date
merge year date using mr0,keep(mr0)
egen miss=rowmiss(_all)
drop if miss
drop miss
drop _merge
save,replace
gen ar=r0-mr0
drop r0
drop mr0
save,replace
use event_date
replace year=year+1
sort code year
save,replace
use all
sort code year
merge code year using event_date,keep(event_date)
egen miss=rowmiss(_all)
drop if miss
drop miss
drop _merge
save,replace
format date %tdCCYY-NN-DD
format event_date %tdCCYY-NN-DD
replace year=year-1
save,replace
use all
save new,replace
forv i=2004/2004{
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window103=1 if dif>=-10 & dif<=-3
egen count103=count(window103), by(code)
replace window103=0 if window103==.
drop if count103 < 8
by code: egen CAR103 = sum(ar) if window103==1
drop if CAR103==.
by code: gen num=_n
keep if num==1
keep code CAR103 event_date year
save `i'CAR103, replace
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window22=1 if dif>=-2 & dif<=2
egen count22=count(window22), by(code)
replace window22=0 if window22==.
drop if count22 < 5
by code: egen CAR22 = sum(ar) if window22==1
drop if CAR22==.
by code: gen num=_n
keep if num==1
keep code CAR22 event_date year
save `i'CAR22, replace
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window35=1 if dif>=3 & dif<=5
egen count35=count(window35), by(code)
replace window35=0 if window35==.
drop if count35 < 3
by code: egen CAR35 = sum(ar) if window35==1
drop if CAR35==.
by code: gen num=_n
keep if num==1
keep code CAR35 event_date year
save `i'CAR35, replace
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window105=1 if dif>=-10 & dif<=5
egen count105=count(window105), by(code)
replace window105=0 if window105==.
drop if count105 < 16
by code: egen CAR105 = sum(ar) if window105==1
drop if CAR105==.
by code: gen num=_n
keep if num==1
keep code CAR105 event_date year
save `i'CAR105, replace
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window11=1 if dif>=-1 & dif<=1
egen count11=count(window11), by(code)
replace window11=0 if window11==.
drop if count11 < 3
by code: egen CAR11 = sum(ar) if window11==1
drop if CAR11==.
by code: gen num=_n
keep if num==1
keep code CAR11 event_date year
save `i'CAR11, replace
use new
keep if year==`i'
sort code date
by code: gen datenum=_n
by code: gen target=datenum if date==event_date
egen td=min(target), by(code)
gen dif=datenum-td
drop target
drop td
by code: gen window33=1 if dif>=-3 & dif<=3
egen count33=count(window33), by(code)
replace window33=0 if window33==.
drop if count33 < 7
by code: egen CAR33 = sum(ar) if window33==1
drop if CAR33==.
by code: gen num=_n
keep if num==1
keep code CAR33 event_date year
save `i'CAR33, replace
}
end



二维码

扫码加我 拉你入群

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

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

全部回复
2014-12-17 22:37:30
没有append using 2004
append using 2003
append using 2002
append using 2001
append using 2000
append using 1999
append using 1998
append using 1997这段
二维码

扫码加我 拉你入群

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

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

2014-12-18 22:38:39
好长的命令啊!!帮你顶一下
二维码

扫码加我 拉你入群

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

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

2014-12-19 10:28:34
我知道了
二维码

扫码加我 拉你入群

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

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

2014-12-20 10:15:29
楼主能说明原因嘛?自己回答自己提出的问题,只要能给后人带来启示,都是可以获得奖励的哦、呵呵
二维码

扫码加我 拉你入群

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

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

2015-12-2 18:36:37
SpencerMeng 发表于 2014-12-20 10:15
楼主能说明原因嘛?自己回答自己提出的问题,只要能给后人带来启示,都是可以获得奖励的哦、呵呵
这样的习惯多不好,自己问的问题,自己搞明白了就不说了,反过来是不是你自己知道的东西看别人不明白也懒得帮忙了。。。。不好。

我遇到同样的问题,后来检查,在某个循环运行中,运行几步后,已经没有满足的样本了,这时会提示这个字符,循环无法在继续下去。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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