[Uwgarp-commits] r215 - in pkg/GARPFRM: R man
noreply at r-forge.r-project.org
noreply at r-forge.r-project.org
Sat Nov 15 10:28:08 CET 2014
Author: jaiganeshp
Date: 2014-11-15 10:28:07 +0100 (Sat, 15 Nov 2014)
New Revision: 215
Added:
pkg/GARPFRM/man/dat.Rd
Modified:
pkg/GARPFRM/R/capm.R
Log:
Updated CAPM Plot Method and Also Added dat.Rd file.
Modified: pkg/GARPFRM/R/capm.R
===================================================================
--- pkg/GARPFRM/R/capm.R 2014-08-26 00:08:59 UTC (rev 214)
+++ pkg/GARPFRM/R/capm.R 2014-11-15 09:28:07 UTC (rev 215)
@@ -1,324 +1,325 @@
-# CAPM Function
-# Description for CAPM
-# @param r risk-free rate
-# @param mkrt market return
-# @return the function returns tstat upon default & pvalue when specified
-# @export
-# capm.tstats = function(r,mkrt,type = FALSE) {
-# # Fiting CAPM and retrieve alpha specific tstats or pvalues
-# capm.fit = lm(r~mkrt)
-# # Extract summary info
-# capm.summary = summary(capm.fit)
-# if(is.null(type) | type=="pvalue"){
-# # Retrieve p-value if specified
-# p.value = coef(capm.summary)[1,4]
-# p.value
-# }else{
-# # Otherwise retrieve t-stat if specified or on default
-# t.stat = coef(capm.summary)[1,3]
-# t.stat
-# }
-# }
-
-#' Capital Asset Pricing Model
-#'
-#' CAPM describes the relationship between risk and (expected) return
-#'
-#' Retrieves alphas, betas, as well as pvalue and tstats.
-#' The CAPM is used to determine a theoretically appropriate rate of return
-#' of the non-diversifiable risk of an asset.
-#'
-#' @param R asset returns
-#' @param Rmkt market returns
-#' @examples
-#' data(crsp.short)
-#'
-#' head(largecap.ts)
-#'
-#' Rf <- largecap.ts[, "t90"]
-#' R <- largecap.ts[, "CAT"] - Rf
-#' MKT <- largecap.ts[, "market"] - Rf
-#'
-#' # Fit the CAPM model
-#' tmp <- CAPM(R=R, Rmkt=MKT)
-#' @author Thomas Fillebeen
-#' @export
-CAPM <- function(R, Rmkt){
- capm_fit <- lm(R ~ Rmkt)
- capm_fit$x_data <- Rmkt
- capm_fit$y_data <- R
-
- if(ncol(R) > 1){
- # Multiple Linear Model CAPM
- class(capm_fit) <- c("capm_mlm", "mlm", "lm")
- } else if(ncol(R) == 1){
- # Univariate CAPM
- class(capm_fit) <- c("capm_uv", "lm")
- }
- return(capm_fit)
-}
-
-#' CAPM alphas
-#'
-#' Extract the computed alphas (intercept) from the fitted CAPM object.
-#'
-#' @param object a capm object created by \code{\link{CAPM}}
-#' @author Thomas Fillebeen
-#' @export
-getAlphas <- function(object){
- UseMethod("getAlphas")
-}
-
-#' @method getAlphas capm_uv
-#' @S3method getAlphas capm_uv
-getAlphas.capm_uv <- function(object){
- if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
- temp = getStatistics(object)[,1]
- return(temp[1])
-}
-
-#' @method getAlphas capm_mlm
-#' @S3method getAlphas capm_mlm
-getAlphas.capm_mlm <- function(object){
- if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
- tmp_sm = getStatistics(object)
- tmp_sm = tmp_sm[seq(1,nrow(tmp_sm),2),1]
- return(tmp_sm)
-}
-
-#' CAPM betas
-#'
-#' Extract the computed alpha (intercept) from the CAPM object.
-#'
-#' @param object a capm object created by \code{\link{CAPM}}
-#' @author Thomas Fillebeen
-#' @export
-getBetas <- function(object){
- UseMethod("getBetas")
-}
-
-#' @method getBetas capm_uv
-#' @S3method getBetas capm_uv
-getBetas.capm_uv <- function(object){
- if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
- temp = getStatistics(object)[,1]
- return(temp[2])
-}
-
-#' @method getBetas capm_mlm
-#' @S3method getBetas capm_mlm
-getBetas.capm_mlm <- function(object){
- if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
- tmp_sm = getStatistics(object)
- tmp_sm = tmp_sm[seq(2,nrow(tmp_sm),2),1]
- return(tmp_sm)
-}
-
-#' CAPM statistics
-#'
-#' Extract the standard error, t-values, and p-values from the CAPM object.
-#'
-#' The t-statistic and corresponding two-sided p-value are calculated differently
-#' for the alpha and beta coefficients.
-#' \itemize{
-#' \item{alpha}{ the t-statistic and corresponding p-value are calculated to
-#' test if alpha is significantly different from 0.
-#' \deqn{
-#' H0: \alpha = 0
-#' }
-#' }
-#' \item{beta}{ the t-statistic and corresponding p-value are calculated to
-#' test if beta is significantly different from 1.
-#' \deqn{
-#' H0: \beta = 1
-#' }
-#' }
-#' }
-#'
-#' @param object a capm object created by \code{\link{CAPM}}.
-#' @author Thomas Fillebeen
-#' @export
-getStatistics <- function(object){
- UseMethod("getStatistics")
-}
-
-#' @method getStatistics capm_uv
-#' @S3method getStatistics capm_uv
-getStatistics.capm_uv <- function(object){
- if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
- tmp_sm <- summary.lm(object)
- # Gets t-value, and p-value of model
- result = coef(tmp_sm)[,c(1:4)]
- # recalculate the tstat for the beta to test if beta is significantly different from 1
- # (beta - beta0) / se
- tstat = (result[2,1] - 1 )/result[2,2]
- # Two sided t-test
- pvalue= (2*(1 - pt(abs(tstat),df=nrow(object$x_data)-2)))
- result[2,3:4] = cbind(tstat, pvalue)
- rownames(result) = cbind(c(paste("alpha.", colnames(object$y_data))),c(paste("beta. ", colnames(object$y_data))))
- return(result)
-}
-
-#' @method getStatistics capm_mlm
-#' @S3method getStatistics capm_mlm
-getStatistics.capm_mlm <- function(object){
- if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
- # Gets t-value, and p-value of model
- # Multi-Beta CAPM
- x <- coef(summary(object))
- tmp_sm <- do.call(rbind, x)
- holder = matrix(0,nrow=1,ncol=ncol(coef(object))*2)
- n=1
- for (i in 1:ncol(coef(object))){
- holder[,n:(i*2)] = cbind(c(paste("alpha.",colnames(coef(object))[i])) ,c(paste("beta. ",colnames(coef(object))[i])))
- n = i*2 +1
- }
- rownames(tmp_sm) <- c(holder)
- # recalculate the tstat for the beta to test if beta is significantly different from 1
- # (beta - beta0) / se
- tstat = (tmp_sm[seq(2,nrow(tmp_sm),2),1] - 1 )/tmp_sm[seq(2,nrow(tmp_sm),2),2]
- #' Two sided t-test
- pvalue = (2*(1 - pt(abs(tstat),df=nrow(object$x_data)-2)))
- tmp_sm[seq(2,nrow(tmp_sm),2),3:4] = cbind(tstat,pvalue)
- return(tmp_sm)
-}
-
-#' Plotting method for CAPM
-#'
-#' Plot a fitted CAPM object
-#'
-#' @param x a capm object created by \code{\link{CAPM}}.
-#' @param y not used
-#' @param \dots passthrough parameters to \code{\link{plot}}.
-#' @param main a main title for the plot
-#' @author Thomas Fillebeen
-#' @method plot capm_uv
-#' @S3method plot capm_uv
-plot.capm_uv <- function(x, y, ..., main="CAPM"){
- xlab <- colnames(x$x_data)
- ylab <- colnames(x$y_data)
- plot(x=coredata(x$x_data), y=(x$y_data), ...=..., xlab=xlab, ylab=ylab, main=main)
- abline(x)
- abline(h=0,v=0,lty=3)
- alpha = coef(summary(x))[1,1]
- a_tstat = coef(summary(x))[1,2]
- beta = coef(summary(x))[2,1]
- b_tstat = coef(summary(x))[2,2]
- legend("topleft", legend=c(paste("alpha =", round(alpha,digits=2),"(", round(a_tstat,digits=2),")"),
- paste("beta =", round(beta,digits=2),"(", round(b_tstat,digits=2),")")), cex=.8, bty="n")
-
-}
-
-#' Plotting method for CAPM
-#'
-#' Plot a fitted CAPM object
-#'
-#' @param x a capm object created by \code{\link{CAPM}}.
-#' @param y not used
-#' @param \dots passthrough parameters to \code{\link{plot}}.
-#' @param main a main title for the plot
-#' @author Thomas Fillebeen
-#' @method plot capm_mlm
-#' @S3method plot capm_mlm
-plot.capm_mlm <- function(x, y, ..., main="CAPM"){
- if(ncol(x$y_data) > 4) warning("Only first 4 assets will be graphically displayed")
- par(mfrow=c(2,round(ncol(coef(x))/2)))
- Rmkt = x$x_data
- nbPlot = min(ncol(coef(x)),4)
- for (i in 1:nbPlot){
- tmp = CAPM(x$y_data[,i], Rmkt)
- plot(tmp, ...=..., main=main)
- }
-}
-
-#' CAPM SML
-#'
-#' Security Market Line (SML) of the CAPM.
-#' The SML is a represesentation of the CAPM. It illustrates the expected rate
-#' of return of an individual security as a function of systematic,
-#' non-diversified risk (known as beta).
-#'
-#' @param object a capm object created by \code{\link{CAPM}}.
-#' @param \dots passthrough parameters to \code{\link{plot}}.
-#' @param main a main title for the plot.
-#' @author Thomas Fillebeen
-#' @export
-chartSML <- function(object, ..., main="Estimated SML"){
- if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
- #' Plot expected return versus beta
- mu.hat = colMeans(object$y_data, na.rm=TRUE)
- betas = getBetas(object)
- sml.fit = lm(mu.hat~betas)
- # Plot Fitted SML
- plot(betas,mu.hat,main=main, ...=...)
- abline(sml.fit)
- #legend("topleft",1, "Estimated SML",1)
-}
-
-
-#' CAPM Hypothesis Test
-#'
-#' Test the CAPM coefficients for significance.
-#'
-#' @details
-#' This function tests the significance of the coefficients (alpha and beta)
-#' estimated by the CAPM.
-#'
-#' #' The t-statistic and corresponding two-sided p-value are calculated differently
-#' for the alpha and beta coefficients
-#' \itemize{
-#' \item{alpha}{ the t-statistic and corresponding p-value are calculated to
-#' test if alpha is significantly different from 0.
-#' \deqn{
-#' H0: \alpha = 0
-#' }
-#' }
-#' \item{beta}{ the t-statistic and corresponding p-value are calculated to
-#' test if beta is significantly different from 1.
-#' \deqn{
-#' H0: \beta = 1
-#' }
-#' }
-#' }
-#'
-#' If the p-value is less than the coefficients confidence level, the null
-#' hypothesis is rejected meaning that the coefficients is significant. If
-#' the p-value is greater than the specified confidence level, the null
-#' hypothesis cannot be rejected.
-#'
-#' @param object a capm object created by \code{\link{CAPM}}
-#' @param significanceLevel confidence level
-#' @return TRUE if the null hypothesis is rejected (i.e. the estimated coefficient is significant)
-#' FALSE if the null hypothesis cannot be rejected (i.e. the estimated coefficient is not significant)
-#' @seealso \code{\link{getStatistics}}
-#' @author Thomas Fillebeen
-#' @export
-hypTest <- function(object,significanceLevel){
- UseMethod("hypTest")
-}
-
-#' @method hypTest capm_uv
-#' @S3method hypTest capm_uv
-hypTest.capm_uv <- function(object, significanceLevel = 0.05){
- if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
- tmp_sm = getStatistics(object)
- # test for alpha p-value < significanceLevel
- tmp_A = tmp_sm[1,4] < significanceLevel
- # test for beta p-value < significanceLevel
- tmp_B = tmp_sm[2,4] < significanceLevel
- result = list(alpha = tmp_A, beta = tmp_B)
- return(result)
-}
-
-#' @method hypTest capm_mlm
-#' @S3method hypTest capm_mlm
-hypTest.capm_mlm <- function(object, significanceLevel = 0.05){
- if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
- tmp_sm = getStatistics(object)
- # test for alpha p-value < significanceLevel
- tmp_A = tmp_sm[seq(1,nrow(tmp_sm),2),4] < significanceLevel
- # test for beta p-value < significanceLevel
- tmp_B = tmp_sm[seq(2,nrow(tmp_sm),2),4] < significanceLevel
- result = list(alpha = tmp_A, beta = tmp_B)
- return(result)
-}
+# CAPM Function
+# Description for CAPM
+# @param r risk-free rate
+# @param mkrt market return
+# @return the function returns tstat upon default & pvalue when specified
+# @export
+# capm.tstats = function(r,mkrt,type = FALSE) {
+# # Fiting CAPM and retrieve alpha specific tstats or pvalues
+# capm.fit = lm(r~mkrt)
+# # Extract summary info
+# capm.summary = summary(capm.fit)
+# if(is.null(type) | type=="pvalue"){
+# # Retrieve p-value if specified
+# p.value = coef(capm.summary)[1,4]
+# p.value
+# }else{
+# # Otherwise retrieve t-stat if specified or on default
+# t.stat = coef(capm.summary)[1,3]
+# t.stat
+# }
+# }
+
+#' Capital Asset Pricing Model
+#'
+#' CAPM describes the relationship between risk and (expected) return
+#'
+#' Retrieves alphas, betas, as well as pvalue and tstats.
+#' The CAPM is used to determine a theoretically appropriate rate of return
+#' of the non-diversifiable risk of an asset.
+#'
+#' @param R asset returns
+#' @param Rmkt market returns
+#' @examples
+#' data(crsp.short)
+#'
+#' head(largecap.ts)
+#'
+#' Rf <- largecap.ts[, "t90"]
+#' R <- largecap.ts[, "CAT"] - Rf
+#' MKT <- largecap.ts[, "market"] - Rf
+#'
+#' # Fit the CAPM model
+#' tmp <- CAPM(R=R, Rmkt=MKT)
+#' @author Thomas Fillebeen
+#' @export
+CAPM <- function(R, Rmkt){
+ capm_fit <- lm(R ~ Rmkt)
+ capm_fit$x_data <- Rmkt
+ capm_fit$y_data <- R
+
+ if(ncol(R) > 1){
+ # Multiple Linear Model CAPM
+ class(capm_fit) <- c("capm_mlm", "mlm", "lm")
+ } else if(ncol(R) == 1){
+ # Univariate CAPM
+ class(capm_fit) <- c("capm_uv", "lm")
+ }
+ return(capm_fit)
+}
+
+#' CAPM alphas
+#'
+#' Extract the computed alphas (intercept) from the fitted CAPM object.
+#'
+#' @param object a capm object created by \code{\link{CAPM}}
+#' @author Thomas Fillebeen
+#' @export
+getAlphas <- function(object){
+ UseMethod("getAlphas")
+}
+
+#' @method getAlphas capm_uv
+#' @S3method getAlphas capm_uv
+getAlphas.capm_uv <- function(object){
+ if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
+ temp = getStatistics(object)[,1]
+ return(temp[1])
+}
+
+#' @method getAlphas capm_mlm
+#' @S3method getAlphas capm_mlm
+getAlphas.capm_mlm <- function(object){
+ if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
+ tmp_sm = getStatistics(object)
+ tmp_sm = tmp_sm[seq(1,nrow(tmp_sm),2),1]
+ return(tmp_sm)
+}
+
+#' CAPM betas
+#'
+#' Extract the computed alpha (intercept) from the CAPM object.
+#'
+#' @param object a capm object created by \code{\link{CAPM}}
+#' @author Thomas Fillebeen
+#' @export
+getBetas <- function(object){
+ UseMethod("getBetas")
+}
+
+#' @method getBetas capm_uv
+#' @S3method getBetas capm_uv
+getBetas.capm_uv <- function(object){
+ if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
+ temp = getStatistics(object)[,1]
+ return(temp[2])
+}
+
+#' @method getBetas capm_mlm
+#' @S3method getBetas capm_mlm
+getBetas.capm_mlm <- function(object){
+ if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
+ tmp_sm = getStatistics(object)
+ tmp_sm = tmp_sm[seq(2,nrow(tmp_sm),2),1]
+ return(tmp_sm)
+}
+
+#' CAPM statistics
+#'
+#' Extract the standard error, t-values, and p-values from the CAPM object.
+#'
+#' The t-statistic and corresponding two-sided p-value are calculated differently
+#' for the alpha and beta coefficients.
+#' \itemize{
+#' \item{alpha}{ the t-statistic and corresponding p-value are calculated to
+#' test if alpha is significantly different from 0.
+#' \deqn{
+#' H0: \alpha = 0
+#' }
+#' }
+#' \item{beta}{ the t-statistic and corresponding p-value are calculated to
+#' test if beta is significantly different from 1.
+#' \deqn{
+#' H0: \beta = 1
+#' }
+#' }
+#' }
+#'
+#' @param object a capm object created by \code{\link{CAPM}}.
+#' @author Thomas Fillebeen
+#' @export
+getStatistics <- function(object){
+ UseMethod("getStatistics")
+}
+
+#' @method getStatistics capm_uv
+#' @S3method getStatistics capm_uv
+getStatistics.capm_uv <- function(object){
+ if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
+ tmp_sm <- summary.lm(object)
+ # Gets t-value, and p-value of model
+ result = coef(tmp_sm)[,c(1:4)]
+ # recalculate the tstat for the beta to test if beta is significantly different from 1
+ # (beta - beta0) / se
+ tstat = (result[2,1] - 1 )/result[2,2]
+ # Two sided t-test
+ pvalue= (2*(1 - pt(abs(tstat),df=nrow(object$x_data)-2)))
+ result[2,3:4] = cbind(tstat, pvalue)
+ rownames(result) = cbind(c(paste("alpha.", colnames(object$y_data))),c(paste("beta. ", colnames(object$y_data))))
+ return(result)
+}
+
+#' @method getStatistics capm_mlm
+#' @S3method getStatistics capm_mlm
+getStatistics.capm_mlm <- function(object){
+ if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
+ # Gets t-value, and p-value of model
+ # Multi-Beta CAPM
+ x <- coef(summary(object))
+ tmp_sm <- do.call(rbind, x)
+ holder = matrix(0,nrow=1,ncol=ncol(coef(object))*2)
+ n=1
+ for (i in 1:ncol(coef(object))){
+ holder[,n:(i*2)] = cbind(c(paste("alpha.",colnames(coef(object))[i])) ,c(paste("beta. ",colnames(coef(object))[i])))
+ n = i*2 +1
+ }
+ rownames(tmp_sm) <- c(holder)
+ # recalculate the tstat for the beta to test if beta is significantly different from 1
+ # (beta - beta0) / se
+ tstat = (tmp_sm[seq(2,nrow(tmp_sm),2),1] - 1 )/tmp_sm[seq(2,nrow(tmp_sm),2),2]
+ #' Two sided t-test
+ pvalue = (2*(1 - pt(abs(tstat),df=nrow(object$x_data)-2)))
+ tmp_sm[seq(2,nrow(tmp_sm),2),3:4] = cbind(tstat,pvalue)
+ return(tmp_sm)
+}
+
+#' Plotting method for CAPM
+#'
+#' Plot a fitted CAPM object
+#'
+#' @param x a capm object created by \code{\link{CAPM}}.
+#' @param y not used
+#' @param \dots passthrough parameters to \code{\link{plot}}.
+#' @param main a main title for the plot
+#' @author Thomas Fillebeen
+#' @method plot capm_uv
+#' @S3method plot capm_uv
+plot.capm_uv <- function(x, y, ..., main="CAPM"){
+ xlab <- colnames(x$x_data)
+ ylab <- colnames(x$y_data)
+ plot(x=coredata(x$x_data), y=(x$y_data), ...=..., xlab=xlab, ylab=ylab, main=main)
+ abline(x)
+ abline(h=0,v=0,lty=3)
+ alpha = coef(summary(x))[1,1]
+ a_tstat = coef(summary(x))[1,2]
+ beta = coef(summary(x))[2,1]
+ b_tstat = coef(summary(x))[2,2]
+ legend("topleft", legend=c(paste("alpha =", round(alpha,digits=2),"(", round(a_tstat,digits=2),")"),
+ paste("beta =", round(beta,digits=2),"(", round(b_tstat,digits=2),")")), cex=.8, bty="n")
+
+}
+
+#' Plotting method for CAPM
+#'
+#' Plot a fitted CAPM object
+#'
+#' @param x a capm object created by \code{\link{CAPM}}.
+#' @param y not used
+#' @param \dots passthrough parameters to \code{\link{plot}}.
+#' @param main a main title for the plot
+#' @author Thomas Fillebeen
+#' @method plot capm_mlm
+#' @S3method plot capm_mlm
+plot.capm_mlm <- function(x, y, ..., main="CAPM"){
+ if(ncol(x$y_data) > 4) warning("Only first 4 assets will be graphically displayed")
+ par(mfrow=c(2,min(round(ncol(coef(x))/2,2))))
+ Rmkt = x$x_data
+ nbPlot = min(ncol(coef(x)),4)
+ for (i in 1:nbPlot){
+ tmp = CAPM(x$y_data[,i], Rmkt)
+ plot(tmp, ...=..., main=main)
+ }
+ par(mfrow=c(1,1))
+}
+
+#' CAPM SML
+#'
+#' Security Market Line (SML) of the CAPM.
+#' The SML is a represesentation of the CAPM. It illustrates the expected rate
+#' of return of an individual security as a function of systematic,
+#' non-diversified risk (known as beta).
+#'
+#' @param object a capm object created by \code{\link{CAPM}}.
+#' @param \dots passthrough parameters to \code{\link{plot}}.
+#' @param main a main title for the plot.
+#' @author Thomas Fillebeen
+#' @export
+chartSML <- function(object, ..., main="Estimated SML"){
+ if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
+ #' Plot expected return versus beta
+ mu.hat = colMeans(object$y_data, na.rm=TRUE)
+ betas = getBetas(object)
+ sml.fit = lm(mu.hat~betas)
+ # Plot Fitted SML
+ plot(betas,mu.hat,main=main, ...=...)
+ abline(sml.fit)
+ #legend("topleft",1, "Estimated SML",1)
+}
+
+
+#' CAPM Hypothesis Test
+#'
+#' Test the CAPM coefficients for significance.
+#'
+#' @details
+#' This function tests the significance of the coefficients (alpha and beta)
+#' estimated by the CAPM.
+#'
+#' #' The t-statistic and corresponding two-sided p-value are calculated differently
+#' for the alpha and beta coefficients
+#' \itemize{
+#' \item{alpha}{ the t-statistic and corresponding p-value are calculated to
+#' test if alpha is significantly different from 0.
+#' \deqn{
+#' H0: \alpha = 0
+#' }
+#' }
+#' \item{beta}{ the t-statistic and corresponding p-value are calculated to
+#' test if beta is significantly different from 1.
+#' \deqn{
+#' H0: \beta = 1
+#' }
+#' }
+#' }
+#'
+#' If the p-value is less than the coefficients confidence level, the null
+#' hypothesis is rejected meaning that the coefficients is significant. If
+#' the p-value is greater than the specified confidence level, the null
+#' hypothesis cannot be rejected.
+#'
+#' @param object a capm object created by \code{\link{CAPM}}
+#' @param significanceLevel confidence level
+#' @return TRUE if the null hypothesis is rejected (i.e. the estimated coefficient is significant)
+#' FALSE if the null hypothesis cannot be rejected (i.e. the estimated coefficient is not significant)
+#' @seealso \code{\link{getStatistics}}
+#' @author Thomas Fillebeen
+#' @export
+hypTest <- function(object,significanceLevel){
+ UseMethod("hypTest")
+}
+
+#' @method hypTest capm_uv
+#' @S3method hypTest capm_uv
+hypTest.capm_uv <- function(object, significanceLevel = 0.05){
+ if(!inherits(object, "capm_uv")) stop("object must be of class capm_uv")
+ tmp_sm = getStatistics(object)
+ # test for alpha p-value < significanceLevel
+ tmp_A = tmp_sm[1,4] < significanceLevel
+ # test for beta p-value < significanceLevel
+ tmp_B = tmp_sm[2,4] < significanceLevel
+ result = list(alpha = tmp_A, beta = tmp_B)
+ return(result)
+}
+
+#' @method hypTest capm_mlm
+#' @S3method hypTest capm_mlm
+hypTest.capm_mlm <- function(object, significanceLevel = 0.05){
+ if(!inherits(object, "capm_mlm")) stop("object must be of class capm_mlm")
+ tmp_sm = getStatistics(object)
+ # test for alpha p-value < significanceLevel
+ tmp_A = tmp_sm[seq(1,nrow(tmp_sm),2),4] < significanceLevel
+ # test for beta p-value < significanceLevel
+ tmp_B = tmp_sm[seq(2,nrow(tmp_sm),2),4] < significanceLevel
+ result = list(alpha = tmp_A, beta = tmp_B)
+ return(result)
+}
Added: pkg/GARPFRM/man/dat.Rd
===================================================================
--- pkg/GARPFRM/man/dat.Rd (rev 0)
+++ pkg/GARPFRM/man/dat.Rd 2014-11-15 09:28:07 UTC (rev 215)
@@ -0,0 +1,36 @@
+\name{dat}
+\alias{dat}
+\docType{data}
+\title{
+%% ~~ data name/kind ... ~~
+}
+\description{
+%% ~~ A concise (1-5 lines) description of the dataset. ~~
+}
+\usage{data(dat)}
+\format{
+ A data frame with 33 observations on the following 7 variables.
+ \describe{
+ \item{\code{Cusip}}{a factor with levels \code{912810CT} \code{912810CU} \code{912810CW} \code{912810CX} \code{912810CZ} \code{912810DA} \code{912810DC} \code{912810DD} \code{912810DE} \code{912810DG} \code{912810DH} \code{912810DK} \code{912810DM} \code{912810DQ} \code{912810DR} \code{912810DU} \code{9128272J} \code{9128272U} \code{9128273E} \code{9128273X} \code{9128274F} \code{9128274V} \code{9128275G} \code{912827F4} \code{912827G5} \code{912827N8} \code{912827S8} \code{912827V8} \code{912827X8} \code{912827Y5} \code{912827Z6} \code{912827ZE} \code{912827ZN}}
+ \item{\code{IssueDate}}{a Date}
+ \item{\code{MaturityDate}}{a Date}
+ \item{\code{Name}}{a factor with levels \code{BOND} \code{NOTE}}
+ \item{\code{Coupon}}{a numeric vector}
+ \item{\code{Bid}}{a numeric vector}
+ \item{\code{Ask}}{a numeric vector}
+ }
+}
+\details{
+%% ~~ If necessary, more details than the __description__ above ~~
+}
+\source{
+%% ~~ reference to a publication or URL from which the data were obtained ~~
+}
+\references{
+%% ~~ possibly secondary sources and usages ~~
+}
+\examples{
+data(dat)
+## maybe str(dat) ; plot(dat) ...
+}
+\keyword{datasets}
More information about the Uwgarp-commits
mailing list