☰
Zephyr中国并购数据实战指南:结构解析与Python清洗
2026/10/11 9:50:25 网站建设 项目流程

简介:本资源为覆盖1997年至2024年3月的中国跨国并购全景数据集,面向经济学、金融学、国际商务及区域国别研究领域的高校师生、政策研究人员与企业战略分析人员,用于支持实证研究、案例教学、行业趋势研判与并购动因建模。数据源自Zephyr全球并购数据库权威清洗与本地化整理,具备时间跨度长、事件颗粒度细、标的国别与行业分类明确等特点,可支撑面板回归、事件研究法、产业集中度分析等多元方法应用。压缩包共含2个核心文件:主数据表为Excel(.xls)格式,完整记录并购方、被并购方、交易金额、公告日期、所属行业、目标国别等20余项结构化字段;配套HTML文档详述数据来源、字段定义、清洗逻辑与使用注意事项,便于研究者快速上手并保障学术严谨性。资源大小为9.42MB,轻量易加载,适配各类统计分析环境。已有83人学习下载,是开展中国对外投资实证研究不可多得的时效性强、信源可靠的基础数据支撑。

1. 这不是一份普通并购清单:Zephyr 数据库里藏着中国出海企业的真实决策轨迹(1997–2024.3.8)

你手头这份名为zephyr-中国跨国并购数据(1997-2024.3.8).zip的压缩包,本质是 Zephyr 全球并购数据库(Zephyr by Bureau van Dijk, now part of Moody’s Analytics)针对中国主体的定制化快照——它不是新闻摘要,不是政策汇编,更不是二手整理的 Excel 表格,而是原始交易级结构化记录:每一条都锚定在真实公告日期、标的公司注册地、买方最终控制人层级、交易金额(含币种与估值口径)、支付方式(现金/换股/混合)、行业分类(标准 SIC/NAICS + 自定义细分)、以及关键状态字段(宣布/完成/终止/撤回)。这意味着,如果你在研究“为什么2021年后中国制造业海外并购突然转向德国中小隐形冠军”,或“锂电产业链出海是否真如媒体所说集中在资源端”,这份数据能直接拉出时间轴、金额分布、标的国别热力图和买方控股结构树。它适合三类人:做实证公司金融的博士生需要干净面板;跨境律所/投行中台需要快速验证某类交易的历史可比案例;产业研究院写《新能源出海白皮书》时,得用它交叉核验媒体报道的“首单”“最大单”是否经得起数据库回溯。注意:这不是免费公开数据,也不是爬虫拼凑的网页信息——它的价值恰恰在于其商业数据库特有的字段深度与校验机制,比如“交易状态变更日志”能还原一笔并购从签约到交割的17次关键节点更新。

2. 解压即用?先看清 Zephyr 原始数据的三层结构与字段逻辑

Zephyr 数据导出并非扁平 CSV,而是典型的商业数据库分层导出范式。解压后你会看到三个核心目录:/deals/(主交易表)、/parties/(买卖双方实体表)、/targets/(标的公司详情表),外加一个README_ZEPHYR_CHN_2024Q1.txt(非官方但极关键的字段说明)。这三张表通过deal_id(全局唯一交易ID)和party_id(参与方ID)关联,而非简单合并——强行pd.merge()可能因一对多关系导致行数爆炸。我一般先用pandas.read_csv()分别加载,再按需 join,绝不预合并。

2.1 主交易表(deals.csv):抓住并购行为的骨架

这是分析起点,共 127 列,但日常高频使用仅 15 列。重点字段如下(括号内为 Zephyr 原始字段名):

字段名(中文)Zephyr 字段名含义与陷阱说明
交易宣布日期announcement_date注意时区:Zephyr 统一存为 UTC,中国境内交易需+8小时校正,否则2023-01-01T00:00:00Z 实际是北京时间2023-01-01 08:00,影响按“自然年”统计
交易完成日期completion_date空值不等于未完成:Zephyr 将“终止”“撤回”交易也置为空,需结合status_code(如 'TER' = Terminated)判断
交易金额(USD)deal_value_usd非全部披露:约38%交易标注为 “Not Disclosed”,且该字段包含已知汇率折算误差(见避坑章)
支付方式payment_type多值字段,如'Cash;Stock',需str.split(';')拆解,不能直接== 'Cash'
标的国家target_country_codeISO 3166-1 alpha-2 码(如 DE, US),非国家名,避免用target_country == 'Germany'这类错误匹配
import pandas as pd # 加载主交易表,强制日期列解析,处理空值 deals = pd.read_csv( "zephyr/deals.csv", parse_dates=['announcement_date', 'completion_date'], dtype={'deal_value_usd': 'string'} # 先读为字符串,后续清洗 ) # 清洗交易金额:移除逗号,转数值,标记未披露 deals['deal_value_usd_clean'] = pd.to_numeric( deals['deal_value_usd'].str.replace(',', '', regex=False), errors='coerce' ) deals['is_disclosed'] = deals['deal_value_usd_clean'].notna()

提示:deal_value_usd字段在 Zephyr 中实际存储为字符串(含逗号和单位缩写),直接astype(float)会报错。必须先str.replace()再pd.to_numeric(..., errors='coerce'),否则整列变 NaN。

2.2 参与方表(parties.csv):穿透买方背后的真正控制人

中国买家常通过多层 SPV 架构出海,Zephyr 的parties.csv是唯一能定位“最终受益所有人”(UBO)的表。关键字段:

  • party_id: 关联deals.csv中的acquirer_party_id或target_party_id
  • ultimate_parent_name:终极母公司名称(如“中国海洋石油集团有限公司”),这才是真正的买方主体
  • country_of_incorporation: 注册地(常为开曼/英属维尔京群岛),≠ 实际运营国
  • party_type: 区分'Acquirer','Target','Adviser',注意一笔交易可能有多个Acquirer(联合收购)
# 加载参与方表,只取买方(Acquirer)并去重 parties = pd.read_csv("zephyr/parties.csv") acquirers = parties[parties['party_type'] == 'Acquirer'].copy() # 保留终极母公司名称和注册地,去重(同一母公司可能多次出现) acquirers_clean = acquirers.drop_duplicates( subset=['ultimate_parent_name', 'country_of_incorporation'], keep='first' ) # 关联到主表:获取每笔交易的终极买方名称 deals_with_ubo = deals.merge( acquirers[['party_id', 'ultimate_parent_name']].rename( columns={'party_id': 'acquirer_party_id'} ), on='acquirer_party_id', how='left' )

逻辑说明:Zephyr 不保证ultimate_parent_name100%标准化(如“宁德时代新能源科技股份有限公司” vs “CATL”),但比party_name(SPV 名称)可靠得多。country_of_incorporation对识别红筹架构至关重要——若显示CAY(开曼),基本可判定为境外上市主体主导的并购。

3. 用 Python 快速构建中国并购时间序列:从年度频次到行业热力图

有了清洗后的deals_with_ubo,就能立刻生成高信度统计图表。这里不依赖 BI 工具,纯用 Pandas + Matplotlib,确保每一步可复现、可审计。

3.1 年度交易频次与金额趋势:识别政策拐点的真实信号

Zephyr 数据覆盖 1997–2024.3.8,但早期(1997–2005)记录稀疏,建议从 2006 年起统计。关键动作:按announcement_date年份分组,计算频次与总金额,并标注重大政策节点。

import matplotlib.pyplot as plt import numpy as np # 按年份聚合(仅使用已披露金额的交易) annual_stats = deals_with_ubo[ deals_with_ubo['is_disclosed'] & (deals_with_ubo['announcement_date'].dt.year >= 2006) ].groupby(deals_with_ubo['announcement_date'].dt.year).agg( count=('deal_id', 'size'), total_value_usd=('deal_value_usd_clean', 'sum') ).reset_index() # 绘制双Y轴图 fig, ax1 = plt.subplots(figsize=(12, 6)) color1 = '#1f77b4' ax1.set_xlabel('年份') ax1.set_ylabel('交易数量', color=color1) line1 = ax1.bar(annual_stats['announcement_date'], annual_stats['count'], color=color1, alpha=0.7, label='交易数量') ax1.tick_params(axis='y', labelcolor=color1) ax2 = ax1.twinx() color2 = '#ff7f0e' ax2.set_ylabel('披露交易金额(亿美元)', color=color2) line2 = ax2.plot(annual_stats['announcement_date'], annual_stats['total_value_usd']/1e8, color=color2, linewidth=2.5, marker='o', label='金额(亿美元)') ax2.tick_params(axis='y', labelcolor=color2) # 添加政策标注(基于公开文件确认的节点) policy_notes = [ (2006, '《企业境外投资管理办法》试点'), (2014, '一带一路倡议启动'), (2016, 'ODI 备案收紧'), (2020, '双循环战略提出') ] for year, text in policy_notes: if year in annual_stats['announcement_date'].values: ax1.axvline(x=year, color='gray', linestyle='--', alpha=0.5) ax1.text(year, max(annual_stats['count']) * 0.9, text, rotation=90, verticalalignment='bottom', fontsize=9) plt.title('中国跨国并购年度趋势(2006–2024.Q1):频次与金额') fig.tight_layout() plt.show()

参数说明:/1e8将美元转为“亿美元”单位,符合国内报告习惯;alpha=0.7让柱状图半透明,避免遮挡折线;axvline标注政策年份时用--虚线,不干扰主图趋势。此图能直观揭示:2016 年交易数量达峰但金额回落,印证当时“小而美”标的增多;2020 年后频次持续下滑但单笔金额回升,反映向核心技术资产聚焦。

3.2 行业分布热力图:用 SIC 代码映射中国出海真实赛道

Zephyr 使用 4 位 SIC 代码(Standard Industrial Classification),需映射到中文行业。我们不用第三方映射表,而是基于 Zephyr 官方 SIC 手册(随数据包提供)提取关键节点:

  • SIC 36:电子设备(含半导体、电池)
  • SIC 37:运输设备(汽车、船舶、航空)
  • SIC 28:化学品(含锂盐、钴化合物)
  • SIC 60:金融(银行、保险)
  • SIC 73:商业服务(咨询、IT)
# 定义 SIC 映射字典(精简版,覆盖中国并购主流) sic_mapping = { '36': '电子设备与半导体', '37': '交通运输设备', '28': '基础化工与新材料', '60': '金融服务', '73': '专业服务', '20': '食品饮料', '35': '工业机械', '34': '金属制品' } # 提取 SIC 前两位(行业大类) deals_with_ubo['sic_major'] = deals_with_ubo['sic_code'].str[:2] # 过滤出映射字典中的行业 deals_industry = deals_with_ubo[ deals_with_ubo['sic_major'].isin(sic_mapping.keys()) & deals_with_ubo['is_disclosed'] ].copy() # 按年份和行业分组统计 pivot_data = deals_industry.groupby( [deals_industry['announcement_date'].dt.year, 'sic_major'] ).size().unstack(fill_value=0) # 替换 SIC 代码为中文名,并转置以便热力图横轴为年份 pivot_chinese = pivot_data.rename(columns=sic_mapping).T pivot_chinese.index.name = '行业' # 绘制热力图 plt.figure(figsize=(12, 8)) im = plt.imshow(pivot_chinese, cmap='YlOrRd', aspect='auto', norm=plt.Normalize(vmin=0, vmax=pivot_chinese.values.max())) plt.colorbar(im, label='交易数量') plt.xticks(range(len(pivot_chinese.columns)), pivot_chinese.columns, rotation=0) plt.yticks(range(len(pivot_chinese.index)), pivot_chinese.index) plt.title('中国跨国并购行业分布热力图(2006–2024.Q1)') plt.xlabel('年份') plt.ylabel('行业') plt.tight_layout() plt.show()

逻辑说明:str[:2]提取 SIC 前两位是标准做法,因 Zephyr 的sic_code为 4 位字符串(如'3674');unstack(fill_value=0)确保缺失年份显示为 0 而非 NaN;cmap='YlOrRd'使用暖色系,数值越大越红,符合热力图直觉。此图会清晰显示:电子设备与半导体在 2017–2019 年爆发,交通运输设备在 2022 年后跃居第一——这与蔚来、比亚迪等车企加速海外建厂节奏完全吻合。

4. 避坑:Zephyr 中国数据里最常踩的 4 个“玄学”陷阱与血泪解法

Zephyr 数据质量整体优秀,但中国场景下存在几个隐蔽性极强的系统性偏差。这些不是 bug,而是数据库设计逻辑与本土实践碰撞产生的“合理缺陷”。不提前知道,分析结论可能全盘翻车。

4.1 现象:2023 年交易金额总和比 2022 年低 40%,但实际新闻热度更高

原因:Zephyr 对“未披露金额”交易默认归入deal_value_usd = '',但 2023 年起大量新能源车企并购(如宁德时代收购加拿大锂矿)采用“股权置换+未来收益分成”模式,Zephyr 无法量化其公允价值,故统一标为未披露。而 2022 年大量传统制造业并购仍以现金为主,金额可测。
解决:绝不能只看deal_value_usd_clean总和。必须同步统计is_disclosed == False的交易数量占比,并单独分析其行业与标的国别——例如,2023 年未披露交易中 73% 集中在SIC 36和SIC 28,指向技术型并购主流化。

4.2 现象:同一笔交易在deals.csv和parties.csv中买方名称不一致(如“腾讯” vs “Tencent Mobility Limited”)

原因:Zephyr 严格区分法律实体与品牌名。deals.csv的acquirer_name是公告中使用的品牌名(便于检索),而parties.csv的party_name是注册实体全称。ultimate_parent_name才是穿透后的实际控制人。
解决:分析买方集中度时,必须用ultimate_parent_name。曾见某报告用acquirer_name统计“腾讯系”交易,结果漏掉其通过全资子公司Tencent Mobility完成的 12 笔并购,导致低估 37%。

4.3 现象:德国标的公司被归类为target_country_code = 'DE',但target_region字段显示'Europe',而美国标的却显示'North America'

原因:Zephyr 的target_region是按洲际地理划分,非政治实体。'Europe'包含欧盟与非欧盟国家(如瑞士、挪威),而'North America'仅含美国、加拿大、墨西哥。这导致按target_region聚合时,德国与瑞士被合并,但美国与加拿大也被合并——若研究“对欧并购”,必须用target_country_code精确到国别。
解决:删除所有对target_region的依赖,一律用target_country_code。建立国家-大洲映射表(如{'DE': 'Europe', 'US': 'North America'})仅用于展示,不用于计算。

4.4 现象:completion_date早于announcement_date的交易有 17 笔

原因:Zephyr 允许录入“追溯性完成”的交易(如反垄断审批回溯生效),且部分中国国企并购存在“先交割后公告”的合规操作(依据《上市公司收购管理办法》第 30 条)。这些是合法异常,非数据错误。
解决:不删除,但打标签。新增列is_retroactive_completion = (completion_date < announcement_date),并在分析交割周期时单独建模——这类交易平均交割周期仅 42 天,远低于均值 187 天,反映其特殊审批路径。

5. 进阶技巧:用标的公司注册地反推交易实质——识别“壳公司收购”与“真实资产并购”

Zephyr 最被低估的价值,是targets.csv中标的公司的country_of_incorporation(注册地)与country_of_operation(主要运营地)的差异。这能帮你一眼识别哪些是“买壳”,哪些是“买产”。

5.1 构建“注册-运营偏离度”指标:量化壳公司风险

真实产业并购中,标的公司注册地通常与其主要市场一致(如德国车企注册在德国,运营也在德国)。而“壳公司收购”则呈现注册地离岸化(开曼、BVI)、运营地实体化(中国、德国)的典型特征。我们定义:

$$ \text{Deviation Score} = \begin{cases} 1 & \text{if } country_of_incorporation \neq country_of_operation \ 0 & \text{if } country_of_incorporation = country_of_operation \end{cases} $$

# 加载标的公司表 targets = pd.read_csv("zephyr/targets.csv") # 关联到主表 deals_with_targets = deals_with_ubo.merge( targets[['party_id', 'country_of_incorporation', 'country_of_operation']], left_on='target_party_id', right_on='party_id', how='left' ) # 计算偏离度 deals_with_targets['deviation_score'] = ( deals_with_targets['country_of_incorporation'] != deals_with_targets['country_of_operation'] ).astype(int) # 统计各行业的偏离度均值(仅限已披露交易) deviation_by_sic = deals_with_targets[ deals_with_targets['is_disclosed'] ].groupby('sic_major')['deviation_score'].mean().sort_values(ascending=False) # 输出前5高偏离行业 print("壳公司收购风险最高的5个行业(偏离度均值):") print(deviation_by_sic.head(5))

运行结果示例:

壳公司收购风险最高的5个行业(偏离度均值): sic_major 73 0.92 # 专业服务(大量咨询公司注册在开曼,服务在内地) 60 0.88 # 金融服务(离岸SPV架构普遍) 20 0.76 # 食品饮料(跨境并购常设中间控股公司) 36 0.63 # 电子设备(部分芯片设计公司注册在新加坡) 37 0.52 # 交通运输设备(整车厂并购中SPV比例上升)

注意:deviation_score = 1不代表交易无效,而是提示需进一步核查。例如SIC 37中偏离度 0.52,意味着近一半交易通过离岸架构完成——这恰是汽车出海的常规路径(规避外汇管制、优化税务),属合理操作。

5.2 案例实战:如何用注册地链路验证一笔“德国并购”的真实性

以 2022 年某中国电池企业收购德国固态电池初创公司为例(Zephyrdeal_id= 'ZEP2022DE00123'):

  1. 从targets.csv查得标的公司party_id = 'TGT-DE-7890'
  2. 其country_of_incorporation = 'DE'(德国),country_of_operation = 'DE'→ 偏离度 = 0
  3. 再查parties.csv中该标的公司的ultimate_parent_name,发现为'QuantumSolid GmbH'(德国本地公司)
  4. 对比同年度其他SIC 36德国标的:83% 注册地=运营地,印证此交易为真实技术并购,非壳公司通道

反之,若查得country_of_incorporation = 'CAY',country_of_operation = 'DE',且ultimate_parent_name显示为'China EV Tech Acquisition Ltd.'(无实际业务描述),则高度疑似财务性收购,需调取交易公告原文验证支付条款。

这套方法论让我在去年帮一家产业基金筛掉了 11 笔“高金额、低实质”的标的,节省了 300+ 小时尽调成本。Zephyr 数据的价值,从来不在表面字段,而在你能否用注册地、运营地、控制人三层信息,拼出交易背后的真实意图。它不教你怎么投,但能让你一眼看穿谁在认真买技术,谁在买报表。

希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询