33.6 Testing in Event Studies
33.6.1 Statistical Power in Event Studies
Statistical power refers to the ability to detect a true effect (i.e., identify significant abnormal returns) when one exists.
Power increases with:
- More firms in the sample → reduces variance and increases reliability.
- Fewer days in the event window → avoids contamination from other confounding factors.
Trade-Off:
- A longer event window captures delayed market reactions but risks contamination from unrelated events.
- A shorter event window reduces noise but may miss slow adjustments in stock prices.
Thus, an optimal event window balances precision (avoiding confounds) and completeness (capturing true market reaction).
33.6.2 Parametric Tests
S. J. Brown and Warner (1985) provide evidence that parametric tests perform well even under non-normality, as long as the sample includes at least five securities. This is because the distribution of abnormal returns converges to normality as the sample size increases.
33.6.2.1 Power of Parametric Tests
Kothari and Warner (1997) highlights that the power to detect significant abnormal returns depends on:
- Sample size: More firms improve statistical power.
- Magnitude of abnormal returns: Larger effects are easier to detect.
- Variance of abnormal returns across firms: Lower variance increases power.
33.6.2.2 T-Test for Abnormal Returns
By applying the Central Limit Theorem, we can use the t-test for abnormal returns:
tCAR=¯CARitσ(CARit)/√ntBHAR=¯BHARitσ(BHARit)/√n
Assumptions:
Abnormal returns follow a normal distribution.
Variance is equal across firms.
No cross-sectional correlation in abnormal returns.
If these assumptions do not hold, the t-test will be misspecified, leading to unreliable inference.
Misspecification may occur due to:
Heteroskedasticity (unequal variance across firms).
Cross-sectional dependence (correlation in abnormal returns across firms).
Non-normality of abnormal returns (though event study design often forces normality).
To address these concerns, Patell Standardized Residuals provide a robust alternative.
33.6.2.3 Patell Standardized Residual
Patell (1976) developed the Patell Standardized Residuals (PSR), which standardizes abnormal returns to correct for estimation errors.
Since the market model relies on observations outside the event window, it introduces prediction errors beyond true residuals. PSR corrects for this:
ARit=ˆuitsi√Cit
where:
- ˆuit = estimated residual from the market model.
- si = standard deviation of residuals from the estimation period.
- Cit = correction factor accounting for estimation period variation.
The correction factor (Cit) is:
Cit=1+1T+(Rmt−ˉRm)2∑t(Rmt−ˉRm)2
where:
- T = number of observations in the estimation period.
- Rmt = market return at time t.
- ˉRm = mean market return.
This correction ensures abnormal returns are properly scaled, reducing bias from estimation errors.
33.6.3 Non-Parametric Tests
Non-parametric tests do not assume a specific return distribution, making them robust to non-normality and heteroskedasticity.
33.6.3.1 Sign Test
The Sign Test assumes symmetric abnormal returns around zero.
- Null hypothesis (H0): Equal probability of positive and negative abnormal returns.
- Alternative hypothesis (HA): More positive (or negative) abnormal returns than expected.
33.6.3.2 Wilcoxon Signed-Rank Test
The Wilcoxon Signed-Rank Test allows for non-symmetry in returns.
Use case: Detects shifts in the distribution of abnormal returns.
More powerful than the sign test when return magnitudes matter.
33.6.3.3 Generalized Sign Test
A more advanced sign test, comparing the proportion of positive abnormal returns to historical norms.
33.6.3.4 Corrado Rank Test
The Corrado Rank Test is a rank-based test for abnormal returns.
Advantage: Accounts for cross-sectional dependence.
More robust than the t-test under non-normality.
# Load necessary libraries
library(tidyverse)
# Simulate abnormal returns (CAR)
set.seed(123)
df_returns <- tibble(
firm_id = 1:100, # 100 firms
CAR = rnorm(100, mean = 0.02, sd = 0.05) # Simulated CAR values
)
# Parametric T-Test for CAR
t_test_result <- t.test(df_returns$CAR, mu = 0)
# Non-parametric tests
sign_test_result <- binom.test(sum(df_returns$CAR > 0), n = nrow(df_returns), p = 0.5)
wilcox_test_result <- wilcox.test(df_returns$CAR, mu = 0)
# Print results
list(
T_Test = t_test_result,
Sign_Test = sign_test_result,
Wilcoxon_Test = wilcox_test_result
)
#> $T_Test
#>
#> One Sample t-test
#>
#> data: df_returns$CAR
#> t = 5.3725, df = 99, p-value = 5.159e-07
#> alternative hypothesis: true mean is not equal to 0
#> 95 percent confidence interval:
#> 0.01546417 0.03357642
#> sample estimates:
#> mean of x
#> 0.0245203
#>
#>
#> $Sign_Test
#>
#> Exact binomial test
#>
#> data: sum(df_returns$CAR > 0) and nrow(df_returns)
#> number of successes = 70, number of trials = 100, p-value = 7.85e-05
#> alternative hypothesis: true probability of success is not equal to 0.5
#> 95 percent confidence interval:
#> 0.6001853 0.7875936
#> sample estimates:
#> probability of success
#> 0.7
#>
#>
#> $Wilcoxon_Test
#>
#> Wilcoxon signed rank test with continuity correction
#>
#> data: df_returns$CAR
#> V = 3917, p-value = 1.715e-06
#> alternative hypothesis: true location is not equal to 0