580 0

[面板数据求助] 请问事件研究法的做法,为啥总是出现invalid syntax [推广有奖]

  • 0关注
  • 2粉丝

硕士生

7%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
907 点
帖子
72
精华
0
在线时间
134 小时
注册时间
2020-9-9
最后登录
2023-6-3

楼主
曹越越越越越 发表于 2022-3-2 20:34:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  *五天
forvalues i=1/2107{

use testdata.dta, clear
destring stkcd year rplyddln,replace
compress                                       
*change, 先按唯一顺序排列后再计算比较好,不容易出错***
gen id = _n
order id stkcd year rplyddln
keep id-rplyddln
keep  if id==`2107'
merge 1:m stkcd using alldalyr.dta

*有的个股匹配不到交易数据,生成缺漏
egen count_merge=count(_merge) if (_merge==3)

if count_merge==. {
    gen CAR=.
    keep CAR id year                                
        *change, 保留并购ID变量macqid,方便后面与并购数据合并
    keep if _n==1
    save CAR`i'.dta,replace
  }
  else {
    keep if _merge==3
    sort Trddt
    drop _merge


//     merge m:m markettype using dalymr.dta //找到所属市场的回报率
        merge m:1 markettype Trddt using dalymr.dta                             
        *change, m:1匹配***
    keep if _merge==3
    drop _merge

    order stkcd rplyddln Trddt dretwd  dretwdeq

    gen dtn=_n
    order dtn

*有些公告日非交易日,选择寻求差值最小并且在公告日之后的那一天作为T0

   gen dif0 = Trddt - rplyddln
   egen T=min(dif0) if Trddt>=rplyddln  //最小差值
   gen N=_n if T!=.   //给最小差值标号
   egen td=min(N)   //找到第一个,就是T0

   order td
   gen dif=dtn-td    //dif寻找目标日期
   order dif

*有些个股没有前150天到前30天的交易数据,需要生成缺漏%XD6
*用count判断观察值是否足够来筛选
   gen event_window=1 if (dif>=-2&dif<=2)
   egen count_event=count(event_window)
   replace event_window=0 if event_window==.

   gen estimation_window=1 if (dif>=-150&dif<=-30)
   egen count_est=count(estimation_window)
   replace estimation_window=0 if estimation_window==.

*条件语句过滤,估计窗口没有观察值的CAR为缺漏值                             
*先不设置count_est<120这么严格,可以设count_est<10,这个规则可调,只要够数据做回归即可
    if (count_event<3|count_est<10){
      gen CAR=.
      keep CAR id year                            //***change, 保留并购ID变量macqid,方便后面与并购数据合并
      keep if _n==1
      save CAR`i'.dta,replace
      }

    else{
*估计EVENT WINDOW里的个股回报率
     reg  dretwd dretwdeq if (dif>=-150&dif<=-30)

     predict predicted_r if (dif>=-2&dif<=2)

     order predicted_r

*计算CAR

     gen AR=dretwd - predicted_r if (dif>=-2&dif<=2)
     order AR
     egen CAR=total(AR)
     keep CAR id year                                //***change, 保留并购ID变量macqid,方便后面与并购数据合并
     keep if _n==1
     save CAR`i'.dta,replace
        }
    }
}   

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:invalid SYNTAX 事件研究法 Valid 事件研究

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-21 12:57