Type: | Package |
Title: | A Robust and Powerful Test of Abnormal Stock Returns in Long-Horizon Event Studies |
Version: | 1.2.2 |
Date: | 2022-02-22 |
Maintainer: | Siegfried Köstlmeier <siegfried.koestlmeier@gmail.com> |
Description: | Based on Dutta et al. (2018) <doi:10.1016/j.jempfin.2018.02.004>, this package provides their standardized test for abnormal returns in long-horizon event studies. The methods used improve the major weaknesses of size, power, and robustness of long-run statistical tests described in Kothari/Warner (2007) <doi:10.1016/B978-0-444-53265-7.50015-9>. Abnormal returns are weighted by their statistical precision (i.e., standard deviation), resulting in abnormal standardized returns. This procedure efficiently captures the heteroskedasticity problem. Clustering techniques following Cameron et al. (2011) <doi:10.1198/jbes.2010.07136> are adopted for computing cross-sectional correlation robust standard errors. The statistical tests in this package therefore accounts for potential biases arising from returns' cross-sectional correlation, autocorrelation, and volatility clustering without power loss. |
License: | BSD_3_clause + file LICENSE |
URL: | https://github.com/skoestlmeier/crseEventStudy |
Imports: | methods, stats, sandwich |
Suggests: | testthat |
Depends: | R (≥ 3.5) |
Encoding: | UTF-8 |
LazyData: | true |
NeedsCompilation: | no |
Packaged: | 2022-02-22 14:38:50 UTC; LocalAdmin |
Author: | Siegfried Köstlmeier
|
Repository: | CRAN |
Date/Publication: | 2022-02-23 14:30:02 UTC |
Abnormal standardized returns (ASR) in long-horizon event studies
Description
asr
implements the calculation of abnormal standardized returns.
Abnormal standardized returns are defined as the excess standardized returns relative to the standardized return of a matching control firm or relative to the average of standardized returns of a matching control portfolio. Standardized returns are defined as sr_{it} = \frac{r_{it}}{s_{it}}
where s_{it}
is a standard deviation estimator of log returns r_{it}
.
Usage
asr(event, control, logret = FALSE)
Arguments
event |
a vector or time series of returns. |
control |
a vector or time series of returns. |
logret |
An object of class |
Value
asr
returns a vector of class "numeric"
:
ASR |
Vector containing abnormal standardized returns. |
References
Dutta, A., Knif, J., Kolari, J.W., Pynnonen, S. (2018): A robust and powerful test of abnormal stock returns in long-horizon event studies. Journal of Empirical Finance, 47, p. 1-24. doi: 10.1016/j.jempfin.2018.02.004.
Examples
## load demo_returns
## calculate mean of daily abnormal standardized returns from 2015-01-01 to 2017-12-31
## with E.ON AG as event firm and RWE AG as control firm.
data(demo_returns)
ASR <- asr(event=demo_returns$EON, control=demo_returns$RWE, logret=FALSE)
mean(ASR)
Clustering robust t-statistics for abnormal returns in long-horizon event studies
Description
crseEvent
implements a robust statistical test developed by Dutta et al. (JempFin, 2018).
The test is based on abnormal standardized returns and offers three implementations. Standardized returns are defined as sr_{it} = \frac{r_{it}}{s_{it}}
where s_{it}
is a standard deviation estimator of log returns r_{it}
:
Use of Abnormal standardized returns (ASR)
Abnormal standardized returns are defined as ASR_{it} = sr_{it} - sr_{ci,t}
, where sr_{ci,t}
is the standardized return of the matching control firm or the average of standardized returns of the matching control portfolio.
Use of Standardized abnormal returns (SAR)
Standardized abnormal returns are defined as SAR_{it} = \frac{r_{event} - r_{control}}{sd_{event-control}}
. The matching control return should be derived from a single firm observation and not be the return-series of a portfolio.
Use of Continuously compounded abnormal returns (CCAR)
Continuously compounded abnormal returns are defined as CCAR_{it} = r_{it} - r_{ci,t}
, where r_{it} = log(1 + R_{it})
is the event month t
continuously compounded return (i.e., log-return) of event stock i
, and r_{ci,t}
is the continuously compounded return of the control firm.
Usage
crseEvent(data, abnr = "ars", cluster1 = "yyyymm",
cluster2 = NULL, na.rm = TRUE, na.replace = 0)
Arguments
data |
an object of class |
abnr |
Name of a column from |
cluster1 |
Name of a column from |
cluster2 |
Name of a column from |
na.rm |
An object of class |
na.replace |
A numeric scalar: If |
Value
crseEvent
returns an object of class
crse
and list
.
The returning value of "crseEvent"
is a "list"
containing the
following components:
N |
Total number of observations. |
mean.abnormal.ret |
Mean abnormal return. |
t.val.nonclustered |
Non-clustered (common) t-value. |
p.val.nonclustered |
Non-clustered (common) p-value. |
t.val.one.clustered |
One-way clustered t-value. |
p.val.one.clustered |
One-way clustered p-value. |
tcl2 |
One-way clustering t-value with respect to second clustering variable ( |
pcl2 |
One-way clustering p-value with respect to second clustering variable ( |
tcl12 |
|
pcl12 |
|
cluster1 |
Name of the first cluster variable. |
cluster2 |
Name of the second cluster variable. |
reg.fit |
Regression results on which t-value compuations are based. |
var.cl1 |
Robust variance of abnormal return series with regard to one-way clustering on variable |
var.cl2 |
Robust variance of abnormal return series with regard to one-way clustering on variable |
var.cl12 |
Robust variance of abnormal return series with regard to two-way clustering on both variable |
unique.cl1 |
Total number of unique observations by clustering on variable |
unique.cl2 |
Total number of unique observations by clustering on variable |
References
Dutta, A., Knif, J., Kolari, J.W., Pynnonen, S. (2018): A robust and powerful test of abnormal stock returns in long-horizon event studies. Journal of Empirical Finance, 47, p. 1-24. doi: 10.1016/j.jempfin.2018.02.004.
Examples
## load demo_share_repurchases
## one-way clustering on column "date" and print summary statistics
data(demo_share_repurchases)
crse <- crseEvent(demo_share_repurchases, abnr="ars", cluster1 = "date")
summary(crse)
## print mean of abnormal return series
crse$mean.abnormal.ret
Total returns for E.ON AG and RWE AG
Description
demo_returns
is a sample of daily total returns, i.e. including dividends, for the german electric utility companies E.ON AG (ISIN: DE000ENAG999) and RWE AG (ISIN: DE0007037129). The return series for the Frankfurt stock exchange starts at 2015-01-01 with end at 2017-12-31 and has 760 daily return observations which are denoted in Euro. date
is the trading-day, for which return observations are available ind the format "yyyy-mm-dd". EON
denotes the return series for E.ON AG and RWE
denotes the return series for RWE AG.
Usage
data(demo_returns)
Examples
## load demo_returns
data(demo_returns)
## calculate the mean total return E.ON AG in the year 2016.
## get the appropriate rows for the whole year 2016
dates <- which("2016-01-01" <= demo_returns$date & demo_returns$date <= "2016-12-31")
## calculate mean return
mean(demo_returns$EON[dates])
Abnormal standardized returns for german stock repurchase announcements
Description
demo_share_repurchases
is a sample of abnormal standardized returns (ASR). The data contains 65 share repurchase announcements as published in Köstlmeier/Röder (2019). The announcements refer to german stocks from Jan. 2006 to Dec. 2016 listed in the DAX, MDAX and SDAX, where monthly return data for three subsequent years (beginning in the month after the announcement) is available. code
denotes the Thomson-Reuters Datastream Mnemonic for each observation. date
is the date (format: "yyyymm") for which the abnormal standardized return is calculated. ars
denotes the column for the abnormal return series, which are pre-calculated abnormal standardized returns (ASR).
Usage
data(demo_share_repurchases)
References
Siegfried Köstlmeier, Klaus Röder (2019): Kurseffekte von Aktienrückkäufen in Deutschland und die zugrunde liegenden Motive von deren Ankündigung. CORPORATE FINANCE, 01-02, CF1286049, p. 10-17. https://cf-fachportal.owlit.de/document.aspx?docid=CF1286049.
Examples
## load demo_share_repurchases
data(demo_share_repurchases)
## calculate the mean abnormal return for the subsequent three years after
## the announcement of share repurchases for Munich Re AG from Apr. 2015 to Mar. 2018
beginn <- which(demo_share_repurchases$code=="D:MUV2" & demo_share_repurchases$date=="201504")[1]
stop <- beginn + 35
mean(demo_share_repurchases$ars[beginn:stop])
Standardized abnormal returns (SAR) in long-horizon event studies
Description
sar
implements the calculation of standardized abnormal returns.
Standardized abnormal returns are defined as the excess event-return relative to a specific return of a matching control firm, and the remaining result subsequently divided by the standard variation of this excess return series: SAR_{it} = \frac{r_{event} - r_{control}}{sd_{event-control}}
, with log-returns r_{event}
and r_{control}
. The matching control-return should be a single firm return-series and not portfolio-returns.
Usage
sar(event, control, logret="FALSE")
Arguments
event |
a vector or time series of returns. |
control |
a vector or time series of returns. |
logret |
An object of class |
Value
sar
returns a vector of class "numeric"
:
SAR |
Vector containing standardized abnormal returns. |
References
Dutta, A., Knif, J., Kolari, J.W., Pynnonen, S. (2018): A robust and powerful test of abnormal stock returns in long-horizon event studies. Journal of Empirical Finance, 47, p. 1-24. doi: 10.1016/j.jempfin.2018.02.004.
Examples
## load demo_returns
## calculate mean of daily standardized abnormal returns from 2015-01-01 to 2017-12-31
## with E.ON AG as event firm and RWE AG as control firm.
data(demo_returns)
SAR <- sar(event=demo_returns$EON, control=demo_returns$RWE, logret=FALSE)
mean(SAR)