Significance tests
Parametric and non-parametric battery for distinguishing observed abnormal returns from zero. Applied researchers typically run both.
New to event studies? Choose the basic version
Significance tests tell you whether an event study's abnormal returns are statistically different from zero, not just large by chance. In short: report the BMP (standardized cross-sectional) test as your headline statistic because it stays valid when the event itself changes return volatility; add the Patell Z and a non-parametric rank or generalized-sign test as robustness; the plain cross-sectional t-test is the simplest but the least robust. When events share calendar dates, switch to the Kolari-Pynnonen adjusted variants, because clustered firms are not independent observations. Jump to a test below, or run the full battery free on your own data in ARC.
Significance tests decide whether the abnormal returns around an event are statistically distinguishable from zero. Parametric tests (t-test, Patell Z, BMP) assume abnormal returns are approximately normal and gain reliability as the sample grows; non-parametric tests (sign, generalized sign, Corrado rank) use only the signs or ranks of abnormal returns and stay valid under non-normality, skewness, and heteroskedasticity. Because the two families fail under different conditions, applied researchers typically report at least one of each and flag any disagreement (Brown and Warner, 1985; Kothari and Warner, 2007). The spin-off study of Schipper and Smith (1983) is one applied example of this practice.
Every statistic on this page is the same object viewed from a different angle: a ratio whose numerator is a mean abnormal return and whose denominator is an estimate of that mean's standard error. The tests differ only in how the denominator is built. Read in sequence, they form an evolutionary chain in which each newer test replaces a denominator that is too small under some real-world violation with one that is correctly sized. Hold that idea and the formulas below stop being a list and become a single argument.
What is being tested
The null hypothesis is that the event has no effect on returns: \(H_0: E(AR) = 0\) at the firm-day level, or \(H_0: E(CAR) = 0\) and \(H_0: E(CAAR) = 0\) at the cumulative level. A test can fail in two directions. It can over-reject, declaring an effect that is not there (a specification problem, controlled by the test's size), or it can under-reject, missing a real effect (a power problem). Most of the refinements below exist to control over-rejection without sacrificing too much power. The reported \(p\)-value answers a conditional question: it is the probability of seeing an abnormal return at least this extreme if the event had truly had no effect, not the probability that the event had no effect, and statistical significance is not the same as economic materiality.
A subtler caveat is the joint-hypothesis, or bad-model, problem: every abnormal return is measured relative to a chosen return-generating model (constant-mean, market model, or a factor model), so a "significant" result jointly tests the event and the model used to define normal returns (Kothari and Warner, 2007; Fama, 1998). The tests on this page are designed for short event windows of a few days, where this concern is mild and the statistics are well behaved. Long-horizon inference (buy-and-hold abnormal returns, calendar-time portfolios) is a separate and substantially harder problem, treated in its own section below.
Three failure modes the tests exist to fix
The plain one-sample t-test on a column of abnormal returns is the natural starting point, and it is correct under three assumptions that daily stock data routinely break. Naming the violations once makes every refinement that follows legible as the patch for a specific defect (Brown and Warner, 1985).
- Non-normality and fat tails. Daily returns are leptokurtic and skewed, so a single extreme day can dominate a mean and the normal reference distribution mis-sizes the test. This is the motivation for the non-parametric sign and rank tests, which discard the misbehaving magnitudes and keep only direction or order.
- Event-induced variance. The event itself raises announcement-day return volatility, so the pre-event (estimation-window) variance understates the true denominator and the test over-rejects. This is the defect that the standardized cross-sectional (BMP) test was designed to remove (Boehmer, Musumeci, and Poulsen, 1991).
- Cross-sectional correlation under event-date clustering. When many firms share the same event date their abnormal returns move together, the effective sample size is far below \(N\), and the naive standard error is too small. This is the failure mode the Kolari-Pynnonen adjustments correct (Kolari and Pynnonen, 2010), and it is the single most under-appreciated source of false positives in applied event studies.
The house rule that follows is the one serious referees expect: run one parametric and one non-parametric test that target the threats your sample actually faces, report both, and treat agreement as the real evidence.
Foundations
For a single instance, the random variable is the abnormal return on the event day (\(AR\)) or the cumulative abnormal return over the event window (\(CAR\)). Abnormal returns are the residuals of a benchmark model fitted on a pre-event estimation window that is disjoint from the event window (MacKinlay, 1997). The most common benchmark is the market model, \(R_{i,t} = \alpha_i + \beta_i R_{m,t} + \varepsilon_{i,t}\), estimated by OLS, so that \(AR_{i,t} = R_{i,t} - (\hat{\alpha}_i + \hat{\beta}_i R_{m,t})\). Across \(N\) firms or repeated events:
\[ AAR_{t} = \frac{1}{N} \sum_{i=1}^{N} AR_{i,t} \quad CAR_{i} = \sum_{t=T_{1}+1}^{T_{2}} AR_{i,t} \quad CAAR = \frac{1}{N} \sum_{i=1}^{N} CAR_{i} \]The estimation window \(\{T_0, \ldots, T_1\}\) has length \(L_1 = T_1 - T_0 + 1\) (typically 120 to 250 trading days); the event window \(\{T_1+1, \ldots, T_2\}\) has length \(L_2 = T_2 - T_1\). The firm-level estimation-window variance:
\[ S^{2}_{AR_{i}} = \frac{1}{M_{i} - K} \sum_{t=T_{0}}^{T_{1}} AR_{i,t}^{2} \]where \(M_i\) is non-missing returns in the estimation window and \(K\) is the model's degrees of freedom (1 for constant mean, 2 for market model, 4 for FF3). There is no \(\overline{AR}\) term inside the sum because estimation-window residuals from a model with an intercept are mean-zero by construction. The cumulative variance \(S^{2}_{CAR_{i}} = L_{2}\, S^{2}_{AR_{i}}\) used below assumes the event-window abnormal returns are serially uncorrelated and homoskedastic; in practice it understates the true \(CAR\) variance, which also absorbs estimation error and serial correlation (precisely what the generalized rank test addresses).
Cross-sectional versus time-series variance
A recurring choice separates two families of denominator. A time-series standard error estimates the spread of the portfolio's daily abnormal return over the estimation window (used by the crude dependence adjusted t and as a backbone for the rank test's null variance); it collapses cross-firm dependence into one number but cannot see firm-specific variance differences. A cross-sectional standard error estimates the spread of the abnormal returns across firms on the event day (used by the cross-sectional t and BMP); it lets the event-day data report any volatility the event itself induced, but assumes the firms are mutually independent on that day. The whole sequence below can be read as a search for a denominator that captures both the event-day cross-sectional spread and the cross-firm dependence at the same time, which is exactly what the adjusted BMP and generalized rank statistics deliver.
Notation key. \(N\): number of events or firms. \(M_i\) (also written \(L_1\) when constant across firms): estimation-window observations for firm \(i\). \(L_1\): estimation-window length. \(L_2\): event-window length. \(K\): model parameters (degrees of freedom). \(AR, CAR, AAR, CAAR\): abnormal, cumulative, average, and cumulative-average abnormal return. \(S_{AR_i}\): estimation-window standard deviation of firm \(i\)'s abnormal returns. \(SAR\): standardized abnormal return (Patell). \(ASAR\): summed (aggregated) standardized abnormal return. \(SCAR\): standardized cumulative abnormal return. \(GSAR\): generalized standardized abnormal return (rank-test input). \(U_{i,t}\): demeaned scaled rank. \(\hat{p}\): empirical positive fraction of abnormal returns. \(\bar{r}\): average pairwise cross-correlation of estimation-window abnormal returns.
Why so many test statistics? The evolutionary chain
The tests are best understood as a chain in which each newer test changes one piece of the denominator to neutralize a specific failure of the previous one. The plain t-test over-rejects when firms have heterogeneous variances, so Patell (1976) standardizes each abnormal return by its own forecast error before aggregating, replacing one pooled denominator with \(N\) firm-specific ones. Patell still assumes the event does not change return variance, but events routinely spike announcement-day volatility, which makes Patell over-reject; the BMP test of Boehmer, Musumeci, and Poulsen (1991) fixes this by re-dividing the standardized returns by their own event-day cross-sectional spread, so the denominator widens automatically when the event makes everyone volatile. BMP in turn assumes the abnormal returns are cross-sectionally independent, which fails when events cluster on the same calendar dates; the adjusted tests of Kolari and Pynnonen (2010) deflate the statistic for that correlation. Finally, all parametric tests can break under non-normality, motivating the rank and sign tests, and rank tests themselves lose power on multi-day cumulative returns, motivating the generalized rank test that handles non-normality, induced variance, and clustering together.
Clustering matters more than intuition suggests, and this is the differentiator most teaching treatments omit. Even a small average pairwise correlation \(\bar{r}\) among abnormal returns inflates the true standard error of the mean by a factor of approximately \(\sqrt{1 + (N-1)\bar{r}}\) (Kothari and Warner, 2007, eq. 10). With \(\bar{r} = 0.02\) and \(N = 100\) the true standard error is about \(1.4\) times the naive estimate, so a test that ignores the correlation rejects the null far more often than its nominal size; as \(N\) grows the over-rejection gets worse, not better, because the inflation term scales with \(N\). This inflation factor is exactly what the \((1 + (N-1)\bar{r})\) denominators in the adjusted tests are correcting.
When to use which test
Which test should I use?
Pick by what your sample looks like. Most researchers run one parametric and one non-parametric test side by side and report both. Every test below is computed by ARC.
| Your situation | Recommended test(s) | Why |
|---|---|---|
| A single firm and a single event | T-test (event day or window) | The simplest case. Use the standardized versions if you have an estimation window. |
| Many firms, returns roughly normal, no special concerns | Patell Z, or Cross-sectional T | Standard parametric workhorses for the average effect (AAR, CAAR). |
| Variance rises around the event (event-induced volatility) | Standardized Cross-Sectional T (BMP), or Generalized Rank T | Both stay valid when the event itself moves the variance. |
| Events cluster in calendar time or industry (cross-sectional correlation) | Adjusted Patell Z, Adjusted Standardized Cross-Sectional T, or Generalized Rank T | The Kolari-Pynnonen adjustments correct for correlation across overlapping events. |
| Returns are skewed, have outliers, or the sample is small | Generalized Rank T or the Permutation test; Skewness-Corrected T if staying parametric | Non-parametric tests make no normality assumption and resist outliers. |
| A long event window | Generalized Sign Z or Generalized Rank T | Plain rank tests lose power over long windows; these hold up better. |
| You want one robust default for both AAR and CAAR | Generalized Rank T | It handles cross-sectional and serial correlation and event-induced volatility, and works for both. |
See the full formula and null distribution for each test below, or read how to interpret a CAAR and a Patell Z.
The matrix below summarizes the robustness profile of each test; "robust to event-induced variance" means the test holds its size when the event itself raises return volatility, and "robust to cross-sectional correlation" means it holds its size when events cluster in calendar time.
| Test | Null distribution | Assumes normality? | Robust to event-induced variance? | Robust to cross-sectional correlation? | Handles non-normality? |
|---|---|---|---|---|---|
| Cross-Sectional T | \(t_{N-1}\) | Yes | Yes | No | No |
| CDA T | \(t\) | Yes | No | Partial (clustering) | No |
| Patell Z | \(N(0,1)\) | Yes | No | No | No |
| Adjusted Patell Z | \(N(0,1)\) | Yes | No | Yes | No |
| BMP | \(t_{N-1}\) | Yes | Yes | No | No |
| Adjusted BMP | \(t_{N-1}\) | Yes | Yes | Yes | No |
| Sign Z | \(N(0,1)\) | No | Partial | No | Yes |
| Generalized Sign Z | \(N(0,1)\) | No | Partial | No | Yes |
| Corrado Rank Z | \(N(0,1)\) | No | No | No | Yes |
| Generalized Rank T | \(t_{L_1 - 1}\) | No | Yes | Yes | Yes |
| Generalized Rank Z | \(N(0,1)\) | No | Yes | Yes | Yes |
Two refinements the chooser table and the matrix do not capture. Under thin trading without a variance change, the Corrado rank test is best specified and most powerful, but when variance also rises it becomes misspecified and the generalized sign test is the fallback (Cowan and Sergeant, 1996). And as a default progression, the modern literature treats the plain Patell Z and plain cross-sectional t as over-rejecting under conditions that are the norm rather than the exception, so the preferred defaults are BMP, the Adjusted BMP, and, for robustness to non-normality, event-induced variance, and clustering at once, the generalized rank test of Kolari and Pynnonen (2011).
Relative power and minimum sample size
Two practical questions are not answered by the robustness matrix alone: which test is most powerful when its assumptions hold, and how large a sample each test needs.
Relative power (when assumptions hold). Under non-normality with no variance change, the simulation evidence orders the short-window tests roughly as: Corrado rank > generalized sign > cross-sectional t, with the plain sign test weakest, because ranks retain magnitude information that signs discard while remaining outlier-resistant (Corrado, 1989; Cowan, 1992). Among parametric tests, standardization (Patell, BMP) raises power over the plain cross-sectional t by down-weighting noisy firms, and BMP gives up only a little power relative to Patell in exchange for size robustness under induced variance. The price of every robustness adjustment (KP deflation, induced-variance correction) is some power, which is why you should match the adjustment to a threat you actually expect rather than apply all of them by default.
Minimum sample size. The parametric standardized tests require \(M_i > K + 2\) for each firm so the variance-inflation factor \((M_i - K)/(M_i - K - 2)\) is finite, which for the market model (\(K = 2\)) takes only about five observations. That factor is already within roughly one percent of unity after a few dozen observations, so it is not what drives the usual 120 to 250 day estimation window: that convention exists to pin down precise, stable OLS estimates of \(\alpha_i\) and \(\beta_i\) and a reliable residual standard deviation, which enters every test\'s denominator. The normal approximation behind the Patell Z, the sign tests, and the generalized rank Z is reliable from roughly \(N \ge 30\) firms; below that, prefer the t-distributed forms (cross-sectional t, BMP, generalized rank T) or an exact permutation test, which is valid at any \(N\). The Kolari-Pynnonen deflation is meaningful only when \(N\) is large enough that \((N-1)\bar{r}\) is appreciable, which is precisely the clustered-sample regime it targets.
Parametric tests
T Test
Asks whether a single firm's abnormal return is large relative to its own estimation-window scatter. Tests \(H_0: E(AR_{i,0}) = 0\) (event day) or \(H_0: E(CAR_i) = 0\) (event window). Assumptions: the firm's abnormal returns are approximately normal, serially uncorrelated, and homoskedastic across the estimation and event windows. Simplest test; sensitive to event-induced volatility and to non-normality (Brown and Warner, 1985). Distributed Student-t.
\[ t = \frac{AR_{i,t}}{S_{AR_{i}}}, \qquad t = \frac{CAR_{i}}{S_{CAR_{i}}}, \quad S^{2}_{CAR_{i}} = L_{2}\, S^{2}_{AR_{i}} \]Cross-Sectional T (CSect T)
Asks whether the average abnormal return is large relative to its spread across firms, which lets the event-day data report any event-induced volatility itself. Tests \(H_0: E(AAR_0) = 0\) or \(H_0: E(CAAR) = 0\). Assumptions: abnormal returns are cross-sectionally (i) independent, (ii) identically distributed with a common variance, and (iii) approximately normal, so the statistic is \(t_{N-1}\). When it fails: it equal-weights every firm, so one extremely volatile firm can dominate the mean; and because it never standardizes per firm, it loses power under heterogeneous variances and over-rejects under event-date clustering, where the \(N\) returns are not independent and the true standard error exceeds \(S_{AAR,0}/\sqrt{N}\). Distributed \(t_{N-1}\).
\[ t = \sqrt{N}\, \frac{AAR_{0}}{S_{AAR,0}}, \quad S^{2}_{AAR,0} = \frac{1}{N-1} \sum_{i=1}^{N}(AR_{i,0} - AAR_{0})^{2} \] \[ t = \sqrt{N}\, \frac{CAAR}{S_{CAAR}}, \quad S^{2}_{CAAR} = \frac{1}{N-1} \sum_{i=1}^{N}(CAR_{i} - CAAR)^{2} \]Crude Dependence Adjusted T (CDA T)
Collapses cross-sectional dependence into a single number by using the time-series standard deviation of the portfolio mean over the estimation window, at the cost of ignoring firm-level variance differences. Assumptions: a constant (not necessarily zero) cross-correlation that the estimation-window portfolio variance already absorbs; firm variances treated as homogeneous. Same null. Introduced in Brown and Warner (1980) and carried into the daily-returns setting by Brown and Warner (1985).
\[ t = \frac{AAR_{0}}{S_{AAR}}, \quad S^{2}_{AAR} = \frac{1}{M-1} \sum_{t=T_{0}}^{T_{1}}\!\left( AAR_{t} - \overline{AAR} \right)^{2} \]Patell Z (standardized residual test)
Divides each abnormal return by its own forecast-error-corrected standard deviation so that noisier firms count less, then aggregates. The key technical point most treatments skip: the event-day abnormal return is an out-of-sample forecast from the estimation regression, so its variance is larger than the in-sample residual variance and must be inflated. The three terms below are the base residual variance (the \(1\)), the estimation error in the fitted mean (the \(1/M_i\)), and a forecast-extrapolation penalty that grows when the event-day market return \(R_{m,0}\) sits far from its estimation-window average \(\overline{R}_m\) (Patell, 1976). Assumptions: the standardized abnormal returns are cross-sectionally independent, normal, and (critically) homoskedastic, that is, no event-induced variance; under the null each has unit variance. Standardization buys efficiency, not robustness, so the test is still sensitive to event-induced volatility and to cross-sectional correlation. Distributed \(N(0,1)\).
\[ SAR_{i,0} = \frac{AR_{i,0}}{S_{AR_{i,0}}}, \quad S^{2}_{AR_{i,0}} = S^{2}_{AR_{i}}\!\left( 1 + \frac{1}{M_{i}} + \frac{(R_{m,0} - \overline{R}_{m})^{2}}{\sum_{t=T_{0}}^{T_{1}}(R_{m,t} - \overline{R}_{m})^{2}} \right) \]The aggregated statistic divides the sum of standardized returns by the standard deviation of that sum, so \(S_{ASAR}\) is the scale of \(ASAR_0\), not a per-firm quantity. The variance term is written generically in the model degrees of freedom \(K\) (it reduces to \((M_i - 2)/(M_i - 4)\) for the market model, where \(K = 2\)):
\[ z = \frac{ASAR_{0}}{\sqrt{\sum_{i=1}^{N} \frac{M_{i}-K}{M_{i}-K-2}}}, \quad ASAR_{0} = \sum_{i=1}^{N} SAR_{i,0} \]Adjusted Patell Z (Kolari-Pynnonen 2010)
Deflates the Patell statistic for cross-sectional correlation among estimation-period abnormal returns, the bias that arises when events cluster on the same dates. The deflation factor is the square root of \((1 - \bar{r})\) over the variance-inflation term \((1 + (N-1)\bar{r})\): when \(\bar{r} = 0\) the factor is \(1\) and nothing changes; as \(\bar{r}\) grows it shrinks the statistic toward zero, undoing exactly the standard-error understatement that clustering causes (Kolari and Pynnonen, 2010). Assumptions: a roughly constant average cross-correlation summarized by a single \(\bar{r}\); designed for same-date clustering (partially overlapping windows are a harder case). Distributed \(N(0,1)\).
\[ z_{\text{adj}} = z \cdot \sqrt{\frac{1 - \bar{r}}{1 + (N-1)\,\bar{r}}} \]where \(\bar{r}\) is the average pairwise sample cross-correlation of estimation-period abnormal returns. (Note the \((1 - \bar{r})\) numerator: it is part of the correct Kolari-Pynnonen form, not an optional refinement.)
Standardized Cross-Sectional T (BMP, Boehmer-Musumeci-Poulsen 1991)
Takes the Patell-standardized abnormal returns and re-divides them by their cross-sectional standard deviation in the event window, so any common volatility spike caused by the event is differenced out: Patell's denominator is fixed at the theoretical value \(1\), while BMP estimates the yardstick live from the event-day cross-section, so it stretches automatically when the event makes everyone more volatile. This robustness to event-induced variance is the reason BMP has displaced the plain Patell test as the default short-window parametric test; if there is no induced variance, \(S(SAR_0) \approx 1\) and BMP collapses back toward Patell. Construction: step one computes the Patell SARs of the prediction-error-corrected form above; step two runs a cross-sectional t-test on those SARs (the "hybrid" or standardized cross-sectional test). Assumptions still required: cross-sectional independence of the SARs (it does not fix clustering, which needs the adjustment below) and approximate normality of the SAR cross-section (Boehmer, Musumeci, and Poulsen, 1991). Distributed \(t_{N-1}\). In its textbook form the statistic is the cross-sectional mean of the standardized returns over their standard deviation:
\[ t = \sqrt{N}\, \frac{\overline{SAR}_{0}}{S(SAR_{0})}, \quad S^{2}(SAR_{0}) = \frac{1}{N-1} \sum_{i=1}^{N}\!\left( SAR_{i,0} - \overline{SAR}_{0} \right)^{2} \](This is algebraically identical to \(t = ASAR_0 / (\sqrt{N}\, S(SAR_0))\) because \(ASAR_0 = N\,\overline{SAR}_0\).) For the event window the standardized cumulative return uses the forecast-error-corrected \(CAR\) standard deviation:
\[ t = \sqrt{N}\, \frac{\overline{SCAR}}{S(SCAR)}, \quad SCAR_{i} = \frac{CAR_{i}}{S(CAR_{i})}, \quad S^{2}(CAR_{i}) = L_{2}\, S^{2}_{AR_{i,0}} \]Adjusted Standardized Cross-Sectional T (Kolari-Pynnonen)
Augments the BMP test with the same cross-correlation adjustment as the Adjusted Patell, restoring correct size under event clustering. This is the headline contribution of Kolari and Pynnonen (2010): the single statistic now handles both event-induced variance (inherited from BMP) and cross-correlation (the new deflation term), and it extends cleanly to multi-day \(CAR\) testing, which is why it is the recommended default whenever events cluster (Kolari and Pynnonen, 2010). Distributed \(t_{N-1}\).
\[ t_{\text{adj}} = t \cdot \sqrt{\frac{1 - \bar{r}}{1 + (N-1)\,\bar{r}}} \]Skewness Corrected T (Hall 1992)
Applies a polynomial transformation in the sample skewness so the t-statistic's distribution is closer to normal, improving size when abnormal returns are skewed (relevant for longer windows and smaller samples). The same skewness-adjusted polynomial originates with Johnson (1978). Assumptions: independent abnormal returns whose departure from normality is captured by third-moment skewness alone; it does not address kurtosis, induced variance, or clustering.
\[ t = \sqrt{N}\, \left( S + \tfrac{1}{3}\,\gamma\, S^{2} + \tfrac{1}{27}\,\gamma^{2}\, S^{3} + \tfrac{1}{6N}\,\gamma \right) \] \[ \gamma = \frac{N}{(N-2)(N-1)} \sum_{i=1}^{N} \frac{(AR_{i,0} - AAR_{0})^{3}}{S^{3}_{AAR,0}}, \quad S = \frac{AAR_{0}}{S_{AAR,0}} \]Non-parametric tests
Sign Z
Asks whether the count of positive abnormal returns exceeds what chance alone (a 50/50 split) would produce; robust to skewness, weaker for longer windows. Assumptions: signs are independent across firms and the null positive probability is exactly \(0.5\), which fails when returns naturally drift, so the plain sign test can be misspecified for drifting samples (the defect the generalized version fixes). The basic sign test is classical and in event studies traces to Brown and Warner (1985). Distributed \(N(0,1)\).
\[ z = \frac{w - N \cdot 0.5}{\sqrt{N \cdot 0.5 \cdot 0.5}} \]where \(w\) is the number of positive \(AR_{i,0}\) (or positive \(CAR_i\)).
Generalized Sign Z (Cowan 1992)
Replaces the 0.5 benchmark with \(\widehat{p}\), the empirical positive fraction estimated from the estimation window, which corrects for any natural asymmetry or drift in the return distribution: it judges the count of winners against the group's own historical win rate rather than a naive coin flip. Assumptions: independence of signs across firms; the estimation-window positive fraction is a valid null benchmark; a binomial-to-normal approximation for the count, which needs a reasonable \(N\). Documented properties: well specified for both exchange-listed and NASDAQ stocks, robust to right-skewness, and more stable than the rank test as the window lengthens, under higher variance, and under thin trading, at the cost of lower power than the rank test under ideal conditions; it ignores magnitude entirely, so it is weaker when effects are concentrated in size (Cowan, 1992). Following the standard implementation, \(\widehat{p}\) is the average across firms of each firm's estimation-window positive fraction. Distributed \(N(0,1)\).
\[ z = \frac{w - N \cdot \widehat{p}}{\sqrt{N \cdot \widehat{p}(1 - \widehat{p})}}, \quad \widehat{p} = \frac{1}{N}\sum_{i=1}^{N}\frac{1}{M_i}\sum_{t=T_0}^{T_1}\mathbf{1}\!\left[AR_{i,t} > 0\right] \]Corrado Rank Test (Corrado 1989)
Pools each firm's estimation and event window, converts every abnormal return to a scaled rank, and asks whether the event-day mean rank sits unusually far from its midpoint of 0.5. The null standard deviation \(S_{\bar{K}}\) is computed from the time series of cross-sectional mean ranks over the whole pooled window, not from the event day alone, which is the source of its excellent specification under non-normality. Assumptions: abnormal returns are exchangeable under the null; crucially it does not require the cross-sectional distribution to be symmetric (an advantage over the sign test), and it makes no normality assumption. Documented properties and limits: better specified and more powerful than the t-test under non-normality and the best-specified non-parametric test for single-day windows, but power deteriorates for multi-day cumulative windows and it can be misspecified under event-induced variance and thin trading; the Corrado and Zivney (1992) re-standardization and the later generalized rank test are the fixes (Corrado, 1989; Corrado and Zivney, 1992). Distributed \(N(0,1)\).
\[ K_{i,t} = \frac{\operatorname{rank}(AR_{i,t})}{1 + M_{i} + L_{2,i}}, \quad \bar{K}_{t} = \frac{1}{N_{t}} \sum_{i=1}^{N} K_{i,t} \] \[ z = \frac{\bar{K}_{0} - 0.5}{S_{\bar{K}}}, \quad S_{\bar{K}}^{2} = \frac{1}{L_{1}+L_{2}} \sum_{t=T_{0}}^{T_{2}}\!\left( \bar{K}_{t} - 0.5 \right)^{2} \]Generalized Rank T (Kolari-Pynnonen 2011)
Accounts for cross-sectional and serial correlation as well as event-induced volatility, the most robust of the lot (Kolari and Pynnonen, 2011). It works on generalized standardized abnormal returns (\(GSAR\)): the cumulative-return window is re-standardized by the cross-sectional standard deviation of the standardized abnormal returns, so for a single event day \(GSAR\) equals the Patell \(SAR\). The event day is indexed \(L_1 + 1\), one position after the \(L_1\) estimation-window observations. Ranks of the \(GSAR\) are demeaned and scaled, then transformed; the resulting statistic is Student-t with \(L_1 - 1\) (that is, \(T - 2\)) degrees of freedom. Assumptions: exchangeability of the generalized standardized returns under the null; it requires neither normality nor constant variance, which is what makes it the single most robust statistic in the battery and the natural non-parametric counterpart to the adjusted BMP.
\[ U_{i,t} = \frac{\operatorname{rank}(GSAR_{i,t})}{L_{1}+2} - 0.5, \quad \bar{U}_{t} = \frac{1}{N} \sum_{i=1}^{N} U_{i,t} \] \[ t = Z \cdot \sqrt{\frac{L_{1} - 1}{L_{1} - Z^{2}}}, \quad Z = \frac{\bar{U}_{L_{1}+1}}{S_{\bar{U}}} \]Generalized Rank Z
Simpler normal-approximation variant of the Generalized Rank T, using the closed-form variance of the demeaned scaled rank. Distributed \(N(0,1)\).
\[ z = \frac{\bar{U}_{L_{1}+1}}{S_{\bar{U}_{L_{1}+1}}}, \quad S_{\bar{U}_{L_{1}+1}}^{2} = \frac{L_{1}}{12\, N\,(L_{1}+2)} \]Wilcoxon Signed-Rank (Wilcoxon 1945)
Tests whether the distribution of \(AR_{i,0}\) is symmetric about zero (its central location is zero), using signed ranks so that both the sign and the magnitude of each abnormal return enter. It is preferred over the plain sign test when magnitudes are informative and over the Corrado rank test when only the event-day cross-section is of interest. Assumptions: the abnormal returns are independent and the distribution is symmetric under the null; a large-sample normal approximation is used. It is not available for the \(CAAR\) null.
\[ W = \sum_{i=1}^{N} \operatorname{sgn}(AR_{i,0}) \cdot \operatorname{rank}(|AR_{i,0}|), \quad E[W] = 0, \quad \operatorname{Var}[W] = \frac{N(N+1)(2N+1)}{6} \]Permutation (randomization) Test
Resampling-based and distribution-free: the chosen statistic is recomputed many times under reshuffled event-day labels (or re-drawn pseudo-event days), and the \(p\)-value is the fraction of resampled statistics at least as extreme as the observed one. Concretely, recompute the statistic \(B\) times and set \(p = \#\{\,|\text{stat}^{*}| \ge |\text{stat}_{\text{obs}}|\,\}/B\). The approach is robust to non-normality (unlike the t-test) and exact at any sample size, but computationally more expensive; it follows the randomization argument of Corrado (1989) and the bootstrap-in-event-studies literature (Kramer, 2001).
Cumulative-window approaches
Each test above has a cumulative analog for the \(CAAR\) null: cumulative sign and generalized sign, cumulative BMP and Kolari-Pynnonen, and a cumulative rank statistic (CUMRANK-T/Z), matching the CAAR output of the analysis engine. The Wilcoxon test is the exception, as it is not defined for the CAAR null. Once abnormal returns are established as significant, a second stage typically explains their size: regressing \(CAR\) on firm characteristics with heteroskedasticity-robust standard errors, or comparing \(CAR\) across groups with a Welch t-test (two groups) or Welch ANOVA (three or more).
Long-horizon inference is a different problem
Everything above is built for short windows of a few days, where the bad-model problem is mild and the central-limit machinery behaves. Over horizons of one to five years the inference problem changes character, and the same tests are no longer reliable. Two tools dominate. Buy-and-hold abnormal returns (BHAR) compound each firm's return over the long window and subtract a matched benchmark, then test the cross-sectional mean; the difficulty is that long-run BHAR distributions are badly skewed and the t-test is misspecified, so skewness-adjusted or bootstrapped critical values are needed (Fama, 1998). The calendar-time portfolio approach (the Jaffe-Mandelker construction) instead forms a portfolio of all firms currently in event time each calendar month and tests its mean abnormal return against a factor model; because it aggregates in calendar time it automatically handles the cross-sectional dependence that overwhelms BHAR when events cluster, which is why it is the canonical remedy for heavy clustering. The deeper issue is the bad-model problem: at long horizons small errors in the expected-return model cumulate into large spurious abnormal returns, so long-run results are far more sensitive to the benchmark than short-run ones, and the literature treats them with corresponding caution. The expected-return benchmarks themselves (market, Fama-French, mean-adjusted, Scholes-Williams, GARCH) are detailed on the companion expected-return models page.
Worked example: from a formula to an ARC output
Consider a study of \(N = 50\) firms with an estimation-window length \(L_1 = 250\) and a one-day event window, where the average event-day abnormal return is \(AAR_0 = 1.2\%\). Suppose the cross-sectional standard deviation of the event-day abnormal returns is \(S_{AAR,0} = 3.3\%\), the cross-sectional standard deviation of the Patell-standardized returns is \(S(SAR_0) = 1.15\), the average standardized return is \(\overline{SAR}_0 = 0.37\), the summed standardized return gives a Patell aggregate, and 34 of the 50 abnormal returns are positive. These are exactly the quantities ARC reports in its test-statistics table, so each line below maps a formula on this page to one cell of that output.
- Cross-Sectional T: \(t = \sqrt{50}\,(0.012/0.033) \approx 2.57\). With \(t_{49}\) critical value \(\approx 2.01\), reject \(H_0\) at 5% two-sided.
- Patell Z: aggregating the standardized returns yields a Patell \(z \approx 2.6\). Against \(N(0,1)\), \(|z| > 1.96\) rejects \(H_0\) at 5% two-sided.
- BMP t: \(t = \sqrt{50}\,(0.37/1.15) \approx 2.27\). Against \(t_{49}\), this rejects \(H_0\) at 5%, but by a smaller margin, reflecting that BMP does not assume the event leaves variance unchanged.
- Sign Z: with \(w = 34\) positives, \(z = (34 - 25)/\sqrt{50 \cdot 0.25} = 9/3.54 \approx 2.55\), which also rejects at 5%.
Now suppose these 50 firms all reacted to one shared regulatory announcement, with an average pairwise correlation \(\bar{r} = 0.05\) among their estimation-window abnormal returns. The Kolari-Pynnonen deflation factor is \(\sqrt{(1 - 0.05)/(1 + 49 \cdot 0.05)} = \sqrt{0.95/3.45} \approx 0.525\), so the BMP statistic falls from \(2.27\) to about \(1.19\) and no longer rejects at 5%. The original "significance" was an artifact of treating 50 clustered firms as 50 independent observations. All four unadjusted tests agree here, which is the reassuring case; when tests disagree, the rule is to favor the more robust statistic that matches the suspected threat (BMP or Adjusted BMP under event-induced variance or clustering, a rank test under non-normality) and to report the disagreement rather than cherry-pick.
What a significance test does here, in one breath
An event study measures how much a piece of news moved a stock's price. A significance test then answers one question: is that movement big enough to take seriously, or could it just be normal market noise? In plain terms, it separates a real reaction from random luck.
- A significance test checks whether an average abnormal return is far enough from zero to be more than chance.
- An abnormal return is the part of a day's return that the normal market cannot explain. A return is just the percentage change in a stock's price over a day.
- How big the "abnormal" part looks depends on the model used to predict the normal return, so it is measured against an assumption, not read straight off a chart.
- There are several tests because real stock returns break the simplest one in three known ways.
- A good default: run one standard test and one outlier-proof test, then report both.
- You do not compute any of this by hand. ARC runs every test below for free on your own data.
The idea before any formula
Start with one number. A return is the percentage change in a stock's price over a day. The abnormal return is the gap between what a stock actually returned on the event day and what it would have returned if nothing special had happened. We call that second part the expected return, and we predict it from how the whole market moved that day. If the gap is positive, the stock beat expectations. If it is negative, it fell short.
One caution to fix early. The expected return is a prediction from a model, not a fact. How big the "abnormal" part looks depends on the model we use to predict the normal return, so it is measured against an assumption, not read straight off the chart. A different model can give a slightly different abnormal return. The comprehensive sections below spell out those models.
One firm is a weak signal. So an event study usually looks at many firms that had the same kind of event, such as a merger or an earnings surprise. We average their abnormal returns on the event day. That average is the average abnormal return, written AAR for short. Two simple moves combine these numbers, and it helps to keep them apart:
- Adding across days (one firm, several days). For a single firm, add up its daily abnormal returns across the event days. That sum is the firm's cumulative abnormal return, or CAR. It is the event's total effect on that one firm.
- Averaging across firms. Average those CARs across all the firms, and you get the cumulative average abnormal return, or CAAR. It is the typical total effect across the group.
So CAR adds across time, and CAAR averages across firms. The same two moves give AAR (averaging single-day abnormal returns across firms) and CAAR (averaging multi-day CARs across firms).
The average is almost never exactly zero. So we need a rule for deciding whether it is far enough from zero to matter. That rule is the significance test. Every test in this guide compares the average to a measure of how much the firms scatter, then asks: would a gap this big show up by accident, if the event truly had no effect?
The courtroom way to think about it
A significance test works like a fair trial. We start by assuming the event did nothing, the way a court assumes a defendant is innocent. This starting assumption is the null hypothesis: "the event had no effect." The abnormal returns are the evidence. We only reject the assumption if the evidence is strong enough to convince us.
The strength of the evidence is summed up in a number called the p-value. Read it carefully: the p-value is how often a result at least this extreme would appear by chance if the event had no effect. If that is rare, say below 5 percent, we call the effect significant. The 5 percent line is just a threshold we agree on in advance.
Here is the trap the courtroom picture warns you about. A "not guilty" verdict does not prove innocence. It only means the evidence was too weak to convict. In the same way, a result that is not significant does not prove the event had zero effect. It only means we could not rule out luck. Treating "not significant" as proof of "no effect" is the single most common beginner mistake.
Two more cautions worth fixing now:
- The p-value is not the probability that the event had no effect. It is calculated by assuming no effect, so it cannot also be a verdict on that assumption.
- "Significant" does not mean "large" or "important." It means a result this strong would rarely show up if the event had no effect, so it is strong evidence against "no effect," not a guarantee the effect is real. Whether it is big enough to matter is a separate question.
A tiny worked example you can follow
Suppose five firms all announced on the same day, and ARC reported these abnormal returns for the event day:
- Firm A: +2.0%
- Firm B: +1.0%
- Firm C: +3.0%
- Firm D: 0.0%
- Firm E: +1.0%
Step 1, the average. Add them up and divide by five: (2.0 + 1.0 + 3.0 + 0.0 + 1.0) divided by 5 equals 7.0 divided by 5, which is +1.4%. This average abnormal return is positive, so on average the event lifted these stocks.
Step 2, the scatter. The values sit between 0 and 3 percent, so they spread out by a bit over 1 percent around the average. The test compares the +1.4% average to that spread. A clear average with a small spread points to a real effect. A small average with a wide spread looks like noise.
Step 3, the verdict. The test turns "average versus spread" into a single score, then into a p-value. If the p-value is below 5 percent, we call the +1.4% significant: a gap this clean would rarely appear if the event had truly done nothing. The fancier tests below follow the same spirit. They just measure the spread more carefully, so volatile firms and extreme days cannot fool the result.
Why there is more than one test
If you stop reading here, you already have the core idea. The rest fills in why one test is not enough. The simplest test trusts three things about stock returns that often are not true. Each well-known test exists to repair one of these cracks:
- Returns are not bell-shaped. Daily returns have fat tails: extreme days happen more often than a tidy bell curve allows. One crash day can hijack an average. The rank and sign tests fix this by working with order or direction instead of exact sizes.
- The event itself adds volatility. Here volatility just means how much a stock's return jumps around from day to day. News makes a stock jumpier on the announcement day, so the calm pre-event period understates the real wobble. The BMP test fixes this by measuring the wobble live, on the event day.
- Firms can move together. When 200 firms react to one shared event, they are not 200 independent voices. Ignoring that makes a test too quick to claim significance. A clustering adjustment fixes this.
Two families of tests, in plain words
The tests split into two families, and the names sound harder than the idea:
- Parametric tests assume the returns roughly follow a bell-curve shape, then use that shape to judge the average. The cross-sectional t-test, Patell Z and BMP are parametric. They are powerful when the bell-curve assumption holds.
- Non-parametric tests make no bell-curve assumption. They use only the order (ranks) or the direction (signs) of the abnormal returns, so a few wild days cannot distort them. The Corrado rank test and the generalized sign test are non-parametric.
The honest house rule is to run one of each and report both. When a parametric and a non-parametric test point the same way, that agreement is the real evidence. Below is a one-line tour of the main tests, with a working picture for each. The formulas live in the comprehensive sections further down this page.
One word you will need in that tour: the event window. It is the short stretch of days around the news that we actually study, for example the event day itself plus a day on each side. A short window is roughly a day or a few days. A long window stretches over many days or weeks. This matters because some tests stay reliable over long windows while others lose their edge, as the picks below note.
Cross-sectional t-test (parametric): average versus disagreement
Here "cross-sectional" just means "across the different firms." This test asks whether the average abnormal return is far from zero, compared with how much the firms disagree with each other on the event day. It is the same average-versus-spread test you met in intro stats, applied to a column of abnormal returns. Picture: you weigh 50 apples meant to average 100 grams, and they average 108. Is that a real bias or just because apples vary? You judge the 8 gram gap against how much the apples scatter. Remember: simple, but it assumes every firm is equally noisy and independent, which is often false. Treat it as a baseline, not a verdict.
Patell Z (parametric): put every firm on the same scale first
This test shrinks each firm's surprise by its own usual day-to-day wobble, then averages those scaled surprises. In the plain t-test a naturally jumpy firm's big move looks impressive even when it is normal for that firm. Patell scales each firm first, so calm firms count more and jumpy firms count less. Picture: comparing exam improvements across classes graded on different scales. A gain of 5 points means more in a class where everyone scores within a point than in a wild-swinging class, so you divide each gain by that class's own typical swing before averaging. Remember: fairer than the plain t-test, but it still assumes the event does not change anyone's volatility. That assumption is exactly what the next test repairs.
BMP test (parametric): a yardstick that stretches with the noise
BMP does the same scaling as Patell, but it checks the scaled average against how much the scaled scores actually scatter on the event day, so a noisy event widens the yardstick on its own. Almost every announcement makes returns more volatile that day. Patell ignores that and can flag "significance" that is really just extra noise. BMP, named for Boehmer, Musumeci and Poulsen, lets the event-day data say how much volatility the event added. Picture: a teacher scales everyone's improvement into fair scores (Patell). But on test day the whole class was caffeinated and erratic, so scores swung more than usual. Instead of last month's typical swing, BMP measures today's actual swing and judges the average against that. Remember: BMP is Patell's fair scaling plus a self-adjusting yardstick. That is why it has become the standard parametric test for short windows. Make it your default headline statistic.
Corrado rank test (non-parametric): how unusual, not how big
This test forgets the exact return numbers and their fat tails. It ranks each firm's event-day return against its own history and asks whether today landed unusually high or low for that firm. Because returns are not bell-shaped, a single freak day can dominate an average. Ranks throw away the messy magnitudes and keep only the order, which is immune to outliers and needs no bell curve. Picture: judging a sprinter's good day. Her raw times in seconds get distorted by one gust of wind, so instead you rank each race from slowest to fastest. If today lands in her top 1 percent of all races, that is a strong signal, whatever the raw seconds. Remember: for a single event day this is the best-behaved and most powerful outlier-proof test. The plain rank test handles fat tails and outliers well, but its original form does not fix the event-induced volatility that BMP targets. The standardized (Corrado-Zivney) form adds that fix, so the plain rank test is BMP's natural companion rather than its exact equal on that one axis. Pairing the two is exactly the one-parametric-plus-one-non-parametric house rule.
Generalized sign test (non-parametric): winners against an honest baseline
This test just counts directions. It asks how many firms had a positive abnormal return on the event day, and whether that is more than this group's normal tendency to be positive. The plain sign test assumes a fair coin, exactly half the firms positive by chance. But many stocks naturally drift up, so half is the wrong baseline. The generalized sign test, from Cowan, replaces the coin with each sample's own historical share of positive days. Picture: a basketball player who normally sinks 60 percent of free throws. Judging her against "50 percent expected" would call every average night a triumph. You set her baseline at 60 percent and ask whether tonight beats that. Remember: it ignores size entirely, so a tiny and a huge positive count the same. That makes it weaker than the rank test, but steadier over long event windows and for thinly traded stocks. A thinly traded stock is one that changes hands rarely, so its prices update in fits and starts, which upsets tests that lean on day-to-day sizes.
One advanced warning worth knowing: shared events
Every test above quietly assumes the firms are independent. That breaks when many firms react to the same event, like 200 banks responding to one central-bank announcement. Their abnormal returns then move together, so 200 firms carry far less than 200 firms' worth of independent information.
Picture: you poll "1,000 people" about a film, but they all watched it together in one room and chatted the whole time. Their opinions are linked, so you really polled far fewer than 1,000 independent minds, and your margin of error is wider than the count suggests.
The Kolari-Pynnonen adjustment rescales a test by how much the firms move together, so clustered firms count as the smaller number of independent observations they really are. You do not need the math to use it: ARC offers the adjusted versions when your events cluster. The full treatment is in the comprehensive sections on this page.
Which test should I start with?
You do not have to choose just one, and you should not. The honest house rule is simple:
- Run one standard (parametric) test: the BMP test. It is the modern default and stays valid when the event itself adds volatility.
- Run one outlier-proof (non-parametric) test: the Corrado rank test for short windows, or the generalized sign test for long windows or thinly traded stocks.
- Report both, and trust agreement. When a standard test and an outlier-proof test point the same way, that agreement is the real evidence.
- If your events cluster on shared dates, switch to the Kolari-Pynnonen adjusted versions, which ARC provides.
For a fuller pick by sample type, see the "Which test should I use?" chooser table higher on this page.
Quick glossary
The plain-word meanings of the load-bearing terms, gathered for scanning:
- Return: the percentage change in a stock's price over a day.
- Abnormal return (AR): the part of a day's return the normal market cannot explain, measured against a chosen model.
- Average abnormal return (AAR): the abnormal return averaged across firms on a given day.
- Cumulative abnormal return (CAR): one firm's abnormal returns added up across the event days.
- Cumulative average abnormal return (CAAR): the CARs averaged across all firms.
- Volatility: how much a stock's return jumps around from day to day.
- Event window: the short stretch of days around the news that we study; short means a day or a few, long means many.
- Parametric test: a test that assumes a bell-curve shape for the returns.
- Non-parametric test: a test that makes no bell-curve assumption, using only order (ranks) or direction (signs).
- Thinly traded: a stock that changes hands rarely, so its prices update in fits and starts.
- Cross-sectional: "across the different firms," as opposed to across days.
- p-value: how often a result this extreme would appear by chance if the event had no effect.
Next steps
Ready for the formal treatment? Switch to the comprehensive version with the reading-level control at the top of the page, or read on into the full sections below. There you will find every formula, each test's exact null distribution, the variance corrections, the worked example, and the clustering math, all with citations to the original papers.
Want to try it on real data? Run the entire battery of tests, for free, on your own returns in ARC. It computes the abnormal returns, every test above, and the clustering adjustments, then reports the p-values for you.
New to the wider method? Start with an introduction to event study methodology, then read how to interpret a CAAR and a Patell Z.
References
- Brown, S. J., and J. B. Warner. 1985. "Using Daily Stock Returns: The Case of Event Studies." Journal of Financial Economics 14 (1): 3-31. https://doi.org/10.1016/0304-405X(85)90042-X
- Boehmer, E., J. Musumeci, and A. B. Poulsen. 1991. "Event-Study Methodology Under Conditions of Event-Induced Variance." Journal of Financial Economics 30 (2): 253-272. https://doi.org/10.1016/0304-405X(91)90032-F
- Corrado, C. J. 1989. "A Nonparametric Test for Abnormal Security-Price Performance in Event Studies." Journal of Financial Economics 23 (2): 385-395. https://doi.org/10.1016/0304-405X(89)90064-0
- Corrado, C. J., and T. L. Zivney. 1992. "The Specification and Power of the Sign Test in Event Study Hypothesis Tests Using Daily Stock Returns." Journal of Financial and Quantitative Analysis 27 (3): 465-478. https://doi.org/10.2307/2331331
- Cowan, A. R. 1992. "Nonparametric Event Study Tests." Review of Quantitative Finance and Accounting 2 (4): 343-358. https://doi.org/10.1007/BF00939016
- Cowan, A. R., and A. M. A. Sergeant. 1996. "Trading Frequency and Event Study Test Specification." Journal of Banking & Finance 20 (10): 1731-1757. https://doi.org/10.1016/S0378-4266(96)00021-0
- Fama, E. F. 1998. "Market Efficiency, Long-Term Returns, and Behavioral Finance." Journal of Financial Economics 49 (3): 283-306. https://doi.org/10.1016/S0304-405X(98)00026-9
- Hall, P. 1992. "On the Removal of Skewness by Transformation." Journal of the Royal Statistical Society: Series B (Methodological) 54 (1): 221-228. https://doi.org/10.1111/j.2517-6161.1992.tb01875.x
- Johnson, N. J. 1978. "Modified t Tests and Confidence Intervals for Asymmetrical Populations." Journal of the American Statistical Association 73 (363): 536-544. https://doi.org/10.1080/01621459.1978.10480051
- Kolari, J. W., and S. Pynnonen. 2010. "Event Study Testing with Cross-sectional Correlation of Abnormal Returns." Review of Financial Studies 23 (11): 3996-4025. https://doi.org/10.1093/rfs/hhq072
- Kolari, J. W., and S. Pynnonen. 2011. "Nonparametric Rank Tests for Event Studies." Journal of Empirical Finance 18 (5): 953-971. https://doi.org/10.1016/j.jempfin.2011.08.003
- Kothari, S. P., and J. B. Warner. 2007. "Econometrics of Event Studies." In Handbook of Empirical Corporate Finance, vol. 1, ch. 1, 3-36. Elsevier. https://doi.org/10.1016/B978-0-444-53265-7.50015-9
- Kramer, L. A. 2001. "Alternative Methods for Robust Analysis in Event Study Applications." In Advances in Investment Analysis and Portfolio Management, vol. 8, 109-132.
- MacKinlay, A. Craig. 1997. "Event Studies in Economics and Finance." Journal of Economic Literature 35 (1): 13-39. https://www.jstor.org/stable/2729691
- Patell, J. M. 1976. "Corporate Forecasts of Earnings Per Share and Stock Price Behavior: Empirical Test." Journal of Accounting Research 14 (2): 246-276. https://doi.org/10.2307/2490543
- Schipper, K., and K. G. Smith. 1983. "Effects of Recontracting on Shareholder Wealth: The Case of Voluntary Spin-Offs." Journal of Financial Economics 12 (4): 437-467. https://doi.org/10.1016/0304-405X(83)90043-0
- Wilcoxon, F. 1945. "Individual Comparisons by Ranking Methods." Biometrics Bulletin 1 (6): 80-83. https://doi.org/10.2307/3001968
See the full bibliography for all sources cited across the site.
Apply the tests and go deeper
Apply this to your own data, free. The ARC calculator runs every model and test on this page from a CSV upload and returns AR, CAR, CAAR, the Patell Z and BMP.
Run it free in ARC →Step-by-step tutorials that use these tests:
- Interpreting CAAR and the Patell Z-statistic: what each number means and when to prefer Patell Z, BMP or a simple t-test.
- How to run an event study in R: the cross-sectional t, Patell Z and BMP coded step by step.
- How to run an event study in Python: the same tests with pandas, numpy and statsmodels.
- A worked M&A event study: which test to report when an announcement raises volatility.
See also Expected-return models for the benchmark that produces the abnormal returns these tests evaluate.
Last reviewed: June 29, 2026. Maintained by EventStudyTools since 2014.