aboutsummaryrefslogtreecommitdiffstats
path: root/R
diff options
context:
space:
mode:
Diffstat (limited to 'R')
-rw-r--r--R/load_cf.R15
1 files changed, 9 insertions, 6 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index 4522142e..3ae23d44 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -4,7 +4,8 @@ library(hash)
library(readr)
library(data.table)
args <- commandArgs(trailingOnly=TRUE)
-##options(warn=2)
+##TODO:convert_time instead of convert_datetime GH#77
+##add convert_numeric with parenthesis
if(.Platform$OS.type == "unix"){
root.dir <- "/home/share/CorpCDOs"
@@ -118,7 +119,7 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
ct <- list(col_datetime("%b %d, %Y"),
col_character(),
col_character(),
- col_character(), col_skip(), col_skip(),
+ col_numeric(), col_skip(), col_skip(),
col_skip(), col_skip(), col_skip(),
col_skip(), col_skip(), col_skip())
data <- read_tsv(conn, col_types= ct)
@@ -134,9 +135,9 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
}
data <- data.table(data, key="Date")
data <- tryCatch({
- data[,`:=`(Cashflow = sanitize.column(Cashflow),
- Principal = sanitize.column(Principal),
- Interest = sanitize.column(Interest))]
+ data[,`:=`(Date = as.Date(Date),
+ Cashflow = sanitize.column(Cashflow),
+ Principal = sanitize.column(Principal))]
}, warning=function(w){
message("handling warning: ", conditionMessage(w))
NULL})
@@ -218,7 +219,9 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
}
data <- data[-c(1,2),]
data <- data.table(data, key="Date")
- data[,Balance:=pmax(Balance-`Accum Interest Shortfall`, 0)]
+ ##need col_datetime is POSIXct, we want type Date
+ data[,`:=`(Balance=pmax(Balance-`Accum Interest Shortfall`, 0),
+ Date=as.Date(Date))]
r[j,] <- as.numeric(df[data, roll=TRUE][,list(Cashflow=temp <- sum(Cashflow*Discounts),
Principal=sum(Principal*Discounts),
Interest=sum(Interest*Discounts),