# Event Study: [Event type and sample, for example earnings announcements of listed toolmakers]

> Write-up template for a short-window event study that measures how
> security prices react to an event: earnings announcements, mergers and
> acquisitions, dividend changes, rating changes, regulatory decisions or
> index inclusions. It covers the event definition, date verification,
> sample selection and confounding-event screen, estimation and event
> windows, the normal return model, abnormal and cumulative abnormal
> returns, parametric and non-parametric tests, cross-sectional analysis,
> robustness and the data and code record. The method follows the
> established event-study literature (Fama, Fisher, Jensen and Roll 1969;
> Brown and Warner 1985; MacKinlay 1997); the formulas are standard
> statistics written in our own notation. Replace every `[bracketed]` value
> and every row marked *Example*. This is a document format, not
> investment, financial or legal advice; the example firm "Halvard Tools"
> and all numbers are fictional.

<!--
Guidance: How to use this template
- Use it for a thesis chapter, a course project, a stand-alone paper
  section or an analyst's internal study. For a full journal manuscript,
  embed the result in the Empirical Finance Paper template
  (`academic/empirical-finance-paper`).
- Fill in this order: event definition (section 1), event date table
  (section 2), windows (section 4), model choice (section 5), then run
  the analysis and complete sections 6 to 9.
- Fix the windows, the model and the tests before you look at the
  abnormal returns. Changing them after seeing results is a form of
  specification search; if you must change them, log the change in
  section 11.
- The worked numbers use one fictional firm-event (Halvard Tools) and a
  fictional sample of 120 events. Recompute every number when you replace
  them.
-->

## Document control

<!-- Guidance: Identify the study, the dataset version and who reviewed the method. -->

| Field | Value |
|---|---|
| Study ID | [ES-2026-001] |
| Study title | [Market reaction to event type in sample] |
| Event type | [*Example:* Quarterly earnings announcements] |
| Market and asset class | [*Example:* Listed equities, one exchange, daily returns] |
| Sample period | [YYYY-MM-DD to YYYY-MM-DD] |
| Return frequency | [Daily / Intraday / Monthly] |
| Data vintage | [Database name and download date] |
| Version | [0.1] |
| Status | [Draft / In review / Final] |
| Owner | [@author] |
| Approvers / reviewers | [@supervisor], [@co-author] |
| Last updated | YYYY-MM-DD |
| Classification | [Internal / Public] |

### Approvals

| Role | Name | Decision | Date |
|---|---|---|---|
| Author | [@name] | [Ready for review] | YYYY-MM-DD |
| Supervisor or reviewer | [@name] | [Approved / Changes requested] | YYYY-MM-DD |

### Revision history

| Version | Date | Author | Change summary |
|---|---|---|---|
| 0.1 | YYYY-MM-DD | [@author] | Design fixed: windows, model and tests |
| 0.2 | YYYY-MM-DD | [@author] | *Example:* Results added after running the pre-specified design |
| 1.0 | YYYY-MM-DD | [@author] | *Example:* Final after supervisor review |

## Contents

1. [Event definition and hypotheses](#1-event-definition-and-hypotheses)
2. [Event dates and sources](#2-event-dates-and-sources)
3. [Sample selection and confounding events](#3-sample-selection-and-confounding-events)
4. [Estimation and event windows](#4-estimation-and-event-windows)
5. [Normal return model](#5-normal-return-model)
6. [Abnormal and cumulative abnormal returns](#6-abnormal-and-cumulative-abnormal-returns)
7. [Test statistics](#7-test-statistics)
8. [Results](#8-results)
9. [Cross-sectional analysis](#9-cross-sectional-analysis)
10. [Robustness](#10-robustness)
11. [Limitations and deviations](#11-limitations-and-deviations)
12. [Data and code](#12-data-and-code)
13. [Glossary and references](#13-glossary-and-references)
14. [Standard and licence note](#14-standard-and-licence-note)

## 1. Event definition and hypotheses

<!-- Guidance: Define the event so precisely that two researchers would pick the same dates. State what new information the event reveals and which direction of price reaction each hypothesis predicts. Pitfall: a vague event ("news about the merger") that has many candidate dates. -->

### 1.1 Event definition

[Define the event, the information it conveys and the first moment the
market could know it. *Example:* The event is the first public release of
a firm's quarterly earnings, defined as the earliest timestamp of the
earnings press release or regulatory filing, whichever comes first.]

### 1.2 Research question and hypotheses

| ID | Hypothesis | Predicted sign of mean CAR | Rationale |
|---|---|---|---|
| EH-001 *(Example)* | Positive earnings surprises produce positive abnormal returns | Positive | Earnings above expectations raise expected future cash flows |
| EH-002 *(Example)* | The reaction is stronger for firms with low analyst coverage | Larger magnitude | Less information is already in the price before the release |
| EH-003 *(Example)* | There is no abnormal return after day plus 1 | Zero | Prices adjust quickly in a semi-strong efficient market |
| [EH-004] | [Hypothesis] | [Sign] | [Rationale] |

### 1.3 Information leakage and anticipation

[State whether the event could be anticipated or leaked (scheduled
earnings dates, merger rumours, regulatory consultation papers). This
drives the choice of a pre-event window in section 4.]

## 2. Event dates and sources

<!-- Guidance: Date errors are the most common reason event studies fail to find an effect. Verify each date against a primary source, record the time of day, and move after-close announcements to the next trading day. -->

### 2.1 Date verification

| Event ID | Firm | Announcement timestamp (local) | Source checked | Trading day 0 | Rule applied |
|---|---|---|---|---|---|
| EV-001 *(Example)* | Halvard Tools | YYYY-MM-DD 07:30, before open | Company press release and regulatory filing | Same day | Before open: day 0 is the announcement day |
| EV-002 *(Example)* | [Fictional firm B] | YYYY-MM-DD 16:45, after close | Regulatory filing | Next trading day | After close: day 0 is the next trading day |
| EV-003 *(Example)* | [Fictional firm C] | YYYY-MM-DD, time unknown | Newswire | Same day | Unknown time: day 0 is the announcement date; the (-1, +1) window already captures a next-day reaction; flag for robustness test ER-004 |
| [EV-004] | [Firm] | [Timestamp] | [Source] | [Day 0] | [Rule] |

### 2.2 Date rules

- Use exchange trading calendars, not calendar days.
- Record the time zone of every timestamp and of the exchange.
- When the database date and the primary source disagree, use the
  primary source and log the correction.
- When an event falls on a non-trading day, day 0 is the next trading day.

Review the date file before you compute any return. Draw a random sample
of at least 20 events and check each one by hand against the primary
source; if more than one or two dates are wrong, check the whole file.
Database announcement dates are often the date the record was entered,
which can lag the true release by a day or more, and a one-day error moves
the reaction out of a short window. For events released during trading
hours, decide whether day 0 is the release day (daily data) or whether you
need intraday data to separate the reaction from other news that day.
Keep the hand-checked dates in a versioned file and cite it in section 12.

## 3. Sample selection and confounding events

<!-- Guidance: Show the attrition from all candidate events to the final sample, and screen for other news in the event window. A dividend change on the same day as an earnings release makes the two impossible to separate. -->

### 3.1 Selection steps

| Step | Criterion | Events removed | Events remaining |
|---|---|---|---|
| 0 *(Example)* | All candidate events in the period | | 160 |
| 1 *(Example)* | Remove events without return data for the full estimation window | 18 | 142 |
| 2 *(Example)* | Remove events with a confounding announcement in the event window | 14 | 128 |
| 3 *(Example)* | Remove events where the stock did not trade on at least 80 percent of estimation days | 8 | 120 |
| Final *(Example)* | Event sample | | 120 |

### 3.2 Confounding-event screen

[List the news types you screened for (other earnings, dividends, mergers,
management changes, rating changes, litigation) and the sources searched
(newswire, filings database). State the screen window, usually the event
window plus a margin of one or two days.]

### 3.3 Event clustering

[State whether events cluster in calendar time (many firms on the same
date, or one regulatory event affecting a whole industry). Clustering
makes abnormal returns cross-correlated and invalidates simple tests; see
section 7.3.]

## 4. Estimation and event windows

<!-- Guidance: Fix the windows before looking at results. The estimation window must end before the event window starts so the event does not contaminate the normal return model. -->

| Window | Start (trading days relative to day 0) | End | Length | Purpose |
|---|---|---|---|---|
| Estimation *(Example)* | -250 | -31 | 220 days | Estimate normal return parameters |
| Gap *(Example)* | -30 | -11 | 20 days | Separate estimation from possible leakage |
| Pre-event *(Example)* | -10 | -2 | 9 days | Detect anticipation or leakage |
| Event *(Example)* | -1 | +1 | 3 days | Main window for CAR |
| Post-event *(Example)* | +2 | +20 | 19 days | Detect drift or reversal |

Check each length: from minus 250 to minus 31 inclusive is 220 days;
from minus 10 to minus 2 inclusive is 9 days; from plus 2 to plus 20
inclusive is 19 days.

```mermaid
flowchart LR
  A["Estimation window: day -250 to -31"] --> B["Gap: day -30 to -11"]
  B --> C["Pre-event: day -10 to -2"]
  C --> D["Event window: day -1 to +1"]
  D --> E["Post-event: day +2 to +20"]
```

## 5. Normal return model

<!-- Guidance: The normal return is what the security would have earned without the event. Choose the model before seeing results and justify it. For short windows with daily data the choice rarely changes conclusions; for long windows it matters a great deal. -->

### 5.1 Model choice

| Model | Expected return | When to use |
|---|---|---|
| Constant mean | The security's mean return over the estimation window | Simple benchmark; no market data needed |
| Market-adjusted | The market return on the same day | Short windows; no estimation window available |
| Market model | Intercept plus beta times the market return, estimated by OLS | Default for daily equity studies; for thinly traded stocks use Scholes-Williams or Dimson betas, which add lagged and leading market returns |
| Multi-factor | Market plus size, value and momentum factors | When the sample tilts to small or value firms, or for long windows |

Selected model: [*Example:* market model with the value-weighted
exchange index as the market proxy].

### 5.2 Market model

For security $i$ on day $t$ in the estimation window:

$$
R_{i,t} = \alpha_i + \beta_i R_{m,t} + \varepsilon_{i,t}, \qquad E[\varepsilon_{i,t}] = 0, \quad \operatorname{Var}(\varepsilon_{i,t}) = \sigma^2_{\varepsilon_i}
$$

Estimate $\hat{\alpha}_i$, $\hat{\beta}_i$ and $\hat{\sigma}_{\varepsilon_i}$
by ordinary least squares on the estimation window. Record the market
proxy, whether returns include dividends, and how missing days were
treated.

| Event ID | $\hat{\alpha}_i$ (daily) | $\hat{\beta}_i$ | $\hat{\sigma}_{\varepsilon_i}$ (daily) | Estimation days used |
|---|---|---|---|---|
| EV-001 *(Example)* | 0.0002 (0.02%) | 1.20 | 0.0160 (1.60%) | 218 of 220 |
| [EV-002] | [Value] | [Value] | [Value] | [Days] |

## 6. Abnormal and cumulative abnormal returns

<!-- Guidance: Show the formula, then one firm worked by hand so a reader can check your code. Then aggregate across events. -->

### 6.1 Definitions

$$
AR_{i,t} = R_{i,t} - \left(\hat{\alpha}_i + \hat{\beta}_i R_{m,t}\right)
$$

$$
CAR_i(t_1, t_2) = \sum_{t=t_1}^{t_2} AR_{i,t}
$$

$$
\overline{CAR}(t_1, t_2) = \frac{1}{N} \sum_{i=1}^{N} CAR_i(t_1, t_2)
$$

### 6.2 Worked example: one event

Event EV-001, Halvard Tools, market model from section 5.2
($\hat{\alpha} = 0.02\%$, $\hat{\beta} = 1.20$):

| Day | Market return | Expected return (0.02% + 1.20 x market) | Actual return | Abnormal return |
|---|---|---|---|---|
| -1 *(Example)* | 0.40% | 0.50% | 0.70% | 0.20% |
| 0 *(Example)* | 1.50% | 1.82% | 4.10% | 2.28% |
| +1 *(Example)* | -0.30% | -0.34% | 0.90% | 1.24% |
| CAR(-1, +1) *(Example)* | | | | 3.72% |

The CAR is 0.20% + 2.28% + 1.24% = 3.72%.

A simple test for this one event treats the daily abnormal returns as
independent with the estimation-window residual standard deviation. The
standard deviation of a three-day CAR is then
$1.60\% \times \sqrt{3} = 2.77\%$, and the t-statistic is
$3.72 / 2.77 = 1.34$. This ignores the small extra variance from
estimating $\hat{\alpha}$ and $\hat{\beta}$; with 218 estimation days the
adjustment is negligible, but state it in your write-up. One event rarely
gives a significant result on its own; the power of an event study comes
from aggregating across events.

### 6.3 Average abnormal returns by day

| Day | Mean AR | Median AR | Percentage positive | N |
|---|---|---|---|---|
| -1 *(Example)* | [Value] | [Value] | [Value] | 120 |
| 0 *(Example)* | [Value] | [Value] | [Value] | 120 |
| +1 *(Example)* | [Value] | [Value] | [Value] | 120 |

Plot the mean CAR from the start of the pre-event window to the end of
the post-event window, with a confidence band, as Figure 1.

## 7. Test statistics

<!-- Guidance: Report at least one parametric and one non-parametric test, and say why the chosen tests suit your data: event-induced variance, cross-correlation from clustering, thin trading or non-normal returns. -->

### 7.1 Cross-sectional t-test

Uses the dispersion of CARs across events, so it is robust to
event-induced variance but assumes events are independent:

$$
t = \frac{\overline{CAR}}{s_{CAR} / \sqrt{N}}
$$

where $s_{CAR}$ is the cross-sectional standard deviation of the
individual CARs.

*Example:* With N = 120 events, mean CAR(-1, +1) of 1.15% and a
cross-sectional standard deviation of 4.20%, the standard error is
$4.20\% / \sqrt{120} = 0.383\%$ and $t = 1.15 / 0.383 = 3.00$.

### 7.2 Choosing among tests

| Test | Handles | Use when | Reference |
|---|---|---|---|
| Cross-sectional t-test | Event-induced variance | Events independent, sample not tiny | Brown and Warner (1985) |
| Standardised residual (Patell) test | Different volatility across firms | No event-induced variance increase | Patell (1976) |
| Standardised cross-sectional (BMP) test | Event-induced variance and different volatility | Default parametric choice for daily data | Boehmer, Musumeci and Poulsen (1991) |
| Adjusted BMP test | Cross-correlation of abnormal returns | Events cluster in calendar time | Kolari and Pynnonen (2010) |
| Rank test | Non-normal returns | Small samples, skewed returns | Corrado (1989) |
| Generalised sign test | Outliers dominate the mean | Report alongside the t-test | Cowan (1992) |
| Portfolio or calendar-time approach | Complete clustering on one date | One regulatory event for many firms | MacKinlay (1997) discussion |

### 7.3 Clustering and dependence

[If many events share a date, form an equal-weighted portfolio of the
affected firms and treat it as one event, or use a test that adjusts for
cross-correlation. State which you used and why.]

Practical review points for the test section: report the test statistics
you chose before seeing the results, not the most favourable ones; show
the number of events behind every statistic, since events can drop out of
some windows; and check that the parametric and non-parametric tests agree
in sign. When they disagree, the mean is usually driven by a few large
abnormal returns, and the reader needs to see them. With daily data and
fewer than about 30 events, rely more on the rank and sign tests than on
the t-tests, whose normal approximation is then weak. When events cluster
on a few dates, say how many distinct calendar dates the sample covers;
120 events on 15 dates carry far less independent information than 120
events on 120 dates.

## 8. Results

<!-- Guidance: Lead with the main window. Report mean and median CAR, the number and share of positive CARs, and at least two test statistics. Interpret the magnitude in currency or market value terms. -->

### 8.1 Main window results

| Window | N | Mean CAR | Median CAR | Percentage positive | Cross-sectional t | [Second test] |
|---|---|---|---|---|---|---|
| (-1, +1) *(Example)* | 120 | 1.15% | [Value] | [Value] | 3.00 | [Value] |
| (-10, -2) *(Example)* | 120 | [Value] | [Value] | [Value] | [Value] | [Value] |
| (+2, +20) *(Example)* | 120 | [Value] | [Value] | [Value] | [Value] | [Value] |

### 8.2 Economic magnitude

[Convert the mean CAR into a market value change for a typical firm:
pre-event market capitalisation multiplied by the CAR. *Example:* for a
firm worth EUR 2.0 billion, a 1.15% CAR is a gain of about EUR 23 million.]

### 8.3 Interpretation

[Relate the results to each hypothesis in section 1.2: supported, not
supported, or inconclusive. Discuss the pre-event window for leakage and
the post-event window for drift.]

Common errors in interpreting results: reading a positive mean CAR as
support for a directional hypothesis when the sample mixes good and bad
news (split by the sign of the surprise first); treating a significant
pre-event CAR as leakage without checking for a confounding event; and
reading post-event drift as inefficiency when the normal return model may
simply be wrong over a longer window. For drift, show that the result
survives a multi-factor model (ER-002) before drawing conclusions, and
state the economic magnitude in money terms as in 8.2.

## 9. Cross-sectional analysis

<!-- Guidance: Explain why the reaction differs across events. Regress individual CARs on event and firm characteristics fixed before the event. Pitfall: using characteristics measured after the event. -->

$$
CAR_i(-1, +1) = \gamma_0 + \gamma_1 \, \text{Surprise}_i + \gamma_2 \, \text{LowCoverage}_i + \gamma_3 \, (\text{Surprise}_i \times \text{LowCoverage}_i) + Z_i' \theta + u_i
$$

EH-002 is a test of $\gamma_3 > 0$: a given surprise moves the price more when few analysts cover the firm. Without the interaction term the regression cannot test EH-002, because the main effect $\gamma_2$ only shifts the mean CAR of low-coverage firms whatever the sign of their surprise.

| Variable | Definition | Expected sign | Measured as of |
|---|---|---|---|
| Surprise *(Example)* | Actual minus consensus earnings per share, scaled by price | $\gamma_1$ positive | Actual EPS at day 0; consensus and price as of day minus 1 |
| LowCoverage *(Example)* | One if fewer than three analysts cover the firm | $\gamma_3$ positive (no prediction for the main effect $\gamma_2$) | Day minus 30 |
| Size *(Example)* | Log market capitalisation | Negative | Day minus 30 |
| [Variable] | [Definition] | [Sign] | [Date] |

Use heteroskedasticity-robust standard errors and cluster by calendar
date or industry when events cluster.

## 10. Robustness

<!-- Guidance: Show that the conclusion survives reasonable alternative choices. Pre-specify the list where you can. -->

| Test ID | Change | Result | Conclusion changed? |
|---|---|---|---|
| ER-001 *(Example)* | Market-adjusted model instead of market model | [Result] | [Yes / No] |
| ER-002 *(Example)* | Multi-factor model | [Result] | [Yes / No] |
| ER-003 *(Example)* | Estimation window minus 150 to minus 31 | [Result] | [Yes / No] |
| ER-004 *(Example)* | Exclude events with unknown announcement time | [Result] | [Yes / No] |
| ER-005 *(Example)* | Equal-weighted versus value-weighted market index | [Result] | [Yes / No] |
| [ER-006] | [Change] | [Result] | [Yes / No] |

## 11. Limitations and deviations

<!-- Guidance: Be specific: what could bias the result and in which direction. Log every change made to the design after results were seen. -->

### 11.1 Limitations

[Discuss date uncertainty, thin trading, overlapping events, the market
proxy, survivorship in the sample, and whether the event was partly
anticipated so that the measured reaction understates the full effect.]

### 11.2 Deviation log

| Deviation ID | Date | Change from the fixed design | Reason | Effect on results |
|---|---|---|---|---|
| DV-001 *(Example)* | YYYY-MM-DD | Added sign test | Two large outliers drove the mean | Conclusion unchanged |
| [DV-002] | YYYY-MM-DD | [Change] | [Reason] | [Effect] |

## 12. Data and code

<!-- Guidance: Record enough for someone else to rerun the study. For a journal submission, build the full package README with the Replication Package README template. -->

| Item | Detail |
|---|---|
| Return data | [Database, product name, download date] |
| Market index | [Index name and whether it includes dividends] |
| Event dates | [Hand-collected file name and version] |
| Software | [*Example:* Python 3.12 with pandas and statsmodels; or R; or Stata] |
| Code location | [Repository and commit hash] |
| Run order | [Script names in order] |
| Licensed data | [What cannot be shared and how a replicator obtains it] |

Use the Replication Package README (`academic/replication-package-readme`)
for the deposit and the Reproducibility Checklist
(`science/reproducibility-checklist`) for a final self-check.

## 13. Glossary and references

<!-- Guidance: Define every abbreviation used in tables. Cite the method papers for each test you report. -->

### 13.1 Glossary

| Term | Meaning |
|---|---|
| Day 0 | The first trading day on which the market could react to the event |
| Estimation window | The period used to estimate normal return parameters |
| Event window | The period over which abnormal returns are measured |
| Normal return | The return expected without the event |
| AR | Abnormal return: actual return minus normal return |
| CAR | Cumulative abnormal return: sum of ARs over a window |
| Event-induced variance | Higher return volatility on event days than in the estimation window |
| Clustering | Events that share calendar dates, making their abnormal returns correlated |
| Confounding event | Other news in the event window that could explain the price move |

### 13.2 References

- Fama, Eugene F., Lawrence Fisher, Michael C. Jensen and Richard Roll
  (1969). The adjustment of stock prices to new information.
  *International Economic Review* 10(1).
- Patell, James M. (1976). Corporate forecasts of earnings per share and
  stock price behavior: empirical tests. *Journal of Accounting Research*
  14(2).
- Brown, Stephen J. and Jerold B. Warner (1985). Using daily stock
  returns: the case of event studies. *Journal of Financial Economics*
  14(1).
- Corrado, Charles J. (1989). A nonparametric test for abnormal security
  price performance in event studies. *Journal of Financial Economics*
  23(2).
- Boehmer, Ekkehart, Jim Musumeci and Annette B. Poulsen (1991). Event
  study methodology under conditions of event-induced variance. *Journal
  of Financial Economics* 30(2).
- Scholes, Myron and Joseph Williams (1977). Estimating betas from
  nonsynchronous data. *Journal of Financial Economics* 5(3).
- Dimson, Elroy (1979). Risk measurement when shares are subject to
  infrequent trading. *Journal of Financial Economics* 7(2).
- Cowan, Arnold R. (1992). Nonparametric event study tests. *Review of
  Quantitative Finance and Accounting* 2(4).
- MacKinlay, A. Craig (1997). Event studies in economics and finance.
  *Journal of Economic Literature* 35(1), 13-39.
- Kolari, James W. and Seppo Pynnonen (2010). Event study testing with
  cross-sectional correlation of abnormal returns. *Review of Financial
  Studies* 23(11).

Related templates: Empirical Finance Paper
(`academic/empirical-finance-paper`), Pre-Analysis Plan
(`academic/pre-analysis-plan`) to fix the design in advance, Equity
Research Report (`finance/equity-research-report`) for practitioner
analysis of a single firm, and Finance Formula Sheet
(`finance/formula-sheet`).

## 14. Standard and licence note

Based on the established academic event-study methodology described in
the method papers listed in section 13.2. The formulas are standard
statistics written in our own notation; no text, tables or examples were
taken from those papers. Check the original papers and current
methodological literature for test details before relying on them. All
text and the fictional examples (Halvard Tools and the 120-event sample)
are original, and example numbers are illustrative. Template licence: MIT.
