33.14 Application of Event Study

Several R packages facilitate event studies. Below are some commonly used ones:

Package Description
eventstudies Computes abnormal returns and visualizes event impact
erer Implements event study methodology in economics and finance
EventStudy Provides API-based event study tools (requires subscription)
AbnormalReturns Implements market model and FF3 abnormal return calculations
PerformanceAnalytics Provides tools for risk and performance measurement
estudy2 A flexible event study implementation

To install these packages, run:

install.packages(
    c(
        "eventstudies",
        "erer",
        "EventStudy",
        "AbnormalReturns",
        "PerformanceAnalytics",
        "tidyquant",
        "tidyverse"
    )
)

33.14.1 Sorting Portfolios for Expected Returns

A common approach in finance is to sort stocks into portfolios based on firm characteristics such as size and book-to-market (B/M) ratio. This method helps control for the possibility that standard models (e.g., Fama-French) may not be correctly specified.

Sorting Process

  1. Sort all stock returns into 10 deciles based on size (market capitalization).

  2. Within each size decile, sort returns into 10 deciles based on B/M ratio.

  3. Calculate the average return of each portfolio for each period (i.e., the expected return for stocks given their characteristics).

  4. Compare each stock’s return to its corresponding portfolio.

Important Notes:

  • Sorting often leads to more conservative estimates compared to Fama-French models.

  • If the event study results change depending on the sorting order (e.g., sorting by B/M first vs. size first), this suggests that the findings are not robust.

33.14.2 erer Package

The erer package provides a straightforward implementation of event studies.

Step 1: Load Required Libraries

library(erer)
library(ggplot2)
library(dplyr)

Step 2: Load Sample Data

The package includes an example dataset, daEsa, which contains stock returns and event dates.

data(daEsa)
head(daEsa)
#>       date       tb3m    sp500     bbc     bow     csk      gp      ip     kmb
#> 1 19900102  0.3973510  1.76420  2.5352  1.3575  0.6289  4.1237  1.3274  1.8707
#> 2 19900103  0.6596306 -0.25889  0.2747  0.8929  6.2500  0.9901 -0.2183 -0.3339
#> 3 19900104 -0.5242464 -0.86503 -1.3699 -0.4425 -2.3529  0.7353 -0.4376 -0.1675
#> 4 19900105 -0.6587615 -0.98041 -0.5556 -0.4444  1.2048  0.0000  0.2198 -0.6711
#> 5 19900108  0.0000000  0.45043 -1.3966 -0.8929 -1.1905  0.4866 -0.2193  1.0135
#> 6 19900109  0.1326260 -1.18567  0.2833 -0.4505 -2.4096 -0.2421 -2.1978 -2.1739
#>       lpx     mwv     pch     pcl      pop     tin     wpp      wy
#> 1  1.7341  1.6529  4.0816  1.5464  2.43525 -1.0791  2.9197  2.7149
#> 2  0.8523  2.0325  0.0000  0.5076  1.41509 -1.4545  0.7092 -2.2026
#> 3 -0.2817  0.3984  0.3268 -0.5051 -0.93023 -0.1845  2.1127 -0.9009
#> 4 -0.8475 -0.3968 -0.6515 -0.5076  0.00000  0.5545 -0.6897 -0.4545
#> 5 -0.5698 -0.3984  0.3279  1.0204 -0.93897 -0.5515 -0.6944  0.0000
#> 6 -0.2865 -1.6000  0.3268 -2.5253 -3.79147 -2.4030  0.6993 -1.8265

Step 3: Compute Abnormal Returns

We define the estimation window (250 days before the event) and the event window (±5 days around the event):

hh <- evReturn(
    y = daEsa,      
    firm = "wpp",   
    y.date = "date",
    index = "sp500", 
    est.win = 250,   
    event.date = 19990505, 
    event.win = 5    
)

Step 4: Visualizing the Results

plot(hh)

33.14.3 Eventus

2 types of output:

  1. Basic Event Study

    • Using different estimation methods (e.g., market model to calendar-time approach)

    • Does not include event-specific returns. Hence, no regression later to determine variables that can affect abnormal stock returns.

  2. Cross-sectional Analysis of Eventus: Event-specific abnormal returns (using monthly or data data) for cross-sectional analysis (under Cross-Sectional Analysis section)

    • Since it has the stock-specific abnormal returns, we can do regression on CARs later. But it only gives market-adjusted model. However, according to (A. Sorescu, Warren, and Ertekin 2017), they advocate for the use of market-adjusted model for the short-term only, and reserve the FF4 for the longer-term event studies using monthly daily.

33.14.3.1 Basic Event Study

  1. Input a text file contains a firm identifier (e.g., PERMNO, CUSIP) and the event date
  2. Choose market indices: equally weighted and the value weighted index (i.e., weighted by their market capitalization). And check Fama-French and Carhart factors.
  3. Estimation options
    1. Estimation period: ESTLEN = 100 is the convention so that the estimation is not impacted by outliers.

    2. Use “autodate” options: the first trading after the event date is used if the event falls on a weekend or holiday

  4. Abnormal returns window: depends on the specific event
  5. Choose test: either parametric (including Patell Standardized Residual (PSR)) or non-parametric

33.14.3.2 Cross-sectional Analysis of Eventus

Similar to the Basic Event Study, but now you can have event-specific abnormal returns.

References

Sorescu, Alina, Nooshin L Warren, and Larisa Ertekin. 2017. “Event Study Methodology in the Marketing Literature: An Overview.” Journal of the Academy of Marketing Science 45: 186–207.