查看原文
其他

常用的事件研究法的实现过程, 以及各种程序的差异比较, 附使用说明

计量经济圈 计量经济圈 2022-05-11

凡是搞计量经济的,都关注这个号了

稿件:econometrics666@126.com

所有计量经济圈方法论丛的code程序, 宏微观数据库和各种软件都放在社群里.欢迎到计量经济圈社群交流访问.

关于事件研究法:1.AER上事件研究+DID做得真出神入化, 国内很多大牛都借此学习到该方法的精髓!2.机器学习已经与政策评估方法, 例如事件研究法结合起来识别政策因果效应了!3.推荐用渐进(多期)DID和事件研究法开展政策评估的论文及其实现数据和代码!4.利用DID和事件研究法的Top5文章, 分析最低工资对低薪工作的影响!5.推出输出表格, 滚动回归, 事件研究, asdoc, asreg,asrol, estudy代码和解析!6.中国拖拉机vs牲畜: 事件研究法用于政策评估和因果识别, 与DID结合起来威力无穷!7.事件研究法逐步附上程序code和对应的解释, 这还不懂那就真的没办法了!8.用事件研究法进行因果识别如何做? 有什么好处? 与DID结合起来潜力无穷!9.世行, 事件研究设计的随机推断: 计量经济学沙盒, 10.关于事件研究法的50篇精选paper专辑! 助力分析COVID-19的影响! 11.事件研究法用于DID的经典文献"环境规制"论文数据和程序, 12.事件研究法什么鬼? 从这里着手看"疫苗之王"

正文
关于下方文字内容,作者:王卓韬, 外经济贸易大学金融学,通信邮箱:201941260@uibe.edu.cn
Kaspereit T. Event studies with daily stock returns in Stata: Which command to use? The Stata Journal. 2021;21(2):462-497. doi:10.1177/1536867X211025835
In this article, I provide an overview of existing community-contributed commands for executing event studies. I assess which command could have been used to conduct event studies that have appeared in the past 10 years in 3 leading accounting, fifinance, and management journals. The older command event study provides a comfortable graphical user interface and good functionality for event studies that do not require hypotheses testing. The command estudy, described in Pacicco, Vena, and Venegoni (2018, Stata Journal 18: 461–476; 2021, Stata Journal 21: 141–151), provides a set of commonly applied test statistics and useful exporting routines to spreadsheet software and LATEX for event studies with a limited number of events. The most complete command in terms of available test statistics and benchmark models as well as its ability to handle events with in suffiffifficient data, thin trading, and large samples is eventstudy2.
目录

一,摘要

本文概述了已经存在的对社区有贡献的命令来完成事件研究。我评估了哪些命令本可以使用来完成那些出现在10年前的方向为会计,金融和管理的事件研究。旧的命令事件研究为不需要假设测试的事件研究提供了一个舒适的图形用户界面和良好的功能。Pacicco,Vena and Venegoni(2018,Stata Journal 18:461-476; 2021, Stata Journal 21; 141-151),通过命令estudy,提供了一组常用的测试统计数据和有用的例程导出到电子表格软件和Latex
,用于在有限数量的事件下的事件研究。在可用的测试统计数据和基准模型以及处理数据不足、交易清淡和大样本的事件的能力方面,最完整的命令是eventstudy2。

二,引言

1. 事件研究文献综述

事件研究代表了一种标准化的方法来衡量和统计评估股价对意外事件的反应。自从Ball和 Brown (1968)使用这种方法显示收益意外地推动了股价的上涨和 Fama 等人(1969)表明,股票分裂对股票价格有积极的平均影响之后,事件研究成为一种测试任何新闻事件是否对股价有影响的方法。应用的场景包括股息公告、合并收购、立法和公司诉讼变更、名人对产品认可程度、核泄漏和飓风等。

2. 进行事件研究的软件解决方案

最著名的是基于 SARS 的 EventusR 软件,该软件已经直接嵌入沃顿研究数据服务( WRDS )平台。同时,其它编程环境(例如R和Python)中的免费事件研究软件包已经可用。此外, Stata 用户还可以利用三种命令(按他们首次出现在波士顿学院经济系的统计软件组件档案中的时间顺序排列):eventstudy 、 eventstudy2 、estudy 。

3. Stata命令的分析

1) 分析结果

三种命令时间出现的前后顺序不代表命令进化的阶段,而是每个命令适用于事件研究的不同类型和任务。命令eventstudy提供了一个舒适的图形用户界面(GUI),而且对于不需要假设测试的事件研究具有良好的功能性,在数据输入领域得分最高,因为它是唯一提供GUI的命令。命令estudy提供了一组常用的测试统计数据和有用的导出例程到电子表格软件和Latex,这是最舒适的输出命令。在可用的测试统计数据和基准模型以及处理数据不足、交易清淡和大样本的事件的能力方面,最完整的命令是eventstudy2,然而,这也是最复杂的命令,因为它需要多个dta文件(一个用于事件列表,一个用于安全返回,一个用于市场或因子返回)。一方面,用户可能需要更长的时间才能完全理解它。另一方面,这种数据输入方案与流行的金融数据提供商的数据交付格式相一致,如安全价格研究中心(CRSP),机构经纪人的估计系统,和计算机统计等。
2) 分析过程
a.确定了事件研究的概念特征。而不是重申事件研究方法的统计基础,关注的是什么在概念上构成了一个事件研究,即研究人员在使用这个研究设计时的目标,以及这三个社区贡献的命令是否或如何满足这些用户的需求。
b.通过分析2009-2018年期间在三家主要领域期刊:《 Journal of Accounting Research 》、《 Journal of Finance 》和《 Management Science 》上发表的所有事件研究来支持观点。
c.评估了这三个命令在运行时间、一致性和处理交易清淡的股票方面的实际特性和局限性。

三,事件研究的概念特征和社区贡献的命令

1.事件研究的要素

构建了三个核心要素、三个补充要素和两个事件研究的总体原则,这将用来评估三个社区贡献的事件研究命令中哪一个最适合哪些实证设置。

事件领先于公司和时间,研究人员会对特定的事件类型对股票价格的影响感兴趣,公司和事件日期(时间)必须被正确地确定,但这只构成了一个方法上的挑战,而不是成为研究的中心。
因为公司本身并不重要,重点是事件,股价的反应聚集在公司之间,来消除与事件无关的回报的随机变化。这对应于聚合的总体原则。尽管如此,该公司核心要素列表中排名第二,因为许多事件研究旨在确定事件的影响如何取决于公司的特征,公司作为个体对象很少是研究的对象,股票价格反应要么在综合基础上衡量,要么假设为与公司特征的线性关系。
时间排名第三,因为研究人员通常对某一事件是否对特定日历日的股价产生影响不感兴趣。事件研究方法调用了事件时间的概念,这是一个相对于事件日的时间轴。例如,如果3月3日A公司和9月15日B公司发生了类似的事件,日历日3月2日、3日、4日和9月14日、15日和16日分别被重新定义为[−1]、[0]和[+1]。这对应于同步的首要原则。
事件研究方法区别于对股票回报的简单检查,通过正确地解决混淆事件的问题和定义解决各种计量经济学问题的测试统计数据。混淆事件是指可能影响股票价格的研究兴趣事件以外的事件。它们可能具有宏观经济或特定公司特征。事件研究方法被设计的很好用来消除宏观经济事件的影响,而没有重大损失的观察。通过计算和评估相对于市场指数或多因素模型的异常回报,研究人员可以有效地解决整体市场走势对事件公司股票回报的影响。例如,研究人员可以在不识别这些事件的情况下有效地解决利率意外变化或恐怖袭击的影响。然而,事件研究方法不能解决公司特定的混杂事件。这些必须由研究人员识别并通过修改样本选择来考虑,但这可能会导致一些观察结果的损失。
2 软件要求
1)帮助用户从常见的数据库转换事件和库存返回从日历时间到事件时间的财务状况数据,如WRDS/CRSP,数据流或雅虎。命令应该基于普通股标识符和日期变量,将事件列表与库存回报的数据集合并。然后重新排列数据,以实现事件时间结构,日期变量在事件日期(同步)时的值为零。
2)对基准模型计算异常回报。标准的基准模型是恒定平均回报(COMEAN)模型,以单一市场指数为基准的市场模型,以及Fama和French(1993)三因素模型。此外,还应能够计算累积平均异常回报(CAARs)和买入并持有的平均异常回报(Barber和Lyon,1997年)。
3)实现统计测试,以评估针对零假设为零的平均异常回报。事实上,大多数关于事件研究的方法学文献都集中在不同参数和非参数的规范和经验能力上检验统计数据。
4)能显示结果和其他输出。测试统计数据和统计显著性水平应与(累积)平均异常回报一起制成表格。此外,要求可以获得CAARs表示的图形,因为这是期刊文章中的标准表示格式。事件研究软件应报告必须排除的事件及其排除的原因。累积异常回报(CARs)应可用于横断面分析。
3 有社区贡献的命令的特征
虽然eventstudy和eventstudy2不共享任何编程代码,但后者可以被认为是前者的实质性扩展。eventstudy和eventstudy2将数据共享同步到相对于事件的公共时间线上的能力,但eventstudy仅限于单因素模型来计算异常回报。eventstudy没有提供任何假设检验能力,而eventstudy2提供了很多。然而,eventstudy提供了一个GUI,而其他两个命令是缺乏的。因此,如果研究人员只对计算CARs感兴趣,而对评估统计意义或计划使用自己的常规评估统计意义不感兴趣,则可以使用eventstudy。虽然大多数关于事件研究的方法学文献集中于统计假设检验,但下一节对期刊出版物的分析显示,一些研究不应用这些检验,而只对解释异常回报的因素感兴趣。因此,命令eventstudy通过应用这个不那么复杂的命令来帮助研究人员,从而保持了它的运行时间。

于estudy的数据输入是以宽幅而非长格式组织的,因此它允许基准模型中包含的因素大约与相应Stata版本可以包含的变量一样多。一个因素是市场指数,或最多五个因素为基准模型增加了一些解释力。事实上,对于市场指数以外的所有因素,解释力的增量效应都很小另一方面,estudy的广泛输入数据格式对事件数量施加了限制。
estudy命令提供事件公司的输出和统计假设检验,而eventstudy2则没有。然而,研究人员很少单独报告每个事件公司的异常回报及其统计意义,因为这将与事件研究中衡量特定类型事件对公司的一般影响的主要想法相反,对应于上述衍生的聚合原则事实上,事件研究最基本的思想是衡量事件类型对股票回报的平均影响。这要求对异常回报进行汇总,并允许应用大数定律在假设检验中得出较低的标准误差。
eventstudy2可以计算买入和持有异常收益率以及相应的t比率检验统计量。它允许不同事件公司使用不同的基准,从而根据基于特征的基准计算异常收益率,它还报告丢失的观测值或如何处理丢失的返回观测值,而其他两个命令缺少这些功能。
在总结我对三个社区贡献命令的概念性比较时,我清楚地看到了eventstudy命令的相对优点,如果研究人员只对根据市场模型计算异常回报感兴趣。eventstudy有一个简单的结构,其中包括最重要的数据管理任务,并且有一个GUI,对于没有经验的Stata用户最有用。eventstudy2是最完整的命令,提供全面的数据管理例程、假设检验和输出。对于事件数量有限的研究,或者如果研究人员有兴趣评估单个事件周围异常回报的统计显著性,estudy是一个有用的命令。estudy是向电子表格软件和LATEX提供导出例程的唯一命令。
四、主要领域期刊中事件研究的适用性——进行实证研究
1 实证研究的目的及做法
证实对三个社区贡献的事件研究命令的有用性的分析,收集并分析了2009年至2018年期间在《Journal of Finance》《Journal of Accounting Research》《Management Science》中出现的所有研究,并说明哪些研究将eventstudy方法作为其主要分析方法或作为计算异常回报的工具用于其他如作为变量的目的。
为了评估三个社区贡献命令的适用性水平,从两个维度对它们进行了评估:研究中用于计算异常回报的基准模型和已使用的测试统计数据。如果社区贡献的命令支持所有基准模型和在期刊文章中应用的所有测试统计计算,我将其适用性级别归类为“完全适用于”该研究。如果一个命令支持至少一个应用的基准模型和至少一个测试统计数据,我将其适用性级别分类为“部分适用”。如果该命令既不完全适用,也不部分适用,我将其归类为与该研究相关的“不适用”。
2 研究结论
由社区贡献的事件研究命令的适用性

命令eventstudy可用于所有文章中的8.33%(完全适用)和2.22%(部分适用),这两项研究不测试异常回报的统计显著性,并使用市场模型或COMEAN模型。eventstudy2的适用性最高,分别为90.56%(完全适用)和2.78%(部分适用)。estudy介于58.33%(完全适用)和9.44%个(部分适用)之间的两个其他命令之间。该分析不考虑任何关于最大事件数的限制(eventstudy的11000和estudy的24000在STATA/MP中),因此偏向于eventstudy和estudy。
对期刊文章的进一步描述性统计有助于评估社区贡献命令的便利程度。eventstudy和eventstudy2的数据输入以长格式而非宽格式组织。长格式也是最常见的股价数据库格式:CRSP、Compustat和中国股市和会计研究(CSMAR),约93%的研究使用了CSMAR。
五、实际限制
1 运行期间
在应用事件研究命令时,运行时可能代表重大限制。为了比较三个社区贡献的命令,通过从CRSP中提取2005-2014年期间的返回数据来创建样本数据集。为每个公司随机分配一个事件日期,并确保所有返回数据在事件日期前开始249和结束11个交易日以及从事件前10个交易日到事件后10个交易日的事件窗口期间可用。在事件日期,向返回变量中添加0.05,以模拟导致异常返回5%的事件。此外,我还添加了一个随机生成的3个市场指数回报变量。为了模拟运行时间,我随机选择50到2050个事件的子样本,分100步,6个大5000、10000、30000、60000、90000和12万事件。我在IntelXeon黄金6126CPU上使用Stata/MP4 16 ,该CPU具有2.60GHz、2个套接字、24核和48个逻辑处理器。然而,由于Stata/MP16最多将使用4个逻辑处理器,因此预计运行时间不会与普通台式电脑上的运行时间有重大差异。但是,对于使用并行选项测试事件研究2,我使用了40个逻辑处理器,这类似于在高性能计算集群上的运行时间。
当人们比较跨社区贡献的命令的运行时间时,回忆它们的一些概念差异是很重要的;视觉比较见图1。eventstudy没有计算任何测试统计数据,这就是为什么它通常被认为是所有场景中最快的命令。eventstudy2在每次运行期间计算和报告所有可用的测试统计数据,并提供广泛的数据管理功能。另一方面,estudy每次运行只提供一个测试统计量,但为每个事件公司单独提供它。因此,与estudy相比,eventstudy2的运行时间的预测并不太清楚。

图1中的左图绘制了eventstudy2、eventstudy2和estudy的运行时间与事件数的对比。estudy使用diagnosticsstat(KP)选项运行,而eventstudy2的选项nokolari未启用,这两种情况下都会触发计算强度最高的Kolari和Pynn–onen的计算(KP)(2010年、2011年)统计数据。图表显示运行时间呈指数增长,estudy的增长率相当高。虽然eventstudy2可以在不到一小时的时间内对2000个事件执行事件研究,但estudy的运行时间接近100分钟。此外,图表清楚地显示了eventstudy2并行选项的好处,该选项已在约700个事件中实现收支平衡,且增长率低得多。一项包含2000个事件的事件研究可以在不到20分钟的时间内计算得出。
图1中的右图显示了使用diagnosticsstat(Norm)选项运行estudy和使用nokolari选项运行eventstudy2时的运行时间,这会抑制KP的计算(2010、2011)统计数据。它还显示了eventstudy的运行时间,而eventstudy不提供任何测试统计数据。estudy的增长率大幅下降,这表明运行时间对事件数量的敏感性主要归因于计算KP(2010)统计。然而,eventstudy2的运行时间不太依赖于测试统计,测试统计在Mata中完全实现,但主要由其全面的数据管理例程(例如,实现Maynes和Rumsey[1993]算法来处理交易量较少的股票)和报告例程驱动(报告哪些事件必须取消以及出于何种原因)。
正如我在第3节中对已发表事件研究的分析中所展示的,大多数事件研究只包含数千个事件。因此,我在表中记录了三个社区贡献的研究命令的运行时间(以小时为单位),样本为5000、10000、30000、60000、90000和120000个事件(如果可行)。我测量了有无计算KP(2010、2011)统计数据的运行时间(如图1所示)。

测试显示,当要求计算具有11000个或更多事件的事件研究时,eventstudy达到Stata/MP 16的Matize限制11000。当要求计算具有24000个或更多事件的事件研究时,estudy达到最大变量数限制120000。此外,对于更大的事件,estudy的运行时间急剧增加当被要求计算KP(2010、2011)统计数据时,大多数研究人员很可能认为花费250.9小时进行一项只有10000个事件的研究是不可行的。eventstudy2可以在19.6小时内完成这项任务(并行计算模式下为4.9小时)因为它将异常回报矩阵完全加载到Mata中,并在Mata中计算互相关,这比关联Stata变量的计算效率要高得多。尽管estudy理论上可以使用KP进行更大的事件研究(2010、2011)统计数据显示,经过24天的不间断计算后,我无法获得15000个事件样本的结果。但是,通过分析estudy在估计窗口期间计算一个事件的异常收益与所有其他事件的异常收益的交叉相关性所需的时间,我可以估计2个事件的下限3000个事件示例,至少运行50天。
在没有被要求计算KP(2010、2011)统计数据的情况下,estudy比eventstudy2快得多。但是,如果在40核上以并行计算模式运行,eventstudy2将重新占据领先地位。
总之,关于运行时间问题,eventstudy和estudy不适合运行更大的事件研究,因为它们处理Stata/MP 16的限制。如果用户有兴趣获得KP(2010、2011)统计数据,estudy的实际限制比理论上可行的23000个事件早得多。
2 结果的一致性和交易量的减少
如前一小节所示,虽然计算时间在三个社区参与的事件研究命令中存在显著差异,但他们计算的异常回报率和测试统计数据应该是一致的。为了测试这一假设,我使用前面描述的设置,随机选择100个事件样本,并重复分析100次,每次对所选样本使用3个命令中的每一个。我计算[0]、[1]、[0;1]和[1]天的CAAR[−1、1]以及使用eventstudy2和estudy时的KP(2010)统计数据。未构建的结果表明,所有指标在命令之间几乎都表现出完美的相关性,这意味着在这种理想设置中没有缺少返回数据的一致性。
然而,在现实世界中,研究人员通常需要在股票交易不频繁(稀薄交易)时处理股票回报数据−活动日[0]的2%和活动日[+1]后一天的+2%。但在事件日,该股票未交易,这意味着其异常回报率不可观察。在事件日后一天,当该股票恢复交易时,可观察到的异常回报率将为0,因为该日的收盘价将与事件日前一天的收盘价相匹配[−1]。事件研究命令应如何处理此类情况?理想情况下,它认识到在[+1]天观察到的回报是累积回报,并将其排除在[+1]天异常回报的计算之外。然而,它应在计算CAAR时包括该回报观察,CAAR[0,1]。此外,第[0]天的缺失回报率不应设置为0,但应排除在平均异常事件日回报率AAR[0]的计算之外。eventstudy2通过实施Maynes和Rumsey(1993)遵循这些规则用于处理交易间回报和交易量较少股票的算法。eventstudy和estudy的帮助文件没有解释命令如何处理此问题。
为了更好地理解三个由社区贡献的命令处理稀薄交易的能力,我人为地随机地将事件日[0]的一半收益定义为稀薄交易,这意味着收益被复合到第二天[+1]在设置为缺失之前。在引入瘦交易之前,我在[0]天的回报上加上一个随机回报,然后减去[+1]天相同的回报。因此,我们知道真正的AAR[0]和AAR[+1],以及CAAR[0,+1]和CAAR[−1、+1]真的是0。同样,我使用三个社区参与的事件研究命令中的每一个,对100个随机选择的样本执行100次运行。
图2中左上角的图表显示了测量的平均异常事件日[0]收益与人为诱发的异常收益的关系图。所有三个命令都提供了接近理想值45的估计值◦-因此,三个命令中没有一个错误地将零收益归因于因清淡交易或非交易而导致的缺失收益观察值。但是,结果与第[+1]天不同(右上图),其中estudy和eventstudy系统性地低估了回报逆转,因为他们将一些异常事件日回报归因于第[+1]天。只有eventstudy2意识到,大约一半的第[+1]天回报与第[0]天的回报混淆,当时无法观察到回报。
图2中左下角的图表表明,在通过eventstudy计算CAAR[0,1]时,通过首先按事件公司和跨时间计算CAR,然后跨事件公司对CAR进行平均(后者必须由用户执行),可以减轻此错误然而,estudy似乎首先按时间和事件计算AAR,然后跨时间平均这些AAR,这就产生了偏差,并造成了对CAAR绝对值的高估[0,1]在我对一个交易日内完美异常回报反转的模拟中,偏差与交易量较少的股票的比例(在我的模拟中为50%)呈线性相关以及诱导异常收益率。例如,我们看到,如果一半的事件日收益率因交易量不足而受到影响,且诱导异常收益率为5%,则estudy高估了CAAR[0,+1]大约2.5个百分点。从右下角的图表可以看出,如果窗口延长到三天,即CAAR,偏差不会减弱[−1, +1]。

图2.事件日交易清淡时的CAAR计算
总之,如果不存在平仓交易,所有三个命令都会提供一致的结果。但是,如果平仓交易是一个问题,并且回报数据是交易对交易回报,则只有eventstudy2提供无偏见的结果。
六、总结
本文讨论的三个命令eventstudy、eventstudy2和estudy在进行事件研究时都很有用,因为它们通常在会计、财务和管理文献中执行。根据我定义的完整性——即测试统计数据和基准模型的可用性、精简交易的处理和丢弃观测结果的报告——命令eventstudy2超过了它的替代方案。但是,其他命令具有更高的输入(eventstudy)或输出(estudy)例程,对于使用较小样本或不需要复杂测试统计数据的用户来说,它们可能是更好的选择。estudy命令可能特别适合于分析来自数据流的数据,因为使用数据流请求表提取的数据通常是宽格式,而不是长格式。不过,用户应该确保他或她的样本公司不会遭受小额交易,并且样本足够小。总体而言,考虑到三个可用的社区贡献命令,Stata用户没有必要离开他们首选的编程环境来进行事件研究。
最后,由于我经常通过电子邮件或最近在2020年Stata会议上被问及这一点,我想简要解释三个社区贡献的命令与普林斯顿大学网站上提供的Stata代码之间的区别。普林斯顿代码是编写自己的事件研究代码的一个非常有用的起点,因为它提供了关于如何最初组织数据的良好概述。但是,它不提供任何高级假设测试或输入输出例程。开发事件研究命令需要数年的紧张工作。estudy.ado有1400多个和eventstudy2.ado有1700多行代码,虽然代码的数量不一定能预测命令的质量,但它可以暗示它的复杂性,从而说明它的功能。如果有,普林斯顿网站上大约40行代码在功能上与eventstudy相当,但与其他两行代码不一样命令。

下这些短链接文章属于合集,可以收藏起来阅读,不然以后都找不到了。

2.5年,计量经济圈近1000篇不重类计量文章,

可直接在公众号菜单栏搜索任何计量相关问题,

Econometrics Circle




数据系列空间矩阵 | 工企数据 | PM2.5 | 市场化指数 | CO2数据 |  夜间灯光 | 官员方言  | 微观数据 | 内部数据计量系列匹配方法 | 内生性 | 工具变量 | DID | 面板数据 | 常用TOOL | 中介调节 | 时间序列 | RDD断点 | 合成控制 | 200篇合辑 | 因果识别 | 社会网络 | 空间DID数据处理Stata | R | Python | 缺失值 | CHIP/ CHNS/CHARLS/CFPS/CGSS等 |干货系列能源环境 | 效率研究 | 空间计量 | 国际经贸 | 计量软件 | 商科研究 | 机器学习 | SSCI | CSSCI | SSCI查询 | 名家经验计量经济圈组织了一个计量社群,有如下特征:热情互助最多前沿趋势最多、社科资料最多、社科数据最多、科研牛人最多、海外名校最多。因此,建议积极进取和有强烈研习激情的中青年学者到社群交流探讨,始终坚信优秀是通过感染优秀而互相成就彼此的。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存