aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--R/yieldcurve.R16
1 files changed, 13 insertions, 3 deletions
diff --git a/R/yieldcurve.R b/R/yieldcurve.R
index 0289f494..033e6d57 100644
--- a/R/yieldcurve.R
+++ b/R/yieldcurve.R
@@ -83,6 +83,11 @@ buildMarkitYC <- function(MarkitData, currency="USD", futurequotes){
for(i in seq_along(keys)){
swaps[[keys[i]]] <- as.numeric(MarkitData$swaps[i+7]$curvepoint$parrate)
}
+ if(.Platform$OS.type != "unix"){
+ for(missingtenor in c("s4y", "s6y", "s7y", "s8y", "s9y", "s12y", "s25y")){
+ swaps[[missingtenor]] <- NULL
+ }
+ }
tsQuotes <- c(deposits, futures, swaps)
return( tsQuotes )
}
@@ -106,9 +111,14 @@ exportYC <- function(tradedate=Sys.Date(), currency="USD", curveType, useFutures
setEvaluationDate(evaldate)
settleDate <- as.Date(MarkitData$deposits$spotdate)
curveType <- sprintf("%s/%s", "Markit", currency)
- setCalendarContext(calendar="WeekendsOnly", fixingDays=2,
- settleDate=as.Date(MarkitData$deposits$spotdate),
- curveType=curveType)
+ if(.Platform$OS.type == "unix"){
+ setCalendarContext(calendar="WeekendsOnly", fixingDays=2,
+ settleDate=as.Date(MarkitData$deposits$spotdate),
+ curveType=curveType)
+ }else{
+ setCalendarContext(calendar="UnitedKingdom", fixingDays=2,
+ settleDate=as.Date(MarkitData$deposits$spotdate))
+ }
params <- list(tradeDate=as.Date(MarkitData$effectiveasof),
settleDate=settleDate,