An event study parametric test described in Brown and Warner 1985.

brown_warner_1985(list_of_returns, event_start, event_end)

Arguments

list_of_returns

a list of objects of S3 class returns, each element of which is treated as a security.

event_start

an object of Date class giving the first date of the event period.

event_end

an object of Date class giving the last date of the event period.

Value

A data frame of the following columns:

  • date: a calendar date

  • weekday: a day of the week

  • percentage: a share of non-missing observations for a given day

  • mean: an average abnormal return

  • bw_1985_stat: a Brown and Warner (1985) test statistic

  • bw_1985_signif: a significance of the statistic

Details

Performs a parametric test for event study, which is described in Brown and Warner 1985, which is a traditional event study approach. This test does not require cross-sectional independence but is non-robust to an event-induced variance. The test examines the hypothesis whether the theoretical cross-sectional expected value for a given day is equal to zero. The standard deviation in statistics is estimated as the cross-sectional standard deviation of companies' means, estimated on the estimation period. It calculates statistics even if event window and estimation period are overlapped (intersect). The critical values are Student's t-distributed (no approximation in limit). The significance levels of \(\alpha\) are 0.1, 0.05, and 0.01 (marked respectively by *, **, and ***).

References

Brown S.J., Warner J.B. Using Daily Stock Returns, The Case of Event Studies. Journal of Financial Economics, 14:3-31, 1985.

See also

Examples

if (FALSE) { library("magrittr") rates_indx <- get_prices_from_tickers("^GSPC", start = as.Date("2019-04-01"), end = as.Date("2020-04-01"), quote = "Close", retclass = "zoo") %>% get_rates_from_prices(quote = "Close", multi_day = TRUE, compounding = "continuous") tickers <- c("AMZN", "ZM", "UBER", "NFLX", "SHOP", "FB", "UPWK") get_prices_from_tickers(tickers, start = as.Date("2019-04-01"), end = as.Date("2020-04-01"), quote = "Close", retclass = "zoo") %>% get_rates_from_prices(quote = "Close", multi_day = TRUE, compounding = "continuous") %>% apply_market_model(regressor = rates_indx, same_regressor_for_all = TRUE, market_model = "sim", estimation_method = "ols", estimation_start = as.Date("2019-04-01"), estimation_end = as.Date("2020-03-13")) %>% brown_warner_1985(event_start = as.Date("2020-03-16"), event_end = as.Date("2020-03-20")) } ## The result of the code above is equivalent to: data(securities_returns) brown_warner_1985(list_of_returns = securities_returns, event_start = as.Date("2020-03-16"), event_end = as.Date("2020-03-20"))
#> date weekday percentage mean bw_1985_stat bw_1985_signif #> 1 2020-03-16 Monday 100 0.02329740 1.858514 * #> 2 2020-03-17 Tuesday 100 -0.03157867 -2.519140 ** #> 3 2020-03-18 Wednesday 100 -0.01617850 -1.290615 #> 4 2020-03-19 Thursday 100 0.07672027 6.120241 *** #> 5 2020-03-20 Friday 100 0.05840545 4.659205 ***