说实话,我最早碰SDC数据库是在做并购绩效研究的时候,那时学院刚买下Refinitiv(原Thomson Reuters)的Deals Intelligence权限,我抱着"反正就是下载数据"的心态去拉样本,结果被各种字段、筛选器、状态分类搞得一头雾水。后来前前后后用了两年,才摸清这套数据库的脾气。今天这篇就把我从1986年到2023年并购样本的整套处理经验写出来,覆盖SDC数据导出、字段含义、清洗规则、变量构造、股价匹配和常见错误排查这些实操环节,给所有正在做并购研究、或者是想自己搭并购数据底表的同学一份能直接照着做的参考。
1. 为什么是SDC:并购研究的数据底座
1.1 SDC数据库的前世今生
SDC全称是Securities Data Company,最早是一个独立的数据服务商,专门收集全球股权、债券和并购交易信息,后来被Thomson Financial收购,又随Thomson Reuters并入Refinitiv,现在归属伦敦证券交易所集团(LSEG)旗下,产品名变成了Deals Intelligence,但学术圈还是习惯叫它SDC。它的厉害之处在于两个:第一,覆盖范围极广,并购交易从1980年代初就开始系统收录,涵盖全球各大资本市场,甚至包括一些非上市公司的交易;第二,字段结构非常细,从公告日、生效日、交易金额、支付方式、交易态度,到收购方和目标方的行业、国别、上市状态、财务顾问等等都有记录。
我做的时间窗口是1986年到2023年,这几乎是SDC能提供的完整历史纵深。选择这个起点有个现实原因:SDC对1986年之前的并购收录相对稀疏,很多交易缺少标准化的股价数据和财务数据支撑,强行加入不仅样本量不完整,还会在后续匹配CRSP和Compustat时大量丢失观测值。而1986年之后,美国市场和欧洲主要市场的数据质量明显上了一个台阶,公告日期、交易状态这些关键字段的可信度大幅提高。
注意:SDC并不是"免费开放"的数据库,通常需要通过学校或机构的数据库订阅访问,常见入口是Refinitiv Eikon或Web SDC平台。如果你的机构没有购买,可以考虑用WRDS上的SDC镜像,或者寻找研究机构的历史数据备份,但无论如何,数据使用协议一般禁止对外传播原始下载文件。
1.2 1986-2023:时间窗口背后的研究逻辑
为什么一定要强调"时间窗口"?因为并购研究里,样本期基本决定了你能研究什么问题。
如果你只取最近十年,样本里大多是科技、医疗和新兴行业的交易,金融和传统制造的比例被稀释,而且你会错过几轮非常典型的并购浪潮——比如1990年代末的互联网并购潮、2008年金融危机前后的防御型并购潮、以及2015年之后的跨国巨型合并潮。从1986年开始拉数据,你能完整覆盖这些周期性的波动,在研究设计上可以有更多玩法:可以做并购浪潮的驱动因素分析,可以比较不同监管环境下的交易特征,也可以做长窗口的事件研究,比如公告后三年内的长期绩效。
我个人的经验是,时间跨度越长,对清洗的考验越大。因为SDC对早期交易的信息录入不如近期完整,你会发现1990年代很多交易的Target CUSIP是空的,Ticker不存在,甚至公告日只有一个年份没有月份。这不是数据库坏掉了,而是当时的信息环境决定的历史局限。所以后面讲清洗时,我会专门强调"分时段处理"的思路,不建议对1986-1995和2010-2023用同一套字段完整度标准。
2. 从SDC拉数据:导出流程与字段取舍
2.1 数据获取前的准备
在打开SDC的Web查询界面之前,我强烈建议你先写清楚三个东西:研究问题、样本筛选条件、字段清单。听起来像废话,但实操中无数人栽在这里。
SDC的查询界面是"分步筛选"的逻辑,你有大量筛选项可以选择:时间范围、交易类型、地理范围、行业范围、上市状态、交易状态、交易金额下限等。如果不在动手前定义清楚,很容易出现两种情况。一是条件过宽,导出来几十万条记录,其中大量是"Minority Stake"(少数股权收购)或者"Asset Acquisition"(资产收购),跟你想研究的控制权转移完全不是一回事。二是条件过窄,比如只选美国并购,结果把大量有国际视角的样本排除掉了。
我自己的经验是准备一份查询条件清单,至少包含:
- 交易公告日期:1986/01/01 至 2023/12/31
- 交易类型:Merger(合并)、Acquisition of Majority Interest(多数股权收购)、Acquisition of Remaining Interest(收购剩余股权)
- 交易状态:Completed(已完成)
- 交易金额:建议设置下限(如1百万美元),过滤掉微型交易
- 收购方或目标方上市状态:视研究目的而定
提示:筛选条件里"Percent of Shares Acquired"(收购股份比例)很关键。如果你想研究控制权变更,通常要求收购后持股比例在50%以上;如果研究的是大股东增持这类话题,则要放宽并单独记录收购前持股和收购后持股两个字段。SDC里直接用"Percentage of Shares Owned After Transaction"筛50%以上,比事后清洗省力得多。
2.2 关键字段拆解
导出字段的选择直接影响后面所有工作。SDC的字段面板非常庞大,我按重要性归成四组,你可以在导出时按需勾选。
第一组是交易识别字段:包括Deal Number(SDC内部唯一编号)、Date Announced(公告日)、Date Effective(生效日)、Date Terminated(如果是终止交易则会有)。其中Deal Number是最重要的,它是后续合并、去重的唯一标识;公告日是事件研究里的"事件日0"。
第二组是交易双方信息:Acquiror Name、Target Name,以及它们的CUSIP、Ticker、国别、行业分类(SDC的4位SIC码或行业细分代码)。注意,收购方和目标的代码不一定齐全,尤其目标方是小公司时,Ticker经常缺失。后面匹配股价数据时,我会说怎么处理这部分。
第三组是交易特征字段:Transaction Value(交易金额,注意单位通常是百万美元)、Deal Status(状态)、Payment Method(支付方式:现金、股票、混合)、Attitude(敌意收购还是友好收购)、Form of Deal(交易形式,包括Friendly等)。
第四组是研究常用辅助字段:Acquiror Ultimate Parent Name(收购方最终母公司)、Target Ultimate Parent Name、Number of Bidders(竞标者数量)等,这些在做并购竞争和公司治理研究时非常有用。
实际操作中,不要一次导出所有字段。字段越多,下载的数据文件越庞大,而且很多字段会以"弃留"形式出现在同一行里,处理起来很容易看花眼。按你本次研究的需求来,够用就好。
2.3 导出配置的常见选择
SDC允许你选择需要显示的字段顺序,也可以用Excel或文本格式导出。我的习惯是导出为表格文件(比如TSV或CSV后再转码),而不是直接用Excel打开原始导出文件,因为数据量大时Excel容易崩溃,并且SDC的文本文件偶尔带着奇怪的编码字符。
导出时还有几个要注意的选项:
Deal Status要选Completed还是在事件研究里把Withdrawn也保留?我的建议是:研究公告效应时,保留所有状态的交易,公告反应用的是"公告当天的信息冲击";研究事后绩效时,只看Completed。你可以在清洗阶段用状态字段拆分,而不是一开始就筛死。
金额单位确认。SDC的Transaction Value单位是百万美元,这个别搞错。你在设金额下限时也要注意,如果设1(单位百万美元),意味着100万美元以上,如果设0.1,就是10万美元以上。很多初始研究者在这里把尺度搞乱了。
国家范围和汇率。SDC对非美元交易会给出美元换算后的金额,但也有可能保留原始货币金额,取决于你选的字段版本。如果研究跨国并购,建议额外导出"原始币种金额"和"汇率",方便自己做稳健性检验。
3. 清洗与变量构造:把原始数据变成研究样本
3.1 样本筛选的硬规则
从SDC导出原始数据通常比你想的多得多,尤其是1986到2023这个长窗口。我第一次拉的时候,条件设得宽松,结果导出30多万条记录,把"少数股权收购""资产剥离""杠杆收购"全混在一起。这些能不能用,取决于研究问题,但如果是做经典的事件研究,必须明确样本边界。
我在多个项目里验证过的硬规则是:
- 只保留Deal Status为Completed(或研究公告效应时额外保留Withdrawn并打标)
- 只保留Deal Form为Merger或Acquisition of Majority Interest
- 删除Target与Acquiror相同的自我交易(部分体内部重组)
- 按收购后持股比例(Percent of Shares Owned After Transaction)筛选,一般要求大于等于50%
- 对金融(SIC 60-69)和公用事业(SIC 49)行业,很多研究选择剔除,因为它们的并购受监管约束逻辑不同。但也有研究专门做金融业并购,所以这个不是硬性标准,全看你的研究问题。
3.2 数据清洗的实操细节
清洗是我花时间最多的一步。SDC的原始数据在下载下来后,常见的脏数据有这几类:重复记录、缺失代码、日期异常、金额缺失。
重复记录。同一笔交易有时会以多行形式出现,特别是在进行了一些嵌套收购(比如先收购部分股权,后又收购剩余股权)时,SDC会生成两个Deal Number。我的做法是把Deal Number作为主键去重,同时用"Acquiror + Target + Date Announced"作为辅助键,因为偶尔会有同一对公司在不同时间点的多笔交易,这些不是重复,要保留。
缺失代码。这是最大的坑。Target CUSIP缺失的情况很常见,尤其非美国公司。处理思路是:先用WRDS上的CRSP/Compustat映射表,通过公司名称做模糊匹配;匹配不上的,再手工查历史数据库;实在缺失的,标注并在回归中插补或剔除。这步耗时最长,但也是最体现研究质量的地方。
日期异常。有些交易的公告日早于1986年却在筛选时被包含,或者生效日在公告日之前,都需要写逻辑检查脚本。我习惯导入后在统计分析软件里跑一遍:如果Date Effective - Date Announced小于0,先人工看几条确认是数据错误还是特殊结构(比如某些征求意见式交易)。
3.3 核心变量的构建
清洗完之后,就到了变量构造环节。根据我的经验,以下变量是并购研究里最常用的,我给你列一下构造逻辑:
- 交易规模(Deal Size):直接用Transaction Value取自然对数,但要注意金额缺失问题。稳健性检验时可以用总资产标准化。
- 支付方式(Payment Method):SDC给出的是"Cash"、"Stock"、"Mixed"等文本,建议转换为虚拟变量:纯现金与否、纯股票与否,方便做交叉分析。
- 相对交易规模(Relative Deal Size):交易金额除以收购方公告日前一年的总市值或资产总额。这个变量对研究支付方式选择和短期市场反应很有用。
- 累计异常收益(CAR):事件研究法的核心。需要先确定事件窗(如[-1, 1]、[-3, 3]),然后从CRSP取收购方股价数据,用市场模型估算正常收益,再用实际收益减去正常收益得到异常收益。估算市场模型时,我一般用[-252, -31]作为估计窗,避免事件窗污染。
- 收购方是否拥有国际业务(Cross-Border):根据Acquiror Nation和Target Nation是否相同构造虚拟变量。
注意:变量构造建议分步骤写脚本,每一步输出一个中间数据集,方便回溯。我见过太多人一个脚本糊到底,最后出结果时发现某个变量取错值,全部要重跑。分步脚本虽然多写几行,但调试成本低得多。
4. 真实项目复盘:1986-2023年样本验证
4.1 样本量的预期与核对
我对1986-2023年全市场并购样本做了一个实测统计。在条件为"合并与多数股权收购、已完成、收购后持股大于50%、金额不低于100万美元"时,全球样本大约在12万到15万条之间。如果你加上了"收购方必须为美国上市公司"这一条,样本会大幅缩水到1.5万到2万条左右,这是很正常的,因为SDC覆盖全球交易但CRSP可匹配的只有美国上市的股票。
这里我特别想说:不要拿别人的论文样本量硬套你的数据。每个研究的筛选条件不同,同样做美国并购事件研究,有的人用5,000个事件,有的人用3,000个事件,差异可能来自是否剔除了金融业、是否要求收购方在事件前必须有足够长度的股价历史、是否排除同时期多笔重叠公告等。只要你的筛选逻辑可复现,样本量合理即可。
提示:写论文时一定要把"样本构建流程"单独写一小节,说明每个筛选条件剔除了多少观测值,最终留下多少。这是我复盘了多篇顶刊文章后总结出来的细节,审稿人特别看重这个。
4.2 与股价数据的匹配
并购研究离不开市场反应,而SDC本身不提供股价数据,所以必须做SDC-CRSP匹配。这一步的操作顺序和细节非常考验功力。
我的标准流程是:
- 从SDC导出Acquiror Name、Ticker、CUSIP、Deal Number。
- 在CRSP里用PERMCO(或NCUSIP)做第一轮匹
- 匹配不上的,用Ticker加公告日前后时间窗口去CRSP历史名册里找。
- 再匹配不上的,用公司名称做模糊匹配。这一步建议用WRDS里的外部映射表,或手工查找。
有一点容易被忽略:SDC的CUSIP有时是9位完整版,CRSP里的NCUSIP也是9位,但历史上可能有6位版本记录。匹配前要先把格式统一。如果你用的是WRDS的Excel加TotalLink等工具,也能自动做一部分映射,但我不建议完全依赖它们,因为自律性检查很重要——每行匹配完成后,至少手动抽查几十条记录,确认收购方名称和时间窗与公告日吻合。
4.3 实测中的坑
我用1986-2023样本做了事件研究后,发现几个非常典型的"坑",写在这里供你参考。
第一个是公告日的"事"与"市"错位。SDC记录的公告日有时是"宣布日",但在CRSP上某些公司股价在宣布前就有明显异动,原因是消息提前泄漏。学术上不算错,但你要注意,事件窗如果只取[-1, 1]可能错过前期的信息泄漏,稳健性检验建议扩展到[-3, 3]或[-5, 5]。
第二个是多重公告问题。一笔并购在谈判过程中可能有多次公告,SDC可能会生成多条记录,如果没有按Deal Number和公告日去重,会导致同一事件在样本里出现多次,严重偏倚CAR计算。我在处理时会在清洗环节以"Deal Number + 最终状态"为口径去重,同时保留最早公告日作为事件日。
第三个是跨国并购的钱口径。很多非美国交易的金额是用原币记录的,SDC自动折算成美元后可能因为汇率时点不同而波动。建议在稳健性检验里对金额数据用公告日前一个月的平均汇率重新折算,检验结论是否稳定。
5. 常见问题与排查技巧实录
我整理了下面这张速查表,这些都是我实操中真正遇到并且反复确认过的点,你可以直接拿来对照。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 样本量异常庞大(几十万行) | 未筛选Deal Form,混入了资产收购和少数股权收购 | 明确只保留Merger和Acquisition of Majority Interest |
| Target CUSIP大量缺失 | 非美国公司、早期交易信息不全 | 通过名称匹配CRSP或Compustat,再不行就标注缺失 |
| 同一交易重复出现多次 | 多重公告或者SDC生成多个Deal Number | 以Deal Number主键去重,辅助用双方名称和公告日期 |
| 事件日前后股价无变动 | 公司停牌、代码变更或者匹配到了错误公司 | 逐条抽查匹配结果,核对名称和公告日 |
| 交易金额为0或缺失 | 未披露具体金额、部分交易仅有股权比例 | 区分"真实未披露"和"下载格式问题",稳健性检验中插补或剔除 |
| 同一家公司有多个Ticker | 历史代码变更、合并后代码失效 | 用CUSIP或PERMCO为主键,而非Ticker |
| CAR结果异常高或异常低 | 事件窗重叠、公告日错误、估计窗包含其他重大事件 | 逐一检查异常值样本,必要时剔除多重公告冲突事件 |
除了速查表,还有几个经验想多说两句。
一是Excel打开乱码问题。SDC导出文件如果包含欧洲字符或非ASCII文本,在Windows自带的Excel里经常打开乱码。我后来直接用支持UTF-8的编辑器或数据库软件读取,再另存为干净格式,避免编码折磨。
二是切勿把SDC当成唯一数据源。对于1986-1995年这段,很多并购细节存在缺失,比如支付方式里的"Stock"具体份额、交易完成后是否整合等信息不够全,我建议结合Capital IQ、Zephyr或手工整理的公司公告来补充。不同数据库对同一笔交易的记录有细微差异,做关键变量敏感性分析时,最好用另一套数据交叉验证。
三是注意下载日期和数据版本。SDC会不定时修正历史数据,同一个Deal Number在不同批次下载中金额或日期可能不同。严谨的复现做法是:在数据文件里记录"下载日期"和"数据库版本号",并在论文中注明。这个细节平时没人管,但这两年复现性审查在顶刊里越来越严格,有备无患。
四是小心"自我收购"和"内部重组"。如果你直接拉"全部并购",SDC会把一些上市公司私有化、母公司吸收子公司等交易也放进去。它们技术上算并购,但经济逻辑完全不同,建议根据研究目的增加对Acquiror和Target关系的判断,比如是否为同一最终母公司,不能想当然地全部删除,而是要有可复现的标准。
结语:我的几点实际操作体会
写在最后
玩SDC数据库几年下来,我最深的感触是:并购数据没有"一步到位"这回事。每一个你拿到的数字,背后都有一连串关于口径的定义、关于状态的筛选、关于编码的匹配。1986年到2023年这个长窗口,数据量大、维度多,处理起来比那些只拉三五年的研究要繁琐得多,但也正因为如此,清洗出一个高质量、可复现的样本后,后续研究的基础会非常扎实。
我个人在实际操作中最受益的一个习惯是"分步留痕"。每做一次筛选、每构造一个变量,都把中间数据单独存一份,文件名带日期和版本号。这样既方便回溯,也方便在写作时向审稿人展示样本构建逻辑。另一个实用技巧是,在做大规模匹配之前,先随机抽20条手工核验SDC和CRSP的对应关系,确认匹配逻辑没问题再跑全样本,可以省下大量返工时间。
如果你现在正在为论文或者报告准备并购数据,我建议你就按我上面这套流程走一遍:从明确筛选条件开始,到导出字段,再到清洗去重和变量构造,每一步都做记录。数据库没有大家说的那么"玄",大部分坑都是重复性的,只要踩过一次并总结成清单,后面就会顺畅很多。希望大家都能从SDC这个数据底座里做出扎实的研究来。