-
-
Notifications
You must be signed in to change notification settings - Fork 40
/
Copy path33-event-study.Rmd
1878 lines (1242 loc) · 77.9 KB
/
33-event-study.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Event Studies {#sec-event-studies}
The event study methodology is widely used in finance, marketing, and management to measure the impact of specific events on stock prices. The foundation of this methodology is the **Efficient Markets Hypothesis** proposed by @fama1970efficient, which asserts that asset prices reflect all available information. Under this assumption, stock prices should immediately react to new, unexpected information, making event studies a useful tool for assessing the economic impact of firm- and non-firm-initiated activities.
The first event study was conducted by @dolley1933characteristics, while @campbell1998econometrics formalized the methodology for modern applications. Later, @dubow2006measuring developed a metric to assess market transparency (i.e., a way to gauge how "clean" a market is) by tracking unusual stock price movements before major regulatory announcements. Their study found that abnormal price shifts before announcements could indicate insider trading, as prices reacted to leaked information before official disclosures.
**Advantages of Event Studies**
- **More Reliable than Accounting-Based Measures:** Unlike financial metrics (e.g., profits), which managers can manipulate, stock prices are harder to alter and reflect real-time investor sentiment [@benston1985validity].
- **Easy to Conduct:** Event studies require only stock price data and simple econometric models, making them widely accessible for researchers.
**Types of Events in Event Studies**
| **Event Type** | **Examples** |
|---------------------|--------------------------------------------------------------|
| **Internal Events** | Stock repurchase, earnings announcements, leadership changes |
| **External Events** | Macroeconomic shocks, regulatory changes, media reports |
## Review of Event Studies Across Disciplines
Event studies have been applied extensively in management, marketing, and finance to assess how different corporate and external events influence shareholder value.
### Finance Applications
- [@fama1969adjustment]: Stock split.
### Management Applications
- [@mcwilliams1997event]: Comprehensive review of event studies in management research.
### Marketing Applications
Event studies are useful in marketing for evaluating the effects of firm decisions (e.g., advertising campaigns, brand changes) and non-firm-initiated activities (e.g., regulatory decisions, third-party reviews).
#### Firm-Initiated Activities
| **Event Type** | **Studies** |
|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Corporate Changes** | [@horsky1987does] (name change), [@kalaignanam2013corporate] (corporate brand change) |
| **New Product Strategies** | [@chaney1991impact] (new product announcements), [@raassens2012market] (outsourcing product development), [@sood2009innovations] (innovation payoff), [@borah2014make] (make, buy or ally for innovations), [@fang2015timing] (co-development agreements) |
| **Brand & Marketing Strategies** | [@lane1995stock] (brand extensions), [@wiles2012effect] (brand acquisition) |
| **Advertising & Promotions** | [@wiles2010stock] (deceptive advertising), [@cornwell2005relationship] (sponsorship announcements) |
| **Strategic Alliances** | [@houston2000buyer] (joint ventures), [@fang2015timing] (co-development agreements), [@sorescu2007some] (M&A), [@homburg2014firm] (channel expansions) |
| **Entertainment & Celebrity Endorsements** | [@agrawal1995economic] (celebrity endorsements), [@elberse2007power] (casting announcements), [@wiles2009worth] (product placement in movies), [@joshi2009movie] (movie releases), [@karniouchina2011marketing] (product placement), [@mazodier2013sponsorship] (sports annoucements) |
- @geyskens2002market: Internet channel (for newspapers)
- @boyd2010chief: new CMO appointments
#### Non-Firm-Initiated Activities
Event studies are also used to examine the impact of external events on firm value, including regulatory decisions, media coverage, economic shocks, and unexpected crises.
| **Event Type** | **Studies** |
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Regulatory Decisions** | [@sorescu2003] (FDA approvals), [@rao2008fruits] (FDA approvals), [@tipton2009regulatory] (deceptive advertising regulation) |
| **Media Coverage & Consumer Reactions** | [@jacobson2009financial] (customer satisfaction score release), [@chen2012third] (third-party movie reviews), [@tellis2007] (quality reviews by Walter Mossberg) |
| **Economic & Market Shocks** | [@gielens2008dancing] (Walmart's entry into the UK), [@xiong2013asymmetric] (asymmetric news impact), [@pandey2005relationship] (diversity elite list) |
| **Consumer & Industry Recognitions** | [@balasubramanian2005impact] (high-quality achievements), [@fornell2006customer] (customer satisfaction), [@ittner2009commentary] (customer satisfaction) |
| **Financial & Market Reactions** | [@boyd2008market] (indirect ties), [@karniouchina2009impact] (*Mad Money* with Jim Cramer), [@bhagat1998shareholder] (litigation) |
| **Product & Service Failures** | [@chen2009does] (product recalls), [@gao2015should] (product recalls), [@malhotra2011evaluating] (data breach) |
Event studies can be extended to new types of events, such as:
- Advertising Campaigns -- How do major ad campaigns affect stock prices?
- Market Entry -- Does entering a new market increase firm value?
- Product Failures & Recalls -- How do recalls affect brand equity?
- Patent Announcements -- Do new patents generate abnormal returns?
## Key Assumptions
1. **Efficient Market Hypothesis**: Stock prices fully reflect available information [@fama1970efficient].
2. **Stock Market as a Proxy for Firm Value**: Shareholders are the primary stakeholders.
3. **Sharp Event Effect**: The event must cause an immediate stock price reaction.
4. **Proper Calculation of Expected Returns**: Requires an appropriate benchmark model.
## Steps for Conducting an Event Study
### Step 1: Event Identification
An event study examines how a particular event affects a firm's stock price, assuming that stock markets incorporate new information efficiently. The event must influence either the firm's expected cash flows or discount rate [@sorescu2017, p. 191].
**Common Types of Events Analyzed**
| **Event Category** | **Examples** |
|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|
| **Corporate Actions** | Dividends, mergers & acquisitions (M&A), stock buybacks, name changes, brand extensions, sponsorships, product launches, advertising campaigns |
| **Regulatory Changes** | New laws, taxation policies, financial deregulation, trade agreements |
| **Market Events** | Privatization, nationalization, entry/exit from major indices |
| **Marketing-Related Events** | Celebrity endorsements, new product announcements, media reviews |
| **Crisis & Negative Shocks** | Product recalls, data breaches, lawsuits, financial fraud scandals |
To systematically identify events, researchers use **WRDS S&P Capital IQ Key Developments**, which tracks U.S. and international corporate events.
------------------------------------------------------------------------
### Step 2: Define the Event and Estimation Windows
#### (A) Estimation Window ($T_0 \to T_1$)
The estimation window is used to compute normal (expected) returns before the event.
| **Study** | **Estimation Window** |
|------------------------|----------------------------------------------------------------------|
| [@johnston2007review] | 250 days before the event, with a 45-day gap before the event window |
| [@wiles2012effect] | 90-trading-day estimation window ending 6 days before the event |
| [@sorescu2017, p. 194] | 100 days before the event |
> **Leakage Concern**: To avoid biases from information leaking before the event, researchers should check broad news sources (e.g., LexisNexis, Factiva, RavenPack) for pre-event rumors.
------------------------------------------------------------------------
#### (B) Event Window ($T_1 \to T_2$)
The event window captures the market's reaction to the event. The selection of an appropriate window length depends on event type and information speed.
| **Study** | **Event Window** |
|--------------------------------------------------------------------|-------------------|
| [@balasubramanian2005impact; @boyd2010chief; @fornell2006customer] | **1-day window** |
| [@raassens2012market; @sood2009innovations] | **2-day window** |
| [@cornwell2005relationship; @sorescu2007some] | **Up to 10 days** |
------------------------------------------------------------------------
#### (C) Post-Event Window ($T_2 \to T_3$)
Used to assess long-term effects on stock prices.
------------------------------------------------------------------------
### Step 3: Compute Normal vs. Abnormal Returns
The abnormal return measures how much the stock price deviates from its expected return:
$$
\epsilon_{it}^* = \frac{P_{it} - E(P_{it})}{P_{it-1}} = R_{it} - E(R_{it} | X_t)
$$
where:
- $\epsilon_{it}^*$ = abnormal return
- $R_{it}$ = realized return
- $P_{it}$ = dividend-adjusted stock price
- $E(R_{it} | X_t)$ = expected return
------------------------------------------------------------------------
#### (A) Statistical Models for Expected Returns
These models assume jointly normal and independently distributed returns.
1. **Constant Mean Return Model**\
$$ E(R_{it}) = \frac{1}{T} \sum_{t=T_0}^{T_1} R_{it} $$
2. **Market Model**\
$$ R_{it} = \alpha_i + \beta_i R_{mt} + \epsilon_{it} $$
3. **Adjusted Market Return Model**\
$$ E(R_{it}) = R_{mt} $$
------------------------------------------------------------------------
#### (B) Economic Models for Expected Returns
1. **Capital Asset Pricing Model (CAPM)**\
$$ E(R_{it}) = R_f + \beta (R_m - R_f) $$
2. **Arbitrage Pricing Theory (APT)**\
$$ R_{it} = \lambda_0 + \lambda_1 F_1 + \lambda_2 F_2 + ... + \lambda_n F_n + \epsilon_{it} $$
------------------------------------------------------------------------
### Step 4: Compute Cumulative Abnormal Returns
Once abnormal returns are computed, we aggregate them over the event window:
$$
CAR_{i} = \sum_{t=T_{\text{event, start}}}^{T_{\text{event, end}}} AR_{it}
$$
For multiple firms, compute the Average Cumulative Abnormal Return (ACAR):
$$
ACAR = \frac{1}{N} \sum_{i=1}^{N} CAR_{i}
$$
------------------------------------------------------------------------
### Step 5: Statistical Tests for Significance
To determine if abnormal returns are statistically significant, use:
1. T-Test for Abnormal Returns $$ t = \frac{\bar{CAR}}{\sigma(CAR)} $$
2. Bootstrap & Monte Carlo Simulations
- Used when returns are non-normally distributed.
------------------------------------------------------------------------
## Event Studies in Marketing
A key challenge in marketing-related event studies is determining the appropriate dependent variable [@skiera2017should]. Traditional event studies in finance use cumulative abnormal returns (CAR) on shareholder value ($CAR^{SHV}$). However, marketing events primarily affect a firm's operating business, rather than its total shareholder value, leading to potential distortions if financial leverage is ignored.
According to valuation theory, a firm's shareholder value ($SHV$) consists of three components [@schulze2012linking]:
$$
SHV = \text{Operating Business Value} + \text{Non-Operating Assets} - \text{Debt}
$$
Many marketing-related events primarily impact operating business value (e.g., brand perception, customer satisfaction, advertising efficiency), while non-operating assets and debt remain largely unaffected.
Ignoring firm-specific leverage effects in event studies can cause:
- Inflated impact for firms with high debt.
- Deflated impact for firms with large non-operating assets.
Thus, it is recommended that both $CAR^{OB}$ and $CAR^{SHV}$ be reported, with justification for which is most appropriate.
Few event studies have explicitly controlled for financial structure. Exceptions include:
- [@gielens2008dancing]: Studied marketing spending shocks while accounting for leverage.
- [@chaney1991impact]: Examined advertising expenses and firm value, controlling for financial structure.
------------------------------------------------------------------------
### Definition
1. **Cumulative Abnormal Return on Shareholder Value** ($CAR^{SHV}$)
$$
CAR^{SHV} = \frac{\sum \text{Abnormal Returns}}{SHV}
$$
- Shareholder Value ($SHV$): Market capitalization, defined as:
$$
SHV = \text{Share Price} \times \text{Shares Outstanding}
$$
2. **Cumulative Abnormal Return on Operating Business** ($CAR^{OB}$)
To correct for leverage effects, $CAR^{OB}$ is calculated as:
$$
CAR^{OB} = \frac{CAR^{SHV}}{\text{Leverage Effect}}
$$
where:
$$
\text{Leverage Effect} = \frac{\text{Operating Business Value}}{\text{Shareholder Value}}
$$
Key Relationships:
- Operating Business Value = $SHV -$ Non-Operating Assets $+$ Debt.
- Leverage Effect ($LE$) measures how a 1% change in operating business value translates into shareholder value movement.
3. **Leverage Effect vs. Leverage Ratio**
Leverage Effect ($LE$) is not the same as the leverage ratio, which is typically:
$$
\text{Leverage Ratio} = \frac{\text{Debt}}{\text{Firm Size}}
$$
where firm size can be:
- Book value of equity
- Market capitalization
- Total assets
- Debt + Equity
------------------------------------------------------------------------
### When Can Marketing Events Affect Non-Operating Assets or Debt?
While most marketing events impact operating business value, in rare cases they also influence non-operating assets and debt:
| Marketing Event | Impact on Financial Structure |
|-------------------------------------------------------|-------------------------------------|
| Excess Pre-ordering [@hall2004determinants] | Affects short-term debt |
| CMO Turnover [@berger1997managerial] | Higher debt due to manager turnover |
| Unique Product Development [@bhaduri2002determinants] | Alters debt levels |
These exceptions highlight why controlling for financial structure is crucial in event studies.
------------------------------------------------------------------------
### Calculating the Leverage Effect
We can express leverage effect ($LE$) as:
$$
\begin{aligned}
LE &= \frac{\text{Operating Business Value}}{\text{Shareholder Value}} \\
&= \frac{(\text{SHV} - \text{Non-Operating Assets} + \text{Debt})}{\text{SHV}} \\
&= \frac{prcc_f \times csho - ivst + dd1 + dltt + pstk}{prcc_f \times csho}
\end{aligned}
$$
where:
- $prcc_f$ = Share price
- $csho$ = Common shares outstanding
- $ivst$ = Short-term investments (Non-Operating Assets)
- $dd1$ = Long-term debt due in one year
- $dltt$ = Long-term debt
- $pstk$ = Preferred stock
------------------------------------------------------------------------
### Computing Leverage Effect from Compustat Data
```{r}
# Load required libraries
library(tidyverse)
# Load dataset
df_leverage_effect <- read.csv("data/leverage_effect.csv.gz") %>%
# Filter active firms
filter(costat == "A") %>%
# Drop missing values
drop_na() %>%
# Compute Shareholder Value (SHV)
mutate(shv = prcc_f * csho) %>%
# Compute Operating Business Value (OBV)
mutate(obv = shv - ivst + dd1 + dltt + pstk) %>%
# Compute Leverage Effect
mutate(leverage_effect = obv / shv) %>%
# Remove infinite values and non-positive leverage effects
filter(is.finite(leverage_effect), leverage_effect > 0) %>%
# Compute within-firm statistics
group_by(gvkey) %>%
mutate(
within_mean_le = mean(leverage_effect, na.rm = TRUE),
within_sd_le = sd(leverage_effect, na.rm = TRUE)
) %>%
ungroup()
# Summary statistics
mean_le <- mean(df_leverage_effect$leverage_effect, na.rm = TRUE)
max_le <- max(df_leverage_effect$leverage_effect, na.rm = TRUE)
# Plot histogram of leverage effect
hist(
df_leverage_effect$leverage_effect,
main = "Distribution of Leverage Effect",
xlab = "Leverage Effect",
col = "blue",
breaks = 30
)
# Compute coefficient of variation (CV)
cv_le <-
sd(df_leverage_effect$leverage_effect, na.rm = TRUE) / mean_le * 100
# Plot within-firm coefficient of variation histogram
df_leverage_effect %>%
group_by(gvkey) %>%
slice(1) %>%
ungroup() %>%
mutate(cv = within_sd_le / within_mean_le) %>%
pull(cv) %>%
hist(
main = "Within-Firm Coefficient of Variation",
xlab = "CV",
col = "red",
breaks = 30
)
```
## Economic Significance
The total wealth gain (or loss) resulting from a marketing event is given by:
$$
\Delta W_t = CAR_t \times MKTVAL_0
$$
where:
- $\Delta W_t$ = Change in firm value (gain or loss).
- $CAR_t$ = Cumulative abnormal return up to date $t$.
- $MKTVAL_0$ = Market value of the firm before the event window.
**Interpretation:**
- If $\Delta W_t > 0$: The event increased firm value.
- If $\Delta W_t < 0$: The event decreased firm value.
- The magnitude of $\Delta W_t$ reflects the economic impact of the marketing event in dollar terms.
By computing $\Delta W_t$, researchers can translate stock market reactions into tangible financial implications, helping assess the real-world significance of marketing decisions.
------------------------------------------------------------------------
```{r}
# Load necessary libraries
library(tidyverse)
# Simulated dataset of event study results
df_event_study <- tibble(
firm_id = 1:100,
# 100 firms
CAR_t = rnorm(100, mean = 0.02, sd = 0.05),
# Simulated CAR values
MKTVAL_0 = runif(100, min = 1e8, max = 5e9) # Market value in dollars
)
# Compute total wealth gain/loss
df_event_study <- df_event_study %>%
mutate(wealth_change = CAR_t * MKTVAL_0)
# Summary statistics of economic impact
summary(df_event_study$wealth_change)
# Histogram of total wealth gain/loss
hist(
df_event_study$wealth_change,
main = "Distribution of Wealth Change from Event",
xlab = "Wealth Change ($)",
col = "blue",
breaks = 30
)
```
------------------------------------------------------------------------
## Testing in Event Studies
### Statistical Power in Event Studies
Statistical power refers to the ability to detect a true effect (i.e., identify significant abnormal returns) when one exists.
Power increases with:
- More firms in the sample → reduces variance and increases reliability.
- Fewer days in the event window → avoids contamination from other confounding factors.
Trade-Off:
- A longer event window captures delayed market reactions but risks contamination from unrelated events.
- A shorter event window reduces noise but may miss slow adjustments in stock prices.
Thus, an optimal event window balances precision (avoiding confounds) and completeness (capturing true market reaction).
### Parametric Tests
@brown1985using provide evidence that parametric tests perform well even under non-normality, as long as the sample includes at least five securities. This is because the distribution of abnormal returns converges to normality as the sample size increases.
#### Power of Parametric Tests
@kothari1997measuring highlights that the power to detect significant abnormal returns depends on:
- Sample size: More firms improve statistical power.
- Magnitude of abnormal returns: Larger effects are easier to detect.
- Variance of abnormal returns across firms: Lower variance increases power.
#### T-Test for Abnormal Returns
By applying the [Central Limit Theorem], we can use the t-test for abnormal returns:
$$
\begin{aligned}
t_{CAR} &= \frac{\bar{CAR_{it}}}{\sigma (CAR_{it})/\sqrt{n}} \\
t_{BHAR} &= \frac{\bar{BHAR_{it}}}{\sigma (BHAR_{it})/\sqrt{n}}
\end{aligned}
$$
**Assumptions:**
- Abnormal returns follow a normal distribution.
- Variance is equal across firms.
- No cross-sectional correlation in abnormal returns.
If these assumptions do not hold, the t-test will be misspecified, leading to unreliable inference.
Misspecification may occur due to:
- **Heteroskedasticity** (unequal variance across firms).
- **Cross-sectional dependence** (correlation in abnormal returns across firms).
- **Non-normality** of abnormal returns (though event study design often forces normality).
To address these concerns, [Patell Standardized Residuals](#patell-standardized-residual-psr) provide a robust alternative.
------------------------------------------------------------------------
#### Patell Standardized Residual {#patell-standardized-residual-psr}
@patell1976corporate developed the [Patell Standardized Residuals](#patell-standardized-residual-psr) (PSR), which standardizes abnormal returns to correct for estimation errors.
Since the market model relies on observations outside the event window, it introduces prediction errors beyond true residuals. PSR corrects for this:
$$
AR_{it} = \frac{\hat{u}_{it}}{s_i \sqrt{C_{it}}}
$$
where:
- $\hat{u}_{it}$ = estimated residual from the market model.
- $s_i$ = standard deviation of residuals from the estimation period.
- $C_{it}$ = correction factor accounting for estimation period variation.
The correction factor ($C_{it}$) is:
$$
C_{it} = 1 + \frac{1}{T} + \frac{(R_{mt} - \bar{R}_m)^2}{\sum_t (R_{mt} - \bar{R}_m)^2}
$$
where:
- $T$ = number of observations in the estimation period.
- $R_{mt}$ = market return at time $t$.
- $\bar{R}_m$ = mean market return.
This correction ensures abnormal returns are properly scaled, reducing bias from estimation errors.
------------------------------------------------------------------------
### Non-Parametric Tests
Non-parametric tests do not assume a specific return distribution, making them robust to non-normality and heteroskedasticity.
#### Sign Test
The Sign Test assumes symmetric abnormal returns around zero.
- Null hypothesis ($H_0$): Equal probability of positive and negative abnormal returns.
- Alternative hypothesis ($H_A$): More positive (or negative) abnormal returns than expected.
```{r, eval = FALSE}
# Perform a sign test using binomial test
binom.test(x = sum(CAR > 0), n = length(CAR), p = 0.5)
```
#### Wilcoxon Signed-Rank Test
The Wilcoxon Signed-Rank Test allows for non-symmetry in returns.
- Use case: Detects shifts in the distribution of abnormal returns.
- More powerful than the sign test when return magnitudes matter.
```{r, eval = FALSE}
# Perform Wilcoxon Signed-Rank Test
wilcox.test(CAR, mu = 0)
```
#### Generalized Sign Test
A more advanced sign test, comparing the proportion of positive abnormal returns to historical norms.
#### Corrado Rank Test
The Corrado Rank Test is a rank-based test for abnormal returns.
- Advantage: Accounts for cross-sectional dependence.
- More robust than the t-test under non-normality.
```{r}
# Load necessary libraries
library(tidyverse)
# Simulate abnormal returns (CAR)
set.seed(123)
df_returns <- tibble(
firm_id = 1:100, # 100 firms
CAR = rnorm(100, mean = 0.02, sd = 0.05) # Simulated CAR values
)
# Parametric T-Test for CAR
t_test_result <- t.test(df_returns$CAR, mu = 0)
# Non-parametric tests
sign_test_result <- binom.test(sum(df_returns$CAR > 0), n = nrow(df_returns), p = 0.5)
wilcox_test_result <- wilcox.test(df_returns$CAR, mu = 0)
# Print results
list(
T_Test = t_test_result,
Sign_Test = sign_test_result,
Wilcoxon_Test = wilcox_test_result
)
```
------------------------------------------------------------------------
## Sample in Event Studies
Event studies in marketing and finance often use relatively small samples, but they can still yield meaningful results.
Examples of sample sizes in prior studies:
- [@wiles2012effect]: 572 acquisition announcements, 308 disposal announcements.
- [@markovitch2008findings]: Smallest sample with 71 events.
- [@borah2014make]: Largest sample with 3,552 events.
Thus, while larger samples improve power, meaningful results can still be obtained from smaller datasets.
------------------------------------------------------------------------
## Confounders in Event Studies
A major challenge in event studies is controlling for confounding events, which could bias the estimation of abnormal returns.
### Types of Confounding Events
[@mcwilliams1997event] suggest excluding firms that experience other major events within a two-day window around the focal event. These include:
- Financial announcements: Earnings reports, stock buybacks, dividend changes, IPOs.
- Corporate actions: Mergers, acquisitions, spin-offs, stock splits, debt defaults.
- Executive changes: CEO/CFO resignations or appointments.
- Operational changes: Layoffs, restructurings, lawsuits, joint ventures.
@fornell2006customer recommend:
- One-day event period: The date when Wall Street Journal publishes the ACSI announcement.
- Five-day window (before and after the event) to rule out other news (from PR Newswires, Dow Jones, Business Wires).
Events controlled for include:
- M&A, spin-offs, stock splits.
- CEO or CFO changes.
- Layoffs, restructurings, lawsuits.
A useful data source for identifying confounding events is **Capital IQ's Key Developments**, which captures almost all important corporate events.
------------------------------------------------------------------------
### Should We Exclude Confounded Observations?
@sorescu2017 investigated confounding events in short-term event windows using:
- RavenPack dataset (2000-2013).
- 3-day event windows for 3,982 US publicly traded firms.
**Key Findings:**
- The difference between the full sample and the sample without confounded events was statistically insignificant.
- **Conclusion:** Excluding confounded observations **may not be necessary** in short-term event studies.
**Why?**
- **Selection bias risk**: Researchers may selectively exclude events, introducing bias.
- **Increasing exclusions over time**: As time progresses, more events need to be excluded, reducing statistical power.
- **Short-term windows minimize confounder effects**.
------------------------------------------------------------------------
### Simulation Study: Should We Exclude Correlated and Uncorrelated Events?
To illustrate the impact of correlated and uncorrelated events, let's conduct a simulation study.
We consider three event types:
1. **Focal events** (events of interest).
2. **Correlated events** (events that often co-occur with focal events).
3. **Uncorrelated events** (random events that might coincide with focal events).
We will analyze the impact of **including vs. excluding** correlated and uncorrelated events.
------------------------------------------------------------------------
```{r, warning=FALSE}
# Load required libraries
library(dplyr)
library(ggplot2)
library(tidyr)
library(tidyverse)
# Parameters
n <- 100000 # Number of observations
n_focal <- round(n * 0.2) # Number of focal events
overlap_correlated <- 0.5 # Overlapping percentage between focal and correlated events
# Function to compute mean and confidence interval
mean_ci <- function(x) {
m <- mean(x)
ci <- qt(0.975, length(x)-1) * sd(x) / sqrt(length(x)) # 95% confidence interval
list(mean = m, lower = m - ci, upper = m + ci)
}
# Simulate data
set.seed(42)
data <- tibble(
date = seq.Date(
from = as.Date("2010-01-01"),
by = "day",
length.out = n
),
# Date sequence
focal = rep(0, n),
correlated = rep(0, n),
ab_ret = rnorm(n)
)
# Define focal events
focal_idx <- sample(1:n, n_focal)
data$focal[focal_idx] <- 1
true_effect <- 0.25
# Adjust the ab_ret for the focal events to have a mean of true_effect
data$ab_ret[focal_idx] <-
data$ab_ret[focal_idx] - mean(data$ab_ret[focal_idx]) + true_effect
# Determine the number of correlated events that overlap with focal and those that don't
n_correlated_overlap <-
round(length(focal_idx) * overlap_correlated)
n_correlated_non_overlap <- n_correlated_overlap
# Sample the overlapping correlated events from the focal indices
correlated_idx <- sample(focal_idx, size = n_correlated_overlap)
# Get the remaining indices that are not part of focal
remaining_idx <- setdiff(1:n, focal_idx)
# Check to ensure that we're not attempting to sample more than the available remaining indices
if (length(remaining_idx) < n_correlated_non_overlap) {
stop("Not enough remaining indices for non-overlapping correlated events")
}
# Sample the non-overlapping correlated events from the remaining indices
correlated_non_focal_idx <-
sample(remaining_idx, size = n_correlated_non_overlap)
# Combine the two to get all correlated indices
all_correlated_idx <- c(correlated_idx, correlated_non_focal_idx)
# Set the correlated events in the data
data$correlated[all_correlated_idx] <- 1
# Inflate the effect for correlated events to have a mean of
correlated_non_focal_idx <-
setdiff(all_correlated_idx, focal_idx) # Fixing the selection of non-focal correlated events
data$ab_ret[correlated_non_focal_idx] <-
data$ab_ret[correlated_non_focal_idx] - mean(data$ab_ret[correlated_non_focal_idx]) + 1
# Define the numbers of uncorrelated events for each scenario
num_uncorrelated <- c(5, 10, 20, 30, 40)
# Define uncorrelated events
for (num in num_uncorrelated) {
for (i in 1:num) {
data[paste0("uncorrelated_", i)] <- 0
uncorrelated_idx <- sample(1:n, round(n * 0.1))
data[uncorrelated_idx, paste0("uncorrelated_", i)] <- 1
}
}
# Define uncorrelated columns and scenarios
unc_cols <- paste0("uncorrelated_", 1:num_uncorrelated)
results <- tibble(
Scenario = c(
"Include Correlated",
"Correlated Effects",
"Exclude Correlated",
"Exclude Correlated and All Uncorrelated"
),
MeanEffect = c(
mean_ci(data$ab_ret[data$focal == 1])$mean,
mean_ci(data$ab_ret[data$focal == 0 |
data$correlated == 1])$mean,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0])$mean,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, paste0("uncorrelated_", 1:num_uncorrelated)]) == 0])$mean
),
LowerCI = c(
mean_ci(data$ab_ret[data$focal == 1])$lower,
mean_ci(data$ab_ret[data$focal == 0 |
data$correlated == 1])$lower,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0])$lower,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, paste0("uncorrelated_", 1:num_uncorrelated)]) == 0])$lower
),
UpperCI = c(
mean_ci(data$ab_ret[data$focal == 1])$upper,
mean_ci(data$ab_ret[data$focal == 0 |
data$correlated == 1])$upper,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0])$upper,
mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, paste0("uncorrelated_", 1:num_uncorrelated)]) == 0])$upper
)
)
# Add the scenarios for excluding 5, 10, 20, and 50 uncorrelated
for (num in num_uncorrelated) {
unc_cols <- paste0("uncorrelated_", 1:num)
results <- results %>%
add_row(
Scenario = paste("Exclude", num, "Uncorrelated"),
MeanEffect = mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, unc_cols]) == 0])$mean,
LowerCI = mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, unc_cols]) == 0])$lower,
UpperCI = mean_ci(data$ab_ret[data$focal == 1 &
data$correlated == 0 &
rowSums(data[, unc_cols]) == 0])$upper
)
}
ggplot(results,
aes(
x = factor(Scenario, levels = Scenario),
y = MeanEffect,
ymin = LowerCI,
ymax = UpperCI
)) +
geom_pointrange() +
coord_flip() +
ylab("Mean Effect") +
xlab("Scenario") +
ggtitle("Mean Effect of Focal Events under Different Scenarios") +
geom_hline(yintercept = true_effect,
linetype = "dashed",
color = "red")
```
As depicted in the plot, the inclusion of correlated events demonstrates minimal impact on the estimation of our focal events. Conversely, excluding these correlated events can diminish our statistical power. This is true in cases of pronounced correlation.
However, the consequences of excluding unrelated events are notably more significant. It becomes evident that by omitting around 40 unrelated events from our study, we lose the ability to accurately identify the true effects of the focal events. In reality and within research, we often rely on the Key Developments database, excluding over 150 events, a practice that can substantially impair our capacity to ascertain the authentic impact of the focal events.
This little experiment really drives home the point -- you better have a darn good reason to exclude an event from your study!
------------------------------------------------------------------------
## Biases in Event Studies
Event studies are subject to several biases that can affect the estimation of abnormal returns, the validity of test statistics, and the interpretation of results. This section discusses key biases and recommended corrections.
------------------------------------------------------------------------
### Timing Bias: Different Market Closing Times
@campbell1998econometrics highlight that differences in market closing times across exchanges can obscure abnormal return calculations, especially for firms traded in multiple time zones.
**Solution:**
- Use synchronized market closing prices where possible.
- Adjust event windows based on the firm's primary trading exchange.
------------------------------------------------------------------------
### Upward Bias in Cumulative Abnormal Returns
- The aggregation of CARs can introduce an upward bias due to the use of transaction prices (i.e., bid and ask prices).
- **Issue:** Prices can jump due to liquidity constraints, leading to artificially inflated CARs.
**Solution:**
- Use volume-weighted average prices (VWAP) instead of raw transaction prices.
- Apply robust standard errors to mitigate bias.
------------------------------------------------------------------------
### Cross-Sectional Dependence Bias
Cross-sectional dependence in returns biases the standard deviation estimates downward, leading to inflated test statistics when multiple firms experience the event on the same date.
- [@mackinlay1997event]: This bias is particularly problematic when firms in the same industry or market share event dates.
- [@wiles2012effect]: Events in concentrated industries amplify cross-sectional dependence, further inflating test statistics.
**Solution:**
- Use [Calendar-Time Portfolio Abnormal Returns (CTARs)](#calendar-time-portfolio-abnormal-returns-ctars) [@jaffe1974special].
- Apply a time-series standard deviation test statistic [@brown1980measuring] to correct standard errors.
```{r}
# Load required libraries
library(sandwich) # For robust standard errors
library(lmtest) # For hypothesis testing
# Simulated dataset
set.seed(123)
df_returns <- data.frame(
event_id = rep(1:100, each = 10),
firm_id = rep(1:10, times = 100),
abnormal_return = rnorm(1000, mean = 0.02, sd = 0.05)
)
# Cross-sectional dependence adjustment using clustered standard errors
model <- lm(abnormal_return ~ 1, data = df_returns)
coeftest(model, vcov = vcovCL(model, cluster = ~event_id))
```
### Sample Selection Bias
Event studies often suffer from self-selection bias, where firms self-select into treatment (the event) based on private information. This is similar to omitted variable bias, where the omitted variable is the private information that led the firm to take the action.
### Corrections for Sample Selection Bias
1. Heckman Two-Stage Model [@acharya1993value]
- **Problem**: Hard to find a strong instrument that meets the exclusion restriction.
- **Solution**: Estimate the Mills ratio ($\lambda$) to account for private information in firm decisions.
2. Counterfactual Observations
```
- **Propensity Score Matching**: Matches firms experiencing an event with similar firms that did not.
- **Switching Regression**: Compares outcomes across two groups while accounting for unobserved heterogeneity.
```
------------------------------------------------------------------------
1. **Heckman Selection Model**
A Heckman selection model can be used when private information influences both event participation and abnormal returns.
**Examples**: @chen2009does; @wiles2012effect; @fang2015timing
**Steps:**
1. **First Stage (Selection Equation):** Model the firm's probability of experiencing the event using a Probit regression.
2. **Second Stage (Outcome Equation):** Model abnormal returns, controlling for the estimated Mills ratio ($\lambda$).
```{r}
# Load required libraries
library(sampleSelection)
# Simulated dataset for Heckman model
set.seed(123)
df_heckman <- data.frame(
firm_id = 1:500,
event = rbinom(500, 1, 0.3), # Event occurrence (selection)
firm_size = runif(500, 1, 10), # Firm characteristic
abnormal_return = rnorm(500, mean = 0.02, sd = 0.05)
)
# Introduce selection bias by correlating firm_size with event occurrence
df_heckman$event[df_heckman$firm_size > 7] <- 1
# Heckman Selection Model
heckman_model <- selection(
selection = event ~ firm_size, # Selection equation
outcome = abnormal_return ~ firm_size, # Outcome equation
data = df_heckman
)
# Summary of Heckman model
summary(heckman_model)
```
**Interpretation**
- If the Mills ratio ($\lambda$) is significant, it indicates that private information affects CARs.