
Compute Abnormal Returns and CARs for Finance Event Studies
event_study_finance.RdA self-contained function that estimates the market model, computes abnormal returns (AR), cumulative abnormal returns (CAR), and performs standard statistical tests (t-test, Patell, BMP) on the results. Designed as a one-stop function for finance event studies.
Arguments
- returns
Data frame in long format with columns for firm ID, event time (relative to event), firm return, and market return.
- firm_var
Character. Column name for firm identifier. Default
"firm_id".- time_var
Character. Column name for event time (integer, 0 = event day). Default
"event_time".- ret_var
Character. Column name for firm return. Default
"ret".- mkt_var
Character. Column name for market return. Default
"market_ret".- est_window
Integer vector of length 2. Estimation window in event time. Default
c(-200, -11).- event_window
Integer vector of length 2. Event window in event time. Default
c(-5, 5).- car_window
Integer vector of length 2. Window for CAR aggregation in statistical tests. Default
c(-1, 1).- model
Character. Benchmark model:
"market"(default),"mean"(constant mean), or"market_adj"(market- adjusted, alpha=0 and beta=1).- test
Character. Statistical test:
"ttest"(default),"patell", or"bmp".- plot
Logical. Produce AAR and CAAR plots. Default
TRUE.
Value
A list with:
- parameters
Data frame of firm-level model parameters.
- ar_data
Data frame with firm-level abnormal returns.
- aar_series
Data frame: event-time AAR and CAAR.
- car_results
Data frame: firm-level CARs for the CAR window.
- test_results
Named list with test statistic, p-value, n.
- plot_aar
ggplot2: AAR/CAAR time series.
- plot_car_dist
ggplot2: CAR histogram.
References
MacKinlay, A. C. (1997). Event studies in economics and finance. Journal of Economic Literature, 35(1), 13-39.
Brown, S. J., & Warner, J. B. (1985). Using daily stock returns: The case of event studies. Journal of Financial Economics, 14(1), 3-31.
Examples
if (FALSE) { # \dontrun{
# Using simulated data (see h_event_study vignette for full example)
result <- event_study_finance(
returns = sim_data,
car_window = c(-1, 1),
model = "market",
test = "bmp"
)
result$test_results
result$plot_aar
} # }