diff options
Diffstat (limited to 'python/bbg_newids.py')
| -rw-r--r-- | python/bbg_newids.py | 39 |
1 files changed, 23 insertions, 16 deletions
diff --git a/python/bbg_newids.py b/python/bbg_newids.py index fe317c17..61a3cbc2 100644 --- a/python/bbg_newids.py +++ b/python/bbg_newids.py @@ -2,7 +2,7 @@ from sqlalchemy import create_engine import pandas as pd from db import conn import numpy as np -from bbg_helper import init_bbgsession, retreive_data, process_msgs +from bbg_helpers import init_bbg_session, retreive_data, process_msgs engine = create_engine('postgresql://et_user:Serenitas1@debian/ET') @@ -23,7 +23,7 @@ mapping = pd.read_csv("/home/share/CorpCDOs/data/bbg_loanxid.csv", index_col=0) mapping = mapping.ix[mapping.index.difference(currentdata.index)] securities = ["{0} Corp".format(cusip) for cusip in mapping.index] -data = retreive_data(session, securities, fields) +data = retreive_data(session, securities, all_fields) df = process_msgs(data, all_fields) df.security = df.security.str.slice(0,9) df.set_index('security', inplace=True) @@ -38,16 +38,18 @@ with conn.cursor() as c: issue_size = df.iloc[i]['AMT_ISSUED'] if np.isnan(issue_size): issue_size = None - c.execute(sqlstr, - (df.iloc[i]['ID_BB_UNIQUE'], df.iloc[i]['ID_CUSIP'], df.iloc[i]['ISSUER'], - df.iloc[i]['MATURITY'], df.iloc[i]['CPN'], df.iloc[i]['CPN_TYP'], - df.iloc[i]['CPN_FREQ'], df.iloc[i]['FLT_SPREAD'], df.iloc[i]['LIBOR_FLOOR'], - issue_size, df.iloc[i]["LN_COVENANT_LITE"], df.iloc[i]["SECOND_LIEN_INDICATOR"], - df.iloc[i]["SECURITY_TYP"], df.iloc[i]["ISSUE_DT"], df.iloc[i]["DEFAULTED"], - df.iloc[i]["DEFAULT_DATE"], df.iloc[i]["CALLED"], df.iloc[i]["CALLED_DT"], - df.iloc[i]["LN_ISSUE_STATUS"], [df.iloc[i]['loanxid']]) - ) -conn.commit() + try: + c.execute(sqlstr, + (df.iloc[i]['ID_BB_UNIQUE'], df.iloc[i]['ID_CUSIP'], df.iloc[i]['ISSUER'], + df.iloc[i]['MATURITY'], df.iloc[i]['CPN'], df.iloc[i]['CPN_TYP'], + df.iloc[i]['CPN_FREQ'], df.iloc[i]['FLT_SPREAD'], df.iloc[i]['LIBOR_FLOOR'], + issue_size, df.iloc[i]["LN_COVENANT_LITE"], df.iloc[i]["SECOND_LIEN_INDICATOR"], + df.iloc[i]["SECURITY_TYP"], df.iloc[i]["ISSUE_DT"], df.iloc[i]["DEFAULTED"], + df.iloc[i]["DEFAULT_DATE"], df.iloc[i]["CALLED"], df.iloc[i]["CALLED_DT"], + df.iloc[i]["LN_ISSUE_STATUS"], [df.iloc[i]['loanxid']])) + conn.commit() + except IntegrityError: + conn.rollback() sqlstr = "INSERT INTO bloomberg_corp VALUES(%s, %s, %s, %s, %s, %s)" with conn.cursor() as c: @@ -58,7 +60,12 @@ with conn.cursor() as c: amt_outstanding = df.iloc[i]['AMT_OUTSTANDING'] if np.isnan(amt_outstanding): amt_outstanding = None - c.execute(sqlstr, (df.iloc[i]['ID_BB_UNIQUE'], df.iloc[i]['LAST_UPDATE_DT'], - df.iloc[i]['PX_LAST'], margin, amt_outstanding, - df.iloc[i]['PRICING_SOURCE'])) -conn.commit() + try: + c.execute(sqlstr, (df.iloc[i]['ID_BB_UNIQUE'], df.iloc[i]['LAST_UPDATE_DT'], + df.iloc[i]['PX_LAST'], margin, amt_outstanding, + df.iloc[i]['PRICING_SOURCE'])) + conn.commit() + except IntegrityError: + conn.rollback() + +conn.close() |
