12.3 Aggregating across events and firms
Suppose there are events (or firms), each with its own , and .
12.3.1Tests under independence#
J1 (MacKinlay) Assume the CARs are independent across :
Cross-sectional Estimate the variance of from the cross-section itself:
This is robust to event-induced variance but ignores the precision differences across firms.
Proposition 12.3Patell test
Under the assumptions of Proposition 12.2 and independence across , with ,
Proof
By Proposition 12.2 each with , which has mean 0 and variance . The are independent with identical mean and variance. The Lindeberg–Lévy CLT applies to their sum, which has variance .∎
This is the multi-day version used by Campbell, Lo and MacKinlay (their ). Patell (1976, J. Accounting Research 14(2) [V]) standardised each day's AR by (12.7) and summed. Standardising gives more weight to precisely estimated, low-variance firms, so it is more powerful than J1 when firm variances differ.
12.3.2Event-induced variance and BMP#
Event-induced variance Suppose the event multiplies the disturbance variance in the event window by but has no mean effect. Then , while the estimate uses from calm times. So , and . The rejection rate at nominal 5% becomes , which is about 33% for . The same applies to J1. The tests mistake a volatility event for a mean event.
Proposition 12.4BMP test, Boehmer, Musumeci and Poulsen 1991
Let
If the event scales every firm's event-window variance by a common and has no mean effect, then as for any .
Proof
Under the stated alternative-variance null, the are i.i.d. with mean 0 and variance , whatever is. The sample variance in probability by the law of large numbers. by the CLT. Slutsky's theorem gives the result.∎
BMP keeps the efficiency gain from standardisation (precise firms weigh more) and the robustness of a cross-sectional variance. (Reference: J. Financial Economics 30(2):253–272 [V].)
Simulation evidence These figures come from m12_event_study.py: 30 firms, , window , idiosyncratic sd 1.5%, market factor from toolkit.data.synthetic_returns, nominal 5%, critical value 1.96.
| Scenario | J1 | Patell | BMP | Cross-sectional |
|---|---|---|---|---|
| No event (400 sims) | 5.8% | 5.5% | 7.3% | 7.3% |
| +2% day-0 effect (200 sims) | 100% | 99.5% | 99.5% | 99.5% |
| +0.5% day-0 effect (400 sims) | 21.8% | 21.5% | 20.5% | 20.5% |
| Variance ×4 in window, no mean effect (400 sims) | 28.8% | 29.3% | 6.5% | 5.8% |
The slight over-rejection of BMP and the cross-sectional under the null comes from using 1.96 instead of the critical value 2.045. With , the cross-sectional standard deviation is itself noisy.
12.3.3Clustering and other caveats#
Clustering and cross-correlation All of (12.10)–(12.13) assume independence across . Geopolitical events are the extreme case of event clustering: every stock reacts on the same calendar day. Common shocks not captured by the market model (sector, oil, rupee) then correlate the ARs. If the average pairwise correlation of abnormal returns is ,
With and the variance is 3.9 times what independence assumes, so -statistics are about twice too large. Remedies:
- Form a portfolio of the event firms and run a single time-series test on its return, which builds the correlation into .
- Use the Kolari–Pynnönen (2010) adjustment of BMP, which multiplies by , with the average estimation-window residual correlation (Rev. Financial Studies 23(11):3996–4025 [V]).
- Add the common factors (Brent, USDINR) to the normal-return model.
Other caveats
- Overlapping windows. Two events whose windows overlap (for example a war and a tariff truce) are not separately identified. The 12 May 2025 Nifty jump coincided with both the India–Pakistan ceasefire and the US–China tariff truce. No event study can split the two on that day's data alone.
- Anticipation and leakage. If information leaks, the effect appears before . Widen the window to the left, or use intraday data around the timestamp. In 2026 there were press reports of large oil-futures positions placed shortly before official statements on Iran [S]. Treat such reports as a reason for caution about day-0 timing, not as established fact.
- Volatility changes after the event. These bias post-event tests that use pre-event . Re-estimate on a post-event window, or use BMP.
- Multiple testing. Running many windows and many assets will find "significant" CARs by chance (M04 on multiple testing). Fix the window and the asset list before looking at the data.