An event study parametric test described in Boehmer 1991.
boehmer(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
bh_stat
: a Boehmer's test statistic
bh_signif
: a significance of the statistic
Performs a parametric test for event study, which is described in Boehmer 1991. Also called hybrid test or standardized cross-sectional test. This test performs t-test based on Patell's standardized residuals. By combining Patell's and t-tests, this test allows for event-induced variance changes, but still assumes cross-sectional independence. The test examines the hypothesis whether the theoretical cross-sectional expected value for a given day is equal to zero. It calculates statistics even if event window and estimation period are overlapped (intersect). The critical values has Student's t-distribution. The significance levels of \(\alpha\) are 0.1, 0.05, and 0.01 (marked respectively by *, **, and ***).
Patell J.M. Corporate forecasts of earnings per share and stock price behavior: empirical tests. Journal of Accounting Research, 14(2):246- 276, 1976.
Boehmer E., Musumeci J., Poulsen A.B. Event-study methodology under conditions of event-induced variance. Journal of Financial Economics, 30(2):253-272, 1991.
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")) %>% boehmer(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) boehmer(list_of_returns = securities_returns, event_start = as.Date("2020-03-16"), event_end = as.Date("2020-03-20"))#> date weekday percentage mean bh_stat bh_signif #> 1 2020-03-16 Monday 100 0.02329740 1.20471169 #> 2 2020-03-17 Tuesday 100 -0.03157867 -1.17531339 #> 3 2020-03-18 Wednesday 100 -0.01617850 0.07606284 #> 4 2020-03-19 Thursday 100 0.07672027 2.16657728 * #> 5 2020-03-20 Friday 100 0.05840545 8.65212561 ***