Intraday Event Studies
An intraday event study analyzes market reactions using minute-level or tick-level price data instead of daily returns. It captures the immediate impact of events like central bank decisions or earnings releases that are priced within minutes, providing higher statistical power than daily analyses.
Part of the methodology guide
Part of the Event Study Methodology Guide.
Intraday event studies measure market reactions at sub-daily frequency — minutes or seconds after an event. Use this when daily data is too coarse to capture the true effect.
Intraday event studies offer substantially higher statistical power than daily designs for events with known timestamps. A standard US trading day of 6.5 hours contains 390 one-minute bars, providing fine-grained resolution for measuring the speed and magnitude of price reactions. As documented by Andersen and Bollerslev (1997), over 80% of the price adjustment to scheduled macroeconomic announcements occurs within the first 5 minutes.
When Should I Use Intraday vs. Daily Data?
An intraday event study is a high-frequency empirical method that measures abnormal security returns at minute-level or tick-level intervals within a single trading day. By narrowing the event window from days to minutes, intraday studies can isolate the immediate price impact of precisely timed events — such as Federal Reserve announcements or earnings releases — while reducing noise from confounding information. As shown by Barclay and Litzenberger (1988), intraday analysis can increase statistical power by a factor of 3–5 compared to daily-frequency designs for events with known timestamps.
| Feature | Daily Event Study | Intraday Event Study |
|---|---|---|
| Data frequency | End-of-day prices | 1-minute or 5-minute bars |
| Time column | Date (DD.MM.YYYY) | POSIXct timestamp |
| Event precision | Day-level | Minute-level |
| Estimation window | 100–250 trading days | 60–120 minutes |
| Best for | Announcements with day-level timing | Events with known timestamps |
What Are Typical Intraday Event Study Applications?
| Event Type | Examples | Typical Window |
|---|---|---|
| Central bank decisions | Fed rate decisions, ECB announcements | 5–30 min |
| Earnings releases | After-hours earnings at 4:05 PM | 15–60 min |
| Macro data | CPI, employment, GDP releases | 5–15 min |
| Flash events | Flash crashes, circuit breakers | 1–10 min |
| Trading halts | Stock halts and resumptions | 5–30 min |
What Data Do Intraday Studies Require?
Intraday data uses different column names than daily data:
| Column | Daily | Intraday |
|---|---|---|
| Time | date (character, DD.MM.YYYY) | timestamp (POSIXct with timezone) |
| Price | adjusted | price |
| Identifier | symbol | symbol |
# Intraday firm data format
intraday_firm <- tibble(
symbol = "AAPL",
timestamp = as.POSIXct("2020-06-15 09:30:00", tz = "UTC"), # POSIXct
price = 150.25
)
# Intraday request format
intraday_request <- tibble(
event_id = 1L,
firm_symbol = "AAPL",
index_symbol = "SPY",
event_timestamp = as.POSIXct("2020-06-15 14:30:00", tz = "UTC"),
group = "Fed",
event_window_start = -15L, # 15 minutes before
event_window_end = 30L, # 30 minutes after
shift_estimation_window = -16L,
estimation_window_length = 120L # 120 minutes
)Timezone alignment
Ensure firm data, index data, and event timestamps all use the same timezone. Misaligned timezones are the most common source of errors in intraday studies.
- Bar Frequency
- The time interval at which intraday prices are sampled, typically 1-minute or 5-minute bars. A standard trading day of 6.5 hours contains 390 one-minute bars.
- Microstructure Noise
- High-frequency artifacts such as bid-ask bounce, price discreteness, and order flow imbalance that contaminate intraday returns and violate normality assumptions.
- Intraday Seasonality
- The well-documented U-shaped pattern of intraday volatility, with higher variance at market open and close and lower variance during midday hours.
How Do I Run an Intraday Event Study?
The intraday pipeline has three steps instead of one:
library(EventStudy)
# 1. Create intraday task
intraday_task <- IntradayEventStudyTask$new(
intraday_firm,
intraday_index,
intraday_request
)
# 2. Three-step pipeline
ps <- ParameterSet$new()
intraday_task <- prepare_intraday_event_study(intraday_task, ps)
intraday_task <- fit_model(intraday_task, ps)
intraday_task <- calculate_statistics(intraday_task, ps)
# 3. View results
intraday_task$summary()Different from daily
Daily studies use run_event_study(task, ps) as a single call. Intraday studies require the three-step pipeline: prepare_intraday_event_study() → fit_model() → calculate_statistics().
How Do I Interpret Intraday Results?
# Plot intraday CAR
plot_event_study(intraday_task, type = "car")
# Abnormal returns around the event
intraday_task$get_ar(event_id = 1)How Should I Design the Event Window?
Intraday windows are measured in minutes (or bars), not days. Most Fed announcement studies use a 30-minute window, while earnings studies typically use 60–120 minutes to capture the full price adjustment.
| Window | Duration | Purpose |
|---|---|---|
| Estimation | 60–120 minutes | Calibrate the normal return model |
| Pre-event gap | 5–10 minutes | Buffer to prevent information leakage |
| Event window | 5–30 minutes | Capture the market reaction |
Guidelines
- Estimation window: Longer is better for stable estimates, but stay within the same trading day to avoid overnight effects
- Gap: Insert a gap between estimation and event windows to avoid contamination from early information leakage
- Event window: Start narrow (5–15 min) and widen if the effect takes longer to materialize
What Is the Non-Parametric Significance Test?
The package implements the Rinaudo & Saha (2014) non-parametric test designed specifically for intraday data. Research by Andersen and Bollerslev (1997) shows that intraday return distributions exhibit kurtosis values of 5–20, far exceeding the normal value of 3. Standard parametric tests often fail at intraday frequency because:
- Intraday returns exhibit stronger non-normality than daily returns
- Microstructure effects (bid-ask bounce, price discreteness) violate normality
- Volatility varies strongly within the trading day (U-shaped pattern)
# Non-parametric test for intraday data
result <- nonparametric_intraday_test(
estimation_window = est_window_data,
event_window = event_day_data,
event_times = c("14:30", "14:45"),
p = 0.05
)What Are Best Practices for Intraday Studies?
| Practice | Why |
|---|---|
| Align timestamps across all data sources | Misalignment causes incorrect window assignments |
| Exclude pre-market and after-hours data | Different liquidity and volatility regime |
| Use the same bar frequency for firm and index | Mixed frequencies cause alignment errors |
| Account for bid-ask bounce | Can create spurious mean reversion in tick data |
| Use non-parametric tests | Intraday returns are rarely normal |
| Stay within one trading day | Overnight gaps distort estimation windows |
Literature
- Rinaudo, J.B. & Saha, A. (2014). A non-parametric test for event studies with intraday data.
- Barclay, M.J. & Litzenberger, R.H. (1988). Announcement effects of new equity issues and the use of intraday price data. Journal of Financial Economics, 21(1), 71–99.
- Andersen, T.G. & Bollerslev, T. (1997). Intraday periodicity and volatility persistence in financial markets. Journal of Empirical Finance, 4(2–3), 115–158.
Implement this with the R package
Access advanced features and full customization through the EventStudy R package.
What Should I Read Next?
- Expected Return Models — models for daily event studies
- Test Statistics — significance testing framework
- Diagnostics & Export — validate and export results