Stata 计算董事会营业额

Stata 计算董事会营业额,stata,Stata,我一直在试图计算2006年至2009年间金融行业执行董事会的营业额 为此,我有如下数据: Year Bank Director DirectorID (ISIN, RoA, Size etc) 2005 Bank1 John Smith 120 2005 Bank1 Barry Pooter 160 2005 Bank1 Jack Sparrow 2070 2006 Bank1 John Smit

我一直在试图计算2006年至2009年间金融行业执行董事会的营业额

为此,我有如下数据:

Year    Bank     Director       DirectorID    (ISIN, RoA, Size etc)
2005    Bank1    John Smith     120 
2005    Bank1    Barry Pooter   160
2005    Bank1    Jack Sparrow   2070

2006    Bank1    John Smith     120 
2006    Bank1    Barry Pooter   160
2006    Bank1    Jack Sparrow   2070

2007    Bank1    John Smith     120 
2007    Bank1    Barry Pooter   160
2007    Bank1    Jack Sparrow   2070

2008    Bank1    John Smith     120 
2008    Bank1    Carla Jansen   250
2008    Bank1    Jack Sparrow   2070 

2009    Bank1    John Smith     160
2009    Bank1    Carla Jansen   250
2009    Bank1    Mike Stata     875
2005-2015年间,每家银行的数据都会重复

现在,我已经使用以下方法创建了一个营业额虚拟变量,其中0=无变化,1=变化:

collapse(sum)DirectorID,按(ISIN、年份、银行)
gen利息=范围(20062009年)

bysort-ID-interest(DirectorID):gen-temp=DirectorID[1]!=导演
替换温度=。如果利息==0
bysort ID:egen changed=max(temp)

但是,我想将营业额作为一个实际变量,具体取决于变动的数量,即:(假设银行2没有变动
营业额=0
,银行3进行了6次变动(6名新经理上任)
营业额=6
,银行4进行了4次变动(4名新经理上任)
营业额=4

Bank    Turnover (ISIN, RoA, Size, etc)
Bank1   2
Bank2   0
Bank3   6
Bank4   4
Stata(或SPSS,如果情况恰好如此)是否可能实现这一点

  • ISIN代码是我的ID变量,因为它们链接到每个特定的银行

  • 两名新员工进入了Bank1的董事会。目前,只有两名新员工进入了该组织的董事会,这将显示为
    营业额=2
    。在上一个示例中,有三名员工加入,在这种情况下
    营业额=3
    ,因为对董事会所做的每一次更改都算作
    “+1”离职率
    不管有多少人离开。只有那些加入的人(无论他们是取代某人还是仅仅是董事会的一员)对我的论文感兴趣

但是,如果这样做更简单的话,这也可以进行不同的计算。这取决于我如何编写我的方法。如果可变营业额表示每年发生多少变化,即
营业额2005
:2005-2006,
营业额2006
:2006-2007,
营业额2007
2007-2008和
营业额2008
2008-2009


最后,高管团队可能会增长,即2005年第一银行董事会有14名经理,2006年他们雇佣了3名新经理,但只解雇了1名。现在董事会有16名经理,并进行了3次变动(3名新经理)

这可能会有所帮助。下面的代码构建了一个数据集,由四个银行和五年的数据组成。它是面板数据。
xtset
命令允许您使用时间序列运算符,这里有详细的文档()。(注:为了清楚说明,在本例中,银行1没有变化,银行2有两个变化,银行3有三个变化,以此类推)

//清除会话和其他内存。
激起更多
清除所有
//输入可复制的数据。
输入年份银行数量首席执行官数量
2005          1       200
2006          1       200
2007          1       200
2008          1       200
2009          1       200
2005          2       222
2006          2       222
2007          2       222
2008          2       333
2009          2       444
2005          3       300
2006          3       301
2007          3       302
2008          3       302
2009          3       303
2005          4       999
2006          4       888
2007          4       777
2008          4       666
2009          4       555
结束
//声明面板结构。
xtset银行年数
//Gen变量,指示ceo数量是否保持不变。
//没有更改时,结果变量为0。
gen no_turn=(ceo人数-f1.ceo人数)
//Gen dummy用于指示ceo数量是否发生变化。
发电机为旋转=(不旋转!=0和不旋转<)
//生成一个计算更改的变量。
egen turn_nums=总和(即回合),由(银行数量)
//列出数据以检查结果。
列表
编辑:为no_turn变量重新定义注释的特征

// Clear the session and other memory.
set more off
clear all

// Input reproducible data.
input year bank_num ceo_num

  2005          1       200
  2006          1       200
  2007          1       200
  2008          1       200
  2009          1       200
  2005          2       222
  2006          2       222
  2007          2       222
  2008          2       333
  2009          2       444
  2005          3       300
  2006          3       301
  2007          3       302
  2008          3       302
  2009          3       303
  2005          4       999
  2006          4       888
  2007          4       777
  2008          4       666
  2009          4       555

end

// Declare the panel structure.
xtset bank_num year

// Gen variable indicating if ceo_num stayed same.
// Resulting variable is 0 when there was no change.
gen no_turn = (ceo_num - f1.ceo_num)
// Gen dummy to indicate if ceo_num changed.
gen is_turn = (no_turn != 0 & no_turn < .)
// Gen a variable that counts changes.
egen turn_nums = sum(is_turn), by(bank_num)

// List data to inspect results.
list