ESG评级数据多源合并与评级分歧实证研究指南
做ESG实证研究的朋友应该都体会过找数据的痛苦。市面上的ESG评级数据散落在各个平台里各家口径不一样更新频率不一样覆盖范围也不一样想凑齐一套能支撑论文或者研究报告的数据往往要花掉比写正文更多的时间。这套更新至2024年的上市公司ESG评级评分数据合集把十份主流数据源放到了一起——华证年度、华证季度、Wind、商道融绿、富时罗素、彭博、润灵环球、MSCI、cnrds、盟浪——相当于直接把一个多源ESG数据库送到了手边。对于做学术研究、量化策略或者企业可持续发展分析的人来说这东西的实用价值不用我多说。这篇博文我就拿这套数据作为引子把每个评级源的特点、数据背后的结构逻辑、以及实际使用中最容易踩坑的地方一次讲透。1. 十份数据到底怎么回事1.1 为什么需要“一堆ESG数据”接触ESG研究不久的人常问我一个公司到底用哪个评级数据最好我的建议从来都是不要只盯着一家看。ESG评级是一个高度依赖评价体系的产物同一家公司MSCI可能给到AA而华证可能只给到BBB。这并不一定是哪家机构算错了而是因为各家的方法论侧重点完全不同。ESG这个概念太大了。Environmental环境涉及气候变化、污染物排放、资源使用Social社会涉及员工关系、供应链、产品安全Governance治理涉及董事会结构、股东权利、信息披露质量。没有任何一家评级机构能把这些维度全部“客观”覆盖每家机构都是在用一套自己的框架去近似这个事实。所以当你把十份数据放在一起看的时候看到的其实不是十个“答案”而是十种“观察角度”。这套数据合集的价值恰恰在于此——你不用费劲巴拉去各个数据库采购拿到手就是一个已经整理好的面板结构可以让你直接去做跨评级的比较、分歧度分析、以及多源数据的稳健性检验。1.2 各家的覆盖差异先看懂数据边界拿到数据以后第一件事不是看那些评级等级而是先看清每个子数据的边界。不同源对“上市公司”的定义不一样时间跨度和更新频率也不尽相同盲目合并一定会出问题。我先把这套合集中十份数据的大致特征列一下方便你对照着理解数据源机构类型更新频率覆盖特征数据形态华证年度国内评级机构年度A股覆盖面广评级序列长等级制AAA-C华证季度国内评级机构季度同样覆盖A股时效性强等级制AAA-CWind金融终端日度/周度整合多方来源接口方便混合型商道融绿国内评级机构年度专注于A股与港股早期数据积累深等级制A-D富时罗素国际指数公司年度A股纳入始于2017年后偏国际标准0-5分制彭博国际金融终端日度评分项目粒度细适合做子维度分析0-100分制润灵环球国内评级机构年度早期主要覆盖A股中大盘等级/评分MSCI国际评级机构年度定期复审A股纳入时间晚国际认可度高等级制AAA-CCCcnrds学术数据库平台年度研究型数据附带指标明细细粒度评分盟浪国内机构年度新兴数据源覆盖A股等级制这张表看着简单但里面藏着几个容易踩坑的细节。比如华证有两个版本一个年度一个季度两者评级可能不一致用的时候要明确你到底要研究年度效应还是季度效应千万不能混在一个池子里直接跑回归。再比如富时罗素和MSCI虽然都是国际机构但它们进入A股市场的时间不同这直接决定了早期样本可能会大量缺失。2. 逐个拆解每家评级到底在评什么2.1 华证与商道融绿本土机构的底层逻辑华证是大家用得最顺手的一个因为它的A股覆盖率非常漂亮而且历史时间段长很适合做主回归和事件研究。华证的评级体系是九档AAA、AA、A、BBB、BB、B、CCC、CC、C这个梯度和穆迪的信用评级思路很像也是把ESG表现做总排序。它的计算逻辑侧重于“公开披露信息”尤其看重财务报告、社会责任报告和可持续发展报告里能直接看得到的数据所以一家公司只要信息披露做得好华证分数往往不会太低。商道融绿是中国的老牌ESG评级机构在国内ESG领域起步非常早。它的评级逻辑融合了国际框架和中国资本市场的信息环境比如它会参考GRI的披露标准同时也会把中国企业特有的治理问题纳入考量。商道融绿的数据在港股和A股都有覆盖而且对于早期年份比如2015-2018年的积累厚度比起大多数后来者优势明显。实操建议上是这样如果你的研究样本以A股为主、时间跨度又比较长华证和商道融绿是首选如果你特别关心“信息披露质量”与评级之间的关系商道融绿的指标结构会更合适。2.2 MSCI与富时罗素国际评级怎么看待中国市场MSCI的ESG评级是学术界和投资界引用频率最高的国际评级之一。它的评级区间从AAA到CCC每个公司每年定期复审一次而且复审过程中会结合公司发布的公开信息做大量调整。MSCI有一套非常精细的关键议题打分体系Key Issue Framework针对不同行业环境、社会和治理各项议题的权重完全不同。比如高碳排放行业里环境议题权重可以占到30%以上而金融行业会更侧重治理和融资行为。但用MSCI数据要留意一个现实问题它正式覆盖中国A股的时间并没那么早早期年份比如2018年前样本量会明显偏少。如果你要做时间跨度很长的研究单独依赖MSCI可能会导致样本选择偏差。解决思路就是和其他本土数据源配合做稳健性检验。富时罗素FTSE Russell的ESG评分则是另一个思路。它是0到5分连续制并且细分了环境、社会、治理三大支柱、以及若干主题和指标。富时罗素的评分颗粒度比MSCI细它更强调“数据点”的扎实程度——也就是说如果一个公司有非常翔实的数据支撑得分会直接受益。这套逻辑对于做因子分析的人来说比较友好分数连续不做等级离散化回归的时候信息损失更小。2.3 彭博、Wind、cnrds与盟浪数据服务商的玩法彭博ESG评分和前面几家不太一样。它不是纯粹的评级机构而是一个数据终端服务商所以它的ESG评分构建更多围绕“信息披露”展开——披露了多少项指标、覆盖了哪些维度。彭博的分数是0到100分制分数高低在很大程度上反映了信息的透明度和可得性。用彭博数据做“披露质量”代理变量是常见操作但要说它衡量的是“ESG绩效好坏”就不太严谨了。这一点在做研究的时候务必明确。Wind作为国内金融终端的老大它的ESG数据一半是自建评分、一半是整合外部源头。在Wind里你可以同时看到多家评级的对接数据和自己的ESG估值模板。这套合集里的Wind数据很可能是以终端导出的结构化表格形式存在的用的时候要注意字段选择因为Wind的ESG模块经常改版字段命名在不同年份可能不一致。cnrds中国研究数据服务平台是学术圈里的老朋友了它的ESG数据库非常适合做论文因为它除了评级分数之外还会附带大量的底层披露指标方便你去做解释变量的拆解。如果你需要研究ESG评级被什么因素驱动cnrds是素材最丰富的一个源。盟浪属于国内较新的的数据供应商覆盖范围逐步扩大它的评级框架强调从负面筛除和正面评分相结合。研究上如果你需要“to B端”的评级数据补充它可以和华证商道润灵形成对照。但新数据源的历史长度有限使用时要控制好在时间维度上的预期。3. 实操把十份数据清洗合并成一张可用面板3.1 第一步统一证券代码和时间粒度拿到十份数据混在一起不可能直接开始回归分析。我建议你做一个标准化的面板数据。第一步就是代码统一。A股最常见的股票代码形式有两种纯六位数字代码比如“600519”和带交易所后缀的格式比如“600519.SH”。不同的数据源在这件事上任性得很有的是纯数字有的带后缀还有的在某些年份用了旧代码。我自己一般的做法是以Wind或者交易所最新的证券代码映射表为标准把所有的证券代码先转为统一的“代码.交易所”格式。这里不推荐用公司名称做匹配键因为公司改名的情况在A股太常见了而且万一数据源里有的用简称、有的用全称光靠名称去merge会让你怀疑人生。时间粒度方面华证年度、商道融绿、富时罗素、MSCI这类年度数据统一映射成年份值华证季度单独映射成“年份-季度”彭博和Wind如果带日频数据可以按照你需要的研究频率做降频处理比如取每年最后一个交易日的值作为年度快照。3.2 第二步缺失值处理和滞后对齐ESG评级数据的最大痛点就是缺失值。国际评级进入中国市场时间晚、小市值公司覆盖少、部分ST或退市风险公司可能直接被剔除样本结果就是数据面板里全是洞。面对这些洞最忌讳的做法就是直接填零或者线形插值。ESG评级不是连续波动的价格序列简单插值会造出根本不该存在的虚假信息。我建议的缺省策略是三层递进第一层如果该数据源在该年本来就不覆盖这个公司保持缺失不填充建模的时候依靠面板数据的非平衡特性处理第二层如果同一公司前后年份都有评级可以视为“持续未变”而沿用上一期观测值——因为ESG评级在现实中确实具有较强的时间惯性用前值填充在多数情况下比插值可信第三层如果前后期都没有数据但公司确实存在可以向华证或Wind那套覆盖更广的源求助做“源间补充”。关于滞后对齐这里专门提醒一下MSCI、富时罗素这些国际机构的评级发布时间通常比公司财年结束晚好几个月。比如你看到MSCI在2024年2月发布的评级它针对的是2023财年末的静态状况在事件研究中使用时要把它当作2023年年末的信息而不是2024年的新增信息。不理解这一点事件窗口就容易整体漂移。3.3 第三步评级文本数字化与标准化各家评级呈现形式差异很大。华证的“BBB”、MSCI的“AA”、富时罗素的“3.8分”、彭博的“67.5分”这些字段混在一起如果不做标准化连描述统计都很难做。等级制转数值的做法通常是把等级映射成连续整数。比如华证九档从AAA到C可以映射为1到9也有习惯映射成9到1看你想让“高分”代表“好表现”还是“高序号”。MSCI七档从AAA到CCC映射为1到7。商道融绿如果带加减号A、A、A-之类我比较建议先统一为不带加减号的粗粒度等级再映射因为加减号在评级机构实际输出里并不总是稳定出现强行细分反而容易引入噪声。标准化到0-100分区间是一个稳妥的思路。把各家映射后的数值用极值法做线性缩放这样十份数据就都站在了同一把尺子上。但要注意标准化以后不适合直接横向比较绝对分差更适合做相关性分析和排名稳定性检验。4. 多源数据的核心价值评级分歧4.1 为什么评级分歧本身值得研究ESG评级分歧ESG Rating Divergence在近两年的学术圈逐渐成了一个热门话题。简单说就是不同评级机构对同一家公司的评价并不一致而这种不一致本身就是一种信息。Chatterji等人在2016年左右就提出过ESG评级的效度问题后来的大量研究进一步证实不同ESG评级之间相关系数可能只有0.3到0.6远低于信用评级之间的高度一致性。这个分歧度对研究者来说是一个金矿。比如你可以把多家评级之间的标准差当作一个变量去检验它与公司特质之间的关系。理论上如果一家公司的ESG表现非常清晰披露充分、行为明确所以评级机构看法一致那它的评级分歧度应该低反之如果它经常在灰色地带游走问题就多了。实践层面上做投资的也会用到这个思路。评级分歧往往意味着定价不确定性机构投资者可以借助这个指标来调整持仓的“争议敞口”。这一点在学术文章里叫ESG disagreement已经有不少顶刊论文在讨论它与股票收益、资本成本、以及机构持仓行为之间的关系。4.2 一个简单的分歧指标计算流程在这个合集的基础上想计算评级分歧并不复杂只需要面板数据已经合并好。我提供一个自己常用的逻辑你可以直接在Stata或者Python里面实现选三个覆盖相对完整的数据源华证、商道融绿、彭博或Wind。将三家评级统一标准化到0-100分。对每个“公司-年份”观测值计算三家评级的横截面标准差。标准差越大说明该年份的ESG评级分歧越大。代码示例Pythonimport pandas as pd # df 已包含字段stock_code, year, score_hz, score_syntao, score_bloomberg df df.dropna(subset[score_hz, score_syntao, score_bloomberg]) rating_cols [score_hz, score_syntao, score_bloomberg] # 标准化到0-100 for col in rating_cols: min_val df[col].min() max_val df[col].max() df[f{col}_std] (df[col] - min_val) / (max_val - min_val) * 100 # 计算分歧度 df[disagreement] df[rating_cols].std(axis1)这里有一个细节不同评级源在年份上的对齐很关键。如果你把华证2023年度、商道融绿2022年度、彭博2023年末快照拿来算同一个观测点的分歧那算出来的就不是纯粹的评级分歧而是“时间错位噪声”。所以务必保证同一行里的数据在时间意义上是一致的。5. 应用场景学术论文与投资筛选5.1 学术研究ESG评级的实证玩法ESG评级数据在学术论文里最经典的应用是回归模型中的解释变量或调节变量。比如检验ESG评级对财务绩效的影响用面板固定效应模型控制公司异质性这本合集里的华证年度数据哪怕直接拿出来也能用因为序列长、覆盖全、缺失少。不过建议别停留在这种大路货应用上。既然合集里有那么多不同的评级源高阶玩法自然是用多源数据做“稳健性检验”。审稿人经常会质疑“ESG评分是主观构建的”如果你能展示核心结论在MSCI、富时罗素、商道融绿等不同评级口径下都成立结果说服力就完全不一样了。同样的逻辑还可以用在“外部监督”研究中。中国的上市公司ESG评级是公开信息评级下调本身就有事件冲击效应。华证季度数据在这里很有用因为它提供了一年四次的信息冲击而大部分年度数据做不到这一点。拿着华证季度评级变化你可以构建一个事件研究设计看评级下调前后股票收益率和融资成本的变化路径。这个思路在绿色金融领域非常受欢迎。5.2 投资策略从评级到组合构建做组合投资的人最简单的玩法是“评级的截面选择”。每个季度末筛选出华证季度评级上调、市场预期差为正的股票构建多空组合。关键是要控制行业暴露因为ESG评级天然和行业属性高度相关——比如公用事业环保投入高、评级容易高但市场表现可能并不突出直接把所有评级高的股票买进来组合就成了行业指数。另一种玩法是把评级分歧作为风控指标。我自己试过一个想法把分位数最高的“评级争议股”从ESG投资池里剔除掉回测下来组合的波动率有肉眼可见的下降收益也没有明显受损。逻辑在于这类公司在ESG信息透明度上存疑往往伴随着更高的尾部风险暴露。你可以拿这份合集里的分歧度指标直接去筛选配合富时罗素的0-5分连续数据构造最终组合数据上基本够用。6. 常见问题与排查技巧实录6.1 高频踩坑清单以下这些问题是我自己整理多源评级数据时反复遇到过的直接整理成速查表方便你对照排查。问题现象可能原因解决办法匹配后大量样本消失证券代码格式不统一先统一代码用“代码.交易所”格式做主键MSCI早期观测值全为空国际机构覆盖A股时间晚用其他数据源做主回归MSCI做稳健性同一公司两个源评级差异巨大方法论侧重点不同计算评级分歧不要强行认定某一方有误华度年度与评级季度对不上信息发布时间差导致时序偏移明确评级“发布时点”而非“财年末时点”Wind导出的ESG字段前后年份不一致终端字段版本更新核对字段定义必要时手工对齐商道融绿早期样本数量波动明显覆盖范围扩张期用面板中的非平衡数据避免强制平衡6.2 几个亲测有效的小技巧第一个小技巧如果你是做年度数据研究不要直接把华证季度数据求平均作为年度值。季度评级变化本身携带信息求平均会把这种动态信息完全抹掉。更合理的做法是取四个季度中评级出现“最高值”或者“末值”来做年度观测。第二个技巧处理国际机构评级时注意它们常按自然年做审核周期但审核有效期往往延续到下一年审核前。也就是说2024年3月初公布的那个评级可能直接沿用就覆盖到了2025年3月前。如果你研究的事件发生在2024年12月该评级仍然是“最新可得信息”不要机械地只认财年标签。第三个技巧面板数据清洗时建议每处理一个步骤就留下一个parquet或者dta快照。ESG数据量不算特别大但清洗步骤繁琐十份数据合并后中间产物非常多一旦后面发现变量定义有问题没有快照的话就只能从头再来。第四个技巧也是最后想说的一点对于这份合集中的“更新至2024年”版本意味着时间序列末尾包含了非常新的数据点。在论文里使用时最好注明数据的获取日期和信息截止日期这样既方便复核也让审稿人能明确知道你结论的时间窗口边界。ESG数据研究这个方向近几年越来越卷但本质上还是“数据质量决定上限”。一份经过整理的、多源可比的ESG评级合集能让你直接把精力放在研究问题本身而不是折腾数据。我个人在实际操作中还有一个习惯拿到这类合集后先不要急着跑回归而是把十份数据做成相关系数矩阵热力图看一眼全貌。里面有没有某两个源相关系数特别高、是不是存在明显的分组聚集效应这些信息会直接影响你后面选主变量。千万别跳过这一步。祝你的ESG研究少踩坑、多出成果。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →