【问题标题】:Event Study (Extracting Dates in SAS)事件研究(在 SAS 中提取日期)
【发布时间】:2013-09-03 08:08:03
【问题描述】:

我需要为并购事件研究分析异常收益。

** 我想通过事件窗口来分析对收单方的异常收益。基本上我想使用-1(公告日期前一天)、公告日期和+1(公告日期后一天)提取收购方的价格。**

我有两个不同的数据集可以从中提取信息。 第一个是包含所有并购信息的数据集,其信息格式如下:

DealNO AcquirerNO TargetNO AnnouncementDate
123    abcd       Cfgg     22/12/2010
222    qwert      cddfgf   26/12/1998

此外,我还有一个包含所有价格的第二个数据集。

ISINnumber Date                      Price
abcd       21/12/2010                10
abcd       22/12/2010                11
abcd       23/12/2010                11
abcd       24/12/2010                12
qwert      20/12/1998                20
qwert      21/12/1998                20
qwert      22/12/1998                21
qwert      23/12/1998                21
qwert      24/12/1998                21
qwert      25/12/1998                22
qwert      26/12/1998                21
qwert      27/12/1998                23

ISIN号与收单号相同,即为匹配码。

最后我想要一个这样的数据库:

DealNO AcquirerNO TargetNO AnnouncementDate Acquirerprice(-1day)  Acquireeprice(0day)     Acquirerprice(+1day)
123    abcd       Cfgg     22/12/2010       10                    11                               12
222    qwert      cddfgf   26/12/1998       22                    21                               23

你知道我怎么能得到这个吗? 我更喜欢使用 sas 来运行代码,但是如果您熟悉其他可以获取此类数据的程序,请告诉我。

提前谢谢你^_^。

【问题讨论】:

    标签: events date sas


    【解决方案1】:

    使用 PROC SQL 并加入 PRICE 数据集 3 次,这可以很容易地完成。试试这个(假设数据集名称为 ANNOUCE 和 PRICE):

    警告:未经测试的代码

    %let day='21DEC2010'd;
    
    proc sql;
       create table RESULT as 
          select a.dealno,
                 a.acquirerno,
                 a.targetno,
                 a.annoucementdate,
                 p.price as acquirerprice_prev,
                 c.price as acquirerprice_cur,
                 n.price as acquirerprice_next
          from ANNOUCE a 
               left join (select * from PRICE where date = &day-1) p on a.acquirerno = p.isinumber
               left join (select * from PRICE where date = &day) c on a.acquirerno = c.isinumber
               left join (select * from PRICE where date = &day+1) n on a.acquirerno = n.isinumber
       ;
    quit;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 2014-03-16
      • 2021-11-22
      • 2013-09-30
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      相关资源
      最近更新 更多