rank_test: An event study rank test.

Description Usage Arguments Details Value References See Also Examples

View source: R/nonparametric_tests.R

Description

An original rank test applied to an event study, which is based on Wilcoxon (1945) rank test.

Usage

1
rank_test(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.

Details

This procedure uses ranks of abnormal returns to examine significance of each day in the event window. In order to get ranks of corresponding abnormal returns, the procedure uses regular R function rank with parameter ties.method = "average" and na.last = "keep". For this test the estimation period and the event period must not overlap, otherwise an error will be thrown. The test statistic is assumed to have a normal distribution (as an approximation). The test is well-specified for the case, when cross-sectional abnormal returns are not symmetric. The test is stable to variance increase during event window. This test is more sensitive to extreme values than sign test. For data with missing data see the modified_rank_test. The significance levels of α are 0.1, 0.05, and 0.01 (marked respectively by *, **, and ***).

Value

A data frame of the following columns:

References

See Also

nonparametric_tests,sign_test, generalized_sign_test, corrado_sign_test, modified_rank_test, and wilcoxon_test.

Examples

 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
## Not run: 
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")) %>%
    rank_test(event_start = as.Date("2020-03-16"),
              event_end = as.Date("2020-03-20"))

## End(Not run)
## The result of the code above is equivalent to:
data(securities_returns)
rank_test(list_of_returns = securities_returns,
          event_start =  as.Date("2020-03-16"),
          event_end = as.Date("2020-03-20"))

estudy2 documentation built on Nov. 15, 2021, 5:09 p.m.