当前位置:文档之家› stata do文档(真实盈余管理、应计盈余管理和审计费用)

stata do文档(真实盈余管理、应计盈余管理和审计费用)

真实盈余管理、应计盈余管理和审计费用
//打开数据所在文件夹
clear
cd C:\Users\Desktop\真实盈余管理、应计盈余管理和审计费用
//原始数据处理
insheet using "固定资产原值.csv",clear
ren stkcd code
gen year=substr( accper,1,4)
gen month=substr( accper ,6,2)
keep if month=="12"
drop month
destring year,force replace
sort code year
order code year
drop accper
ren a130101 固定资产原值
save 固定资产原值.dta,replace
insheet using "资产负债表.csv",clear
ren stkcd code
drop if typrep=="B"
drop typrep
gen year=substr( accper,1,4)
gen month=substr( accper ,6,2)
keep if month=="12"
drop month
destring year,force replace
sort code year
order code year
drop accper
ren a001111000 应收账款
ren a001000000 总资产
ren a001123000 存货
ren a002000000 总负债
gen 公司规模=ln(总资产)
gen 资产负债率=总负债/总资产
gen 应收账款占总资产比例=应收账款/总资产
xtset code year
gen 期初总资产=l.总资产
gen 应收增加额=d.应收账款
merge 1:1 code year using 固定资产原值.dta
keep if _merge==3
drop _merge
gen ppe_a=固定资产原值/期初总资产save 资产负债表变量.dta,replace
insheet using "利润表.csv",clear
ren stkcd code
drop if typrep=="B"
drop typrep
ren b001101000 营业收入
ren b001201000 营业成本
ren b001209000 销售费用
ren b001210000 管理费用
ren b002000000 净利润
gen year=substr( accper,1,4)
gen month=substr( accper ,6,2)
keep if month=="12"
drop month
destring year,force replace
sort code year
drop accper
xtset code year
gen l_净利润=l.净利润
gen 公司亏损=0 if l_净利润>=0 replace 公司亏损=1 if 公司亏损==. gen 营收增加额=d.营业收入
gen l_营收增加额=l.营收增加额save 利润表变量.dta,replace
insheet using "现金流量表.csv",clear ren stkcd code
drop if typrep=="B"
drop typrep
ren c001000000 经营活动现金流gen year=substr( accper,1,4)
gen month=substr( accper ,6,2)
keep if month=="12"
drop month
destring year,force replace
sort code year
drop accper
save cfo.dta,replace
use cfo.dta,clear
merge 1:1 code year using 资产负债表变量.dta keep if _merge==3
drop _merge
merge 1:1 code year using 利润表变量.dta
keep if _merge==3
drop _merge
order code year
gen 总资产收益率=净利润/总资产
gen TA=(净利润-经营活动现金流)/期初总资产gen rev_rec=(营收增加额-应收增加额)/期初总资产gen cfo=经营活动现金流/期初总资产
gen S1=营业收入/期初总资产
gen S2=营收增加额/期初总资产
gen S3=l_营收增加额/期初总资产
gen x=1/期初总资产
gen DISX=(销售费用+管理费用)/期初总资产
xtset code year
gen deta_存货=d.存货
gen PROD=(营业成本+deta_存货)/期初总资产save 盈余管理数据.dta,replace
***********应计盈余管理****************** use 盈余管理数据.dta,clear
foreach v of varlist TA x rev_rec ppe_a {
drop if `v' == .
} //删除缺漏值drop if year<2015
xi:reg TA x rev_rec ppe_a i.year
predict e,res
replace e=abs(e)
ren e DA
save 应计盈余管理.dta,replace
*************真实盈余管理**************** use 盈余管理数据.dta,clear
foreach v of varlist cfo DISX PROD x S1 S2 S3 { drop if `v' == .
}
drop if year<2015
xi:reg cfo x S1 S2 i.year
predict e,res
ren e RCFO
xi:reg DISX x S3 i.year
predict e,res
ren e RDISX
xi:reg PROD x S1 S2 S3 i.year
predict e,res
ren e RPROD
gen 真实盈余管理= abs(RPROD-RCFO -RDISX)
keep code year 真实盈余管理RPROD RCFO RDISX save 真实盈余管理.dta,replace
insheet using "审计.csv",clear
ren stkcd code
gen year=substr( accper,1,4)
gen month=substr( accper ,6,2)
keep if month=="12"
drop month
destring year,force replace
sort code year
order year, after(code)
drop accper
gen 审计意见=0 if audittyp=="标准无保留意见" replace 审计意见=1 if 审计意见==.
gen audit=1 if strmatch(dadtunit,"*安永华明*")==1 replace audit=1 if strmatch(dadtunit,"*普华永道*")==1 replace audit=1 if strmatch(dadtunit,"*毕马威华振*")==1 replace audit=1 if strmatch(dadtunit,"*德勤华永*")==1 drop dadtunit audittyp
replace audit=0 if audit==.
ren audit 是否为四大
gen 审计费用=ln(tcost)
gen 公司状况=1 if strmatch(stknme,"*ST*")==1 replace 公司状况=0 if 公司状况==.
drop adtremark tcost
save 审计相关变量.dta,replace。

相关主题