From noreply at r-forge.r-project.org Tue Dec 2 22:00:05 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Tue, 2 Dec 2014 22:00:05 +0100 (CET) Subject: [Eventstudies-commits] r400 - pkg/R Message-ID: <20141202210006.03B3718789A@r-forge.r-project.org> Author: chiraganand Date: 2014-12-02 22:00:05 +0100 (Tue, 02 Dec 2014) New Revision: 400 Modified: pkg/R/eventstudy.R Log: Change market returns object colname to market.returns, don't remove NA values while doing na.locf. Modified: pkg/R/eventstudy.R =================================================================== --- pkg/R/eventstudy.R 2014-11-30 07:24:49 UTC (rev 399) +++ pkg/R/eventstudy.R 2014-12-02 21:00:05 UTC (rev 400) @@ -41,6 +41,9 @@ if (type == "lmAMM") { cat("preparing paramters\n") + if (length(dim(model.args$market.returns)) == 2) { + colnames(model.args$market.returns) <- "market.returns" # needed to fix market returns colname + } returns.zoo <- prepare.returns(event.list = event.list, event.window = event.window, list(firm.returns = firm.returns, @@ -74,8 +77,8 @@ args.makeX <- append(args.makeX, model.args[names.args.makeX]) names.nonfirmreturns <- colnames(firm$z.e)[!colnames(firm$z.e) %in% c("firm.returns", "market.returns")] - args.makeX$market.returns <- na.locf(firm$z.e[estimation.period, "market.returns"]) #XXX REMOVE - args.makeX$others <- na.locf(firm$z.e[estimation.period, names.nonfirmreturns]) + args.makeX$market.returns <- na.locf(firm$z.e[estimation.period, "market.returns"], na.rm = FALSE) #XXX REMOVE + args.makeX$others <- na.locf(firm$z.e[estimation.period, names.nonfirmreturns], na.rm = FALSE) regressors <- do.call(makeX, args.makeX) args.lmAMM <- list() @@ -83,7 +86,7 @@ args.lmAMM$nlags <- model.args$nlag.lmAMM } args.lmAMM <- append(args.lmAMM, model.args[names(model.args) %in% formalArgs(lmAMM)]) - args.lmAMM$firm.returns <- na.locf(firm$z.e[estimation.period, "firm.returns"]) #XXX REMOVE na.locf(), its just done to get a regular residuals series. + args.lmAMM$firm.returns <- na.locf(firm$z.e[estimation.period, "firm.returns"], na.rm = FALSE) #XXX REMOVE na.locf(), its just done to get a regular residuals series. args.lmAMM$X <- regressors model <- do.call(lmAMM, args.lmAMM) @@ -122,6 +125,9 @@ ### marketModel if (type == "marketModel") { cat("preparing paramters\n") + if (length(dim(model.args$market.returns)) == 2) { + colnames(model.args$market.returns) <- "market.returns" # needed to fix market returns colname + } returns.zoo <- prepare.returns(event.list = event.list, event.window = event.window, list(firm.returns = firm.returns, @@ -142,8 +148,8 @@ return(NULL) } estimation.period <- attributes(firm)[["estimation.period"]] - model <- marketModel(na.locf(firm$z.e[estimation.period, "firm.returns"]), #XXX: remove na.locf - na.locf(firm$z.e[estimation.period, "market.returns"]), #XXX: remove na.locf + model <- marketModel(na.locf(firm$z.e[estimation.period, "firm.returns"], na.rm = FALSE), #XXX: remove na.locf + na.locf(firm$z.e[estimation.period, "market.returns"], na.rm = FALSE), #XXX: remove na.locf residuals = FALSE) abnormal.returns <- firm$z.e[event.period, "firm.returns"] - model$coefficients["(Intercept)"] - @@ -174,6 +180,9 @@ ### excessReturn if (type == "excessReturn") { cat("preparing paramters\n") + if (length(dim(model.args$market.returns)) == 2) { + colnames(model.args$market.returns) <- "market.returns" # needed to fix market returns colname + } returns.zoo <- prepare.returns(event.list = event.list, event.window = event.window, list(firm.returns = firm.returns, From noreply at r-forge.r-project.org Sat Dec 6 08:43:23 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Sat, 6 Dec 2014 08:43:23 +0100 (CET) Subject: [Eventstudies-commits] r401 - pkg/R Message-ID: <20141206074323.13F69185349@r-forge.r-project.org> Author: chiraganand Date: 2014-12-06 08:43:22 +0100 (Sat, 06 Dec 2014) New Revision: 401 Modified: pkg/R/eventstudy.R Log: Fixed the lmAMM residuals class, added residuals for excessReturn type. Modified: pkg/R/eventstudy.R =================================================================== --- pkg/R/eventstudy.R 2014-12-02 21:00:05 UTC (rev 400) +++ pkg/R/eventstudy.R 2014-12-06 07:43:22 UTC (rev 401) @@ -117,6 +117,8 @@ outputModel <- NULL } else { outputResiduals <- lapply(outputModel, function(x) attributes(x)[["residuals"]]) + outputResiduals <- lapply(outputResiduals, function(x) + zoo(as.numeric(x), order.by = as.integer(names(x)))) outputModel <- do.call(merge.zoo, outputModel) } } @@ -203,10 +205,11 @@ return(NULL) } estimation.period <- attributes(firm)[["estimation.period"]] - model <- excessReturn(na.locf(firm$z.e[event.period, "firm.returns"]), #XXX: remove na.locf - na.locf(firm$z.e[event.period, "market.returns"])) #XXX: remove na.locf + model <- excessReturn(na.locf(firm$z.e[c(estimation.period, event.period), "firm.returns"]), #XXX: remove na.locf + na.locf(firm$z.e[c(estimation.period, event.period), "market.returns"])) #XXX: remove na.locf - abnormal.returns <- model + abnormal.returns <- model[event.period, ] + attr(abnormal.returns, "residuals") <- model[estimation.period, ] return(abnormal.returns) }) @@ -220,6 +223,7 @@ warning("excessReturn() returned NULL\n") outputModel <- NULL } else { + outputResiduals <- lapply(outputModel, function(x) attributes(x)[["residuals"]]) outputModel <- do.call(merge.zoo, outputModel[!sapply(outputModel, is.null)]) } } From noreply at r-forge.r-project.org Sat Dec 6 09:01:28 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Sat, 6 Dec 2014 09:01:28 +0100 (CET) Subject: [Eventstudies-commits] r402 - pkg/R Message-ID: <20141206080128.BE9B71872F2@r-forge.r-project.org> Author: chiraganand Date: 2014-12-06 09:01:28 +0100 (Sat, 06 Dec 2014) New Revision: 402 Modified: pkg/R/eventstudy.R Log: Fixed output model for type None, added residual series to this type. Modified: pkg/R/eventstudy.R =================================================================== --- pkg/R/eventstudy.R 2014-12-06 07:43:22 UTC (rev 401) +++ pkg/R/eventstudy.R 2014-12-06 08:01:28 UTC (rev 402) @@ -243,7 +243,10 @@ inference = FALSE outputModel <- NULL } else { + returns.zoo <- returns.zoo[which(outcomes == "success")] outputModel <- returns.zoo$z.e[event.period] + estimation.period <- as.character(index(returns.zoo$z.e)[1]:(-event.window)) + outputResiduals <- lapply(returns.zoo$z.e, '[', estimation.period) } } ## end None From noreply at r-forge.r-project.org Sat Dec 6 21:23:19 2014 From: noreply at r-forge.r-project.org (noreply at r-forge.r-project.org) Date: Sat, 6 Dec 2014 21:23:19 +0100 (CET) Subject: [Eventstudies-commits] r403 - pkg/R Message-ID: <20141206202319.9AE411877F5@r-forge.r-project.org> Author: chiraganand Date: 2014-12-06 21:23:19 +0100 (Sat, 06 Dec 2014) New Revision: 403 Modified: pkg/R/eventstudy.R Log: Fixed residuals class. Modified: pkg/R/eventstudy.R =================================================================== --- pkg/R/eventstudy.R 2014-12-06 08:01:28 UTC (rev 402) +++ pkg/R/eventstudy.R 2014-12-06 20:23:19 UTC (rev 403) @@ -172,6 +172,8 @@ outputModel <- NULL } else { outputResiduals <- lapply(outputModel, function(x) attributes(x)[["residuals"]]) + outputResiduals <- lapply(outputResiduals, function(x) + zoo(as.numeric(x), order.by = as.integer(names(x)))) outputModel <- do.call(merge.zoo, outputModel) } } @@ -244,7 +246,7 @@ outputModel <- NULL } else { returns.zoo <- returns.zoo[which(outcomes == "success")] - outputModel <- returns.zoo$z.e[event.period] + outputModel <- returns.zoo$z.e[event.period, ] estimation.period <- as.character(index(returns.zoo$z.e)[1]:(-event.window)) outputResiduals <- lapply(returns.zoo$z.e, '[', estimation.period) }