forked from mikenguyen13/data_analysis
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path25-event-study.Rmd
474 lines (273 loc) · 12.7 KB
/
25-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
# Event Studies
The earliest paper that used event study was [@dolley1933characteristics]
[@campbell1997] introduced this method, which based on the efficient markets theory by [@fama1970]
Previous marketing studies:
- [@horsky1987]: name change
- [@chaney1991] new product announcements
- [@agrawal1995]: celebrity endorsement
- [@lane1995]: brand extensions
- [@johnson2000a]: joint venture
- [@geyskens2002]: Internet channel (for newspapers)
- [@wiles2010]: Regulatory Reports of Deceptive Advertising
- [@sood2009]: innovation payoff
Potential avenues:
- Ad campaigns
- Market entry
- product failure/recalls
- Patents
Pros:
- Better than accounting based measures (e.g., profits) because managers can manipulate profits [@benston1985validity]
- Easy to do
Events can be
- Internal (e.g., stock repurchase)
- External (e.g., macroeconomic variables)
**Assumptions**:
1. Efficient market theory
2. Shareholders are the most important group among stakeholders
3. The event sharply affects share price
4. Expected return is calculated appropriately
**Steps**:
1. Event Identification: (e.g., dividends, M&A, stock buyback, laws or regulation, privatization vs. nationalization, celebrity endorsements, name changes, or brand extensions etc.)
1. Estimation window: Normal return expected return ($T_0 \to T_1$) (sometimes include days before to capture leakages).
- Recommendation by [@moorman2004assessing, p. 13] is to use 250 days before the event (and 45-day between the estimation window and the event window).
- Similarly, [@mcwilliams1997a] and [@fornell2006a] 255 days ending 46 days before the event date
2. Event window: contain the event date ($T_1 \to T_2$) (have to argue for the event window and can't do it empirically)
3. Post Event window: $T_2 \to T_3$
2. Normal vs. Abnormal returns
$$
\epsilon_{it}^* = R_{it} - E(R_{it}|X_t)
$$
where
- $\epsilon_{it}^*$ = abnormal return
- $R_{it}$ = realized (actual) return
- $E(R_{it}|X_t)$ normal expected return
There are several model to calculate the expected return
A. Statistical Models: assumes jointly multivariate normal and iid over time (need distributional assumptions for valid finite-sample estimation) rather robust (hence, recommended)
1. Constant Mean Return Model
2. Market Model
3. Adjusted Market Return Model
4. Factor Model
B. Economic Models (strong assumption regarding investor behavior)
1. Capital Asset Pricing Model
2. Arbitrage pricing theory
## Other Issues
### Economic significance
Total wealth gain (loss) from the event
$$
\Delta W_t = CAR_t \times MKTVAL_0
$$
where
- $\Delta W_t$ = gain (loss)
- $CAR_t$ = cumulative residuals to date $t$
- $MKTVAL_0$ market value of the firm before the event window
### Statistical Power
increases with
- more firms
- less days in the event window (avoiding potential contamination from confounds)
### Testing
#### Parametric Test
Applying CLT
$$
t_{CAR} = \frac{\bar{CAR_{it}}}{\sigma (CAR_{it})/\sqrt{n}} \\
t_{BHAR} = \frac{\bar{BHAR_{it}}}{\sigma (BHAR_{it})/\sqrt{n}}
$$
#### Non-parametric Test
- No assumptions about return distribution
- Sign Test (assumes symmetry in returns)
- Rank Test (allows for non-symmetry in returns)
### Confounders
According to [@fornell2006a], need to control:
- one-day event period = day when Wall Street Journal publish ACSI announcement.
- 5 days before and after event to rule out other news (PR Newswires, Dow Jones, Business Wires)
- M&A, Spin-offs, stock splits
- CEO or CFO changes,
- Layoffs, restructurings, earnings announcements, lawsuits
- Capital IQ - Key Developments: covers almost all important events so you don't have to search on news.
### Biases
- Different closing time obscure estimation of the abnormal returns, check [@campbell1998econometrics]
- Upward bias in aggregating CAR + transaction prices (bid and ask)
- Cross-sectional dependence in the returns bias the standard deviation estimates downward, which inflates the test statistics when events share common dates [@mackinlay1997event]. Hence, [@jaffe1974] [Portfolio method] should be used to correct for this bias.
### Long-run event studies
- 12 - 60 months event window: [@loughran1995] [@brav1997] [@desai1999]
- Exemplar: [@dutta2018]
```{r}
library(crseEventStudy)
# example by the package's author
data(demo_returns)
SAR <-
sar(event = demo_returns$EON,
control = demo_returns$RWE,
logret = FALSE)
mean(SAR)
```
#### Buy and Hold Abnormal Returns (BHAR)
- Classic references: [@loughran1995] [@barber1997] [@lyon1999]
$$
AR_{it} = R_{it} - E(R_{it}|X_t)
$$
$$
BHAR_{t \to t + K}^i = \Pi_k(1 + AR_{i (t+k)})
$$
Where as CAR is the arithmetic sum, BHAR is the geometric sum
#### Portfolio method {data-link="Portfolio method"}
This section follows strictly the procedure in [@wiles2010]
A portfolio for every day in calendar time (including all securities which experience an event that time).
For each portfolio, the securities and their returns are equally weighted
1. For all portfolios, the average abnormal return are calculated as
$$
AAR_{Pt} = \frac{\sum_{i=1}^S AR_i}{S}
$$
where
- $S$ is the number of securities in portfolio $P$
- $AR_i$ is the abnormal return for the stock $i$ in the portfolio
2. For every portfolio $P$, a time series estimate of $\sigma(AAR_{Pt})$ is calculated for the preceding $k$ days, assuming that the $AAR_{Pt}$ are independent over time.
3. Each portfolio's average abnormal return is standardized
$$
SAAR_{Pt} = \frac{AAR_{Pt}}{SD(AAR_{Pt})}
$$
4. Average standardized residual across all portfolio's in calendar time
$$
ASAAR = \frac{1}{n}\sum_{i=1}^{255} SAAR_{Pt} \times D_t
$$
where
- $D_t = 1$ when there is at least one security in portfolio $t$
- $D_t = 0$ when there are no security in portfolio $t$
- $n$ is the number of days in which the portfolio have at least one security $n = \sum_{i = 1}^{255}D_t$
5. The cumulative average standardized average abnormal returns is
$$
CASSAR_{S_1, S_2} = \sum_{i=S_1}^{S_2} ASAAR
$$
If the ASAAR are independent over time, then standard deviation for the above estimate is $\sqrt{S_2 - S_1 + 1}$
then, the test statistics is
$$
t = \frac{CASAAR_{S_1,S_2}}{\sqrt{S_2 - S_1 + 1}}
$$
## Aggregation
### Over Time
We calculate the cumulative abnormal (CAR) for the event windows
$H_0$: Standardized cumulative abnormal return for stock $i$ is 0 (no effect of events on stock performance)
$H_1$: SCAR is not 0 (there is an effect of events on stock performance)
### Across Firms + Over Time
Additional assumptions: Abnormal returns of different socks are uncorrelated (rather strong), but it's very valid if event windows for different stocks do not overlap. If the windows for different overlap, follow [@bernard1987] and [@schipper1983]
$H_0$: The mean of the abnormal returns across all firms is 0 (no effect)
$H_1$: The mean of the abnormal returns across all firms is different form 0 (there is an effect)
Parametric (empirically either one works fine) (assume abnormal returns is normally distributed) :
1. Aggregate the CAR of all stocks (Use this if the true abnormal variance is greater for stocks with higher variance)
2. Aggregate the SCAR of all stocks (Use this if the true abnormal return is constant across all stocks)
Non-parametric (no parametric assumptions):
1. Sign test:
- Assume both the abnormal returns and CAR to be independent across stocks
- Assume 50% with positive abnormal returns and 50% with negative abnormal return
- The null will be that there is a positive abnormal return correlated with the event (if you want the alternative to be there is a negative relationship)
- With skewed distribution (likely in daily stock data), the size test is not trustworthy. Hence, rank test might be better
2. Rank test
- Null: there is no abnormal return during the event window
## Heterogeneity in the event effect
$$
y = X \theta + \eta
$$
where
- $y$ = CAR
- $X$ = Characteristics that lead to heterogeneity in the event effect (i.e., abnormal returns) (e.g., firm or event specific)
- $\eta$ = error term
Note:
- In cases with selection bias (firm characteristics and investor anticipation of the event: larger firms might enjoy great positive effect of an event, and investors endogenously anticipate this effect and overvalue the stock), we have to use the White's $t$-statistics to have the lower bounds of the true significance of the estimates.
## Expected Return Calculation
### Statistical Models
- based on statistical assumptions about the behavior of returns (e..g, multivariate normality)
- we only need to assume stable distributions [@owen1983]
#### Constant Mean Return Model
The expected normal return is the mean of the real returns
$$
Ra_{it} = R_{it} - \bar{R}_i
$$
Assumption:
- returns revert to its mean (very questionable)
The basic mean returns model generally delivers similar findings to more complex models since the variance of abnormal returns is not decreased considerably [@brown1985]
#### Market Model
$$
R_{it} = \alpha_i + \beta R_{mt} + \epsilon_{it}
$$
where
- $R_{it}$ = stock return $i$ in period $t$
- $R_{mt}$ = market return
- $\epsilon_{it}$ = zero mean ($E(e_{it}) = 0$) error term with its own variance $\sigma^2$
Notes:
- People typically use S&P 500, CRSP value-weighed or equal-weighted index as the market portfolio.
- When $\beta =0$, the [Market Model] is the [Constant Mean Return Model]
- better fit of the market-model, the less variance in abnormal return, and the more easy to detect the event's effect
- recommend generalized method of moments to be robust against auto-correlation and heteroskedasticity
#### FF3
[@fama1993]
$$
E(R_{it}|X_t) - r_{ft} = \alpha_i + \beta_{1i} (E(R_{mt}|X_t )- r_{ft}) \\
+ b_{2i} SML_t + b_{3i} HML_t
$$
where
- $r_{ft}$ risk-free rate (e.g., 3-month Treasury bill)
- $R_{mt}$ is the market-rate (e.g., S&P 500)
- SML: returns on small (size) portfolio minus returns on big portfolio
- HML: returns on high (B/M) portfolio minus returns on low portfolio.
### Economic Model
The only difference difference between CAPM and APT is that APT has multiple factors (including factors beyond the focal company)
Economic models put limits on a statistical model that come from assumed behavior that is derived from theory.
#### Capital Asset Pricing Model (CAPM)
$$
E(R_i) = R_f + \beta_i (E(R_m) - R_f)
$$
where
- $E(R_i)$ = expected firm return
- $R_f$ = risk free rate
- $E(R_m - R_f)$ = market risk premium
- $\beta_i$ = firm sensitivity
#### Arbitrage Pricing Theory (APT)
$$
R = R_f + \Lambda f + \epsilon
$$
where
- $\epsilon \sim N(0, \Psi)$
- $\Lambda$ = factor loadigns
- $f \sim N(\mu, \Omega)$ = general factor model
- $\mu$ = expected risk premium vector
- $\Omega$ = factor covariance matrix
## Application
Packages:
- `eventstudies`
- `erer`
- `EventStudy`
- `AbnormalReturns`
- [Event Study Tools](https://www.eventstudytools.com/)
- [estudy2](https://irudnyts.github.io/estudy2/)
- `PerformanceAnalytics`
In practice, people usually sort portfolio because they are not sure whether the FF model is specified correctly.
Steps:
1. Sort all returns in CRSP into 10 deciles based on size.
2. In each decile, sort returns into 10 decides based on BM
3. Get the average return of the 100 portfolios for each period (i.e., expected returns of stocks given decile - characteristics)
4. For each stock in the event study: Compare the return of the stock to the corresponding portfolio based on size and BM.
Notes:
- Sorting produces outcomes that are often more conservative (e.g., FF abnormal returns can be greater than those that used sorting).
- If the results change when we do B/M first then size or vice versa, then the results are not robust (this extends to more than just two characteristics - e.g., momentum).
-
Examples:
Forestry:
- [@mei2008] M&A on financial performance (forest product)
- [@sun2011] litigation on firm values
```{r}
library(erer)
# example by the package's author
data(daEsa)
hh <- evReturn(
y = daEsa, # dataset
firm = "wpp", # firm name
y.date = "date", # date in y
index = "sp500", # index
est.win = 250, # estimation window wedith in days
digits = 3,
event.date = 19990505, # firm event dates
event.win = 5 # one-side event window wdith in days (default = 3, where 3 before + 1 event date + 3 days after = 7 days)
)
hh; plot(hh)
```
Example by [Ana Julia Akaishi Padula, Pedro Albuquerque (posted on LAMFO)](<https://lamfo-unb.github.io/2017/08/17/Teste-de-Eventos-en/#>:\~:text=The%20abnormal%20return%20(Ra,regression%20in%20the%20estimation%20window.)
Example in `AbnormalReturns` package