aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/load_cf.R23
1 files changed, 12 insertions, 11 deletions
diff --git a/R/load_cf.R b/R/load_cf.R
index 26cf22e9..737e04ea 100644
--- a/R/load_cf.R
+++ b/R/load_cf.R
@@ -91,12 +91,12 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
for(dealname in indextodealnames[[k]]){
loginfo(paste("processing", dealname))
dealdata <- getdealdata(dealname, tradedate)
- alldates <- getdealschedule(dealdata, "1 month")
+ alldates <- getdealschedule(dealdata, "Monthly")
config <- getconfig(dealname, tradedate)
- alldates <- ifelse(alldates >= YC$referenceDate, alldates, YC$referenceDate)
- class(alldates) <- "Date"
+ alldates_floored <- ifelse(alldates >= YC$referenceDate, alldates, YC$referenceDate)
+ class(alldates_floored) <- "Date"
df <- data.table(Date = alldates,
- Discounts = YC$discount(alldates),
+ Discounts = YC$discount(alldates_floored),
key="Date")
cfdata[[dealname]] <- list(mv = dealdata$mv,
currbal = dealdata$"Curr Collat Bal",
@@ -145,12 +145,13 @@ getdealcf <- function(dealnames, zipfiles, tradedate=Sys.Date()){
}, warning=function(w){
logwarn(conditionMessage(w))
NULL})
+
data <- df[data, roll=TRUE]
data$Discounts[is.na(data$Discounts)] <- 1
#data$T[is.na(data$T)] <- 0
r[i,] <- as.numeric(data[,list(sum(Cashflow*Discounts),
- sum(Principal*Discounts),
- sum(Interest*Discounts))])
+ sum(Principal*Discounts),
+ sum(Interest*Discounts))])
}
if(flag){
cfdata[[dealname]][[tranche]] <- r
@@ -222,12 +223,12 @@ getcusipcf <- function(params, cfdata, dist, tradedate=Sys.Date()){
zip <- params$zipfiles[params$cusips[[cusip]]]
dealname <- dealnames[i]
dealdata <- getdealdata(dealname, tradedate)
- alldates <- getdealschedule(dealdata, "1 month", adjust=TRUE)
- alldates <- ifelse(alldates >= YC$referenceDate, alldates, YC$referenceDate)
- class(alldates) <- "Date"
+ alldates <- getdealschedule(dealdata, "Monthly", bdc = "Following")
+ alldates_floored <- ifelse(alldates >= YC$referenceDate, alldates, YC$referenceDate)
+ class(alldates_floored) <- "Date"
T <- yearFrac(YC$referenceDate, alldates)
- df <- data.table(Date=alldates,
- Discounts=YC$discount(alldates),
+ df <- data.table(Date=alldates_floored,
+ Discounts=YC$discount(alldates_floored),
T=T, key="Date")
r <- matrix(0, n.scenarios, 5)
colnames(r) <- fields