I’m running a financial event study using eventstudy2 package on 184 unique security ID/date combinations (consists of 140 unique number of security IDs or firms) using the event data/code below.
Events list (partially shown below)
Eventstudy2 Code
The output includes the results for the specific event windows I specified in the command. But, I have a question regarding the “NoFirms” column. I understand that it must mean number of firms whose results are included within that event windows (correct?). However, I have the following questions:
Note that in diagnostics file output, only 1 of my observations is excluded from analysis since it is an "Event with an insufficient number of observations in the security returns file in the estimation period" as specified in the diagnostics file. So I should have 183 events analyzed.
Note:
I am using user-written program “eventstudy2” in Stata 17.0 on Windows 11.
*eventstudy2 is not an official Stata command. It is a free contribution to the research community. Kaspereit, T. 2019. eventstudy2 - A program to perform event studies with complex test statistics in Stata (Version 3.0).
Events list (partially shown below)
Code:
* Example generated by -dataex-. For more info, type help dataex clear input int exchd str6 ticker double date 2 "AEN" 18388 2 "AVM" 14847 189 "SLX" 16943 73 "2696" 22203 73 "3681" 22539 183 "069080" 18038 183 "083790" 20534 104 "CPX" 20535 104 "HEMO" 21476 104 "HZD" 21362 104 "JMAT" 15215 3 "ACER" 22358 3 "ACIW" 17910 3 "ADRO" 21536 3 "AEGR" 20790 3 "AEZS" 21200 3 "AGEN" 20097 3 "AMGN" 15141 3 "ARDM" 16462 3 "ARDM" 16985 3 "ARDX" 21150 3 "ARDX" 21164 end format %td date
Eventstudy2 Code
Code:
eventstudy2 ticker date using securities_return, returns(ret_) model(FM) marketfile(world_market_returns_MSCI_rate) marketreturns(MktRF) idmarket(exchcd) factor1(msci_index) factor2(ex_rate) riskfreerate(RF) /// eswlb(-252) eswub(-30) /// evwlb(-10) evwub(10) /// car1LB(0) car1UB(0) /// car2LB(0) car2UB(1) /// car3LB(-1) car3UB(0) /// car4LB(-1) car4UB(1) /// car5LB(-1) car5UB(2) /// car6LB(-2) car6UB(1) /// car7LB(0) car7UB(2) /// car8LB(-2) car8UB(2) /// car9LB(-2) car9UB(3) /// car10LB(-3) car10UB(3) /// aarfile(licensor_output_average_abn_ret_file_set_2) /// carfile(licensor_output_cum_average_abn_ret_file_set_2) /// crossfile(licensor_crossfile_set_2) /// arfile(licensor_output_abn_ret_file_set_set_2) /// diagnosticsfile(licensor_output_diag_set_set_2) /// graphfile(licensor_output_graph_file_set_set_2) replace
The output includes the results for the specific event windows I specified in the command. But, I have a question regarding the “NoFirms” column. I understand that it must mean number of firms whose results are included within that event windows (correct?). However, I have the following questions:
- Why does ‘NoFirms’ column change so much across event windows?
- Why is it not the same as the number of security ID/date combinations or even the number of unique security IDs I have in my data?
| t | NoFirms | CAARE | NCAAREt_test | PCAAREt_test |
| [0;0] | 142 | .00709233 | 2.1053475 | .03640061 |
| [0;1] | 134 | .02486705 | 4.9552136 | 1.445e-06 |
| [-1;0] | 146 | .01348152 | 2.9519779 | .00350138 |
| [-1;1] | 136 | .02939505 | 4.750959 | 3.662e-06 |
| [-1;2] | 148 | .0309753 | 4.6549388 | 5.614e-06 |
| [-2;1] | 138 | .02857012 | 4.0707669 | .00006545 |
| [0;2] | 143 | .02467832 | 4.3096457 | .00002471 |
| [-2;2] | 148 | .02947075 | 3.9804562 | .00009356 |
| [-2;3] | 133 | .02514326 | 2.8752546 | .00443528 |
Note:
I am using user-written program “eventstudy2” in Stata 17.0 on Windows 11.
*eventstudy2 is not an official Stata command. It is a free contribution to the research community. Kaspereit, T. 2019. eventstudy2 - A program to perform event studies with complex test statistics in Stata (Version 3.0).

Comment