aboutsummaryrefslogtreecommitdiffstats
path: root/R/load_cf.R
blob: 0172bca523b3ddc6d529c86eae370455de31b2fe (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
33
34
35
36
37
38
39
40
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
}