An event study parametric test described in Brown and Warner 1980.
brown_warner_1980(list_of_returns, event_start, event_end)
list_of_returns | a list of objects of S3 class |
---|---|
event_start | an object of |
event_end | an object of |
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_1980_stat
: a Brown and Warner (1980) test statistic
bw_1980_signif
: a significance of the statistic
Performs a parametric test for the event study, which is described in
Brown and Warner 1980. The test assumes a cross-sectional independence
and an insignificance of 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 calculated as
the cross-sectional mean of companies' variances, estimated on the estimation
period. It calculates statistics even if the event window and the 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 ***).
It was designed to measure monthly data: for daily data look at Brown and
Warner 1985 and brown_warner_1985
.
Brown S.J., Warner J.B. Measuring security price performance. Journal of Financial Economics, 8:205-258, 1980.
parametric_tests
, brown_warner_1985
,
t_test
, patell
, boehmer
, and
lamb
.
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_1980(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_1980(list_of_returns = securities_returns, event_start = as.Date("2020-03-16"), event_end = as.Date("2020-03-20"))#> date weekday percentage mean bw_1980_stat bw_1980_signif #> 1 2020-03-16 Monday 100 0.02329740 2.486449 ** #> 2 2020-03-17 Tuesday 100 -0.03157867 -3.370281 *** #> 3 2020-03-18 Wednesday 100 -0.01617850 -1.726675 * #> 4 2020-03-19 Thursday 100 0.07672027 8.188085 *** #> 5 2020-03-20 Friday 100 0.05840545 6.233409 ***