diff options
| -rw-r--r-- | R/cds_functions_generic.R | 3 | ||||
| -rw-r--r-- | R/intex_deal_functions.R | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/R/cds_functions_generic.R b/R/cds_functions_generic.R index 9af140f4..73237276 100644 --- a/R/cds_functions_generic.R +++ b/R/cds_functions_generic.R @@ -562,6 +562,9 @@ cdshazardrate <- function(quotes, R=0.4, tradedate=Sys.Date(), cs.all){ bondhazardrate.shaped <- function(collateral, shape, R=0.4, alpha=0.25, beta=15, startdate=Sys.Date()){ ## calibrate a default prepay curve to the collateral information + if ( collateral$fixedorfloat == "FIXED" && is.na(collateral$grosscoupon)) { + collateral$grosscoupon <- 0 + } cs <- couponSchedule(collateral$nextpaydate, collateral$maturity, collateral$frequency, collateral$fixedorfloat, collateral$grosscoupon*0.01, collateral$spread*0.01, startdate) diff --git a/R/intex_deal_functions.R b/R/intex_deal_functions.R index 38103592..43cc0d4f 100644 --- a/R/intex_deal_functions.R +++ b/R/intex_deal_functions.R @@ -267,7 +267,7 @@ buildSC.portfolio <- function(dealname, dealdata, cusipdata, global.params, star ## portfolio <- c() ## for(i in 1:nrow(collatdata)){ ## line.item <- collatdata[i,] - ## if(is.na(line.item$maturity) || is.na(line.item) || line.item$currentbalance <= 1){ + ## if(is.na(line.item$maturity) || is.na(line.item$currentbalance) || line.item$currentbalance <= 1){ ## next ## } ## portfolio <- c(portfolio, buildSC(line.item, dealdata$reinv_end_date, dealdata$maturity, global.params, startdate)) |
