Hello everyone, i'm doing event studies using the following code:
From the above code, i find the following output:
does anyone know why this forvalues error appears here?
Code:
clear all
set mem 1g
set more off
cd
mkdir "\Users\rehman\Desktop\event\"
capture log close
log using "\Users\rehman\Desktop\event\bARC_Stata.log", replace
* --------- Firm Data ------------- *
use "/Users/rehman/Desktop/event/stock_ret.dta"
egen co_id = group(stkcd)
bysort co_id: gen days_co =_n
xtset co_id days_co
gen co_ret = dretwd
sort co_id date
save "C:\EventStudy\Input\FirmData.dta", replace
keep stkcd co_id
order stkcd co_id
duplicates drop
sort stkcd
save "C:\EventStudy\Temp\FirmIDs.dta", replace
* --------- Market Data ------------- *
use "/Users/rehman/Desktop/event/market_ret.dta"
egen mkt_id = group(markettype)
sort mkt_id date
bysort mkt_id: gen days_mkt =_n
xtset mkt_id days_mkt
gen mkt_ret = dretwdtl
sort mkt_id date
save "C:\EventStudy\Input\MarketData.dta", replace
keep markettype mkt_id
order markettype mkt_id
duplicates drop
sort markettype
save "C:\EventStudy\Temp\MarketIDs.dta", replace
* --------- Event Data ------------- *
use "/Users/rehman/Desktop/event/event.dta"
save "C:\EventStudy\Input\EventData.dta", replace
sort stkcd
merge stkcd using "C:\EventStudy\Temp\FirmIDs.dta"
drop if _m != 3
drop _merge
sort markettype
merge markettype using "C:\EventStudy\Temp\MarketIDs.dta"
drop if _m != 3
drop _merge
order eventid stkcd co_id markettype mkt_id date
sort date
save "C:\EventStudy\Input\EventData.dta", replace
sort co_id
summ co_id
local tot_cos = `r(max)'
forvalues i = 1/`tot_cos' {
local mkt_name_co_id_`i' = markettype[`i']
local mkt_id_co_id_`i' = mkt_id[`i']
}
* --------- Combining Firm, Market & Event Data ------------- *
sort co_id date
merge co_id date using "C:\EventStudy\Input\FirmData.dta"
drop _merge
forvalues i = 1/`tot_cos' {
if co_id == `i' {
replace markettype = "`mkt_name_co_id_`i''"
replace mkt_id = `mkt_id_co_id_`i''
}
}
Code:
drop _merge
.
. forvalues i = 1/`tot_cos' {
2. if co_id == `i' {
3. replace markettype = "`mkt_name_co_id_`i''"
4. replace mkt_id = `mkt_id_co_id_`i''
5. }
6. }
type mismatch
r(109);
end of do-file
r(109);
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input long stkcd float(date co_id) byte markettype float mkt_id 1 16223 1 4 2 1 17492 1 4 2 1 17801 1 4 2 1 17801 1 4 2 1 18064 1 4 2 1 18507 1 4 2 1 19012 1 4 2 1 22280 1 4 2 1 22530 1 4 2 2 14623 2 4 2 2 14623 2 4 2 2 14671 2 4 2 2 14783 2 4 2 2 15215 2 4 2 2 15886 2 4 2 2 15957 2 4 2 2 16159 2 4 2 2 16159 2 4 2 2 16356 2 4 2 2 16356 2 4 2 2 16356 2 4 2 2 16399 2 4 2 2 17246 2 4 2 2 17367 2 4 2 2 19128 2 4 2 2 19803 2 4 2 2 19964 2 4 2 2 19971 2 4 2 2 19982 2 4 2 2 20116 2 4 2 2 20304 2 4 2 2 20327 2 4 2 2 20327 2 4 2 2 20429 2 4 2 2 20431 2 4 2 2 20431 2 4 2 2 20431 2 4 2 2 20431 2 4 2 2 20431 2 4 2 2 20438 2 4 2 2 20438 2 4 2 2 20642 2 4 2 2 20671 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20675 2 4 2 2 20682 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20781 2 4 2 2 20788 2 4 2 2 20895 2 4 2 2 21000 2 4 2 2 21368 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21385 2 4 2 2 21390 2 4 2 2 21439 2 4 2 2 21439 2 4 2 2 21439 2 4 2 2 21439 2 4 2 2 21439 2 4 2 2 21474 2 4 2 2 21903 2 4 2 2 22006 2 4 2 2 22400 2 4 2 4 15118 4 4 2 4 15208 4 4 2 4 16142 4 4 2 4 16772 4 4 2 4 16800 4 4 2 4 18792 4 4 2 4 18829 4 4 2 4 19859 4 4 2 4 20250 4 4 2 4 20278 4 4 2 4 20283 4 4 2 4 20285 4 4 2 4 20305 4 4 2 4 20327 4 4 2 4 20339 4 4 2 4 20369 4 4 2 4 21165 4 4 2 4 21649 4 4 2 end

Comment