第二章:ESG数据来源与质量
做量化投资的朋友都知道,数据是模型的命根子。ESG数据更是如此——它不像股价那样标准化,来源五花八门,质量参差不齐。今天我就把这几年跟ESG数据打交道的经验,掰开了揉碎了讲给你听。
2.1 主流ESG评级机构
先说说市面上这几家评级机构。我个人的习惯是,把它们当成「数据供应商」而非「真理裁判」。每家都有自己的打分逻辑,你想想看,同一家公司,MSCI给AA,Sustainalytics可能只给中等风险,这事儿我遇到过不止一次。
MSCI ESG评级
MSCI的评级框架,说白了就是看三个维度:环境(E)、社会(S)、治理(G)。每个维度下又有若干关键议题,比如碳排放、劳工管理、董事会独立性等。他们给每家公司的评级从AAA到CCC,一共7档。
我记得有一次做因子回测,发现MSCI评级上调后的一个月,股票平均有2%的超额收益。但要注意,这个效应在大型股上更明显,小盘股的反应就弱很多。
Sustainalytics
Sustainalytics的玩法不太一样。他们更关注「未管理的ESG风险」,也就是公司暴露在哪些风险下,以及管理得怎么样。评分越低,说明风险控制得越好。
这里有个坑:Sustainalytics的评分范围是0-100,但不同行业的中位数差异很大。比如石油行业的中位数可能在40左右,而科技公司可能只有15。做跨行业比较时,一定要做行业中性化处理。
CDP(碳信息披露项目)
CDP主要聚焦环境数据,尤其是碳排放。他们通过问卷收集企业的碳足迹、减排目标、气候治理等信息。我个人觉得,CDP的数据在碳排放这块是最细的,但有个问题——回复率不高,尤其是中小型公司。
我曾经做过一个统计,MSCI成分股里,大概只有60%的公司会回复CDP问卷。这意味着,如果你只用CDP数据,样本偏差会很大。
2.2 数据获取渠道
数据从哪来?我整理了几个常用渠道,按靠谱程度排个序:
| 渠道 | 数据类型 | 覆盖范围 | 成本 |
|---|---|---|---|
| Bloomberg Terminal | ESG评分、碳排放、争议事件 | 全球大型股 | 高 |
| Refinitiv Eikon | ESG评分、细分指标 | 全球中型股以上 | 高 |
| MSCI ESG Manager | MSCI评级、权重数据 | MSCI指数成分股 | 中高 |
| Sustainalytics | 风险评分、争议事件 | 全球4000+公司 | 中 |
| CDP官网 | 碳排放、水资源、森林 | 回复问卷的公司 | 部分免费 |
| 公司年报/CSR报告 | 原始披露数据 | 所有上市公司 | 免费 |
嗯,这里要注意:免费渠道的数据往往需要大量清洗。我刚开始做ESG研究时,从公司年报里扒数据,那叫一个痛苦——有的公司把碳排放藏在「其他环境信息」里,有的干脆不披露。
2.3 数据清洗与标准化
数据拿到手,真正的活儿才开始。ESG数据清洗,我总结了三个核心问题:
问题一:缺失值处理
ESG数据的缺失率很高。比如碳排放数据,很多公司根本不披露。怎么办?
- 行业均值填充:用同行业公司的均值来补。但要注意,这可能会引入偏差——不披露的公司往往表现更差。
- 模型预测:用其他特征(如营收、员工数、行业)来预测缺失值。我试过随机森林,效果还行。
- 直接剔除:如果缺失率超过50%,我建议直接放弃这个指标。
我的经验:对于碳排放数据,我一般先用行业均值填充,然后加一个「是否披露」的哑变量。这样既保留了信息,又控制了偏差。
问题二:单位不统一
不同数据源的单位可能不一样。比如碳排放,有的用吨,有的用千吨,还有的用二氧化碳当量。标准化是必须的。
# Python示例:碳排放数据标准化
import pandas as pd
def standardize_emissions(df, column):
"""
将碳排放数据统一为吨CO2当量
"""
# 假设原始数据可能有多种单位
if df[column].max() < 1000:
# 可能是千吨,转为吨
df[column] = df[column] * 1000
elif df[column].max() > 1e9:
# 可能是百万吨,转为吨
df[column] = df[column] * 1e6
return df
问题三:评分尺度不同
不同评级机构的评分尺度不一样。MSCI是AAA-CCC,Sustainalytics是0-100,CDP是A-F。做多源融合时,必须标准化到同一尺度。
避坑指南:我曾经直接把MSCI的评级映射成1-7的数字,然后跟Sustainalytics的评分做回归。结果发现相关性很低。后来才意识到,MSCI的评级是序数,不是等距的。正确的做法是用百分位数排名。
2.4 知识体系框架
下面这张图,是我自己梳理的ESG数据体系。你看一眼,心里就有数了。
2.5 实战中的避坑指南
最后,分享几个我踩过的坑:
坑1:不要直接拿不同机构的评分做平均。它们的打分逻辑完全不同,简单平均等于把苹果和橘子混在一起。
坑2:注意数据的时间戳。ESG数据更新频率低,有的机构一年才更新一次。你用去年的评分预测今年的收益,滞后性很严重。
坑3:小心幸存者偏差。很多ESG数据库只收录当前存续的公司,那些退市或破产的公司数据是缺失的。这会导致你的模型高估ESG因子的表现。
好了,关于ESG数据来源与质量,今天就聊到这儿。数据是量化投资的基石,这块功夫下得越深,后面的模型就越稳。下一章我们聊聊如何用这些数据构建ESG因子,到时候见。