上市公司碳排放数据分析与Stata应用指南 📅 发布时间:2026/9/14 3:44:03 👁 浏览次数: 1. 项目背景与数据价值2000-2023年上市公司碳排放数据是环境经济学和公司金融领域的重要研究素材。这套数据之所以珍贵在于它首次实现了对中国A股市场全部上市主体连续24年的碳排放强度追踪。与常见的行业层面排放数据不同上市公司数据能精确到单一企业实体使研究者能够建立企业行为-碳排放-财务表现的微观分析框架。原始数据采集自三个权威渠道企业社会责任报告中的定量披露、重点排污单位环境信息公开平台的企业自行监测数据、以及各省级生态环境厅的强制监测记录。我们通过统一的企业社会信用代码进行跨库匹配确保每个数据点都能准确对应到上市公司主体。对于部分缺失年份采用行业均值插补法进行合理填补并在数据集中用特定标识标注。2. 数据文件结构与字段说明2.1 主数据集构成数据集采用Stata 15格式存储兼容后续版本包含以下核心文件emission_main.dta年度碳排放量面板数据financial_control.dta配套财务控制变量industry_classification.dta行业分类对照表merge_script.do数据合并自动化脚本2.2 关键变量释义主数据集包含38个变量核心字段包括变量名 类型 标签说明 company_id str10 上市公司统一信用代码 year int 报告年度(2000-2023) co2_total float 碳排放总量(吨) co2_intensity float 碳排放强度(吨/万元营收) scope1 float 直接排放量(燃烧工艺) scope2 float 间接排放量(外购能源) disclosure byte 是否主动披露(1是)3. Stata分析代码解析3.1 数据预处理* 缺失值处理 foreach var of varlist co2_* { replace var industry_mean if missing(var) year2015 gen miss_var missing(var) } * 异常值修正 winsor2 co2_*, cuts(1 99) replace3.2 基础分析模型固定效应模型代码示例xtset company_id year xtreg roa co2_intensity size lev growth i.year, fe robust est store m1 reghdfe roa co2_intensity, absorb(company_id year) vce(cluster company_id)3.3 动态效应分析时间滞后模型构建* 生成滞后项 sort company_id year by company_id: gen l1_co2 co2_intensity[_n-1] by company_id: gen l2_co2 co2_intensity[_n-2] * 动态面板GMM xtabond2 roa l.roa l1_co2 l2_co2 size lev, gmm(l.roa) iv(size lev) twostep4. 典型分析场景实现4.1 碳泄露检验* 平行趋势检验 eventstudy co2_intensity, time(year) relative_to(2016) /// covariates(size lev) unit(company_id) cluster(company_id) * 三重差分模型 gen post year2016 gen treated industry_code26 did_imputation co2_intensity treated post year company_id, /// horizons(0/5) pretrends(5)4.2 调节效应分析* 生成交互项 gen co2_policy co2_intensity * policy_dummy * 分层回归 xtreg roa c.co2_intensity##c.policy_dummy size lev, fe margins, dydx(co2_intensity) at(policy_dummy(0 1))5. 可视化呈现技巧5.1 行业排放趋势图* 雷达图绘制 radar co2_intensity if year2023, over(industry) /// title(2023年行业碳排放强度对比) legend(position(6)) * 动态气泡图 bubble co2_intensity size profit if inrange(year,2010,2023), /// by(year) size(abs(profit)) color(co2_intensity)5.2 回归结果输出* 三线表制作 esttab m1 m2 using result.rtf, replace /// b(3) t(3) r2 ar2 star(* 0.1 ** 0.05 *** 0.01) /// title(碳排放财务效应回归结果)6. 常见问题解决方案6.1 样本选择偏差* Heckman两阶段修正 heckman roa co2_intensity size, /// select(disclosure policy_dummy size lev) mills(mills_term)6.2 多重共线性诊断* VIF检验 reg roa co2_intensity size lev growth estat vif * 岭回归替代 ridge roa co2_intensity size lev growth, lambda(0.5)6.3 非平衡面板处理* 逆概率加权 teffects ipw (roa) (co2_high co2_intensity size lev), /// omodel(probit) vce(robust)7. 数据更新与扩展建议建议研究者通过以下渠道获取增量数据企业年报补充手工收集CSR报告中的最新排放数据卫星数据融合使用NASA的ODIAC数据集进行交叉验证供应链延伸通过企查查API获取子公司排放数据更新脚本示例* 自动追加新数据 append using new_data.dta, force bysort company_id year: gen dup _N drop if dup1这套数据特别适合研究以下议题碳交易试点政策的企业响应双碳目标下的资本开支变化ESG评级与排放行为的真实关联气候信息披露的制度演进实际操作中要注意排放数据的报告时滞问题——多数企业实际排放年份与披露年份存在1-2年延迟。建议在分析政策效应时将关键事件年份向前调整1年作为稳健性检验。