变量"/>
计算A股上市公司规模变量
/*数据来源CSMAR数据库。*/
clear all
set more offcd "\\tsclient\E\Personal\DataBase\1.CSMAR\公司研究系列\中国上市公司财务报表数据库"
use FS_Combas-upto2014Q3.dta,clear
rename a001000000 asset
rename a003000000 equity
/*
bysort stkcd accper: gen temp= _N
tab temptemp | Freq. Percent Cum.
------------+-----------------------------------1 | 106,794 100.00 100.00
------------+-----------------------------------Total | 106,794 100.00
*/
keep stkcd asset equity year month
foreach var of varlist asset equity{sort stkcd year monthbysort stkcd year: egen temp = mean(`var')rename temp `var'_yearmean
}
keep if month == 12foreach var of varlist asset equity{sort stkcd yearbysort stkcd: gen `var'_lastyear= `var'[_n-1]
}
drop month
save "\\tsclient\E\Personal\DataBase\size.dta",replaceuse FS_Comins-upto2014Q3.dta,clear
rename b001100000 sales keep stkcd sales year month
foreach var of varlist sales{sort stkcd year monthbysort stkcd year: egen temp = mean(`var')rename temp `var'_yearmean
}
keep if month == 12foreach var of varlist sales{sort stkcd yearbysort stkcd: gen `var'_lastyear= `var'[_n-1]
}
drop month
merge 1:1 stkcd year using "\\tsclient\E\Personal\DataBase\size.dta"
drop _m
save "\\tsclient\E\Personal\DataBase\size.dta",replacecd "\\tsclient\E\Personal\DataBase\1.CSMAR\股票市场系列\CSMAR中国股票市场研究数据库\个股交易数据"
use TRD_DALY_to_2014-7-29.dta,clear
keep if markettype == 1|markettype == 4|markettype == 16
keep stkcd trddt dsmvtll dsmvosd
gen temp = date(trddt,"YMD")
format temp %tdCY_N_D
drop trddt
rename temp trddt
gen year = year(trddt)
foreach var of varlist dsmvtll dsmvosd{bysort stkcd year: egen temp = mean(`var')rename temp `var'_yearmean
}
sort stkcd year trddt
bysort stkcd year: keep if _n==_Nforeach var of varlist dsmvtll dsmvosd{sort stkcd yearbysort stkcd: gen `var'_lastyear= `var'[_n-1]
}
merge 1:1 stkcd year using "\\tsclient\E\Personal\DataBase\size.dta"
drop _m
drop if year>2013
save "\\tsclient\E\Personal\DataBase\size_upto2013.dta",replace
capture erase "\\tsclient\E\Personal\DataBase\size.dta"
更多推荐
计算A股上市公司规模变量
发布评论