aboutsummaryrefslogtreecommitdiffstats
path: root/R/load_cf.R
blob: ac25f3d02af228397e930b1b8d7a95d58a810763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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