Event Window & Estimation Window Selection

Window selection is one of the most important design choices in an event study. The event window determines which days are examined for abnormal returns. The estimation window determines the data used to calibrate the expected return model. Poorly chosen windows can reduce statistical power, introduce bias, or miss the market reaction entirely. This page explains how to select both windows, what gap to use between them, and which window lengths work best for common event types.

Part of the Methodology Guide

This page is part of the Event Study Methodology Guide.

Event Study Timeline

An event study divides the time series into three periods. Each plays a distinct role in the analysis.

PeriodTypical RangePurpose
Estimation windowT0 to T1 (e.g., -260 to -11)Estimate the expected return model parameters (alpha, beta)
GapT1 to T2 (e.g., -10 to -6)Buffer to prevent event contamination of estimation
Event windowT2 to T3 (e.g., -5 to +5)Measure abnormal returns around the event

Day 0 is the event date. Negative days precede the event; positive days follow it. The estimation window comes first, followed by an optional gap, then the event window. These periods must never overlap — overlap would mean the event contaminates the estimation of "normal" behavior.

Event Window

The event window captures the market's reaction to the event. It should be long enough to capture the full reaction (including any information leakage before the announcement and post-event drift) but short enough to avoid confounding from unrelated events.

Trade-offs

CharacteristicShort Window (e.g., [-1, +1])Long Window (e.g., [-10, +10])
PowerHigher -- less noise in abnormal returnsLower -- more noise dilutes the signal
Confounding riskLower -- fewer unrelated events in windowHigher -- other news may affect returns
Captures leakageMay miss pre-event information leakageCaptures anticipatory trading and rumors
Captures driftMay miss post-event driftCaptures gradual price adjustment
Best forClean, well-dated events with efficient marketsEvents with uncertain timing or gradual revelation

Start narrow, then expand

Begin with a narrow window ([-1, +1] or [-2, +2]) to test your primary hypothesis. Then widen the window as a robustness check to see if results change. If the effect disappears in a wider window, it may be noise. If it grows, there may be information leakage or post-event drift.

Estimation Window

The estimation window provides the historical data used to estimate the expected return model. Its length determines the precision of model parameters (alpha, beta, factor loadings, or GARCH parameters).

Window LengthTrading DaysProsCons
Short120 days (~6 months)Adapts to recent market conditions; works for newly listed firmsLess precise parameter estimates; higher estimation variance
Standard250 days (~1 year)Good balance of precision and adaptability; most common in literatureMay span a structural break
Long500 days (~2 years)Very precise parameter estimates; better for GARCH modelsMay include stale data; risk of structural breaks

The standard choice is 250 trading days (approximately one calendar year). This is the default in most event study software and the recommendation in Campbell, Lo, and MacKinlay (1997).

Structural breaks

If the estimation window spans a major market regime change (e.g., a financial crisis), the estimated parameters may not reflect "normal" behavior. Consider shortening the estimation window or using a Rolling Window Model that adapts to changing parameters.

Gap Between Windows

The gap (also called the guard period) separates the estimation window from the event window. It prevents pre-event information leakage from contaminating the estimation of normal returns.

If the event was anticipated by the market (e.g., through rumors, media speculation, or regulatory filings), stock prices may start moving before the official announcement. Without a gap, these anticipatory movements would be included in the estimation window, biasing the model parameters and reducing the measured abnormal return.

Gap LengthTrading DaysWhen to Use
No gap0 daysOnly if the event was completely unanticipated (rare)
Short5-10 daysStandard choice for most event types
Medium10-20 daysEvents with potential rumor effects (M&A, regulatory)
Long20-30 daysEvents with extended pre-announcement leakage

In the EventStudy R package, the gap is controlled by the shift_estimation_window parameter. A value of -10 means the estimation window ends 10 days before the start of the event window.

Recommended Windows by Event Type

Window choices vary by event type. The table below summarizes recommendations from the academic literature and common practice.

Event TypeEvent WindowEstimation WindowGapRationale
M&A announcements[-1, +1]250 days10 daysWell-dated; strong immediate reaction; pre-announcement run-up captured separately
Earnings announcements[-1, +1]250 days5 daysPrecise announcement date; fast market reaction in efficient markets
Regulatory changes[-5, +5]250 days20 daysDate may be uncertain; often anticipated through political process
ESG events[-2, +2]250 days10 daysModerate uncertainty in timing; some events are gradual
Product launches[-1, +1]250 days5 daysUsually well-dated; immediate market assessment
CEO turnover[-1, +1]250 days10 daysOften preceded by rumors; use wider window for robustness
Credit rating changes[-5, +5]250 days20 daysRating agencies may signal changes in advance through watch lists
Macroeconomic announcements[-1, +1]250 days5 daysPrecise timing; fast reaction; clustered across firms
IPOs (first-day performance)[0, +1]120 days (index only)0 daysNo pre-event firm data; use Market Adjusted model
Dividend announcements[-1, +1]250 days5 daysWell-dated; clean identification

Always justify your choice

In your paper or report, explicitly justify the chosen window lengths. Reference prior studies that use similar event types and windows. Run robustness checks with alternative window specifications.

How Does Window Length Affect Statistical Power?

Statistical power is the probability of detecting a true abnormal return. Window length affects power through two channels.

Event window length: A longer event window includes more days with zero abnormal returns (noise), diluting the signal. If the event effect is concentrated on days [0, +1], a [-10, +10] window adds 19 days of noise. The cumulative abnormal return (CAR) remains the same, but the variance of the CAR estimate increases, reducing the t-statistic and power.

Estimation window length: A longer estimation window produces more precise estimates of model parameters and the residual variance. This reduces the standard error of abnormal returns, increasing power. The improvement diminishes beyond about 250 days.

FactorEffect on PowerRecommendation
Shorter event windowIncreases power (less noise)Use the narrowest window that captures the full effect
Longer estimation windowIncreases power (better estimation)Use at least 120 days; 250 days is standard
Larger sample (more events)Increases power (cross-sectional averaging)Include as many events as data quality allows
Higher abnormal return magnitudeIncreases power (larger signal)Cannot control, but affects detectable effect size

For a formal analysis of power as a function of study design parameters, see the Power Analysis & Monte Carlo Simulation page.

How Do I Configure Windows in R?

Windows are specified in the event request table. Each event can have different window parameters.

Configure window parameters
# Standard M&A event study setup
request <- tibble(
  event_id = 1:3,
  firm_symbol = c("AAPL", "MSFT", "GOOGL"),
  index_symbol = "SP500",
  event_date = c("15.03.2022", "20.04.2022", "10.05.2022"),
  group = "Acquisition",

  # Event window: [-1, +1] (3 days)
  event_window_start = -1,
  event_window_end = 1,

  # Gap: 10 trading days
  shift_estimation_window = -10,

  # Estimation window: 250 trading days
  estimation_window_length = 250
)

task <- EventStudyTask$new(firm_data, index_data, request)
ps <- ParameterSet$new()
task <- run_event_study(task, ps)
Robustness check with multiple window specifications
# Run with different event windows for robustness
windows <- list(
  narrow = c(-1, 1),
  medium = c(-5, 5),
  wide   = c(-10, 10)
)

results <- map(windows, function(w) {
  req <- request |>
    mutate(event_window_start = w[1], event_window_end = w[2])

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

  # Extract CAAR
  tidy.EventStudyTask(task, type = "aar")
})

# Compare CAAR across window specifications
bind_rows(results, .id = "window_spec")

Best Practices

  • Start with standard windows: Use [-1, +1] for the event window and 250 days for estimation unless you have a specific reason to deviate.
  • Include a gap: Always use a gap of at least 5-10 trading days to prevent contamination.
  • Run robustness checks: Test your results with at least two alternative event window specifications.
  • Report all specifications: If results are sensitive to window choice, report all specifications transparently.
  • Check for confounding events: With wider event windows, verify that other firm-specific events do not fall within the window.
  • Cite precedent: Reference prior studies in your field that use similar window choices.

Literature

  • Campbell, J.Y., Lo, A.W. & MacKinlay, A.C. (1997). The Econometrics of Financial Markets. Chapter 4.
  • MacKinlay, A.C. (1997). Event studies in economics and finance. Journal of Economic Literature, 35(1), 13-39.
  • Kothari, S.P. & Warner, J.B. (2007). Econometrics of event studies. In Handbook of Corporate Finance, Vol. 1.

Run this in R

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

What Should I Do Next?

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