aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R31
1 files changed, 15 insertions, 16 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index 3ae23d44..b5bed8e5 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -109,6 +109,12 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
tranches <- c("COLLAT_INITIAL", "COLLAT_REINVEST")
}
flag <- TRUE
+ ct <- list(col_datetime("%b %d, %Y"),
+ col_character(),
+ col_character(),
+ col_numeric(), col_skip(), col_skip(),
+ col_skip(), col_skip(), col_skip(),
+ col_skip(), col_skip(), col_skip())
for(tranche in tranches){
r <- matrix(0, n.scenarios, 3)
colnames(r) <- fields
@@ -116,23 +122,16 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
filename <- paste0(paste(toupper(dealname), tranche, "CF",
paste0("Scen", i), sep="-"), ".txt")
conn <- unz(zip, filename)
- ct <- list(col_datetime("%b %d, %Y"),
- col_character(),
- col_character(),
- 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)
- if(nrow(data)<2){
+ data <- tryCatch(read_tsv(conn, col_types= ct),
+ error=function(e){
+ message(conditionMessage(e))
+ NULL})
+ if(is.null(data)||nrow(data)<2){
cat(dealname, i, tranche, "\n")
break
flag <- FALSE
}
data <- data[-c(1,2),]
- if(is.null(data)){
- break
- flag <- FALSE
- }
data <- data.table(data, key="Date")
data <- tryCatch({
data[,`:=`(Date = as.Date(Date),
@@ -208,10 +207,10 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
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()))
+ 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