diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/cusip_universe.py | 62 |
1 files changed, 32 insertions, 30 deletions
diff --git a/python/cusip_universe.py b/python/cusip_universe.py index a8bf08a5..b2b261a2 100644 --- a/python/cusip_universe.py +++ b/python/cusip_universe.py @@ -5,7 +5,6 @@ import datetime from datetime import date import csv import pdb -import re if os.name=='nt': root = "//WDSENTINEL/share/CorpCDOs/" @@ -21,12 +20,18 @@ conn = psycopg2.connect(database="ET", host="192.168.1.108") cursor = conn.cursor() -prog = re.compile("\((.*)\)") - # cursor.execute("delete from cusip_universe") -workdate = '2012-12-11' +workdate = '2013-01-04' count = 0 +def sanitize_float(intex_float): + intex_float = intex_float.replace(",", "") + if "(" in intex_float: + intex_float = - float(intex_float[1:-1]) + else: + intex_float = float(intex_float) + return intex_float + for cusip_universe_file in os.listdir(os.path.join(root, "data", "Trinfo_" + workdate)): with open( os.path.join(root, "data", "Trinfo_" + workdate, cusip_universe_file), "r") as fh: dr = csv.DictReader(fh, dialect='excel-tab') @@ -38,35 +43,32 @@ for cusip_universe_file in os.listdir(os.path.join(root, "data", "Trinfo_" + wor else: continue line["dealname"] = line["dealname"].lower() - for key in ['Curr Balance', 'Orig Balance', 'Orig Attachment Point', 'Curr Attachment Point', - 'Orig Detachment Point', 'Curr Detachment Point', 'Factor', 'Coupon']: - line[key] = line[key].replace(",", "") - if prog.match(line[key]): - try: - line[key] = float(prog.match(line[key]).group(1)) - except ValueError: - pdb.set_trace() - line[key] = convertToNone(line[key]) - if "," in str(line['Floater Spread']): - line['Floater Spread'] = line['Floater Spread'].split(",")[0] - for key in ['Floater Spread', 'Floater Index']: - if prog.match(line[key]): - try: - line[key] = float(prog.match(line[key]).group(1)) - except ValueError: - pdb.set_trace() + # for key in ['Curr Balance', 'Orig Balance', 'Orig Attachment Point', 'Curr Attachment Point', + # 'Orig Detachment Point', 'Curr Detachment Point', 'Factor', 'Coupon']: + # if line[key]: + # line[key] = sanitize_float(line[key]) + for key in ['Curr Balance', 'Curr Attachment Point', 'Curr Detachment Point', 'Factor']: + if line[key]: + line[key] = sanitize_float(line[key]) line[key] = convertToNone(line[key]) - sqlstring = "INSERT INTO cusip_universe(cusip, ISIN, dealname, tranche," \ - "coupon, Orig_Balance, Curr_Balance, Factor, Orig_moody, Curr_moody, " \ - "Orig_attach, Orig_detach, Curr_attach, Curr_detach, Floater_Index," \ - "Spread) " \ - "VALUES (%(CUSIP)s, %(ISIN)s, %(dealname)s, %(tranche)s, %(Coupon)s, " \ - "%(Orig Balance)s, %(Curr Balance)s, %(Factor)s, %(Orig Moody)s, %(Curr Moody)s, " \ - "%(Orig Attachment Point)s, %(Orig Detachment Point)s, %(Curr Attachment Point)s," \ - "%(Curr Detachment Point)s, %(Floater Index)s, %(Floater Spread)s)" + + # if "," in str(line['Floater Spread']): + # line['Floater Spread'] = line['Floater Spread'].split(",")[0] + + # if line['Floater Spread']: + # line['Floater Spread'] = sanitize_float(line['Floater Spread']) + + # sqlstring = "INSERT INTO cusip_universe(cusip, ISIN, dealname, tranche," \ + # "coupon, Orig_Balance, Curr_Balance, Factor, Orig_moody, Curr_moody, " \ + # "Orig_attach, Orig_detach, Curr_attach, Curr_detach, Floater_Index," \ + # "Spread) " \ + # "VALUES (%(CUSIP)s, %(ISIN)s, %(dealname)s, %(tranche)s, %(Coupon)s, " \ + # "%(Orig Balance)s, %(Curr Balance)s, %(Factor)s, %(Orig Moody)s, %(Curr Moody)s, " \ + # "%(Orig Attachment Point)s, %(Orig Detachment Point)s, %(Curr Attachment Point)s," \ + # "%(Curr Detachment Point)s, %(Floater Index)s, %(Floater Spread)s)" sqlstring = "UPDATE cusip_universe SET Curr_Balance = %(Curr Balance)s, Factor = %(Factor)s" \ - ", Curr_moody = %(Curr Moody)s, Curr_attach = %(Curr Attachment Point)s" + ", Curr_moody = %(Curr Moody)s, Curr_attach = %(Curr Attachment Point)s WHERE cusip = %(CUSIP)s" try: cursor.execute(sqlstring, line) |
