event2car: Cumulative abnormal returns for firm(s) at event(s)

Description Usage Arguments Details Value References Examples

View source: R/event2car.R

Description

The function calculates abnormal returns and confidence intervals during the event period(s) as well as cumulative abnormal returns of event(s).

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
event2car(
  returns = NULL,
  regressor = NULL,
  event_date = NULL,
  method = c("mean_adj", "mrkt_adj_within", "mrkt_adj_out"),
  imputation_returns = c("approx", "mean", "drop", "pmm"),
  imputation_regressor = c("approx", "mean"),
  car_lag = 1,
  car_lead = 5,
  estimation_period = 150
)

Arguments

returns

an object of class zoo containing rates of returns of securities.

regressor

an object of the same class as returns containing regressors. The argument can be omitted, if market model is mean_adj.

event_date

an character object or an object of class Date containing one event date or multiple event dates in the format YYYY-MM-DD.

method

a character indicating the method used to calculate abnormal returns and cumulative abnormal returns. Choose among mean_adj, mrkt_adj_out, and mrkt_adj_within.

imputation_returns

a character indicating the way of dealing with missing values in returns data: drop: No imputation at all and dropping observations with NAs, mean: imputing missing data with the mean stock return (for further information see '?zoo::na.aggregate') , approx: imputing missing data using interpolated values (for further information see '?zoo::na.approx'), pmm: imputing missing data by dint of predictive mean matching used in the mice package (for further information see '?mice::mice').

imputation_regressor

a character indicating the way of dealing with missing values in regressor data: mean: imputing missing data with the mean stock return (for further information see '?zoo::na.aggregate') , approx: imputing missing data using interpolated values (for further information see '?zoo::na.approx'),

car_lag

an object of class intenger measuring the start of the event window. The default is 1 day prior to the event date.

car_lead

an object of class intenger measuring the end of the event window. The default is 5 days after the event date.

estimation_period

an object of class intenger stating the number of days prior to the event over which the market model parameters are estimated. Default is 150 days. Note that the event period itself is not included in the event period to prevent the event from influencing the normal performance model parameter estimates.

Details

The package covers three models for the calculation of the cumulative abnormal returns: - Mean-adjusted model (mean_adj) - Market-adjusted model using out-of-sample estimation (mrkt_adj_out) - Market-adjusted model using within-sample estimation (mrkt_adj_within) This is the logic suggested by multiple scholars. See references below.

The generic function is dispatched for such classes as zoo. (future versions of the package allow for classes of data.frame.)

If method is mrkt_adj_out or mrkt_adj_within and regressor has the length greater than one, the first element of regressor will be applied for each security in returns.

Value

an object of class list which contains abnormal returns on the event date(s), confidence intervals of the abnormal returns, and the cumulative abnormal return of the event period(s). Note that the mean_adj adn the mrkt_adj_out method produce mean abnormal returns, yet the mrkt_adj_within method delivers coefficients of the event period.

References

MacKinlay, A.C. Event Studies in Economics and Finance. Journal of Economic Literature, 35(1):13-39, 1997.

Brown S.J., Warner J.B. Using Daily Stock Returns, The Case of Event Studies. Journal of Financial Economics, 14:3-31, 1985.

Davies, R., Studnicka, Z. The heterogeneous impact of Brexit: Early indications from the FTSE. European Economic Review, 110:1-17, 2018.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# prepare data
trumpelection <- as.Date("2016-11-08")
returns_firms <- tech_returns[,2:19]
return_indx <- tech_returns[,1]
# mean adjusted model
event2car(returns=returns_firms,regressor=return_indx,
         imputation_returns="mean",
         event_date=trumpelection,method="mean_adj")
# market adjusted model (out-of sample estimation)
event2car(returns=returns_firms,regressor=return_indx,
         imputation_returns="mean",imputation_regressor="approx",
         event_date=trumpelection,method="mrkt_adj_out")
# market adjusted model (within sample estimation)
event2car(returns=returns_firms,regressor=return_indx,
        imputation_returns="mean",imputation_regressor="approx",
        event_date=trumpelection,method="mrkt_adj_within")

LisaLechner/event2car documentation built on Jan. 6, 2020, 12:27 p.m.