aboutsummaryrefslogtreecommitdiffstats
path: root/yieldcurve.R
diff options
context:
space:
mode:
Diffstat (limited to 'yieldcurve.R')
-rw-r--r--yieldcurve.R63
1 files changed, 0 insertions, 63 deletions
diff --git a/yieldcurve.R b/yieldcurve.R
deleted file mode 100644
index a21937b9..00000000
--- a/yieldcurve.R
+++ /dev/null
@@ -1,63 +0,0 @@
-library(XML)
-
-getMarkitIRData <- function(date=Sys.Date()) {
- ## downloads the latest available interest rates data from Markit
- ## before date and returns the parsed file into a list
- require(XML)
- i <- 0
- temp <- tempfile()
- while( TRUE ) {
- lastdate <- format(date-i,"%Y%m%d")
- filename <- paste("InterestRates_USD_", lastdate, sep="")
- download.file(paste("http://www.markit.com/news/", filename, ".zip", sep=""), temp, quiet=T)
- con <- file(temp, "r")
- firstline <- readLines(con, 1)
- # Markit returns a plain text file if there is no data.
- if(firstline == "Interest Rates not available, please check date entered") {
- i <- i + 1
- close(con)
- } else {
- cat("downloaded data for:", lastdate,"\n")
- close(con)
- # we unzip it
- unzip(temp)
- unlink(temp)
- break
- }
- }
- return( xmlToList(paste(filename,".xml", sep="")) )
-}
-
-buildMarkitYC <- function(MarkitData, dt=0.25){
- settledate <- as.Date(MarkitData$deposits$spotdate)
-
- params <- list(tradeDate=as.Date(MarkitData$effectiveasof,format="%Y-%m-%d"),
- settleDate=settledate,
- dt=dt,
- interpWhat="discount",
- interpHow="loglinear")
-
- tsQuotes <- list(d1m=as.numeric(MarkitData$deposits[5]$curvepoint$parrate),
- #d2m=as.numeric(MarkitData$deposits[6]$curvepoint$parrate),
- d3m=as.numeric(MarkitData$deposits[7]$curvepoint$parrate),
- ## d6m=as.numeric(MarkitData$deposits[8]$curvepoint$parrate),
- ## d9m=as.numeric(MarkitData$deposits[9]$curvepoint$parrate),
- ## d1y=as.numeric(MarkitData$deposits[10]$curvepoint$parrate),
- s2y=as.numeric(MarkitData$swaps[8]$curvepoint$parrate),
- s3y=as.numeric(MarkitData$swaps[9]$curvepoint$parrate),
- #s4y=as.numeric(MarkitData$swaps[10]$curvepoint$parrate),
- s5y=as.numeric(MarkitData$swaps[11]$curvepoint$parrate),
- #s6y=as.numeric(MarkitData$swaps[12]$curvepoint$parrate),
- #s7y=as.numeric(MarkitData$swaps[13]$curvepoint$parrate),
- #s8y=as.numeric(MarkitData$swaps[14]$curvepoint$parrate),
- #s9y=as.numeric(MarkitData$swaps[15]$curvepoint$parrate),
- s10y=as.numeric(MarkitData$swaps[16]$curvepoint$parrate),
- #s12y=as.numeric(MarkitData$swaps[17]$curvepoint$parrate),
- s15y=as.numeric(MarkitData$swaps[18]$curvepoint$parrate),
- s20y=as.numeric(MarkitData$swaps[19]$curvepoint$parrate),
- #s25y=as.numeric(MarkitData$swaps[20]$curvepoint$parrate),
- s30y=as.numeric(MarkitData$swaps[21]$curvepoint$parrate))
- YC.USD <- list(params=params, tsQuotes=tsQuotes)
- return( YC.USD )
-}
-