aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R18
1 files changed, 8 insertions, 10 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index b5bed8e5..118493ee 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -109,7 +109,7 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
tranches <- c("COLLAT_INITIAL", "COLLAT_REINVEST")
}
flag <- TRUE
- ct <- list(col_datetime("%b %d, %Y"),
+ ct <- list(col_date("%b %d, %Y"),
col_character(),
col_character(),
col_numeric(), col_skip(), col_skip(),
@@ -134,8 +134,7 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
data <- data[-c(1,2),]
data <- data.table(data, key="Date")
data <- tryCatch({
- data[,`:=`(Date = as.Date(Date),
- Cashflow = sanitize.column(Cashflow),
+ data[,`:=`(Cashflow = sanitize.column(Cashflow),
Principal = sanitize.column(Principal))]
}, warning=function(w){
message("handling warning: ", conditionMessage(w))
@@ -206,11 +205,11 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
for(j in 1:n.scenarios){
filename <- sprintf("%s-CF-Scen%s.txt", cusip, j)
conn <- unz(zip, filename)
- data <- read_tsv(conn, col_types=list(col_datetime("%b %d, %Y"),
- col_numeric(),
- col_numeric(),
- col_numeric(), col_numeric(), col_numeric(),
- col_skip(), col_skip()))
+ data <- read_tsv(conn, col_types=list(col_date("%b %d, %Y"),
+ col_numeric(),
+ col_numeric(),
+ col_numeric(), col_numeric(), col_numeric(),
+ col_skip(), col_skip()))
if(nrow(data)<=2){
cat(cusip, "Scenario", j, "\n")
flag <- FALSE
@@ -219,8 +218,7 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
data <- data[-c(1,2),]
data <- data.table(data, key="Date")
##need col_datetime is POSIXct, we want type Date
- data[,`:=`(Balance=pmax(Balance-`Accum Interest Shortfall`, 0),
- Date=as.Date(Date))]
+ data[,Balance:=pmax(Balance-`Accum Interest Shortfall`, 0)]
r[j,] <- as.numeric(df[data, roll=TRUE][,list(Cashflow=temp <- sum(Cashflow*Discounts),
Principal=sum(Principal*Discounts),
Interest=sum(Interest*Discounts),