diff options
Diffstat (limited to 'R')
| -rw-r--r-- | R/thetas-durations.R | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/R/thetas-durations.R b/R/thetas-durations.R index a9a74b83..5d024b3f 100644 --- a/R/thetas-durations.R +++ b/R/thetas-durations.R @@ -113,7 +113,7 @@ for(index in c('IG', 'HY', 'EU', 'XO')) { quotes <- data.frame(upfront=(100-as.numeric(indexquotes[i,maturities$tenor]))/100, maturities) ## prevent negative hazardrates - quotes$upfront <- pmax(yearFrac(tradedate + 1, quotes$maturity, "act/360") * + quotes$upfront <- pmax(-yearFrac(tradedate + 1, quotes$maturity, "act/360") * quotes$running + 1e-6, quotes$upfront) sc <- cdshazardrate(quotes, recov, tradedate, cs) c(fastduration(sc, cs, tradedate, maturities$maturity), @@ -128,7 +128,7 @@ for(index in c('IG', 'HY', 'EU', 'XO')) { ## 0, tradedate, IMMDate(tradedate, "prev")) ## quotes <- data.frame(upfront=(100-as.numeric(indexquotes[i,maturities$tenor]))/100, ## maturities) - ## quotes$upfront <- pmax(yearFrac(tradedate + 1, quotes$maturity, "act/360") * + ## quotes$upfront <- pmax(-yearFrac(tradedate + 1, quotes$maturity, "act/360") * ## quotes$running + 1e-6, quotes$upfront) ## sc <- cdshazardrate(quotes, recov, tradedate, cs) ## durandthetas <- rbind(durandthetas, c(fastduration(sc, cs, tradedate, maturities$maturity), |
