基于多时点双重差分法的验证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(营业收入(元)/员工总数)




 

789bd3fa60c35ce485a3c5a39f2e0ae.png



 

4e2f1c590bc18e7879fd1c5d6df9a56.png

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

TFP_LP

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))


 

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐