aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R32
1 files changed, 32 insertions, 0 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
new file mode 100644
index 00000000..ac25f3d0
--- /dev/null
+++ b/R/load_cf.R
@@ -0,0 +1,32 @@
+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", "ammccl05")
+for(dealname in dealnames){
+ r <- matrix(0, n.scenarios, 3)
+ for(i in 1:n.scenarios){
+ filename <- paste0(paste(toupper(dealname), "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