root.dir <- "//WDSENTINEL/share/CorpCDOs" workdate <- "2013-01-09" sanitize.column <- function(vec){ vec <- gsub(",", "", vec) index <- grep("\\(", vec) for(l in index){ vec[l] <- substr(vec[l], 2, nchar(vec[l])-1) } return( as.numeric(vec) ) } fields <- c("Cashflow", "Principal", "Interest") dealnames <- c("abcl071") tranches <- c("", "COLLAT_REINVEST", "COLLAT_INITIAL") for(dealname in dealnames){ r <- matrix(0, n.scenarios, 3) for(tranche in tranches){ for(i in 1:n.scenarios){ if(tranche == ""){ filename <- paste0(paste(toupper(dealname), "CF", paste0("Scen", i), sep="-"), ".txt") }else{ filename <- paste0(paste(toupper(dealname), tranche, "CF", paste0("Scen", i), sep="-"), ".txt") } data <- read.table(file.path(root.dir, "Scenarios", paste0("Prices_", workdate), filename), sep="\t", header=T) data <- data[-(1:2),1:4] data$Date <- as.Date(data$Date, "%b %d, %Y") data <- data[data$Date>=today(),] DC <- DiscountCurve(L3m$params, L3m$tsQuotes, yearFrac(L3m$params$tradeDate, data$Date)) pv <- c() for(field in fields){ data[,field] <- sanitize.column(data[,field]) pv <- c(pv, crossprod(DC$discounts, data[,field])) } r[i,] <- pv } } colnames(r) <- fields }