附上命令。
label variable year1 "年份"
label variable ppt "固定资产"
label variable a "资产总计"
label variable cfo "经营现金净流量"
rename 行业代码1 indw
label variable oi "净利润"
label variable rev "营业利润"
drop year F ind indne
drop 行业代码
misstable summarize //查看有遗漏数据
egen miss=rmiss(ppt rev)
sum miss,d
tab miss
drop if miss!=0 //浏览并删除缺失值
drop miss
bysort st: drop if _N<7
encode indw,gen(ind) //行业代码文本型转换数字型
destring(stock),gen(st) //股票代码文本型转换数字型
destring(year1),gen(date) //时间变量代码转换成数字型
drop stock indw year1 //将之前的代码删除
misstable summarize //查看有遗漏数据
egen miss=rmiss(ppt rev)
sum miss,d
tab miss
drop if miss!=0 //浏览并删除缺失值
drop miss
bysort st: drop if _N<7
xtset st date //设置成面板
gen a_1=L.a //滞后一期处理
label variable a_1 "资产滞后一期" // 标签
gen rev_1=L.rev
label variable rev_1 "营业利润滞后一期" // 标签
gen TA_a =(oi-cfo)/a_1
gen a_1_1=1/a_1
gen rev_ar_a=(rev-rev_1)/a_1
gen ppt_a = ppt/a_1
misstable summarize
egen miss=rmiss(a_1 rev_1 TA_a a_1_1 rev_ar_a ppt_a)
sum miss,d
tab miss
drop if miss!=0 //浏览并删除缺失值
drop miss
egen indu=group(ind)
sum indu
local Ns=r(max)
gen DA=.
forvalues y=2015/2020{
forvalues d=1/‘Ns’{
qui reg TA_a a_1_1 rev_ar_a ppt_a if(date==‘y’& indu==‘d’),nocons
qui predict temp if e(sample),resid
qui replace DA= temp if e(sample)
drop temp
}
}
|