diff options
| -rw-r--r-- | R/build_portfolios.R | 5 | ||||
| -rw-r--r-- | R/build_scenarios.R | 4 | ||||
| -rw-r--r-- | R/intex_deal_functions.R | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/R/build_portfolios.R b/R/build_portfolios.R index e80509a4..3809d7d0 100644 --- a/R/build_portfolios.R +++ b/R/build_portfolios.R @@ -82,6 +82,9 @@ for(deal.name in dealnames){ next
}
deal.data <- getdealdata(deal.name, calibration.date)
+ if(is.na(deal.data$"Reinv End Date")){
+ global.params$reinvflag <- FALSE
+ }
if(deal.data$"Curr Collat Bal" < 1 ||is.na(deal.data$maturity)||deal.data$maturity <= today()+90){
next
}
@@ -97,7 +100,7 @@ for(deal.name in dealnames){ dir.create(save.dir)
}
save(deal.portfolio, A, S, deal.weights, deal.dates, deal.spread5y,
- deal.spreadatmaturity, file=file.path(save.dir, paste0(deal.name, ".RData")))
+ deal.spreadatmaturity, deal.data, file=file.path(save.dir, paste0(deal.name, ".RData")))
cat(deal.name, "... done\n")
dealupdatedate <- currdealnames$updatedate[currdealnames$dealname %in% deal.name]
if(length(dealupdatedate) && dealupdatedate == workdate){
diff --git a/R/build_scenarios.R b/R/build_scenarios.R index bcd561f4..10099985 100644 --- a/R/build_scenarios.R +++ b/R/build_scenarios.R @@ -99,7 +99,9 @@ j <- 1 for(deal.name in dealnames){
load(file.path(root.dir, "Scenarios", paste("Portfolios", workdate, sep="_"),
paste(deal.name, "RData", sep=".")))
-
+ if(is.na(deal.data$"Reinv End Date")){
+ reinvflags[j] <- FALSE
+ }
dp <- A$DP
pp <- A$PP
dpmod <- MFupdate.probC(Z, w, deal.portfolio$beta, dp)
diff --git a/R/intex_deal_functions.R b/R/intex_deal_functions.R index 91a4960a..d4ba8408 100644 --- a/R/intex_deal_functions.R +++ b/R/intex_deal_functions.R @@ -198,7 +198,7 @@ buildSC <- function(line.item, reinvdate, dealmaturity, global.params, startdate line.item$price <- 100
SC@startdate <- startdate + global.params$defaultedlag
- if(SC@startdate<reinvdate && global.params$reinvflag){
+ if(!is.na(reinvdate) && SC@startdate<reinvdate && global.params$reinvflag){
line.item$maturity <- min(dealmaturity, SC@startdate + global.params$rollingmaturity)
line.item$nextpaydate <- SC@startdate
## automatic reinvest
|
