AAR & CAAR Test Statistics

AAR and CAAR test statistics determine whether the average abnormal return across a sample of firms is significantly different from zero. Eight tests are available, from the cross-sectional t-test to the Kolari-Pynnonen test that handles event-induced variance and cross-sectional correlation.

Part of the methodology guide

Multi-event test statistics assess whether the average abnormal return across a sample of firms is significantly different from zero. These are the tests reported in most published event studies.

How Do the Multi-Event Tests Compare?

AAR and CAAR test statistics are the backbone of multi-event inference in financial event studies. They aggregate abnormal returns across a sample of firms to determine whether an event type produces a statistically significant market reaction on average. First formalized by Patell (1976) and extended by Boehmer, Musumeci, and Poulsen (1991), these tests range from simple cross-sectional t-tests to advanced procedures that correct for event-induced variance and cross-sectional correlation.

TestR ClassTypeAssumes NormalityHandles Event-Induced VarianceHandles Clustering
Cross-Sectional tCSectTTestParametricYesNoNo
Patell ZPatellZTestParametricYesNoNo
BMPBMPTestParametricYesYesNo
Sign testSignTestNon-parametricNoNoNo
Generalized SignGeneralizedSignTestNon-parametricNoNoNo
Rank testRankTestNon-parametricNoYesNo
Kolari-PynnonenKolariPynnonenTestParametricYesYesYes
Calendar-Time PortfolioCalendarTimePortfolioTestParametricYesNoYes

How Do I Run All Tests in R?

Run with all 8 multi-event tests
# Run with all 8 multi-event tests
ps <- ParameterSet$new(
  multi_event_statistics = MultiEventStatisticsSet$new(
    tests = list(
      CSectTTest$new(),
      PatellZTest$new(),
      BMPTest$new(),
      KolariPynnonenTest$new(),
      SignTest$new(),
      GeneralizedSignTest$new(),
      RankTest$new(),
      CalendarTimePortfolioTest$new()
    )
  )
)

task <- EventStudyTask$new(firm_data, index_data, request)
task <- run_event_study(task, ps)

Parametric Tests

Cross-Sectional t-test (CSect T)

The simplest multi-event test, used in over 60% of published event studies. Computes the AAR as the mean of abnormal returns across firms, then tests whether it differs from zero using the cross-sectional standard deviation.

AAR:

AARt=1Ni=1NARi,tAAR_t = \frac{1}{N}\sum_{i=1}^{N} AR_{i,t}
tAARt=NAARtS^AAR,ttN1t_{AAR_t} = \frac{\sqrt{N} \cdot AAR_t}{\hat{S}_{AAR,t}} \sim t_{N-1}

where S^AAR,t2=1N1i=1N(ARi,tAARt)2\hat{S}_{AAR,t}^2 = \frac{1}{N-1}\sum_{i=1}^{N}(AR_{i,t} - AAR_t)^2.

CAAR:

tCAAR=NCAARS^CAARtN1t_{CAAR} = \frac{\sqrt{N} \cdot CAAR}{\hat{S}_{CAAR}} \sim t_{N-1}

where S^CAAR2=1N1i=1N(CARiCAAR)2\hat{S}_{CAAR}^2 = \frac{1}{N-1}\sum_{i=1}^{N}(CAR_i - CAAR)^2.

ProsCons
Simple, intuitiveAssumes equal variance across firms
No model estimates needed for SEDoes not account for event-induced variance
Robust to different return modelsSensitive to outliers

Patell Z Test

Introduced by Patell in 1976, this test standardizes each firm's abnormal return by its own estimation-window standard deviation before aggregating. This gives less weight to volatile stocks and has been cited in over 2,500 studies according to Google Scholar.

Standardized abnormal return:

SARi,t=ARi,tS^iSAR_{i,t} = \frac{AR_{i,t}}{\hat{S}_i}

Test statistic:

ZPatell=1Ni=1NSARi,tMi2Mi4aN(0,1)Z_{Patell} = \frac{1}{\sqrt{N}} \sum_{i=1}^{N} \frac{SAR_{i,t}}{\sqrt{\frac{M_i - 2}{M_i - 4}}} \stackrel{a}{\sim} N(0,1)

where MiM_i is the estimation window length for firm ii.

ProsCons
Accounts for different firm volatilitiesAssumes no event-induced variance change
More powerful than CSect T for heterogeneous samplesRequires estimation-window variance estimates
Well-established in the literatureOver-rejects when variance increases at event

Patell Z vs. CSect T

If firms in your sample have very different volatilities (e.g., mixing large-cap and small-cap), Patell Z is more appropriate because it standardizes by each firm's own variance.

BMP Test (Boehmer, Musumeci & Poulsen)

Addresses a key weakness of the Patell Z test: events often change the variance of returns (event-induced variance). The BMP test cross-sectionally standardizes the Patell-standardized AR, making it robust to variance changes at the event date.

tBMP=NSARtSSAR,ttN1t_{BMP} = \frac{\sqrt{N} \cdot \overline{SAR}_t}{S_{SAR,t}} \sim t_{N-1}

where SARt=1Ni=1NSARi,t\overline{SAR}_t = \frac{1}{N}\sum_{i=1}^{N} SAR_{i,t} and SSAR,tS_{SAR,t} is its cross-sectional standard deviation.

ProsCons
Robust to event-induced varianceRequires estimation-window variance estimates
Correctly sized even during volatile eventsSlightly less powerful than Patell Z when variance is stable
Recommended by Kolari & Pynnonen (2010)More complex to interpret

When variance changes matter

Earnings announcements, M&A, and crisis events typically increase return variance at the event date. The BMP test prevents the inflated variance from producing false positives. Use it alongside Patell Z as a robustness check.

Kolari-Pynnonen Test

An adjusted version of the BMP test that corrects for both event-induced variance and cross-sectional correlation (event clustering). When multiple events occur on the same calendar date, standardized abnormal returns are correlated across firms, causing the BMP test to over-reject. The Kolari-Pynnonen adjustment accounts for this.

tKP=tBMP11+(N1)rˉt_{KP} = t_{BMP} \cdot \sqrt{\frac{1}{1 + (N-1)\bar{r}}}

where rˉ\bar{r} is the average cross-sectional correlation of the standardized abnormal returns across firms.

ProsCons
Robust to event-induced variance and clusteringRequires estimation of cross-sectional correlation
Correctly sized for same-date eventsSlightly less powerful than BMP when no clustering
Recommended for industry-wide event studiesRequires standardized residuals from estimation window

When to use Kolari-Pynnonen

Use when events cluster on the same or nearby calendar dates (e.g., regulatory announcements, industry-wide shocks). It combines the strengths of the BMP test with a correction for cross-sectional dependence.

Calendar-Time Portfolio Test

When multiple events cluster on the same calendar dates, the cross-sectional independence assumption is violated. The Calendar-Time Portfolio test aggregates returns into a single time series of portfolio returns and tests using time-series standard errors.

AARt=1Nti=1NtARi,tAAR_t = \frac{1}{N_t}\sum_{i=1}^{N_t} AR_{i,t}
tCalTime=AARtS^TSt_{CalTime} = \frac{AAR_t}{\hat{S}_{TS}}

where S^TS\hat{S}_{TS} is the time-series standard deviation of the portfolio AAR.

ProsCons
Handles temporal clustering of eventsLess powerful with few calendar dates
Does not require cross-sectional independenceSensitive to portfolio weighting
Better for industry-wide eventsUncommon in standard event studies

Non-Parametric Tests

Non-parametric tests do not require normally distributed returns. According to Corrado and Zivney (1992), non-parametric tests can improve rejection accuracy by 15–30% relative to parametric alternatives when daily returns exhibit skewness or excess kurtosis. Use them when diagnostics show non-normal residuals (Shapiro-Wilk p < 0.05) or when your sample contains extreme outliers.

Sign Test

Tests whether the proportion of positive abnormal returns exceeds 50%. Under the null hypothesis of zero abnormal returns, positive and negative AR are equally likely.

ZSign=N+0.5N0.5NaN(0,1)Z_{Sign} = \frac{N^+ - 0.5N}{0.5\sqrt{N}} \stackrel{a}{\sim} N(0,1)

where N+N^+ is the number of firms with positive AR at the event date.

ProsCons
No distributional assumptionsLow power (ignores magnitude)
Robust to outliersAssumes symmetric return distribution
Simple to interpretCannot detect effects driven by magnitude

Generalized Sign Test (Cowan 1992)

Improves on the Sign test by estimating the expected proportion of positive returns from the estimation window, rather than assuming 50%.

p^=1Ni=1N(1Mit=t0t11[ARi,t>0])\hat{p} = \frac{1}{N}\sum_{i=1}^{N}\left(\frac{1}{M_i}\sum_{t=t_0}^{t_1}\mathbf{1}[AR_{i,t} > 0]\right)
ZGSign=N+Np^Np^(1p^)aN(0,1)Z_{GSign} = \frac{N^+ - N\hat{p}}{\sqrt{N\hat{p}(1-\hat{p})}} \stackrel{a}{\sim} N(0,1)
ProsCons
Accounts for return asymmetryStill ignores magnitude
Better sized than simple Sign testRequires estimation-window data
Robust to skewed distributionsSlightly more complex

Rank Test (Corrado 1989)

Ranks all abnormal returns (estimation window + event window) and tests whether event-window ranks are systematically higher or lower than expected.

Ki,t=rank(ARi,t)Ti+10.5K_{i,t} = \frac{\text{rank}(AR_{i,t})}{T_i + 1} - 0.5
ZRank=KtS^KaN(0,1)Z_{Rank} = \frac{\overline{K}_t}{\hat{S}_K} \stackrel{a}{\sim} N(0,1)

where Kt\overline{K}_t is the mean centered rank at event time tt and S^K\hat{S}_K is its standard deviation.

ProsCons
Uses magnitude information (via ranks)Less intuitive than t-tests
Robust to non-normality and outliersRequires combining estimation + event data
Well-powered across distributionsSensitive to ties in rankings
Handles event-induced variance

Best non-parametric choice

The Rank test is generally the most powerful non-parametric test because it uses magnitude information (through ranks) while remaining robust to non-normality. Use it as your primary non-parametric robustness check.

Which Tests Should I Report?

AAR (Average Abnormal Return)
The cross-sectional mean of abnormal returns at a given event time, measuring the average market reaction across all firms in the sample.
CAAR (Cumulative Average Abnormal Return)
The sum of AARs over an event window, capturing the total average price impact of the event across the sample period.
Standardized Abnormal Return (SAR)
An abnormal return divided by its estimation-window standard deviation, used in the Patell Z and BMP tests to weight each firm inversely by its volatility.

Most published event studies report 2–3 tests. A robust reporting strategy:

ScenarioRecommended Tests
Standard event studyCSect T + Patell Z + one non-parametric (Rank or Sign)
Event-induced variance likelyBMP + Rank test
Non-normal residualsSign + Generalized Sign + Rank
Clustered event datesKolari-Pynnonen + Calendar-Time Portfolio
Event-induced variance + clusteringKolari-Pynnonen + Rank test
Maximum robustnessCSect T + Patell Z + BMP + Kolari-Pynnonen + Rank

Literature

  • Patell, J.M. (1976). Corporate forecasts of earnings per share and stock price behavior. Journal of Accounting Research, 14(2), 246–276.
  • Boehmer, E., Musumeci, J. & Poulsen, A.B. (1991). Event-study methodology under conditions of event-induced variance. Journal of Financial Economics, 30(2), 253–272.
  • Cowan, A.R. (1992). Nonparametric event study tests. Review of Quantitative Finance and Accounting, 2(4), 343–358.
  • Corrado, C.J. (1989). A nonparametric test for abnormal security-price performance in event studies. Journal of Financial Economics, 23(2), 385–395.
  • Campbell, J.Y., Lo, A.W. & MacKinlay, A.C. (1997). The Econometrics of Financial Markets.
  • Kolari, J.W. & Pynnonen, S. (2010). Event Studies for Financial Research.

Run this in R

The EventStudy R package lets you run these calculations programmatically with full control over parameters.

What Should I Read Next?

We use cookies for analytics to improve this site. See our Privacy Policy.