aboutsummaryrefslogtreecommitdiffstats
path: root/R/cusip_numbers.R
blob: f00c07093dfcb4d16289ea9abf4dc82733982aa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
if(.Platform$OS.type == "unix"){
    root.dir <- "/home/share/CorpCDOs"
}else{
    root.dir <- "//WDSENTINEL/share/CorpCDOs"
}

source(file.path(root.dir, "code", "R", "intex_deal_functions.R"))
source(file.path(root.dir, "code", "R", "index_definitions.R"))
source(file.path(root.dir, "code", "R", "etdb.R"))

getdealdata <- function(dealnames){
    sqlstring <- sprintf("select * from latest_clo_universe where dealname in ('%s')",
                         paste(dealnames, collapse="','"))
    return( dbGetQuery(dbCon, sqlstring) )
}

workdate <- as.Date("2013-01-23")

files <- list.files(path=file.path(root.dir, "Scenarios", paste("Portfolios", workdate, sep="_")), pattern="*.RData")
currdealnames <- dbGetQuery(dbCon, "select updatedate, dealname from latest_deal_model_numbers")
for(file in files){
    load(file.path(root.dir, "Scenarios", paste("Portfolios", workdate, sep="_"), file))
    dealname <- strsplit(file, "\\.")[[1]][1]
    dealupdatedate <- currdealnames$updatedate[currdealnames$dealname %in% dealname]
    if(length(dealupdatedate) && dealupdatedate == workdate){
        sqlstring <- sprintf(paste0("UPDATE et_deal_model_numbers SET dealspread = %s, cdopercentage = %s,",
                                    "stalepercentage= %s WHERE dealname= '%s' and updatedate = '%s'"),
                             deal.spread,
                             deal.portfolio$cdopercentage,
                             deal.portfolio$stale,
                             dealname,
                             as.Date(workdate))
        dbGetQuery(dbCon, sqlstring)
    }else{
        sqlstring <- sprintf(paste0("INSERT INTO et_deal_model_numbers ",
                                    "VALUES('%s', %s, %s, %s, %s, '%s')"),
                             dealname,
                             deal.portfolio$cdopercentage,
                             deal.portfolio$stale,
                             deal.spread,
                             crossprod(deal.portfolio$notional, deal.portfolio$price)/100,
                             workdate)
        dbGetQuery(dbCon, sqlstring)
        currdealnames <- c(currdealnames, dealname)
    }
}