Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • A question about ‘NoFirms’ column in eventstudy2 output

    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)
    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:
    1. Why does ‘NoFirms’ column change so much across event windows?
    2. 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?
    The 'cumulative average abnormal returns' output looks like this (below is just the first few columns)
    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 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).
    Last edited by Dalal AlQadeeri; 20 Feb 2023, 08:48.

  • #2
    Dear Dalal,

    NoFirms is the number of events; it fluctuates because there are missing returns in your data. To fully understand, you will have to understand the concept of what I call the "dateline," and how eventstudy2 treats missing returns. Please see my post on 10 Feb 2022, and there point 3) :

    https://www.statalist.org/forums/for...ng-eventstudy2

    There are the fill options in eventstudy2 (see its helpfile) which could be used to make event counts in your table constant; however, I advise against this "zero-ing out" of missing abnormal returns -, because they are missing and not zero.

    Best
    Thomas

    Comment

    Working...
    X