An event study parametric test described in Lamb 1995.

lamb(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

  • lmb_stat: a Lamb's test statistic

  • lmb_signif: a significance of the statistic

Details

Performs a parametric test for the event study, which is described in Lamb 1995. The author refers to Warner and Brown 1985 and Henderson 1990. However, this test was not observed in neither papers. The test statistics are very close to the statistics produced by brown_warner_1985 and typically has the same significance. 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 are standard normal. The significance levels of \(\alpha\) are 0.1, 0.05, and 0.01 (marked respectively by *, **, and ***).

References

Lamb R.P. An Exposure-Based Analysis of Property-Liability Insurer Stock Values around Hurricane Andrew. Journal of Risk and Insurance, 62(1):111-123, 1995.

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")) %>% lamb(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) lamb(list_of_returns = securities_returns, event_start = as.Date("2020-03-16"), event_end = as.Date("2020-03-20"))
#> date weekday percentage mean lmb_stat lmb_signif #> 1 2020-03-16 Monday 100 0.02329740 1.620049 #> 2 2020-03-17 Tuesday 100 -0.03157867 -2.435456 ** #> 3 2020-03-18 Wednesday 100 -0.01617850 -1.254626 #> 4 2020-03-19 Thursday 100 0.07672027 6.105794 *** #> 5 2020-03-20 Friday 100 0.05840545 4.565195 ***