modified_rank_test: An event study modified rank test.

Description Usage Arguments Details Value References See Also Examples

View source: R/nonparametric_tests.R

Description

The test is the modification of the original rank test, proposed by Corrado 1989. This test is adapted to missing values in abnormal returns.

Usage

1
modified_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

In addition to the original rank test, the procedure divides corresponding ranks by the number of nonmissing returns plus one for each security. This leads to order statistics with uniform distribution. In limit overall statistics under a null hypothesis is approximately normally distributed. For this test the estimation period and the event period must not overlap, otherwise an error will be thrown. The test is well-specified for the case, when cross-sectional abnormal returns are not symmetric. The test is stable to variance increase during the event window. This test is more sensitive to extreme values than the sign 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, 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")) %>%
    modified_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)
modified_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.