apply_market_model {estudy2} | R Documentation |
returns
objects.The function applies a given market model to securities' rates of returns and
returns a list of returns
objects for each security, which can be
passed directly to a whole battery of tests.
apply_market_model(rates, regressors, same_regressor_for_all = TRUE, market_model = c("mean_adj", "mrkt_adj", "sim"), estimation_method = c("ols"), estimation_start, estimation_end)
rates |
an object of |
regressors |
an object of the same class as |
same_regressor_for_all |
logical. Should the same regressor be used for each security? The default value is TRUE. |
market_model |
a character indicating the market model among
|
estimation_method |
a character specifying an estimation method for
|
estimation_start |
an object of |
estimation_end |
an object of |
The generic function is dispatched for such classes as list
,
data.frame
, and zoo
. If same_regressor_for_all
is TRUE,
and regressors
has the length greater than one, the first element of
regressors
will be applied for each security in rates
.
A list of returns
objects.
Brown S.J., Warner J.B. Using Daily Stock Returns, The Case of Event Studies. Journal of Financial Economics, 14:3-31, 1985.
## 1. Mean-adjusted-returns model ## Not run: library("magrittr") tickers <- c("ALV.DE", "CS.PA", "G.MI", "HNR1.HA", "HSX.L", "MUV2.DE", "RSA.L", "TOP.CO") securities_returns <- get_prices_from_tickers(tickers, start = as.Date("2000-01-01"), end = as.Date("2002-01-01"), quote = "Close", retclass = "zoo") %>% get_rates_from_prices(quote = "Close", multi_day = TRUE, compounding = "continuous") %>% apply_market_model(market_model = "mean_adj", estimation_start = as.Date("2001-03-26"), estimation_end = as.Date("2001-09-10")) ## End(Not run) ## The result of the code above is equivalent to: data(rates) securities_returns <- apply_market_model( rates, market_model = "mean_adj", estimation_start = as.Date("2001-03-26"), estimation_end = as.Date("2001-09-10") ) ## 2. Market-adjusted-returns model ## Not run: library("magrittr") rates_indx <- get_prices_from_tickers("^STOXX50E", start = as.Date("2000-01-01"), end = as.Date("2002-01-01"), quote = "Close", retclass = "zoo") %>% get_rates_from_prices(quote = "Close", multi_day = TRUE, compounding = "continuous") tickers <- c("ALV.DE", "CS.PA", "G.MI", "HNR1.HA", "HSX.L", "MUV2.DE", "RSA.L", "TOP.CO") securities_returns <- get_prices_from_tickers(tickers, start = as.Date("2000-01-01"), end = as.Date("2002-01-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 = "mrkt_adj", estimation_start = as.Date("2001-03-26"), estimation_end = as.Date("2001-09-10")) ## End(Not run) ## The result of the code above is equivalent to: data(rates, rates_indx) securities_returns <- apply_market_model( rates = rates, regressor = rates_indx, same_regressor_for_all = TRUE, market_model = "mrkt_adj", estimation_start = as.Date("2001-03-26"), estimation_end = as.Date("2001-09-10") ) ## 3. Single-index market model ## Not run: library("magrittr") rates_indx <- get_prices_from_tickers("^STOXX50E", start = as.Date("2000-01-01"), end = as.Date("2002-01-01"), quote = "Close", retclass = "zoo") %>% get_rates_from_prices(quote = "Close", multi_day = TRUE, compounding = "continuous") tickers <- c("ALV.DE", "CS.PA", "G.MI", "HNR1.HA", "HSX.L", "MUV2.DE", "RSA.L", "TOP.CO") securities_returns <- get_prices_from_tickers(tickers, start = as.Date("2000-01-01"), end = as.Date("2002-01-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("2001-03-26"), estimation_end = as.Date("2001-09-10")) ## End(Not run) ## The result of the code above is equivalent to: data(rates, rates_indx) securities_returns <- apply_market_model( rates = rates, regressor = rates_indx, same_regressor_for_all = TRUE, market_model = "sim", estimation_method = "ols", estimation_start = as.Date("2001-03-26"), estimation_end = as.Date("2001-09-10") )