View source: R/apply_market_model.R
apply_market_model | 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.
returns
## 1. Mean-adjusted-returns model ## Not run: library("magrittr") tickers <- c("AMZN", "ZM", "UBER", "NFLX", "SHOP", "FB", "UPWK") securities_returns <- 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(market_model = "mean_adj", estimation_start = as.Date("2019-04-01"), estimation_end = as.Date("2020-03-13")) ## 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("2019-04-01"), estimation_end = as.Date("2020-03-13") ) ## 2. Market-adjusted-returns model ## 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") securities_returns <- 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 = "mrkt_adj", estimation_start = as.Date("2019-04-01"), estimation_end = as.Date("2020-03-13")) ## 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("2019-04-01"), estimation_end = as.Date("2020-03-13") ) ## 3. Single-index market model ## 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") securities_returns <- 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")) ## 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("2019-04-01"), estimation_end = as.Date("2020-03-13") )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.