首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件研究(在SAS中提取日期)

事件研究(在SAS中提取日期)
EN

Stack Overflow用户
提问于 2013-09-03 16:08:03
回答 1查看 827关注 0票数 0

我需要为并购的事件研究分析异常回报。

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

我有两个不同的数据集可以从中提取信息。第一个是包含所有合并和收购信息的数据集,这些信息采用以下格式:

代码语言:javascript
复制
DealNO AcquirerNO TargetNO AnnouncementDate
123    abcd       Cfgg     22/12/2010
222    qwert      cddfgf   26/12/1998

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

代码语言:javascript
复制
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号与获取者号相同,这是匹配的代码。

最后,我希望有一个类似下面这样的数据库:

代码语言:javascript
复制
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来运行代码,但是如果您熟悉任何其他可以获得这样的数据的程序,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2013-09-04 02:11:37

使用PROC SQL和三次连接价格数据集可以很容易地做到这一点。试试这个(假设数据集名称为ANNOUCE和PRICE):

警告:未测试的代码

代码语言:javascript
复制
%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;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18587136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档