[Eventstudies-commits] r58 - in pkg: man vignettes

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Mon Apr 29 13:55:54 CEST 2013


Author: vikram
Date: 2013-04-29 13:55:53 +0200 (Mon, 29 Apr 2013)
New Revision: 58

Added:
   pkg/man/SplitDates.Rd
   pkg/man/StockPriceReturns.Rd
   pkg/man/identifyexeventData.Rd
   pkg/vignettes/identifyextremeevent.Rnw
Removed:
   pkg/man/eventDays.Rd
   pkg/man/eventstudyData.Rd
Modified:
   pkg/man/identifyextremeevents.Rd
   pkg/man/inference.Ecar.Rd
   pkg/man/phys2eventtime.Rd
   pkg/man/remap.cumprod.Rd
   pkg/man/remap.cumsum.Rd
   pkg/man/remap.event.reindex.Rd
   pkg/vignettes/eventstudies.Rnw
Log:
Modified vignette with stock split example

Added: pkg/man/SplitDates.Rd
===================================================================
--- pkg/man/SplitDates.Rd	                        (rev 0)
+++ pkg/man/SplitDates.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -0,0 +1,20 @@
+\name{SplitDates}
+
+\docType{data}
+
+\alias{SplitDates}
+
+\title{It is the data-set used for event-study analysis.}
+
+\description{
+It has stock split event dates for the BSE index firms with two columns 'unit' which has firm names and 'when' which has event date for the firm.
+}
+
+\usage{data(SplitDates)}
+
+\format{An object with class attributes \code{zoo} containing resposne series for eventstudy and a data frame with stock split event dates.}
+
+\examples{
+    data(SplitDates)
+}
+\keyword{datasets}

Added: pkg/man/StockPriceReturns.Rd
===================================================================
--- pkg/man/StockPriceReturns.Rd	                        (rev 0)
+++ pkg/man/StockPriceReturns.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -0,0 +1,20 @@
+\name{StockPriceReturns}
+
+\docType{data}
+
+\alias{StockPriceReturns}
+
+\title{It is the data-set used for event-study analysis.}
+
+\description{
+It has stock price returns for index constituents of Bombay Stock Exchange (BSE).
+}
+
+\usage{data(StockPriceReturns)}
+
+\format{An object with class attributes \code{zoo} containing resposne series for eventstudy.}
+
+\examples{
+    data(StockPriceReturns)
+}
+\keyword{datasets}

Deleted: pkg/man/eventDays.Rd
===================================================================
--- pkg/man/eventDays.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/eventDays.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -1,20 +0,0 @@
-\name{eventDays}
-
-\docType{data}
-
-\alias{eventDays}
-
-\title{List of event dates for S&P 500}
-
-\description{
-  This series is an input for the examples in the eventstudy framework. It is a data frame with two columns 'unit' and 'when'. The column 'when' has event dates for S&P 500 while column 'unit' has list of response series' column names. In this data frame, 'unit' is 'nifty' which corresponds with column name of the 'eventstudyData'. Here, 1\% tail values are termed as extreme events days, in this example we take upper tail events.
-}
-
-\usage{data(eventDays)}
-
-\format{An object with class attributes \code{data.frame} containing event dates for eventstudy.}
-
-\examples{
-    data(eventDays)
-}
-\keyword{datasets}

Deleted: pkg/man/eventstudyData.Rd
===================================================================
--- pkg/man/eventstudyData.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/eventstudyData.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -1,24 +0,0 @@
-\name{eventstudyData}
-
-\docType{data}
-
-\alias{eventstudyData}
-
-\title{It is the data-set used for event-study analysis.}
-
-\description{
-It is a time series object with daily series for S&P 500, Nifty and Net FII flows in India.	
-}
-
-\usage{data(eventstudyData)}
-
-\format{An object with class attributes \code{zoo} containing resposne series for eventstudy.}
-
-\seealso{
-eventDays
-}
-
-\examples{
-    data(eventstudyData)
-}
-\keyword{datasets}

Added: pkg/man/identifyexeventData.Rd
===================================================================
--- pkg/man/identifyexeventData.Rd	                        (rev 0)
+++ pkg/man/identifyexeventData.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -0,0 +1,20 @@
+\name{identifyexeventData}
+
+\docType{data}
+
+\alias{identifyexeventData}
+
+\title{It is the data-set used for event-study analysis.}
+
+\description{
+It is a time series object with daily series for S&P 500 and Nifty (NSE index).	
+}
+
+\usage{data(identifyexeventData)}
+
+\format{An object with class attributes \code{zoo} containing resposne series for eventstudy.}
+
+\examples{
+    data(identifyexeventData)
+}
+\keyword{datasets}

Modified: pkg/man/identifyextremeevents.Rd
===================================================================
--- pkg/man/identifyextremeevents.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/identifyextremeevents.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -34,7 +34,8 @@
 }
 
 \examples{
-data(eventstudyData)
-input <- eventstudyData$sp500
+library(eventstudies)
+data(identifyexeventData)
+input <- identifyexeventData$sp500
 output <- identifyextremeevents(input, prob.value=5)
 }

Modified: pkg/man/inference.Ecar.Rd
===================================================================
--- pkg/man/inference.Ecar.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/inference.Ecar.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -27,9 +27,9 @@
 }
 
 \examples{
-data(eventDays)
-data(eventstudyData)
-es.results <- phys2eventtime(z=eventstudyData, events=eventDays,width=5)
+data(StockPriceReturns)
+data(SplitDates)
+es.results <- phys2eventtime(z=StockPriceReturns, events=SplitDates,width=5)
 es.w <- window(es.results$z.e, start=-5, end=+5)
 eventtime <- remap.cumsum(es.w, is.pc=FALSE, base=0)
 inference.Ecar(z.e=eventtime, to.plot=FALSE)

Modified: pkg/man/phys2eventtime.Rd
===================================================================
--- pkg/man/phys2eventtime.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/phys2eventtime.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -27,9 +27,9 @@
 
 
 \examples{
-data(eventDays)
-data(eventstudyData)
-phys2eventtime(z=eventstudyData, events=eventDays,width=5)	
+data(StockPriceReturns)
+data(SplitDates)
+phys2eventtime(z=StockPriceReturns, events=SplitDates,width=5)	
 }
 
 \keyword{ phys2eventime }

Modified: pkg/man/remap.cumprod.Rd
===================================================================
--- pkg/man/remap.cumprod.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/remap.cumprod.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -20,13 +20,13 @@
 \value{The frame returned has each column replaced by base * the cumulative product of the column.}
 
 \seealso{
-eventDays, eventstudyData, phys2eventtime
+phys2eventtime
 }
 
 \examples{
-data(eventDays)
-data(eventstudyData)
-es.results <- phys2eventtime(z=eventstudyData, events=eventDays,width=5)
+data(StockPriceReturns)
+data(SplitDates)
+es.results <- phys2eventtime(z=StockPriceReturns, events=SplitDates,width=5)
 es.w <- window(es.results$z.e, start=-5, end=+5)
 eventtime <- remap.cumprod(es.w, is.pc=FALSE, is.returns=TRUE, base=0)
 }

Modified: pkg/man/remap.cumsum.Rd
===================================================================
--- pkg/man/remap.cumsum.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/remap.cumsum.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -27,9 +27,9 @@
 eventDays, eventstudyData, phys2eventtime
 }
 \examples{
-data(eventDays)
-data(eventstudyData)
-es.results <- phys2eventtime(z=eventstudyData, events=eventDays,width=5)
+data(StockPriceReturns)
+data(SplitDates)
+es.results <- phys2eventtime(z=StockPriceReturns, events=SplitDates,width=5)
 es.w <- window(es.results$z.e, start=-5, end=+5)
 eventtime <- remap.cumsum(es.w, is.pc=FALSE, base=0)
 }

Modified: pkg/man/remap.event.reindex.Rd
===================================================================
--- pkg/man/remap.event.reindex.Rd	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/man/remap.event.reindex.Rd	2013-04-29 11:55:53 UTC (rev 58)
@@ -17,12 +17,12 @@
 \value{The function returns a zoo object which has been rescaled.}
 
 \seealso{
-eventDays, eventstudyData, phys2eventtime
+phys2eventtime
 }
 \examples{
-data(eventDays)
-data(eventstudyData)
-es.results <- phys2eventtime(z=eventstudyData, events=eventDays,width=5)
+data(StockPriceReturns)
+data(SplitDates)
+es.results <- phys2eventtime(z=StockPriceReturns, events=SplitDates,width=5)
 es.w <- window(es.results$z.e, start=-5, end=+5)
 eventtime <- remap.event.reindex(es.w)
 }

Modified: pkg/vignettes/eventstudies.Rnw
===================================================================
--- pkg/vignettes/eventstudies.Rnw	2013-04-29 11:54:52 UTC (rev 57)
+++ pkg/vignettes/eventstudies.Rnw	2013-04-29 11:55:53 UTC (rev 58)
@@ -23,8 +23,7 @@
 event time returns, bootstrap inference estimation, and identification
 of extreme clustered events and further in-depth analysis of the
 same is also provided. The methods and functions are elucidated by
-employing data-set for S\&P 500, Nifty and net Foreign Institutional
-Investors (FII) flow in India. 
+employing data-set of SENSEX firms. 
 \end{abstract}
 
 \SweaveOpts{engine=R,pdf=TRUE}
@@ -46,154 +45,94 @@
 
 In this package, there are three major functions
 \textit{phys2eventtime}, \textit{remap.cumsum} and
-\textit{inference.Ecar}. \textit{phys2eventtime} function changes the
+\textit{inference.Ecar}. \textit{phys2eventtime} changes the
 physical dates to event time frame on which event study analysis can
 be done with ease. \textit{remap.cumsum}
 can be used to convert returns to cumulative sum or product in the
 event time frame. \textit{inference.Ecar} generates bootstrap
 inference for the event time response of the variable. 
 
-\section{Converting physical dates to event time}
-\subsection{Conceptual framework}
-The foremost task of event study analysis is to define event dates and
-generate an event window. Once the user defines event dates then this
-function generates event time frame for the response series. For
-example, if we are studying response of Nifty returns due to event on
-S\&P 500 then this function will map together all the event day
-responses cross sectionally at day 0, the days after the event would
-be indexed as positive and days before the event would be indexed as
-negative. The output of this function can be further trimmed to
-smaller window such as of +10 to -10 days.
+In the section below, we illustrate event study analysis using the
+package. We measure the impact of stock splits on the stock price of
+the firm for SENSEX index constituents.
 
+\section{Performing Eventstudy analysis}
+To measure the impact of stock splits on the stock price of the firm,
+we create a dataset of 30 index companies of Bombay Stock Exchange
+(BSE). We have a returns of stock price for each firm from 2001 to
+2013 and respective stock splits date. Once we have the data then we
+use following steps to perform event study analysis using the package.
 
-\subsection{Usage}
-\textit{phys2eventtime} has three arguments which are as follows:
 \begin{enumerate}
-\item \textit{z}:  Time series data for which event frame is to be
-  generated. In this example, we have zoo object with data for S\&P
-  500 returns, Nifty returns and net foreign institutional investors
-  (FII) flow.
-  
-\item \textit{events}: It is a data frame with two columns:
-  \textit{unit} and \textit{when}. \textit{unit} has column name of
-  which response is to measured on the event date, while \textit{when}
-  has the event date.
-
-\item \textit{width}: For a given width, if there is any \textit{NA} in the event window
-  then the last observation is carried forward.
+\item Construction of data set
+  \begin{itemize}
+  \item A time series object of stock price returns
+  \item Event dates object with 2 columns, \textit{unit} and
+    \textit{when}.
+  \end{itemize}
+  \item Converting physical dates to event frame
+  \item Remapping event frame
+  \item Estimating bootstrap inference
 \end{enumerate}
+
+\subsection{Construction of data set}
+% Stock returns and event dates
+We have collected data of index constituents of Bombay stock exchange
+(BSE) and corresponding stock splits dates. There are 30
+firms in SENSEX and we have stock split dates for each firm from 2000
+onwards. 
+
+A time series \textit{zoo} object is created for stock price returns
+for 30 firms. For event dates, a data frame with two columns
+\textit{unit} and \textit{when} is formed. \textit{unit} has name of
+the response series (firm name as in column name of time series
+object) along with event date in \textit{when}. \textit{unit} should
+be in \textit{character} format and \textit{when} in \textit{Date} format.
+
 <<>>=
 library(eventstudies)
-data(eventstudyData)
-str(eventstudyData)
-head(eventstudyData)
-data(eventDays)
-str(eventDays)
-head(eventDays)
-@
-% some problem in the output after you are printing the structure.
-\subsection{Output}
-Output for \textit{phys2eventtime} is in a list format. The first
-element of the 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}.
-<<>>=
-es <- phys2eventtime(z=eventstudyData, events=eventDays, width=10)
-str(es)
-es$outcomes
+data(StockPriceReturns)
+str(StockPriceReturns)
+data(SplitDates)
+head(SplitDates)
 @ 
 
-Output of \textit{phys2eventtime} can be converted to specific frame
-by using window command of time series. This event window can be
-further used in inference analysis.
-<<>>=
-es.w <- window(es$z.e, start=-10, end=+10)
-es.w[,1:2]
-@ 
+\subsection{Converting physical dates to event frame}
+After the formation of the dataset, our first step towards event study
+analysis is to convert the physical dates to event time
+frame.  Using the \textit{phys2eventtime} function we convert the
+dates in event time frame. 
 
-\section{Remapping}
-\subsection{Conceptual framework}
-Many a times, there is more information in cumulative
-returns rather than just returns. Re-indexing event window helps to 
-represent returns in cumulative sum or cumulative product
-format. 
+Here, we index the stock split date, stock price returns to day 0 and
+similarly post event dates are indexed to positive and pre event
+dates are indexed as negative. As we can see below the stock split dates
+for BHEL, Bharti Airtel and Cipla are indexed to day 0.  
 
-\subsection{Usage}
-There are three functions used to re-map data which are as follows:
-\begin{itemize}
-\item \textit{remap.cumsum}: This function is used to convert event
-  window returns to cumulative sum of returns. Arguments for the
-  function are as follows:
-  \begin{enumerate}
-  \item \textit{z}: This is the output of \textit{phys2eventtime}
-    which is further reduced to an event window of \textit{width}
-    equal to 10 or 20.
-  \item \textit{is.pc}: If returns is in percentage form then
-    \textit{is.pc} is equal to \textit{TRUE} else \textit{FALSE}
-  \item \textit{base}: Using this command, the base for the
-    cumulative returns can be changed. The default value is 0.
-  \end{enumerate}
-\end{itemize}
+% outcomes, example
+
 <<>>=
-es.w.cs <- remap.cumsum(z= es.w, is.pc=FALSE)
-es.w.cs[,1:2]
-@   
-\begin{itemize}
-\item \textit{remap.cumprod}: This function is used to convert event
-  window returns to cumulative product of returns. Arguments for the
-  function are as follows:
-  \begin{enumerate}
-  \item \textit{z}: This is the output of \textit{phys2eventtime}
-    which is further reduced to an event window of \textit{width}
-    equal to 10 or 20.
-  \item \textit{is.pc}: If returns is in percentage form then
-    \textit{is.pc} is equal to \textit{TRUE}, else \textit{FALSE}
-    \item \textit{is.returns}: If the data is in returns format then
-      \textit{is.returns} is \textit{TRUE}.
-  \item \textit{base}: Using this command, the base for the
-    cumulative returns can be changed. The default value is 100.
-  \end{enumerate}
-\end{itemize}
-  
-<<>>=
-es.w.cp <- remap.cumprod(z= es.w, is.pc=FALSE, is.returns=TRUE, base=100)
-es.w.cp[,1:2]
-@   
+es <- phys2eventtime(z=StockPriceReturns, events=SplitDates, width=10)
+es.w <- window(es$z.e, start=-10, end=10)
+SplitDates[1:3,]
+es.w[,1:3]
+@ 
 
-\begin{itemize}
-\item \textit{remap.event.reindex}: This function is used to change
-  the base of event day to 100 and change the pre-event and post-event values
-  respectively. Argument for the function is as follows:
-  \begin{enumerate}
-  \item \textit{z}: This is the output of \textit{phys2eventtime}
-    which is further reduced to an event window of \textit{width}
-    equals 10 or 20.
-  \end{enumerate}
-\end{itemize}
+\subsection{Remapping event frame}
+In event study analysis the variable of interest is cumulative
+returns. The \textit{remap.cumsum} function is used to
+convert the returns to cumulative returns.
 <<>>=
-es.w.ri <- remap.event.reindex(z= es.w)
-es.w.ri[,1:2]
-@   
-\section{Evenstudy Inference using Bootstrap}
-\subsection{Conceptual framework}
-Suppose there are $N$ events. Each event is expressed as a time-series
-of cumulative returns $(CR)$ in event time, within the event window. The
-overall summary statistic of interest is the $\bar{CR}$, the average of all the
-$CR$ time-series. 
-We do sampling with replacement at the level of the events. Each
-bootstrap sample is constructed by sampling with replacement, $N$ times,
-within the dataset of $N$ events. For each event, its corresponding $CR$
-time-series is taken. This yields a time-series, which is one draw
-from the distribution of the statistic. 
-This procedure is repeated 1000 times in order to obtain the full
-distribution of $\bar{CR}$ . Percentiles of the distribution are shown
-in the graphs reported later, giving bootstrap confidence intervals
-for our estimates. 
+es.cs <- remap.cumsum(es.w,is.pc=FALSE,base=0)
+es.cs[,1:3]
+@ 
+
+\subsection{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
+Shah, Patnaik and Singh (2013).
 This specific approach used here is based on Davinson, Hinkley and
 Schectman (1986). The \textit{inference.Ecar} function does the
 bootstrap to generate distribution of $\bar{CR}$. The bootstrap
@@ -206,163 +145,13 @@
     \setkeys{Gin}{height=0.8\linewidth}
 <<label=fig1,fig=TRUE,echo=FALSE>>=
 <<fig1plot>>
-  result <- inference.Ecar(z.e=es.w.cs, to.plot=TRUE)
+  result <- inference.Ecar(z.e=es.cs, to.plot=TRUE)
 @
 \end{center}
 \label{fig:one}
 \end{figure}
 
-\subsection{Usage}
-This function has two arguments:
-\begin{enumerate}
-\item \textit{z.e}: This is the re-mapped output of \textit{phys2eventtime}
-\item \textit{to.plot}: If the user wants inference output plot then
-  \textit{to.plot} is equals \textit{TRUE}
-\end{enumerate}
-<<>>=
-result <- inference.Ecar(z.e=es.w.cs, to.plot=FALSE)
-head(result)
-@ 
 
-
-\section{Identify extreme events}
-\subsection{Conceptual framework}
-This function of the package identifies extreme event and does data
-analysis. The upper tail and lower tail values are defined as extreme
-events at certain probability. 
-
-There are two further issues to consider. First, matters are
-complicated by the fact that extreme (tail) values may cluster: for
-example, there may be two or three consecutive days of very high or
-very low daily returns, or these extremes may occur in two out of
-three days. If the extreme values are all in the same tail of the
-distribution, it might make sense to consider the cluster of extreme
-values as a single event. 
-
-We approach this problem through two paths. The data has following
-events: clustered, unclustered and mixed clusters. For simplicity, we
-remove all the mixed clusters and deal with the rest. Unclustered or
-uncontaminated events are those where there is no other event within
-the event window. Clustered events are defined by fusing all
-consecutive extreme events, of the same direction, into a single
-event. In event time, date +1 is then the first day after the run of
-extreme events, and date -1 is the last day prior to the start of the
-run. This strategy avoids losing observations of some of the most  
-important crises, which have clustered extreme events in the same
-direction. 
-
-% Example for understanding
-\subsection{Usage}
-This function does extreme event analysis on the returns of the
-data. Function has following two arguments:
-\begin{enumerate}
-\item \textit{input}: Data on which extreme event analysis is done. Note:
-  \textit{input} should be in returns format.  
-\item \textit{prob.value}: It is the tail value on basis of which the
-  extreme events are defined. For eg: \textit{prob.value} of 5 will consider
-  5\% tail on both sides.
-\end{enumerate}
-<<>>==
-data(eventstudyData)
-input <- eventstudyData$sp500
-output <- identifyextremeevents(input, prob.value=5)
-@
-% I don't understand this output. Maybe you should explain what it means.
-\subsection{Output}
-Output is in list format. Primarily it consists of three lists,
-summary statistics for complete data-set, extreme event analysis for
-lower tail and extreme event analysis for upper tail. Further, these
-lower tail and upper tail list objects consists of 5 more list objects with
-following output:
-\begin{enumerate}
-\item Extreme events dataset
-\item Distribution of clustered and unclustered % events.
-\item Run length distribution
-\item Quantile values of extreme events
-\item Yearly distribution of extreme events
-\end{enumerate}
-The complete set of analysis is done on the returns of S\&P500 and
-these results are in tandem with Table 1,2,3,4 and 5 of Patnaik, Shah
-and Singh (2013). 
-
-\subsubsection{Summary statistics}
-Here we have data summary for the complete data-set which shows
-minimum, 5\%, 25\%, median, mean, 75\%, 95\%, maximum, standard
-deviation (sd), inter-quartile range (IQR) and number of
-observations. The output is shown below:
-<<>>==
-output$data.summary
-@ 
-\subsubsection{Extreme events dataset} 
-The output for upper tail and lower tail are in the same format as
-mentioned above. The data-set is a time series object which has 2
-columns. The first column is \textit{event.series} column which has
-returns for extreme events and the second column is
-\textit{cluster.pattern} which signifies the number of consecutive
-days in the cluster. Here we show results for the lower tail.
-<<>>=
-str(output$lower.tail$data)
-@
-
-\subsubsection{Distribution of clustered and unclustered events}
-In the analysis we have clustered, unclustered and mixed clusters. We
-remove the mixed clusters and study the rest of the clusters by fusing
-them. Here we show, number of clustered and unclustered data used in
-the analysis. The \textit{removed.clstr} refers to mixed cluster which
-are removed and not used in the analysis.\textit{Tot.used} represents
-total number of extreme events used for the analysis which is sum of
-\textit{unclstr} (unclustered events) and \textit{used.clstr} (Used
-clustered events). \textit{Tot}
-are the total number of extreme events in the data-set.
-<<>>=
-output$lower.tail$extreme.event.distribution
-@ 
-
-\subsubsection{Run length distribution of clusters}
-Clusters used in the analysis are defined as consecutive extreme
-events. Run length shows total number of clusters with \textit{n} consecutive
-days. In the example below we have 3 clusters with  \textit{two}
-consecutive events and 0 clusters with \textit{three} consecutive
-events. 
-<<>>=
-output$lower.tail$runlength
-@ 
-
-\subsubsection{Extreme event quantile values}
-Quantile values show 0\%, 25\%, median, 75\%,100\% and mean values for
-the extreme events data.
-<<>>=
-output$lower.tail$quantile.values
-@ 
-
-\subsubsection{Yearly distribution of extreme events}
-This table shows the yearly distribution and
-the median value for extreme events data.
-<<>>=
-output$lower.tail$yearly.extreme.event
-@ 
-The yearly distribution for extreme events include unclustered event
-and clustered events which are fused. While in extreme event distribution of
-clustered and unclustered event, the clustered events are defined as
-total evnets in a cluster. For example, if there is a clustered event
-with three consecutive extreme events then yearly distribution will
-treat it as one single event. Here below the relationship between the
-Tables is explained through equations:\\\\
-\textit{Sum of yearly distribution for lower tail = 59 \\ 
-Unclustered events for lower tail = 56\\\\
-Clustered events for lower tail = 3 + 0\\
-Total events in clusters (Adding number of events in each cluster)
-= 3*2 + 0*3 = 6\\ 
-Total used events = Unclustered events for lower tail + Total events
-in clusters \\ = 56 + 6 = 62 \\\\
-Sum of yearly distribution for lower tail =  Unclustered events for
-lower tail + Total events in clusters\\ = 56 + 3 =59}
-<<>>=
-sum(output$lower.tail$yearly.extreme.event[,"number.lowertail"])
-output$lower.tail$extreme.event.distribution[,"unclstr"]
-output$lower.tail$runlength
-@ 
-
 \section{Computational details}
 The package code is purely written in R. It has dependencies to zoo
 (\href{http://cran.r-project.org/web/packages/zoo/index.html}{Zeileis

Added: pkg/vignettes/identifyextremeevent.Rnw
===================================================================
--- pkg/vignettes/identifyextremeevent.Rnw	                        (rev 0)
+++ pkg/vignettes/identifyextremeevent.Rnw	2013-04-29 11:55:53 UTC (rev 58)
@@ -0,0 +1,181 @@
+
+\documentclass[a4paper,11pt]{article}
+\usepackage{graphicx}
+\usepackage{a4wide}
+\usepackage[colorlinks,linkcolor=blue,citecolor=red]{hyperref}
+\usepackage{natbib}
+\usepackage{float}
+\usepackage{tikz}
+\usepackage{parskip}
+\usepackage{amsmath}
+\title{Introduction to the \textbf{eventstudies} package in R}
+\author{Ajay Shah, Vimal Balasubramaniam and Vikram Bahure}
+\begin{document}
+%\VignetteIndexEntry{eventstudies: A package with functionality to do Event Studies}
+%\VignetteDepends{}
+%\VignetteKeywords{event studies}
+%\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, bootstrap inference estimation, and identification
+of extreme clustered events and further in-depth analysis of the
+same is also provided. The methods and functions are elucidated by
+employing data-set for S\&P 500, Nifty and net Foreign Institutional
+Investors (FII) flow in India. 
+\end{abstract}
+
+\SweaveOpts{engine=R,pdf=TRUE}
+\section{Introduction}
+
+
+\section{Identify extreme events}
+\subsection{Conceptual framework}
+This function of the package identifies extreme event and does data
+analysis. The upper tail and lower tail values are defined as extreme
+events at certain probability. 
+
+There are two further issues to consider. First, matters are
+complicated by the fact that extreme (tail) values may cluster: for
+example, there may be two or three consecutive days of very high or
+very low daily returns, or these extremes may occur in two out of
+three days. If the extreme values are all in the same tail of the
+distribution, it might make sense to consider the cluster of extreme
+values as a single event. 
+
+We approach this problem through two paths. The data has following
+events: clustered, unclustered and mixed clusters. For simplicity, we
+remove all the mixed clusters and deal with the rest. Unclustered or
+uncontaminated events are those where there is no other event within
+the event window. Clustered events are defined by fusing all
+consecutive extreme events, of the same direction, into a single
+event. In event time, date +1 is then the first day after the run of
+extreme events, and date -1 is the last day prior to the start of the
+run. This strategy avoids losing observations of some of the most  
+important crises, which have clustered extreme events in the same
+direction. 
+
+% Example for understanding
+\subsection{Usage}
+This function does extreme event analysis on the returns of the
+data. Function has following two arguments:
+\begin{enumerate}
+\item \textit{input}: Data on which extreme event analysis is done. Note:
+  \textit{input} should be in returns format.  
+\item \textit{prob.value}: It is the tail value on basis of which the
+  extreme events are defined. For eg: \textit{prob.value} of 5 will consider
+  5\% tail on both sides.
+\end{enumerate}
+<<>>==
+library(eventstudies)
+data(identifyexeventData)
+input <- identifyexeventData$sp500
+output <- identifyextremeevents(input, prob.value=5)
+@
+% I don't understand this output. Maybe you should explain what it means.
+\subsection{Output}
+Output is in list format. Primarily it consists of three lists,
+summary statistics for complete data-set, extreme event analysis for
+lower tail and extreme event analysis for upper tail. Further, these
+lower tail and upper tail list objects consists of 5 more list objects with
+following output:
+\begin{enumerate}
+\item Extreme events dataset
+\item Distribution of clustered and unclustered % events.
+\item Run length distribution
+\item Quantile values of extreme events
+\item Yearly distribution of extreme events
+\end{enumerate}
+The complete set of analysis is done on the returns of S\&P500 and
+these results are in tandem with Table 1,2,3,4 and 5 of Patnaik, Shah
+and Singh (2013). 
+
+\subsubsection{Summary statistics}
+Here we have data summary for the complete data-set which shows
+minimum, 5\%, 25\%, median, mean, 75\%, 95\%, maximum, standard
+deviation (sd), inter-quartile range (IQR) and number of
+observations. The output is shown below:
+<<>>==
+output$data.summary
+@ 
+\subsubsection{Extreme events dataset} 
+The output for upper tail and lower tail are in the same format as
+mentioned above. The data-set is a time series object which has 2
+columns. The first column is \textit{event.series} column which has
+returns for extreme events and the second column is
+\textit{cluster.pattern} which signifies the number of consecutive
+days in the cluster. Here we show results for the lower tail.
+<<>>=
+str(output$lower.tail$data)
+@
+
+\subsubsection{Distribution of clustered and unclustered events}
+In the analysis we have clustered, unclustered and mixed clusters. We
+remove the mixed clusters and study the rest of the clusters by fusing
+them. Here we show, number of clustered and unclustered data used in
+the analysis. The \textit{removed.clstr} refers to mixed cluster which
+are removed and not used in the analysis.\textit{Tot.used} represents
+total number of extreme events used for the analysis which is sum of
+\textit{unclstr} (unclustered events) and \textit{used.clstr} (Used
+clustered events). \textit{Tot}
+are the total number of extreme events in the data-set.
+<<>>=
+output$lower.tail$extreme.event.distribution
+@ 
+
+\subsubsection{Run length distribution of clusters}
+Clusters used in the analysis are defined as consecutive extreme
+events. Run length shows total number of clusters with \textit{n} consecutive
+days. In the example below we have 3 clusters with  \textit{two}
+consecutive events and 0 clusters with \textit{three} consecutive
+events. 
+<<>>=
+output$lower.tail$runlength
+@ 
+
+\subsubsection{Extreme event quantile values}
+Quantile values show 0\%, 25\%, median, 75\%,100\% and mean values for
+the extreme events data.
+<<>>=
+output$lower.tail$quantile.values
+@ 
+
+\subsubsection{Yearly distribution of extreme events}
+This table shows the yearly distribution and
+the median value for extreme events data.
+<<>>=
+output$lower.tail$yearly.extreme.event
+@ 
+The yearly distribution for extreme events include unclustered event
+and clustered events which are fused. While in extreme event distribution of
+clustered and unclustered event, the clustered events are defined as
+total evnets in a cluster. For example, if there is a clustered event
+with three consecutive extreme events then yearly distribution will
+treat it as one single event. Here below the relationship between the
+Tables is explained through equations:\\\\
+\textit{Sum of yearly distribution for lower tail = 59 \\ 
+Unclustered events for lower tail = 56\\\\
+Clustered events for lower tail = 3 + 0\\
+Total events in clusters (Adding number of events in each cluster)
+= 3*2 + 0*3 = 6\\ 
+Total used events = Unclustered events for lower tail + Total events
+in clusters \\ = 56 + 6 = 62 \\\\
+Sum of yearly distribution for lower tail =  Unclustered events for
+lower tail + Total events in clusters\\ = 56 + 3 =59}
+<<>>=
+sum(output$lower.tail$yearly.extreme.event[,"number.lowertail"])
+output$lower.tail$extreme.event.distribution[,"unclstr"]
+output$lower.tail$runlength
+@ 
+
+\section{Computational details}
+The package code is purely written in R. It has dependencies to zoo
+(\href{http://cran.r-project.org/web/packages/zoo/index.html}{Zeileis
+  2012}) and boot
+(\href{http://cran.r-project.org/web/packages/boot/index.html}{Rlpley
+  2013}).  R itself as well as these packages can be obtained from \href{http://CRAN.R-project.org/}{CRAN}.
+%\section{Acknowledgments}
+
+\end{document}



More information about the Eventstudies-commits mailing list