R/Class-SecurityAttribution.R

#' Object of class SecurityAttribution
#'
#' This function generates an S4  object of any Security for Brinson Attribution
#'
SecurityAttribution<-setClass("SecurityAttribution", slots = representation(
  AssetClass="factor",
  AssetCategory="factor",
  Asset="factor",

  PortfolioReturns="numeric",
  PortfolioWeights="numeric",

  BenchmarkReturns="numeric",
  BenchmarkWeights="numeric"),

  # prototype = list(debit=0,#Default Values
  #                  credit=0),
  #Data validation
  validity=function(object)
  {
    if(length(object@PortfolioReturns)<=0){
      return("Portfolio returns data is missing")
    }
    else if(length(object@PortfolioWeights)<=0){
      return("Portfolio Portfolio Weights data is missing")
    }

    else if(length(object@BenchmarkReturns)<=0 || length(object@BenchmarkReturns)<=0){
      return("A benchmark is required")
    }
    return(TRUE)
  }
)
CarlvinJerry/InnovaPerformanceAttribution documentation built on May 16, 2019, 7:26 a.m.