【发布时间】:2025-11-26 06:25:01
【问题描述】:
我有一个纵向数据,其中包含一些变量:firm id、event date、abnormal return,其中event date 是每家公司的收购公告日期,abnormal return 是每家公司的事件公告回报5 天的窗口 (-2,+2)。在这里,每个样本公司都在预定的时期内进行了多次收购。
例如,我有 200 家公司,每家公司在 1999-2011 年期间都有多个异常回报观察。因此,每家公司在此期间至少有 2 次这样的观察,计算超过 2 次这样的事件日期。
我需要为每家公司的异常收益分配一个排名,以便按照事件日期的顺序对后续交易(在公司首次收购之后)进行排名。因此,我想创建一个新的rank 变量,并将其用于进一步分析公司在第一个异常收益之后的每个后续异常收益的增加/减少。
请建议我如何在 Stata 中执行此操作或使用哪些代码? 我试过了:
bysort firm_id event_date: egen rank = rank(abnormal_return),
但我没有得到我想要的。
注意– a) 在我的样本中,很少有公司在同一事件日期执行超过 1 笔交易(例如 2 笔),因此它们对于这 2 笔交易具有完全相同的异常回报; b) 异常收益为正或负,小数点后 6/7 位,例如负异常回报看起来像,-0.0365089;一个正数,0.0416888。
很抱歉,我已经在 statalist 中发布了这个查询,我应该在帖子中提到,但不知何故急于获得反馈,我错过了它 - 真诚的道歉。
(更新) 我终于设法分享了我的 dta 快照的保管箱链接。文件。
https://www.dropbox.com/s/w501upimdgwvzyz/Rank.dta?dl=0
我现在的查询(statalist 尚未回答,我正试图在此基础上进行分析,因此在这里重新发布):
如果我正在查看 3 年的窗口,即,我需要根据后续交易是在第一次交易后的 3 年内完成的,对异常收益重新排序。例如,我的数据中的一家公司。 id = 13 的文件分别在 2000 年、2001 年、2005 年和 2006 年有 4 笔交易。第一笔交易是在 2000 年。 2005 年的第三笔收购,距离 2000 年的焦点交易已超过 3 年,因此不应从 2000 年的第一笔交易开始计算或排名,而是将 2005 年列为这家公司的新的第一笔交易,为期 3 年。因此,在这种情况下,我必须将交易按公司 ID、13 排序为 0 (2000)、1(2001); 0(2005),1(2006)。
有人可以帮忙重新编码吗?
【问题讨论】:
-
最好能给出你的数据集有代表性的例子;仅具有与您的问题相关的特征的玩具套装。将您的描述链接到数据,并包含您尝试计算的变量以及相应的值。尝试使用
input命令向我们提供数据。请参阅 Stata 中的help input。 -
我能否在 excel 中提供一个快照 - 我无法使用“输入”命令在 stata 中输入数据 - event_date 变量有问题
-
这是一种方式,但不是最理想的方式。如果不自己输入数据,人们将无法“玩”您的数据。他们可能想提供帮助,但没有足够的时间为您做这件事。您还可以使用某些云服务提供文本文件(例如 .csv)或更好的 Stata .dta 文件的链接。
-
公司 ID 事件日期异常返回排名 13 01 年 8 月 31 日 -0.0365089 1 13 00 年 3 月 15 日 0.0149936 0 13 05 年 6 月 30 日 0.0416888 2 13 06 年 4 月 24 日 0.0453185 3 月 52 日06 -0.027629 0 52 05-Sep-06 -0.027629 0 53 13-Jun-08 -0.0460773 2 53 12-Jun-01 0.0287803 0 53 14-Dec-01 -0.0083749 1
-
哦,抱歉,我尝试从 excel 中粘贴数据,但看起来都乱七八糟。这里有什么选项可以在此论坛中提交附件吗?