TA2: Event Studies Through Regulatory Announcements

Expected Outcomes

By the end of this TA, you should be able to explain:

  • What an event study identifies as a market-value effect
  • Why identification depends on a sharply timed information shock
  • The difference between abnormal returns and cumulative abnormal returns (CARs)
  • How to compare more-exposed and less-exposed firms around the same announcement
  • How to interpret event-study evidence in tables, figures, and cross-sectional regressions

Download TA2 Code

Why event studies are central in finance

Event studies are one of the clearest ways to connect new information to firm value.

The basic idea is simple: when markets learn something important, prices should adjust quickly. That is why event studies are especially useful in corporate finance, banking, and asset pricing. Accounting variables often move slowly, but valuation effects can appear immediately in market prices.

This is the conceptual shift from TA1 to TA2:

  • TA1: slow-moving outcomes such as lending, balance sheets, and profitability
  • TA2: fast-moving market expectations embedded in stock prices

If a supervisory announcement reveals that some banks will face tighter constraints, higher compliance costs, or worse future cash flows, investors should incorporate that information right away.

What an event study is trying to identify

An event study is trying to isolate the unexpected valuation effect of a specific information release.

In notation, the object of interest is the abnormal return:

\[ AR_{i,t} = R_{i,t} - \mathbb{E}[R_{i,t} \mid \text{market conditions}] \]

This is the part of the return that is not explained by normal market-wide movements.

A cumulative abnormal return over an event window \((\tau_1, \tau_2)\) is:

\[ CAR_{i}(\tau_1,\tau_2) = \sum_{\tau=\tau_1}^{\tau_2} AR_{i,\tau} \]

So the event-study question is not just “did returns move?” It is:

Did returns move in an unusual way when the market learned the news?

The core identification logic

For an event study to be persuasive, three things need to be approximately true.

1. The event date must be clean

The announcement must arrive at a well-defined point in time. If the timing is vague, identification becomes weak.

2. The window must be short

Short windows help us attribute the price movement to the event rather than to unrelated news.

3. The market must not have fully priced the information earlier

If the announcement was anticipated, leaked, or gradually revealed, the measured day-0 reaction will understate the true economic effect.

Remember!

In a full empirical project, we would estimate expected returns using market data (WRDS, CRSP) and then construct abnormal returns from raw returns. In this synthetic exercise, abnormal returns are already embedded in the data-generating process, so we can focus on research design, interpretation, and implementation.

Bottom line

A credible event study needs a clearly timed piece of news, a short return window, and limited anticipation. If those conditions hold, differences in abnormal returns around the announcement can be interpreted as differences in how the market values the news.

What can threaten identification?

Three issues are especially important in event studies:

  • Anticipation: investors may have expected the announcement before day 0.
  • Leakage: some information may have reached the market before the formal release.
  • Confounding news: other relevant events may occur in the same window.

These concerns are exactly why event studies rely on sharp timing and short windows.

Key concepts

1. Event date and event window

The event date is the supervisory announcement. We then study returns in a narrow window around that date.

Common windows in this TA are:

  • Day 0 AR: the abnormal return on the announcement day
  • CAR(-1,+1): cumulative abnormal return from one day before to one day after
  • CAR(0,+2): cumulative abnormal return from the event day through two days after
  • CAR(-2,+2): a slightly wider short-run window

Why not use a long window? Because long windows make attribution harder.

2. Abnormal return versus CAR

  • Abnormal return captures the surprise component on a single day.
  • CAR aggregates abnormal returns over a short interval.

Single-day returns can be noisy. CARs are often easier to interpret because they allow for slight timing frictions, delayed reactions, or information leakage just before the announcement.

3. Exposure-based comparison

A natural first step is to compare firms that should be more affected by the event with firms that should be less affected.

In this TA, we split banks into:

  • High fragility
  • Low fragility

This gives a transparent first test of heterogeneous exposure: do more fragile banks react more negatively around the announcement?

4. Cross-sectional event-study regression

The regression turns the visual and tabular comparison into a more disciplined empirical test.

It asks whether banks with higher fragility experience worse event reactions after controlling for:

  • capital ratios
  • political connections
  • treatment status

Year fixed effects absorb the average intensity of the announcement in each event year.

Time to Code!

We use:

  • code/02_ta2_event_study.R

The script follows the standard event-study workflow:

  1. load the bank-event-day panel
  2. plot average abnormal returns and cumulative abnormal returns by fragility group
  3. collapse the data to one row per bank-event
  4. test whether high-fragility and low-fragility banks react differently
  5. estimate regressions that relate event reactions to fragility and controls
day0_model <- fixest::feols(
  day0_ar ~ fragility_iv + capital_ratio + political_connection + treated | year,
  cluster = ~bank_id,
  data = event_level_panel
)

Key results overview

window_tests <- readr::read_csv("output/tables/ta2_window_test_table.csv", show_col_types = FALSE)

day0_row <- window_tests |> dplyr::filter(window == "Day 0 AR")
car_row <- window_tests |> dplyr::filter(window == "CAR(-1,+1)")

cat(
  paste0(
    "- On the event day, high-fragility banks have an average reaction of ",
    round(day0_row$mean_high, 4),
    ", compared with ",
    round(day0_row$mean_low, 4),
    " for low-fragility banks.\n",
    "- Over the (-1,+1) window, the high-minus-low gap is ",
    round(car_row$diff_high_minus_low, 4),
    ".\n",
    "- The regression section asks whether this gap survives when we control for capital, political connections, and treatment status."
  )
)
- On the event day, high-fragility banks have an average reaction of -0.0061, compared with -0.0019 for low-fragility banks.
- Over the (-1,+1) window, the high-minus-low gap is -0.005.
- The regression section asks whether this gap survives when we control for capital, political connections, and treatment status.

Event-window comparison table

This table answers two questions for each event window:

  • Is the average reaction different from zero within each fragility group?
  • Is the reaction different between high-fragility and low-fragility banks?
window_tests |>
  knitr::kable(caption = "Event-window tests by fragility group")
Event-window tests by fragility group
window mean_high mean_low diff_high_minus_low p_high_eq_zero p_low_eq_zero p_high_eq_low
Day 0 AR -0.0061 -0.0019 -0.0042 0 0.0076 0.0000
CAR(-1,+1) -0.0067 -0.0018 -0.0050 0 0.1201 0.0039
CAR(0,+2) -0.0076 -0.0016 -0.0060 0 0.1486 0.0004
CAR(-2,+2) -0.0071 -0.0020 -0.0051 0 0.1588 0.0155

Main regression output

The key coefficient is the one on fragility_iv.

A more negative estimate means that banks with greater fragility experience worse market reactions around the announcement, even after controlling for capital ratios, political connections, treatment status, and year fixed effects.

ta2_models <- readr::read_csv("output/tables/ta2_model_table.csv", show_col_types = FALSE) |>
  dplyr::select(model, term, estimate, std.error, statistic, p.value) |>
  dplyr::mutate(dplyr::across(c(estimate, std.error, statistic, p.value), ~round(.x, 3)))

knitr::kable(ta2_models, caption = "Event-study regressions")
Event-study regressions
model term estimate std.error statistic p.value
Day 0 AR fragility_iv -0.032 0.013 -2.568 0.014
Day 0 AR capital_ratio -0.021 0.046 -0.452 0.654
Day 0 AR political_connection 0.008 0.003 2.316 0.026
CAR(-1,+1) fragility_iv -0.043 0.023 -1.861 0.070
CAR(-1,+1) capital_ratio 0.072 0.069 1.032 0.308
CAR(-1,+1) political_connection 0.009 0.005 1.887 0.067
CAR(0,+2) fragility_iv -0.052 0.020 -2.669 0.011
CAR(0,+2) capital_ratio 0.058 0.061 0.954 0.346
CAR(0,+2) political_connection 0.003 0.004 0.659 0.514

Visual summary: abnormal returns

This figure shows the average abnormal return at each relative day. The key question is whether the market reaction is concentrated around day 0 and whether high-fragility banks react more negatively.

TA2 average abnormal returns

Visual summary: cumulative abnormal returns

This figure accumulates abnormal returns across days. It is often easier to interpret than a single-day return because it smooths short-run noise and captures slightly delayed reactions.

TA2 cumulative abnormal returns