资讯动态

2000-2024上市公司绿色投资数据:口径、代码与实证应用全解析

发布时间:2026/10/9 20:59:45 来源:尧图企业网站定制
1. 为什么绿色投资数据是环境经济实证研究的硬通货老读者都知道我常年泡在上市公司财务数据里各种面板数据做了不少但真正让我觉得“一将难求”的恰恰是绿色投资这种细颗粒指标。2024年底我在整理双碳政策与企业行为相关文献时翻遍了国泰安、Wind和CNRDS发现一个尴尬的事实大家都想研究绿色投资但能直接拿来用的绿色投资数据少得可怜多数还是要回到年报附注里一个一个筛。所以当我看到“2000-2024年 上市公司-绿色投资数据数据代码文献”这个题目时第一个反应是这应该是很多环境经济学、绿色金融方向的硕博生和年轻老师需要的东西。时间跨度25年覆盖了从入世到双碳目标落地的完整周期关键是它把数据、代码和文献放在了一起这比单纯给一张Excel表有价值得多。这套数据能做什么我简单列几个高频问题场景检验环境规制如排污费改环保税、碳排放权交易试点是否倒逼企业增加环保投资考察绿色金融政策如绿色信贷指引、绿色债券贴息对企业绿色投资的影响企业ESG评级改善后是真金白银投向环保设施还是停留在报告口径的运动式披露高管特征、股权结构、机构投资者等内部治理变量与绿色投资行为的关系绿色投资对企业绩效、融资成本、全要素生产率的滞后效应。只要有这类问题一份口径清晰、覆盖足够长的绿色投资面板就是刚需。再配合复现代码和文献引用意味着你拿到手的不是“死数据”而是一条从“指标定义—数据处理—实证回归”的完整链路省掉的是至少两三个月的识别与清洗时间。另一个容易忽略的价值在于可比性。很多时候我们从各个论文附录里收集数据发现A论文用环保投资绝对值B论文用环保投资占总资产比例C论文只看新增环保项目资本化支出口径五花八门根本没法合并。这套2000—2024年的数据如果口径统一就是在给研究者提供“拼图底座”这一点放到后面第四章详聊。2. 绿色投资指标的口径之争从财报附注到机器学习识别2.1 财报附注口径——学术界最主流的选择聊绿色投资绕不开一个基础问题到底什么算绿色投资这不是咬文嚼字而是直接决定样本量和回归结果。目前学术界的主流做法是从上市公司年报的“在建工程”附注明细里筛关键词。在建工程科目记录了企业正在投入的工程项目比如脱硫脱硝改造、污水处理设施、固废处理线、厂区绿化与生态修复这些都带有明显的环保属性。用这个口径的好处是它反映的是真金白银的资本性支出而不是费用化的环保支出也不容易受利润操纵影响。毕竟在建工程造假成本高审计师盯得紧。缺点是企业环保投入有一部分藏在固定资产、长期待摊费用甚至管理费用——人工成本、环保税、排污费——里仅看“在建工程”会漏掉一部分。所以我个人经验是如果数据源允许尽量同时检索“在建工程”和“固定资产”两个附注里与环保相关的明细。市面上许多绿色投资数据集只做了“在建工程”虽然省事但口径偏小10%~20%的情况并不少见。2.2 关键词库的构建与识别关键词是另一个决定成败的点。哪些词算环保太宽会把办公楼绿化景观也算进来太窄又会漏掉脱硫脱硝这类专业表达。我通常会把关键词库分为四组直接环保类环保、污染治理、环境保护、污染防治、节能减排、清洁生产、环境工程末端治理类脱硫、脱硝、除尘、污水处理、废水处理、废气处理、固废处理、垃圾处理节能与循环类节能改造、余热回收、资源综合利用、循环经济、再生资源、节水工程生态与低碳类生态修复、绿化工程、碳减排、碳中和、清洁能源、光伏电站。检索时要注意“环保设备”这种词往往会同时出现在主营业务和投资明细里需要结合字幕字段上下文判断。如果做的是年报文本抓取后面可以接Python的模糊匹配和人工复核如果手头已经有附注明细表Stata和Excel的筛选函数就足够。2.3 为什么不建议直接用ESG评分或环保专利替代经常有同学来问我“老师给了ESG评分我不就不用整绿色投资了吗”我的回答一直是指标可以互补替代要慎重。ESG评分衡量的是企业整体环境、社会与治理表现它包含披露意愿、评级机构主观判断、同行业相对排名不一定等于实际绿色投资。比如一家企业因为信息披露完善拿高分但环保投入可能并不高另一家闷头建减排设备但不爱披露评分反而不见得好。环保专利则衡量的是绿色技术与创新产出和资本性支出完全是两回事——企业可以花很少的钱购买绿色技术也可以高投入但没有对应专利产出。这三者的关系我用一个表格说明指标类型数据来源衡量内容典型用途绿色投资年报附注/非财务报告环保资本性支出强度政策影响、投资行为、绩效传导环保专利专利数据库含IPC绿色清单绿色技术创新产出创新意愿、技术溢出、绿色转型质量ESG评分评级机构华证、商道融绿等综合可持续表现披露质量、评级反应、机构投资行为实证研究里最稳的组合是“绿色投资真实的钱绿色专利创新的质”两者结合做机制分析比如Porter假说的“环境规制→绿色投资→绿色专利→绩效提升”传导链比单独用一个指标耐打得多。3. 原始数据清洗链路与Stata代码逐段拆解3.1 目录结构与数据源准备拿到一份数据之后我建议先按照“原始数据—清洗代码—工作数据—实证输出”的层级存放别把所有文件都堆在一起。我的习惯结构是这样GreenInvest_2000-2024/ ├── data_raw/ # 初始导入的库表或手工抓取数据 ├── code/ # 所有do文件和辅助python脚本 ├── data_work/ # 清洗后的面板数据dta ├── output/ # 表格和图形 └── references/ # 相关文献pdf与笔记数据源方面如果是从CSMAR的“企业绿色投资表”或“环境绩效表”拿数据通常自带企业代码和年份如果是自己的文本识别结果做分年度关键词筛选后还要把多个表merge起来。3.2 核心识别与筛选代码下面这段Stata代码是基础款逻辑是先读入附注明细表然后生成绿色投资标识变量再按证券代码和年度汇总。我故意用Stata写因为实证会计和金融领域对Stata的依赖度实在太高换Python变量处理反而不顺手。* 1. 读入原始附注明细数据 import excel data_raw/construct_detail.xlsx, firstrow clear * 2. 设置关键词库 global kw_list 环保 污染治理 节能减排 脱硫 脱硝 除尘 污水处理 废水 废气 固废 清洁生产 节能 余热回收 循环经济 生态修复 绿化 碳减排 清洁能源 * 3. 用循环生成虚拟变量 gen byte is_green 0 foreach kw of global kw_list { replace is_green 1 if strpos(project_name, kw) 0 is_green 0 } * 4. 汇总到 证券代码-年度 层面 collapse (sum) green_invest_raw project_amount, by(Stkcd year) * 5. 观察样本覆盖 tab year is_green这版代码假设数据里已经有project_name和project_amount字段。如果你的附注明细里面金额有缺失后续还得做插值或删除处理否则汇总完样本量骤降回归结果很容易就崩了。进阶一点的识别建议加一个“环境敏感行业”的交互项因为化工、钢铁、采矿、造纸等行业披露的环保项目和“金融业”完全不同统一用关键词可能会漏掉行业特殊表述。比如钢铁行业常写“烧结机烟气脱硫”造纸行业写“生物质锅炉替代”这些都是行业黑话通用词库抓不到。3.3 面板生成与异常值处理汇总得到企业年度绿色投资额之后下一步是和中国上市公司基础面板merge起来补全缺失值。很多研究者在这一步翻车做DID或连续变量回归时一个面板里有些样本年份缺失程序不会报错但结果会无端变小。我的建议是先用xtset确认面板身份再对照上市状态做填充。* 5. 与基础财务数据合并 merge 1:1 Stkcd year using data_raw/basic_panel.dta, keep(1 2 3) * 6. 设定面板结构 xtset Stkcd year * 7. 构造绿色投资强度指标 gen green_inv_abs green_invest_raw gen green_inv_ratio green_invest_raw / total_assets replace green_inv_ratio 0 if missing(green_inv_ratio) * 8. 缩尾 winsor2 green_inv_abs green_inv_ratio, replace cuts(1 99)实操中有个小地方值得注意green_inv_ratio在缩尾前先做0值替换不要把“没有披露环保投资”和“披露了但金额为0”混在一起。前者应该缺省后者可以归零。如果把大量缺省当成0结果会出现非常夸张的下偏。3.4 为什么要用ln(x1)而不是直接ln(x)很多复现论文的人在取对数这一小步上总纠结这里我直接给结论环保投资存在大量0值直接ln(0)会变成缺失值大量样本悄悄蒸发。常规做法是生成ln_green_invest ln(green_invest_raw 1)把0值映射为0其他保持有意义的对数间距。这种方法不是拍脑袋是广为接受的“反双曲正弦变换”退化的简单版适合大多数小伙伴。如果以后遇到更复杂的分布偏态问题可以直接用arsinh函数做稳健性替代最小二乘回归中的因变量形式。4. 文献地图这份数据能支撑哪些研究假说与理论框架4.1 波特假说与合规成本假说“绿色投资会不会拖累业绩”算这个领域最经典的问题。主流文献里Porter假说提出合理的环境规制可以通过倒逼创新补偿部分合规成本所以绿色投资短期内可能减少现金流长期却有利于生产率而传统“合规成本假说”则认为环保投资是纯支出降低利润。如果你要做这一支最简单的验证方法是构建滞后的绿色投资变量考察其对ROA和Tobin-Q的影响。拿到这套数据后我还建议把样本按“重污染行业”切一刀。当年《上市公司环境信息披露指南》和《环保法》修订前后重污染行业的绿色投资均值明显波动这部分冲击恰好可以用来做断点或事件研究比常规回归有说服力得多。4.2 利益相关者与外部压力理论利益相关者理论想表达的逻辑是企业不是只对股东负责——社区、政府、消费者、媒体——都施加环保压力企业通过增加绿色投资来平息这些外部诉求。为什么新闻媒体报道负面环境事件之后企业绿色投资普遍上升因为公共压力会转化为声誉损失和违规成本。这套数据里的企业年度绿色投资额用新闻情绪打分或环境污染处罚数据库做交互项能很自然地把“外部压力—企业绿色响应”这一链路量化出来。信贷和融资约束也属于这一类——绿色金融政策出来后融资成本下降的企业有没有扩大绿色投资这类研究几乎都是拿这组数据做最核心的被解释变量。4.3 治理结构与代理理论还有一条大主线是公司内部治理变量。绿色投资往往是一种非强制性投入管理层可以从“面子工程”里获得绿色声誉但小股东未必愿意。因此高管持股、两职合一、独立董事比例、机构投资者持股这类变量对绿色投资的解释力都值得检验。我见过比较漂亮的模型把CEO任期和晋升压力放进去发现任期最后一年与前两年企业绿色投资存在明显差异这种短期行为逻辑用25年面板数据做起来非常丝滑。代码部分只需要在标准控制变量基础上加一个人力资本信息回归方向从主效应切到机制分组就能撑起一篇不错的文章。5. 最容易翻车的三个细节样本筛选、口径漂移、内生性5.1 样本筛选的隐藏雷区第一步就要剔金融业、ST和退市整理期样本这基本是共识。但有几个坑大多数人第一次做都踩不到上市不满一年的样本当年财务数据与年报结构往往不完整绿色投资占比天然为0混杂进去会严重拉低均值总资产为负或营业收入为负的僵尸样本虽然占比极小但会彻底搞乱“绿色投资/总资产”这个比率跨年并购重组的公司附注里的在建工程可能继承自被并公司如果不按业务口径调整会出现单年绿色投资暴增的极值。我可以负责任地说很多论文在绿色投资数据的样本筛选上做得并不严谨这也是经济变量结果不稳定的重要原因。5.2 25年口径漂移问题从2000年到2024年中间经历了数次重大的会计准则调整比如2007年新会计准则实施在建工程附注的披露颗粒度变化很大再比如2020年前后有更多上市公司将“碳排放权”“绿电采购”列入非财务信息披露但资本化口径仍然差异较大。做长面板最怕的就是口径不连续——前十年“绿化工程”写得多后十年“双碳投入”写得多如果只锁定一组关键词样本前半段与后半段的可比性会打折。建议的做法是分年度观察关键词命中率如果某段时间命中率异常下降警惕是口径变化而非企业真正减少了投资。文献库里有几篇专门讨论“中国上市公司环境资本支出识别策略”的文章举例了如何用政策窗口划分阶段我在文末会附上关键文献目录。5.3 内生性处理的标准套餐绿色投资和很多公司特征互为因果。盈利好的企业更有余钱搞环保而绿色投资又可能拉低当期利润环境绩效好的企业更容易获得绿色信贷但也可能是信贷支持在先、投资在后。所以直接OLS回归大概率有偏。我的建议是按“三步走”来缓解核心解释变量滞后一期或两期降低反向因果控制行业—年度联合固定效应吸收行业环保属性差异和政策冲击工具变量用“同省份同行业绿色投资均值”剔除自身或“地级市环保处罚数量”。为什么这个工具箱有效因为同地区同行的环保行为反映共同规制强度单家企业的绿色投资不容易反过来影响地区环保处罚——虽然算不上完美但写审稿回复时也站得住脚。如果有自然实验可以做的碳排放权交易试点、绿色金融改革创新试验区、环保督察都算是年年逃不开的政策冲击这套2000—2024年的数据正好覆盖了绝大多数试点时点。6. 把数据用出增量价值组合指标与异质性分析的思路6.1 绿色投资与绿色专利的联合使用如果手里还有绿色专利数据强烈建议把两者搭配起来用。绿色投资回应的是“有没有花钱”绿色专利回应的是“有没有成果”。很多高水平论文把绿色专利数当作绿色投资的产出变量考察投资滞后二至三年的专利产出弹性。具体实现不复杂构建ln_green_patent后做分布滞后模型reg ln_green_patent L0.ln_green_invest L1.ln_green_invest L2.ln_green_invest controls i.year i.industry, cluster(Stkcd)这个模型的结果通常比单期相关更稳健因为绿色研发周期本来就长把时滞纳入才是符合直觉的做法。如果L1和L2系数都显著说明投资在中期成功转化为创新产出——这一条就能直接塞进文章的机制分析部分。6.2 三类异质性拆分的价值我会特别推荐按产权性质、行业特征、区域碳排放强度三个维度做异质性分析。产权性质是最常规的国有和民营企业在绿色投资上的动机与约束相差很大拿融资成本说国企普遍更容易拿到绿色信贷但投资效率未必更高民企更敏感于监管处罚也更愿意实施能快速见效的末端治理类项目。行业特征可以按“重污染—非重污染”划分也可以按“资本密集型—劳动密集型”拉分组。资本密集型企业本身在在建工程科目上盘子就大绿色投资绝对值天然偏高如果不做相对值或行业中性化处理分组结果会被制造业大厂主导。区域维度也是加分项。如果按省份或地级市碳排放强度区分可以检验“低碳试点城市的政策压力是否促使当地企业增加了绿色投资”。把地级市政策数据和这套企业数据匹配后用交乘项能揭示非常细致的政策异质性。6.3 与Python辅助分析的衔接虽然回归在Stata里完成但数据清洗环节如果有Python效率会高很多。比如读PDF年报时用pdfplumber定位“在建工程”章节再用re和基于词典的匹配提取项目名称与金额或者从新浪财经和巨潮资讯爬取附注XML解析后输出成txt再交给Stata。这种“Python捞数据、Stata做回归”的分工我认为是现阶段性价比最高的组合。7. 关于复现文献几个值得优先精读的方向拿到数据包里的文献列表时别急着全看。我按验证目标给你排个优先级如果做政策评估优先读2012年之后发表的碳排放权交易试点与环保督察的论文重点看它们如何设定处理组与控制组如果做公司金融优先关注绿色信贷指引、绿色债券发行对绿色投资的作用这类文献通常需要把债券数据库与本数据merge如果做企业治理优先关注高管环保经历、党组织嵌入与政府官员更替的影响如果做第三方效应优先关注媒体关注度、分析师覆盖、审计师行业专长与绿色投资的正向关系。我个人最推荐一个序列从“绿色投资指标构建的依据”读起看两篇就懂数据字段接着读一篇政策评估的看识别策略再读一篇机制分析的看中间变量怎么选。这个路径大概两三天就能进入状态。代码部分还有一个很少被新手提到的点所有do文件在提交给期刊复现之前记得全路径都不应该有中文和空格Stata对路径空格挑三拣四被这个问题卡一两个小时太常见了。我的做法是把项目目录放在D:\GreenInvest下所有子文件夹全英文命名最后在do文件顶部统一global root D:\GreenInvest后面所有路径用宏引用迁机换文件夹也不会崩。8. 精心打磨细节从数据到发表级的稳健性收尾8.1 描述性统计与相关性矩阵的社会规范一份能直接进入论文的绿色投资数据最基本要求在摘要和正文引用时形如“表1汇报了主要变量的描述性统计。绿色投资绝对值均值约5300万元占营业收入比例为1.8%与其他文献报告相近。”如果你拿到的数据整理完连均值都不符合直觉回归前先回头检查单位与口径。经常见的问题是有人把表里“元”当“万元”结果绿色投资均值凭空放大一万倍被审稿人一眼看穿。这个数据如果字段说明明确且与主流文献一致会让审稿人安心很多。8.2 从变量定义到结果表的复现建议在写复现报告时不要只把主回归结果贴上去。审稿人最关心的是三件事变量定义是否和正文一致样本区间与剔除过程是否清晰稳健性检验是否覆盖“替换因变量”“缩短时间窗”“排除特殊样本”三个维度。用这套数据输出主回归后建议直接在do文件中预留三个稳健性模块。第一个模块替换因变量口径比如从green_invest_raw换到green_invest_ratio第二个模块剔除2006—2008年金融危机的窗口或剔除绩效极值样本第三个模块用PSM配对后重新跑一遍。三个模块跑完大部分外审质疑都能提前消化。8.3 数据质量问题自查清单最后给你一份我的“交稿前数据体检清单”面板是否平衡有没有异常缺失的年度绿色投资均值是否在每个行业内部呈现合理差异是否有极端值支配了核心结果用winsor和未缩尾版本对比看系数方向是否改变是否分年度做了命中词分布统计看有没有口径断裂是否有企业连续多年绿色投资为0但非ST且正常经营的情况排除遗漏披露风险金额单位与说明材料是否一致。每一条都是我被审稿意见教育过的血泪总结。尤其是第5条有些企业确实不单独披露环保投资项目但不等于零投资。如果数据集里没有给出“筛选率”和“未命中原因分类”后面的实证稳健性总是会有那么一丝不确定性。做数据集的这些年我有一个特别深的体会绿色投资真正难的不是代码和建模而是数据本身的口径与可比性。谁能把2000—2024这25年跨越几轮会计与环保信息披露变革的绿色投资数据梳得明明白白谁就顺手解决了无数实证研究者最头疼的入口问题。拿到数据之后先把描述性统计跑出来对照三篇主流文献的文字描述校准一下量级再开始搭模型——这一步省钱省力。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑