[Eventstudies-commits] r131 - pkg/vignettes
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Thu Aug 15 14:01:35 CEST 2013
Author: renukasane
Date: 2013-08-15 14:01:35 +0200 (Thu, 15 Aug 2013)
New Revision: 131
Added:
pkg/vignettes/es.bib
Modified:
pkg/vignettes/eventstudies.Rnw
Log:
Revised version, not complete.
Added: pkg/vignettes/es.bib
===================================================================
--- pkg/vignettes/es.bib (rev 0)
+++ pkg/vignettes/es.bib 2013-08-15 12:01:35 UTC (rev 131)
@@ -0,0 +1,17 @@
+ at Article{MacKinlay1997,
+ author = {A. Craig MacKinlay},
+ title = {Event Studies in Economics and Finance},
+ journal = {Journal of Economic Literature},
+ year = 1997,
+ volume = {XXXV},
+ pages = {13-39}}
+
+
+ at Article{Corrado2011,
+ author = {Charles J. Corrado},
+ title = {Event studies: A methodology review},
+ journal = {Accounting and Finance},
+ year = 2011,
+ volume = 51,
+ pages = {207-234}}
+
Modified: pkg/vignettes/eventstudies.Rnw
===================================================================
--- pkg/vignettes/eventstudies.Rnw 2013-08-12 12:41:46 UTC (rev 130)
+++ pkg/vignettes/eventstudies.Rnw 2013-08-15 12:01:35 UTC (rev 131)
@@ -8,7 +8,8 @@
\usepackage{parskip}
\usepackage{amsmath}
\title{Introduction to the \textbf{eventstudies} package in R}
-\author{Ajay Shah, Vimal Balasubramaniam and Vikram Bahure}
+\author{Ajay Shah, Vimal Balasubramaniam, Vikram Bahure and Renuka
+ Sane}
\begin{document}
%\VignetteIndexEntry{eventstudies: A package with functionality to do Event Studies}
%\VignetteDepends{}
@@ -16,11 +17,13 @@
%\VignettePackage{eventstudies}
\maketitle
\begin{abstract}
-The structure of the package and its implementation of event study
-methodology is explained in this paper. In addition to converting
-physical dates to event time frame, functions for re-indexing the
-event time returns and bootstrap inference estimation. The methods and
-functions are elucidated by employing data-set of SENSEX firms.
+ Event study analysis is a ubiquitous tool in the study of the impact
+ of events on the value of a firm. There is, however, no single
+ repository to undertake such an analysis with
+ R. \textbf{eventstudies} provides the toolbox to carry out an
+ event-study analysis. It contains functions to calculate measures of
+ firm returns, convert a data-set to event time and procedures for
+ inference.
\end{abstract}
\SweaveOpts{engine=R,pdf=TRUE}
@@ -29,47 +32,41 @@
Event study methodology has been primarily used to evaluate the impact
of specific events on the value of the firm. The typical procedure for
-conducting an event study involves \citep{MacKinlay}
+conducting an event study involves \citep{MacKinlay1997}:
\begin{itemize}
\item Defining the event of interest and the event window. The event
- window is larger than the specific period of
+ window should be larger than the specific period of
interest. % Generally the event
% period itself is not included in the estimation period to prevent
% the event from influencing the normal performance model parameter
% estimates.
- \item Determining the selection criteria for the inclusion of firms,
- in the study
\item Determining a measure of abnormal returns, the most common
being the \textit{constant mean return model} and the
\textit{market model}. This is important to disentangle the effects
on stock prices of information that is specific to the firm under
- question (e.g. stock split annoucement) and information that is
- likely to affect stock prices marketwide (e.g. interest rates)
- \item Analysis of firm returns around the event date
+ question (e.g. stock split announcement) and information that is
+ likely to affect stock prices market-wide (e.g. interest rates).
+ \item Analysis of firm returns around the event date.
\end{itemize}
The \textbf{eventstudies} package brings together the various aspects
of an event study analysis in one library. It provides for functions
-to calculate returns, transform data into event-time, and conduct
-inference on the unit of interest. All functions in this package are
-implemented in the R system for statistical computing. The package,
-and R are available at no cost under the terms of the general public
-license (GPL) from the comprehensive R archive network (CRAN,
+to calculate returns, transform data into event-time, and inference
+procedures. All functions in this package are implemented in the R
+system for statistical computing. The package, and R are available at
+no cost under the terms of the general public license (GPL) from the
+comprehensive R archive network (CRAN,
\texttt{http://CRAN.R-project.org}).
This paper is organised as follows. A skeletal event study model is
-presented in Section \ref{s::model}. Section \ref{s:approach}
-discusses the software approach used in this package. The
-functionalities of the package are discussed in Section
-\ref{s:package-func}: the construction of the data-set in section
-\ref{ss:construction}, estimation in section \ref{ss:estimation} and
-inference in section \ref{ss:inference}. Section \ref{s:conclusion}
-conclues the paper.
+presented in Section \ref{s:model}. Section \ref{s:approach} discusses
+the software approach used in this package. Section \ref{s:example}
+shows an example.
\section{Skeletal event study model} \label{s:model}
In this section, we present a model to evaluate the impact of stock
-splits on returns.
+splits on returns \citep{Corrado2011}.
Let day-0 identify the stock split date under scrutiny and let days
t = ... -3,-2,-1 represent trading days leading up to the event. If
@@ -98,7 +95,7 @@
\[ A_0 = R_0- E(R_0|RM_0) = R_0 - a - b RM_0 \]
A series of abnormal returns from previous periods are also calculated
-for comparison, and to determine statistical signficance.
+for comparison, and to determine statistical significance.
\[ A_t = R_t- E(R_t|RM_t) = R_t - a - b RM_t \]
@@ -109,85 +106,98 @@
distributed.
\section{Software approach} \label{s:approach}
-The package offers the following functionalities:
+
+\textbf{eventstudies} offers the following functionalities:
\begin{itemize}
\item Models for calculating returns
- \item Procedures for coverting data to event-time and remapping
+ \item Procedures for converting data to event-time and remapping
event-frame
\item Procedures for inference
\end{itemize}
-\subsection*{Models for calculating returns}
-The package offers three models for calculating returns. These include
-the excess return model, the standard market model, and the augmented
-market model. The models are accessed using the following functions:
- \begin{itemize}
- \item \texttt{excessReturn}: estimation of excess return i.e. $R_j -
- R_m$ where $R_j$ is the return of firm $j$ and $R_m$ is the market
- return.
- \item \texttt{marketResidual}: estimation of market residual after
- extracting market returns from firm returns.
-
- \item \texttt{AMM}: estimation of the Augmented market model which
- gives the market residual after extracting market returns and
- currency returns from firm returns. The function allows for
- specifying the type of the AMM model as well.
- \end{itemize}
+\subsection{Models for calculating returns}
+Firm returns can be calculated using the following functions:
+\begin{itemize}
+\item \texttt{excessReturn}: estimation of excess returns i.e. $R_j -
+ R_m$ where $R_j$ is the return of firm $j$ and $R_m$ is the market
+ return.
+\item \texttt{marketResidual}: estimation of market residual after
+ extracting market returns from firm returns.
- The two common arguments for these functions are
- \texttt{firm.returns} which is a time-series of stock returns, and
- \texttt{market.returns}, which is a time-series of market
- returns. The type of AMM model is specified with the option
- \texttt{amm.type}.
-
- The output from these models is another time-series object which is
- used for converting to event time.
+\item \texttt{AMM}: estimation of the Augmented market model which
+ gives the market residual after extracting market returns and
+ currency returns from firm returns. The function allows for
+ specifying the type of the AMM model as well.
+\end{itemize}
+
+The two common arguments for these functions are
+\texttt{firm.returns} which is a time-series of stock returns, and
+\texttt{market.returns}, which is a time-series of market
+returns. The type of AMM model is specified with the option
+\texttt{amm.type}.
-\subsection*{Coverting the data-set to an event time}
+The output from these models is also a time-series object. This
+becomes the input for converting to event time.
+
+\subsection{Converting the data-set to an event time}
The conversion of the returns data to event-time, and to cumulative
returns is done using the following functions:
\begin{itemize}
- \item \texttt{phys2eventtime}: conversion to an event frame. This
- requires a time series object of stock price returns and an
- object with two columns \textit{unit} and \textit{when}, the date
- of occurrence of the event.
+\item \texttt{phys2eventtime}: conversion to an event frame. This
+ requires a time series object of stock price returns and an object
+ with two columns \textit{unit} and \textit{when}, the firms and the
+ date on which the event occurred respectively.
\item \texttt{remap.cumsum}: conversion of returns to cumulative
returns. The input for this function is the time-series data in
- event-time that results from using \texttt{phys2eventtime}.
+ event-time that is the output from \texttt{phys2eventtime}.
\end{itemize}
-\subsection*{Procedures for inference}
-Two procedures for inference are provided. These include:
+\subsection{Procedures for inference}
+Procedures for inference include:
\begin{itemize}
\item \texttt{inference.bootstrap}: estimation of bootstrap to
- generate the distribution of cumulative returns series.
+ generate the distribution of cumulative returns series.
\item \texttt{inference.wilcox}: estimation of wilcox inference to
generate the distribution of cumulative returns series.
-\end{itemize}
+ \end{itemize}
+
+ The arguments for both these include \texttt{es.w}, the cumulative
+ returns in event-time. The argument \texttt{to.plot} plots the
+ confidence interval around returns series.
-\section{Example: Performing Eventstudy analysis}
+\section{Example: Performing eventstudy analysis}
\label{s:example}
We demonstrate the package with a study of the impact of stock splits
-on the stock price of the firm. The data-set consist of the returns
-series of the thirty index companies, as of 2013, of the Bombay Stock
-Exchange (BSE), from 2001 to 2013. We have stock split dates for each
-firm from 2000 onwards.
+on the stock prices of firms. We use the returns series of the
+thirty index companies, as of 2013, of the Bombay Stock Exchange
+(BSE), from 2001 to 2013. We have stock split dates for each firm
+from 2000 onwards.
Our data consists of a \textit{zoo} object for stock price returns for
the thirty firms. This is called \textit{StockPriceReturns} and
-another zoo object, \textit{nifty.index}, of the market returns.
+another zoo object, \textit{nifty.index}, of market returns.
<<>>=
library(eventstudies)
data(StockPriceReturns)
data(nifty.index)
str(StockPriceReturns)
-#head(StockPriceReturns)
-#head(nifty.index)
+head(StockPriceReturns)
+head(nifty.index)
@
+The dates of interest and the firms on which the event occurred are
+stored in a data frame, \textit{SplitDates} with two columns
+\textit{unit}, the name of the firms, and \textit{when}, the date of
+the occurrence of the event. \textit{unit} should be in
+\textit{character} format and \textit{when} in \textit{Date} format.
+
+<<>>=
+data(SplitDates)
+head(SplitDates)
+@
\subsection{Calculating returns}
The function \texttt{excessReturn} calculates the excess returns while
@@ -252,26 +262,13 @@
\subsection{Conversion to event frame}
-Before the returns data is converted to event-time, we need to know
-the dates of interest. These are stored in a data frame,
-\texttt{SplitDates} with two columns \textit{unit} and
-\textit{when}. \textit{unit} has the name of the response series (firm
-name for example) along with event date in
-\textit{when}. \textit{unit} should be in \textit{character} format
-and \textit{when} in \textit{Date} format.
-
-<<>>=
-data(SplitDates)
-head(SplitDates)
-@
-
For conversion to event time, the event date and the returns on that
date are indexed to 0. Post-event dates are indexed as positive, and
-pre-event dates as negative. This is done using the
+pre-event dates as negative. The conversion is done using the
\texttt{phys2eventtime} function. The function requires a returns
-series, \textit{StockPriceReturns}, a data-frame with event unit
-and time, \textit{SplitDates}, and the \texttt{width} for creating the
-event-frame.
+series, \textit{StockPriceReturns}, a data-frame with event unit and
+time, \textit{SplitDates}, and the width for creating the
+event-frame.
<<>>=
es <- phys2eventtime(z=StockPriceReturns, events=SplitDates, width=10)
@@ -285,16 +282,16 @@
@
The output for \texttt{phys2eventtime} is a list. The first element of
-a list is a time series object which is converted to event
-time and the second element is \textit{outcomes} which shows if there
-was any \textit{NA} in the dataset. If the outcome is \textit{success}
-then all is well in the given window as specified by the
-width. It gives \textit{wdatamissing} if there are too many
-\textit{NAs} within the crucial event
-window or \textit{wrongspan} if the event date is not placed within
-the span of data for the unit or \textit{unitmissing} if a unit named
-in events is not in \textit{z}.
+a list is a time series object which is converted to event time.
+The second element shows the \textit{outcome} of the conversion. If
+the outcome is \textit{success} then all is well with the given window
+as specified by the width. If there are too many NAs within the event
+window, the outcome is \textit{wdatamissing}. The outcome for the
+event date not being within the span of data for the unit is
+\textit{wrongspan} while the outcome if a unit named in events is not
+in the returns data is \textit{unitmissing}.
+
In the example described here, es.w contains the returns in event-time
form for all the stocks. It contains variables for whom all data is
available.
@@ -310,17 +307,17 @@
\subsection{Inference procedures}
\subsubsection{Bootstrap inference}
-After converting to event frame and estimating the interest variable,
-we need to check the stability of the result and derive other
-estimates like standard errors and confidence intervals. For this,
-we generate the sampling distribution for the estimate using bootstrap
-inference. A detailed explanation of the methodology is presented in
-Patnaik, Shah and Singh (2013). This specific approach used here is based on
-\citet{davison1986efficient}.
+After converting to event frame and estimating the variable of
+interest, we need to check the stability of the result and derive
+other estimates like standard errors and confidence intervals. For
+this, we generate the sampling distribution for the estimate using
+bootstrap inference. A detailed explanation of the methodology is
+presented in \citep{PatnaikShahSingh2013}. This specific approach
+used here is based on \citet{davison1986efficient}.
The \textit{inference.bootstrap} function does the bootstrap to
-generate distribution of $\bar{CR}$. The bootstrap generates
-confidence interval at 2.5\% and 97.5\% for the estimate.
+generate distribution of $\overline{CR}$. The bootstrap generates
+confidence interval at 2.5 percent and 97.5 percent for the estimate.
<<>>=
result <- inference.bootstrap(es.w=es.cs, to.plot=TRUE)
@@ -340,7 +337,7 @@
\subsubsection{Wilcoxon signed rank test}
We next compute the Wilcoxon signed rank test, which is a
-non-parametric inference test to compute confidence interval.
+non-parametric inference test to compute the confidence interval.
<<>>=
result <- inference.wilcox(es.w=es.cs, to.plot=TRUE)
@
@@ -410,6 +407,6 @@
%\newpage
\bibliographystyle{jss}
-\bibliography{eventstudies}
+\bibliography{es}
\end{document}
More information about the Eventstudies-commits
mailing list