全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
2304 3
2013-09-18
连老师,您好!设我有一虚拟变量sp,想把sp=1的组和sp=0的组根据行业相同,资产规模接近的原则配对,该如何执行呢?网上也查到一些做法,但是总觉得您会做的更简洁,请赐教。
二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-22 09:04:04
我记得论坛里有个帖子里写了一段这样的代码,可以直接使用。

另外,findit cem ,你看看这个命令是否适用。

如下是 Chang and Wong (2009) 这篇文章中所使用的配对代码,在“stata学术论文视频”中有详细讲解:

Stata学术论文专题 http://peixun.pinggu.org/2012_01_stata.pdf (PDF说明书)
                  
http://baoming.pinggu.org/Default.aspx?id=134

*-------------------------------------------------------
* -Chang&Wong,2009,JCF -
*    Chang, E. C., Wong, S. M. L., 2009.
*      Governance with multiple objectives:
*      Evidence from top executive turnover in china.
*      Journal of Corporate Finance, 15(2): 230-244.
*-------------------------------------------------------

*-------------------
*-9.3 寻找配对公司

  *-规则: 0.8(T)<=ROA(C)<=1.2(T)  C:配对组; T:CEO变更组
  *-寻找范围:同年度、同行业
        dropvars yesT
        gen yesT = (t!=.)  // 标示变更组(=1)和潜在配对组(=0)
        
  *-9.3.1 配对组公司至少要有 4 年[t=0,1,2,3]以上的资料, 否则删除

    dropvars T_obs
    bysort id: egen T_obs = count(id)
        drop if (T_obs<4 & yesT==0)
  
  *-9.3.2 开始配对        
  
    dropvars IND  //数字类型的行业代码
    encode industry, gen(IND) label(IND_lab)
        tab IND
        label list IND_lab
  
        local r "roa"      // [填入] 业绩指标
        dropvars nn Control ratio_* n_match match_id
        gen Control = .    //最关键的变量, 随后填入 1(表示配对对象), 0(表示变更公司)
        gen ratio_roa = .  //业绩匹配规则变量
        gen ratio_size = . //公司规模匹配规则变量  
        gen n_match = .    //仅考虑 roa[-20%,+20%] 规则时,符合条件的公司数目
        gen match_id =.    //匹配公司的代码        
        gsort -TO_force
        gen nn = _n if TO_force==1
        browse id year TO_force nn roa
        qui sum nn
        local N=r(N)      //待匹配的公司数目
        forvalues i=1/`N'{
          local roa_t0 = `r'[`i']   //变更公司的业绩
          local IND_t0 = IND[`i']   //变更公司所处的行业
          local size_t0 = size[`i'] //变更公司的公司规模
          local yr_t0 = year[`i']   //变更年份
          local id_t0 = id[`i']     //变更公司的代码
          replace ratio_roa = `r'/`roa_t0'  ///
                if (year==`yr_t0' & IND==`IND_t0' & yesT==0)
          dis in red "count"
          count if (ratio_roa>0.8&ratio_roa<1.2) & ///
                   (year==`yr_t0') & (IND==`IND_t0') //配对公司个数
          replace n_match = r(N) if nn==`i'
      * set trace on            //解析程序运行过程-begin-
          if r(N)>1{
             replace ratio_size = abs(size/`size_t0'-1) ///
                    if (ratio_roa>0.8&ratio_roa<1.2) & (year==`yr_t0') &  ///
                           (yesT==0) & (IND==`IND_t0')
                 sum ratio_size  ///
                    if (ratio_roa>0.8&ratio_roa<1.2) & (year==`yr_t0') &  ///
                           (yesT==0) & (IND==`IND_t0') //找到最小值
                 replace Control=1 if ratio_size==r(min) & (year==`yr_t0') & (Control!=1)
                                                    *-(Control!=1) 已经设为配对组的公司不会被覆盖掉
                 replace match_id=`id_t0'    ///
                    if ratio_size==r(min) & (year==`yr_t0')
          }
          else{
             replace Control=1  ///
                if (ratio_roa>0.8&ratio_roa<1.2) & (year==`yr_t0') &  ///
                           (IND==`IND_t0') & (Control!=1)
                 replace match_id=`id_t0'  ///
                    if (ratio_roa>0.8&ratio_roa<1.2) & (year==`yr_t0') &  ///
                           (IND==`IND_t0')
          }
      * set trace off           //解析程序运行过程-over-
        }
        
        
  *-9.3.3 配对情况统计
  
    *-仅考虑 roa[-20%,+20%] 规则时,符合条件的公司数目
          sort n_match id year
          list id year TO_force n_match if TO_force==1, sepby(n_match)
   
    *-谁和谁成亲了? (Control-Treat组公司代码对应关系)
          gsort -Control id year
          list id year Control match_id if Control==1

    *-有多少变更公司找到了匹配对象?                  
      replace Control=0 if TO_force==1 //CEO强制变更当年, Control=0
          table Control TO_force
          table Control TO_force year

二维码

扫码加我 拉你入群

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

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

2013-9-22 19:12:42
非常感谢连老师!视频一定要看看!
二维码

扫码加我 拉你入群

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

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

2013-9-22 19:13:54
不好意思,连老师,您说的论坛里的帖子是那一个呢
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群