aboutsummaryrefslogtreecommitdiffstats
path: root/python/bbg_newids.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/bbg_newids.py')
-rw-r--r--python/bbg_newids.py39
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()