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.