*****************Gregory-Smith, Main and O'Reilly ************************* ******'Appointments Pay and Performance in UK Boardrooms by Gender'******** *************************************************************************** ********************Code for Replicating Tables *************************** ******Data files table*.dta constructed from proprietary data sources ***** ****Manifest Information Services Ltd and Thompson Reuters (Datastream)**** * * *Files table*.dta available from Gregory-Smith upon evidence of licences*** * * * Manifest data licence enquiries to: * * Paul Hewitt at Manifest. http://www.manifest.co.uk/ * * * * * *************************************************************************** clear set more off local dir "C:\university\women\stata" cd `dir' capture log close log using ejfinal.log, replace ********Table 1 FTSE350 Trend************ use "table1.dta", clear tabstat N bsize p_female p_female_exec p_female_neds, by(yeartext) f(%5.2f) ********Table 2 Genearl Descriptives***** use "table2.dta", clear local W w_ceo w_chair w_fd w_remcochair w_remcoserve w_age w_tenure w_lntcc w_lnTDCa w_lnTDCr tabstat `W' if exec==1, s(N mean median sd min max) f(%9.2f) col(stat) tabstat `W' if exec==0, s(N mean median sd min max) f(%9.2f) col(stat) duplicates drop companyid finyearid, force local Z w_lnptob w_roa w_roe w_tsr w_volatility p_female w_lnsize w_bsize w_p_neds w_p_ind tabstat `Z' , s(N mean median sd min max) f(%9.2f) col(stat) *****Tables 3 and 4 Appointments ************** use "table3.dta", clear probit female_app l_female_exit l_male_exit estimates store probit1 local Z l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility probit female_app l_female_exit l_male_exit `Z' estimates store probit2 margins, dydx(l_female_exit l_male_exit) at(l_female_exit=0 l_male_exit=0 (p50) l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_volatility) probit female_exec_app l_female_execexit l_male_execexit estimates store probit3 probit female_exec_app l_female_execexit l_male_execexit `Z' estimates store probit4 margins, dydx(l_female_execexit l_male_execexit) at(l_female_execexit=0 l_male_execexit=0 (p50) l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_volatility) probit female_ned_app l_female_nedexit l_male_nedexit estimates store probit5 probit female_ned_app l_female_nedexit l_male_nedexit `Z' estimates store probit6 margins, dydx(l_female_nedexit l_male_nedexit) at(l_female_nedexit=0 l_male_nedexit=0 (p50) l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_volatility) estimates table probit1 probit2 probit3 probit4 probit5 probit6, b(%7.4f) t(%7.3f) stats(N) *Table 4 constructed by hand from margins commands above ********Table 5 Executive Wages******* use "table5.dta", clear reg lntcc female , vce(cluster companyid) estimates store pay1 reg lnTDCa female , vce(cluster companyid) estimates store pay2 reg lnTDCr female , vce(cluster companyid) estimates store pay3 local X ceo chair fd age agesq tenure l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility set matsize 4000 // Warning Slow estimation with Firm dummies qui reg lntcc female `X' i.companyid , vce(cluster companyid) estimates store payfe1 qui reg lnTDCa female `X' i.companyid, vce(cluster companyid) estimates store payfe2 qui reg lnTDCr female `X' i.companyid, vce(cluster companyid) estimates store payfe3 estimates table pay1 pay2 pay3 payfe1 payfe2 payfe3, b(%7.4f) t(%7.3f) stats(N) keep(female `X') ********Table 6 Non-Executive Wages******* use "table6.dta", clear reg lntcc female, vce(cluster companyid) estimates store ned1 local X chair remcochair remcoserve age agesq tenure l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 qui reg lntcc female `X' i.companyid , vce(cluster companyid) estimates store ned2 local Y dayjobceo dayjobfd dayjobchair dayjobexec chair remcochair remcoserve age agesq tenure l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 qui reg lntcc female `Y' i.companyid , vce(cluster companyid) estimates store ned3 estimates table ned1 ned2 ned3, b(%7.4f) t(%7.3f) stats(N) keep(female dayjobceo dayjobfd dayjobchair dayjobexec chair remcochair remcoserve age agesq tenure l_w_roa l_w_tsr l_w_lnptob l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility) *********Table 7 Performance*************** use "table7.dta", clear xtabond2 w_tsr l.w_tsr l.p_female l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 , gmm(l.w_tsr , lag(3 4)) iv(l.p_female l_w_p_ind l_w_volatility l_w_lnsize l_w_bsize l_w_p_neds year_3-year_17 ) two r estimates store gmm1 xtabond2 w_roa l.w_roa l.p_female l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 , gmm(l.w_roa l.p_female , lag(2 3)) iv(l_w_volatility l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind year_3-year_17) two r estimates store gmm2 xtabond2 w_roe l.w_roe l.p_female l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 , gmm(l.w_roe l.p_female , lag(2 3)) iv(l_w_volatility l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind year_3-year_17) two r estimates store gmm3 xtabond2 w_lnptob l.w_lnptob l.p_female l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17 , gmm(l.w_lnptob l.p_female , lag(2 3)) iv(l_w_lnsize l_w_bsize l_w_p_neds l_w_p_ind l_w_volatility year_3-year_17) two r estimates store gmm4 estimates table gmm1 gmm2 gmm3 gmm4, drop(year_3-year_17) b(%7.4f) t(%7.3f) stats(N) log close exit