[Eventstudies-commits] r74 - in pkg: R data man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sat Jul 13 17:20:13 CEST 2013
Author: vikram
Date: 2013-07-13 17:20:12 +0200 (Sat, 13 Jul 2013)
New Revision: 74
Added:
pkg/R/excessReturn.R
pkg/R/marketResidual.R
pkg/data/marketmodelData.rda
pkg/man/excessReturn.Rd
pkg/man/marketResidual.Rd
Modified:
pkg/R/AMM.R
pkg/man/AMM.Rd
pkg/man/firmExposures.Rd
pkg/man/makeX.Rd
pkg/man/onefirmAMM.Rd
Log:
Added function, documentation for market residual, excess return and minor corrections in AMM function; Work in progress
Modified: pkg/R/AMM.R
===================================================================
--- pkg/R/AMM.R 2013-07-13 10:30:57 UTC (rev 73)
+++ pkg/R/AMM.R 2013-07-13 15:20:12 UTC (rev 74)
@@ -5,8 +5,12 @@
#-----------------------------
# Getting RHS variables in AMM
#-----------------------------
- print("Preparing explanatory variables for computation of Augmented Market Models")
- print("If any argument is missing then please refer to the documentation for detailed explanation.")
+ #print("Preparing explanatory variables for computation of Augmented Market Models")
+ print("If there is missing argument then please refer to the documentation for detailed explanation")
+ if(amm.type!= "onefirm" & amm.type!="manyfirms" & amm.type!="firmExposures"){
+ stop("Input amm.type is missing")
+ }
+
# Checking arguments
nlags.check <- testObject(nlags)
if(nlags.check==FALSE){ nlags <- NA}
Added: pkg/R/excessReturn.R
===================================================================
--- pkg/R/excessReturn.R (rev 0)
+++ pkg/R/excessReturn.R 2013-07-13 15:20:12 UTC (rev 74)
@@ -0,0 +1,13 @@
+###############
+# Excess return
+###############
+# Argument:
+# 1. data.object: This is a time series object with firm return and market return
+# 2. firm.name: It is the firm column name in the data object
+# 3. market.name: It is the market (index) column name in the data object
+# Output:
+# Value: Excess market return
+excessReturn <- function(firm.name,market.name,data.object){
+ ma.ret <- data.object[,firm.name]-data.object[,market.name]
+ return(ma.ret)
+}
Added: pkg/R/marketResidual.R
===================================================================
--- pkg/R/marketResidual.R (rev 0)
+++ pkg/R/marketResidual.R 2013-07-13 15:20:12 UTC (rev 74)
@@ -0,0 +1,27 @@
+#########################
+# Market model adjustment
+#########################
+# Argument:
+# 1. mm.formula: Here the input is the linear model (lm) formula for eg: a ~ b + c
+# If formula is not given then first column will be dependent and rest will be independent
+# 2. data.object: Single time series object with all the variables
+# Output:
+# Value: Market residual after extracting market returns from the firm return
+marketResidual <- function(mm.formula=NULL,data.object){
+ # Storing NA observations
+ na.date <- data.object[which(complete.cases(data.object)==FALSE)]
+ # Extracting market residuals
+ if(is.null(mm.formula)==TRUE){
+ formula <- paste(colnames(data.object)[1],"~",
+ colnames(data.object)[2:NCOL(data.object)],sep="")
+ reg <- lm(as.formula(formula),data=data.object)
+ }else{
+
+ reg <- lm(as.formula(mm.formula),data=data.object)
+ }
+ resid <- xts(reg$residuals,as.Date(attr(reg$residuals,"names")))
+ suppressWarnings(tot.resid <- rbind(resid,
+ xts(rep(NA,nrow(na.date)),
+ index(na.date))))
+ return(tot.resid)
+}
Added: pkg/data/marketmodelData.rda
===================================================================
(Binary files differ)
Property changes on: pkg/data/marketmodelData.rda
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: pkg/man/AMM.Rd
===================================================================
--- pkg/man/AMM.Rd 2013-07-13 10:30:57 UTC (rev 73)
+++ pkg/man/AMM.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -37,7 +37,7 @@
\examples{
# Create RHS before running AMM()
-data("ammData",package="amm")
+data("ammData")
NIFTY_INDEX <- y3c3$NIFTY_INDEX
INRUSD <- y3c3$INRUSD
Company_A <- y3c3$Company_A
@@ -46,7 +46,7 @@
regressand <- cbind(Company_A,Company_B,Company_C)
# One firm
-of <- amm(amm.type="onefirm",rj=Company_A,
+of <- AMM(amm.type="onefirm",rj=Company_A,
nlags=NA,
verbose=TRUE,
dates= as.Date(c("2005-01-15","2006-01-07","2007-01-06",
@@ -55,7 +55,7 @@
switch.to.innov=TRUE, rM1purge=TRUE, nlags=1)
# Many firm
-mf<- amm(amm.type="manyfirm",regressand,
+mf<- AMM(amm.type="manyfirm",regressand,
lags=NA, nlags=NA,
verbose=TRUE,
dates= as.Date(c("2005-01-15","2006-01-07","2007-01-06",
Added: pkg/man/excessReturn.Rd
===================================================================
--- pkg/man/excessReturn.Rd (rev 0)
+++ pkg/man/excessReturn.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -0,0 +1,29 @@
+\name{excessReturn}
+\alias{excessReturn}
+
+\title{A function that estimates excess return}
+
+\description{ This function estimates excess return. If the the firm return is rj and market return is rM then output will be rj less rM.
+}
+
+\usage{excessReturn(firm.name, market.name, data.object)
+}
+
+\arguments{
+ \item{data.object}{This is a time series object with firm return and market return}
+ \item{firm.name}{It is the firm column name in the data object}
+ \item{market.name}{It is the market (index) column name in the data object}
+
+}
+\value{ Excess market return}
+
+\author{Vikram Bahure}
+
+\examples{
+data(marketmodelData)
+er.result <- excessReturn(firm.name="ranbaxyacp",market.name="nifty",
+ data.object=mmData)
+
+}
+
+\keyword{excessReturn}
\ No newline at end of file
Modified: pkg/man/firmExposures.Rd
===================================================================
--- pkg/man/firmExposures.Rd 2013-07-13 10:30:57 UTC (rev 73)
+++ pkg/man/firmExposures.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -58,7 +58,7 @@
\examples{
# firmExposures
-data("firmExposuresData",package="amm")
+data("firmExposuresData")
rj <- test$Company_A
rM1 <- test$NIFTY_INDEX
rM2 <- test$usdinr
Modified: pkg/man/makeX.Rd
===================================================================
--- pkg/man/makeX.Rd 2013-07-13 10:30:57 UTC (rev 73)
+++ pkg/man/makeX.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -65,7 +65,7 @@
\examples{
# makeX
-data("test",package="amm")
+data("firmExposuresData")
rj <- test$Company_A
rM1 <- test$NIFTY_INDEX
rM2 <- test$usdinr
Added: pkg/man/marketResidual.Rd
===================================================================
--- pkg/man/marketResidual.Rd (rev 0)
+++ pkg/man/marketResidual.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -0,0 +1,33 @@
+\name{marketResidual}
+\alias{marketResidual}
+
+\title{This function extracts market return from the firm return }
+
+\description{ This function extracts market return using regression from the firm return to get the residual return
+}
+
+\usage{marketResidual(mm.formula=NULL, data.object)
+}
+
+\arguments{
+ \item{data.object}{Single time series object with all the variables}
+ \item{mm.formula}{Here the input is the linear model (lm) formula for eg: a ~ b + c
+ If formula is not given then first column will be treated as
+ dependent and rest will be independent}
+
+}
+\value{ Market residual after extracting market returns from the firm return
+}
+
+\author{Vikram Bahure}
+
+\examples{
+data(marketmodelData)
+# Forumla for market model
+mm.formula <- paste("ranbaxyacp","~","nifty","+","drug",sep="")
+# Extracting market residual
+mm.result <- marketResidual(mm.formula=mm.formula,data.object=mmData)
+
+}
+
+\keyword{marketResidual}
\ No newline at end of file
Modified: pkg/man/onefirmAMM.Rd
===================================================================
--- pkg/man/onefirmAMM.Rd 2013-07-13 10:30:57 UTC (rev 73)
+++ pkg/man/onefirmAMM.Rd 2013-07-13 15:20:12 UTC (rev 74)
@@ -42,7 +42,7 @@
\examples{
# Create RHS before running onefirmAMM()
-data("ammData",package="amm")
+data("ammData")
NIFTY_INDEX <- y3c3$NIFTY_INDEX
INRUSD <- y3c3$INRUSD
Company_A <- y3c3$Company_A
More information about the Eventstudies-commits
mailing list