基于多时点双重差分法的验证ESG评级能否促进上市公司企业绿色转型数据2010-2020
基于多时点双重差分法的验证ESG评级能否促进上市公司企业绿色转型数据2010-2020
促进企业绿色转型是中国实现高质量发展的重要路径。相较于正式的环境规制迫使企业被动进行绿色转型,非正式的环境规制则更能够激发企业内在动力,而 ESG 评级在企业与市场的连接中起着重要作用,能够改善企业的外部信息环境,为企业绿色发展提供激励相容的市场化治理机制。本文从非正式环境规制视角出发,基于商道融绿首次公布上市公司 ESG 评级的外生冲击,以 2010~2020 年 A 股上市公司为样本,利用多时点双重差分模型,从绿色创新和全要素生产率两个角度实证研究了 ESG 评级对企业绿色转型的影响效应和作用机制。实证研究表明,ESG 评级通过市场激励机制与外部监督机制,显著促进了企业绿色转型,这一结论在经过一系列稳健性检验后依然稳健。机制研究表明,ESG 评级通过缓解融资约束、缓解代理问题和增加研发投入等途径促进了企业绿色转型。拓展研究表明,ESG 评级对企业绿色转型的促进作用在重污染行业和竞争性行业中更为明显;ESG 评级能够与正式环境规制互为补充;市场关注进一步增强了 ESG 评级的积极效应。本文的研究在理论上为探索企业绿色转型提供了新的视角,在实践上为构建与完善市场导向的绿色发展体系提供了经验证据。
提供验证数据、计算代码、参考文献
数据来源:基于上市公司公告、年报数据整理计算
数据期间:2010-2020
数据范围:沪深上市公司A股
主要指标:
stkcd year get1 get2 get3 TFP_LP TFP_OP 公司规模 净利润/总资产平均余额 资产负债率 ListAge 营业收入增长率 第一大股东持股比例 ln人均固定资产净额 ln营业收入/员工总数 净利润/股东权益平均余额 董事人数 独立董事比例 两职合一 账面市值比 TobinQ 是否国有企业,国有为1 公司成立年限 股权制衡度 月均超额换手率 机构持资者持股比例 分市场年Beta值 综合市场年Beta值 ESG等级 ESG (mean) EPS2 (mean) EPS1 年收盘价 权益融资成本 HPI 发生转换 开始披露年份 是否披露 现金资产占比 成立 上市年份 上市年龄 ln利润总额 ln净利润 ln营业收入 apply1 apply2 apply3 四个季度取平均 所属省份 所属省份 SA指数 RDExp Short Cost1 RDSales Myopia 商道融绿ESG ESG1=1 if ESG等级=="C"ESG1=2 if ESG等级=="C+""B""B-" ESG (centered) HHI lnANAL ER policy pre4 pre3 pre2 current post1 post2 post3
主要变量定义
|
类型 |
名称 |
符号 |
定义 |
|
被解释变量 |
绿色专利授权总量 |
Get1 |
ln(1+绿色专利授权总量) |
|
绿色发明专利授权数量 |
Get2 |
ln(1+绿色发明专利授权数量) | |
|
绿色实用新型专利授权数量 |
Get3 |
ln(1+绿色实用新型专利授权数量) | |
|
全要素生产率 |
TFP_LP |
LP法计算 | |
|
全要素生产率 |
TFP_OP |
OP法计算 | |
|
核心解释变量 |
ESG评级 |
ESG |
0-1变量,根据商道融绿是否发布该公司ESG评级数据定义 |
|
控制变量 |
企业规模 |
Size |
ln(企业资产总计(元)) |
|
总资产收益率 |
ROA |
企业净利润(元)/企业总资产平均值(元) | |
|
资产负债率 |
Lev |
企业负债总计(元)/企业资产总计(元) | |
|
上市年龄 |
ListAge |
ln(当年-企业上市年份+1) | |
|
营业收入增长率 |
Growth |
(当期营业收入(元)-上期营业收入(元))/上期营业收入(元) | |
|
股权集中度 |
Top1 |
第一大股东持股比例 | |
|
人均固定资产净额 |
PFixA |
ln(固定资产净额(元)/员工总数) | |
|
人均营业收入 |
PSales |
ln(营业收入(元)/员工总数) |


ESG评级能否促进企业绿色转型?
——基于多时点双重差分法的验证
附录
附表1 主要变量定义
|
类型 |
名称 |
符号 |
定义 |
|
被解释变量 |
绿色专利授权总量 |
Get1 |
ln(1+绿色专利授权总量) |
|
绿色发明专利授权数量 |
Get2 |
ln(1+绿色发明专利授权数量) | |
|
绿色实用新型专利授权数量 |
Get3 |
ln(1+绿色实用新型专利授权数量) | |
|
全要素生产率 |
TFP_LP |
LP法计算 | |
|
全要素生产率 |
TFP_OP |
OP法计算 | |
|
核心解释变量 |
ESG评级 |
ESG |
0-1变量,根据商道融绿是否发布该公司ESG评级数据定义 |
|
控制变量 |
企业规模 |
Size |
ln(企业资产总计(元)) |
|
总资产收益率 |
ROA |
企业净利润(元)/企业总资产平均值(元) | |
|
资产负债率 |
Lev |
企业负债总计(元)/企业资产总计(元) | |
|
上市年龄 |
ListAge |
ln(当年-企业上市年份+1) | |
|
营业收入增长率 |
Growth |
(当期营业收入(元)-上期营业收入(元))/上期营业收入(元) | |
|
股权集中度 |
Top1 |
第一大股东持股比例 | |
|
人均固定资产净额 |
PFixA |
ln(固定资产净额(元)/员工总数) | |
|
人均营业收入 |
PSales |
ln(营业收入(元)/员工总数) |
资料来源:作者整理
附表 2 变量的描述性统计结果
|
变量 |
观测值 |
平均值 |
标准差 |
最小值 |
最大值 |
|
Get1 |
25654 |
0.375 |
0.788 |
0.000 |
6.900 |
|
Get2 |
25654 |
0.169 |
0.528 |
0.000 |
6.753 |
|
Get3 |
25654 |
0.283 |
0.671 |
0.000 |
6.519 |
|
25654 |
9.075 |
1.117 |
5.568 |
13.533 | |
|
TFP_OP |
25654 |
8.138 |
0.995 |
4.796 |
12.553 |
|
ESG |
25654 |
0.128 |
0.334 |
0.000 |
1.000 |
|
Size |
25654 |
22.242 |
1.285 |
19.505 |
26.395 |
|
ROA |
25653 |
0.038 |
0.066 |
-0.415 |
0.244 |
|
Lev |
25654 |
0.440 |
0.204 |
0.027 |
0.990 |
|
ListAge |
25654 |
2.199 |
0.753 |
0.693 |
3.434 |
|
Growth |
25654 |
0.174 |
0.447 |
-0.732 |
4.806 |
|
Top1 |
25654 |
0.344 |
0.148 |
0.084 |
0.758 |
|
PFixA |
25654 |
12.560 |
1.155 |
4.127 |
19.543 |
|
PSales |
25654 |
13.831 |
0.905 |
9.845 |
18.933 |
资料来源:作者整理
use "G:\ESG\ESG评级与企业绿色转型\数据.dta",clear
xtset stkcd year
global 控制变量 "Size ROA Lev ListAge Growth Top1 PFixA PSales"
*--------------------------附表2描述性统计----------------------------------
logout,save(mytable) word replace:tabstat get1 get2 get3 TFP_LP TFP_OP $控制变量 , stat(n mean sd min max ) c(s) f(%10.3f)
*---------------------------表1基准回归-----------------------------------
*绿色创新
reghdfe get1 ESG, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,replace bdec(3) sdec(3) ctitle(get1) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(get1) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe get2 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(get2) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe get3 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(get3) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
*全要素生产率
reghdfe TFP_LP ESG , absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_OP ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 主检验.doc,append bdec(3) sdec(3) ctitle(TFP_OP) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
*---------------------------表2、表3稳健性检验--------------------------
reghdfe get1 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd), if year <2020
outreg2 using 稳健性检验.doc,replace bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG $控制变量, absorb(stkcd year) vce(cluster stkcd),if year<2020
outreg2 using 稳健性检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 华证ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 稳健性检验.doc,replace bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Year FE, YES)
reghdfe TFP_LP 华证ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 稳健性检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe f.get1 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 稳健性检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe f2.get1 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 稳健性检验.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*---------------------------表4、5、6机制检验------------------------------
*缓解融资约束
reghdfe SA指数 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验1.doc,replace bdec(3) sdec(3) ctitle(SA指数1) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe EquityCost ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验1.doc,append bdec(3) sdec(3) ctitle(EquityCost) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe DebtCost ESG $控制变量 , absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验1.doc,append bdec(3) sdec(3) ctitle(DebtCost) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 SA指数 $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验1.doc,append bdec(3) sdec(3) ctitle(Get1) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP SA指数 $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验1.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a) addtext(Firm FE, YES,Year FE, YES)
*缓解管理者短视
reghdfe Myopia ESG $控制变量 , absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验2.doc,replace bdec(3) sdec(3) ctitle(Short) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe Short ESG $控制变量 , absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验2.doc,append bdec(3) sdec(3) ctitle(Short) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe Dturn ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验2.doc,append bdec(3) sdec(3) ctitle(Dturn) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 Myopia $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验2.doc,append bdec(3) sdec(3) ctitle(Get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP Myopia $控制变量, absorb(stkcd year) vce(cluster Industry)
outreg2 using 机制检验2.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
* 增加研发投入
reghdfe RDExp ESG $控制变量 ,absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验3.doc,replace bdec(3) sdec(3) ctitle(RDExp) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe RDSales ESG $控制变量 ,absorb(stkcd year) vce(cluster Industry)
outreg2 using 机制检验3.doc,append bdec(3) sdec(3) ctitle(RDSales) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 RDExp $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验3.doc,append bdec(3) sdec(3) ctitle(Get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP RDExp $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 机制检验3.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*---------------------------表7、8拓展研究---------------------------------
*市场关注
center lnANAL INST , prefix(c_)
reghdfe get1 ESG c.c_ESG#c.c_lnANAL lnANAL $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 市场关注.doc,replace bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG c.c_ESG#c.c_lnANAL lnANAL $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 市场关注.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe get1 ESG c.c_ESG#c.c_INST INST $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 市场关注.doc,append bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG c.c_ESG#c.c_INST INST $控制变量, absorb(stkcd year) vce(cluster Industry)
outreg2 using 市场关注.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*市场竞争
center HHI, prefix(c_)
reghdfe get1 ESG c.c_ESG#c.c_HHI HHI $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 竞争、环境和污染.doc,replace bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG c.c_ESG#c.c_HHI HHI $控制变量 , absorb(stkcd year) vce(cluster stkcd)
outreg2 using 竞争、环境和污染.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*环境规制
center ER , prefix(c_)
reghdfe get1 ESG c.c_ESG#c.c_ER ER $控制变量, absorb(stkcd year) vce(cluster shengfen)
outreg2 using 竞争、环境和污染.doc,append bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP ESG c.c_ESG#c.c_ER ER $控制变量, absorb(stkcd year) vce(cluster shengfen)
outreg2 using 竞争、环境和污染.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*行业属性
reghdfe get1 i.ESG##i.HPI $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 竞争、环境和污染.doc,append bdec(3) sdec(3) ctitle(get1) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
reghdfe TFP_LP i.ESG##i.HPI $控制变量, absorb(stkcd year) vce(cluster stkcd)
outreg2 using 竞争、环境和污染.doc,append bdec(3) sdec(3) ctitle(TFP_LP) e(r2_a,F) addtext(Firm FE, YES,Year FE, YES)
*---------------------------图1、图2---------------------------------
*平行趋势检验
reghdfe get1 pre* current post* $控制变量 , absorb(stkcd year) vce(cluster stkcd)
reghdfe TFP_LP pre* current post* $控制变量 , absorb(stkcd year) vce(cluster stkcd)
//画图
coefplot, baselevels ///
keep(pre* current post*) ///
vertical ///
coeflabels(pre3 = "-3" ///
pre2 = "-2" ///
current = "0" ///
post1 = "1" ///
post2 = "2") ///
yline(0,lcolor(edkblue*0.8)) ///
ylabel(-0.1(0.04)0.3) ///
xline(10, lwidth(vthin) lpattern(dash) lcolor(teal)) ///
ylabel(,labsize(*0.75)) xlabel(,labsize(*0.75)) ///
ytitle("Get1为被解释变量", size(small)) ///
xtitle("政策时点", size(small)) ///
addplot(line @b @at) ///
ciopts(lpattern(dash) recast(rcap) msize(medium)) ///
msymbol(circle_hollow) ///
scheme(s1mono)
*安慰剂检验
use "G:\ESG\ESG评级与企业绿色转型\数据.dta",clear
xtset stkcd year
global 控制变量 "Size ROA Lev ListAge Growth Top1 PFixA PSales"
cap erase "simulations0.dta"
permute ESG beta=_b[ESG] se=_se[ESG] df=e(df_r),reps(500) seed(777) saving("simulations0.dta"): reghdfe get1 ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
use "simulations0.dta",clear
gen t_value=beta/se
gen p_value=2*ttail(df,abs(beta/se))
dpplot beta,xline(0.252,lp(dash)) xtitle("Estimator") ytitle("Density")
dpplot t_value,xtitle("T-value") ytitle("核密度")
dpplot p_value,xtitle("P-value") ytitle("核密度")
twoway(scatter p_value beta)(kdensity beta,yaxis(2)),title("Get1", place(left))
use "G:\ESG\ESG评级与企业绿色转型\数据.dta",clear
xtset stkcd year
global 控制变量 "Size ROA Lev ListAge Growth Top1 PFixA PSales"
cap erase "simulations.dta"
permute ESG beta=_b[ESG] se=_se[ESG] df=e(df_r),reps(500) seed(777) saving("simulations.dta"): reghdfe TFP_LP ESG $控制变量, absorb(stkcd year) vce(cluster stkcd)
use "simulations.dta",clear
gen t_value=beta/se
gen p_value=2*ttail(df,abs(beta/se))
dpplot beta,xline(0.252,lp(dash)) xtitle("Estimator") ytitle("Density")
dpplot t_value,xtitle("T-value") ytitle("Density")
dpplot p_value,xtitle("P-value") ytitle("Density")
twoway(scatter p_value beta)(kdensity beta,yaxis(2))
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)