[Eventstudiescommits] r131  pkg/vignettes
noreply at rforge.rproject.org
noreply at rforge.rproject.org
Thu Aug 15 14:01:35 CEST 2013
Author: renukasane
Date: 20130815 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 20130815 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 = {1339}}
+
+
+ at Article{Corrado2011,
+ author = {Charles J. Corrado},
+ title = {Event studies: A methodology review},
+ journal = {Accounting and Finance},
+ year = 2011,
+ volume = 51,
+ pages = {207234}}
+
Modified: pkg/vignettes/eventstudies.Rnw
===================================================================
 pkg/vignettes/eventstudies.Rnw 20130812 12:41:46 UTC (rev 130)
+++ pkg/vignettes/eventstudies.Rnw 20130815 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 reindexing the
event time returns and bootstrap inference estimation. The methods and
functions are elucidated by employing dataset 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
+ eventstudy analysis. It contains functions to calculate measures of
+ firm returns, convert a dataset 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 marketwide (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 eventtime, 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 eventtime, 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.Rproject.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:packagefunc}: the construction of the dataset 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 day0 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_0RM_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_tRM_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 eventtime and remapping
+ \item Procedures for converting data to eventtime and remapping
eventframe
\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 timeseries of stock returns, and
 \texttt{market.returns}, which is a timeseries of market
 returns. The type of AMM model is specified with the option
 \texttt{amm.type}.

 The output from these models is another timeseries 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 timeseries of stock returns, and
+\texttt{market.returns}, which is a timeseries of market
+returns. The type of AMM model is specified with the option
+\texttt{amm.type}.
\subsection*{Coverting the dataset to an event time}
+The output from these models is also a timeseries object. This
+becomes the input for converting to event time.
+
+\subsection{Converting the dataset to an event time}
The conversion of the returns data to eventtime, 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 timeseries data in
 eventtime that results from using \texttt{phys2eventtime}.
+ eventtime 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 eventtime. 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 dataset 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 eventtime, 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. Postevent dates are indexed as positive, and
preevent dates as negative. This is done using the
+preevent dates as negative. The conversion is done using the
\texttt{phys2eventtime} function. The function requires a returns
series, \textit{StockPriceReturns}, a dataframe with event unit
and time, \textit{SplitDates}, and the \texttt{width} for creating the
eventframe.
+series, \textit{StockPriceReturns}, a dataframe with event unit and
+time, \textit{SplitDates}, and the width for creating the
+eventframe.
<<>>=
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 eventtime
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
nonparametric inference test to compute confidence interval.
+nonparametric 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 Eventstudiescommits
mailing list