diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/import_quotes.py | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/python/import_quotes.py b/python/import_quotes.py index 9538f679..67bbcd72 100644 --- a/python/import_quotes.py +++ b/python/import_quotes.py @@ -7,6 +7,7 @@ import re, sys from pandas.tseries.offsets import BDay import pandas as pd import numpy as np +import psycopg2 def convert(x): try: @@ -22,7 +23,8 @@ def get_current_tickers(database, workdate): doc_clause = 'XR14' else: doc_clause = 'XR' - for index in ['HY9', 'HY10', 'HY15', 'HY17', 'HY19', 'HY21', 'IG9', 'IG19', 'IG21']: + for index in ['HY9', 'HY10', 'HY15', 'HY17', 'HY19', 'HY21', 'HY22', + 'IG9', 'IG19', 'IG21', 'IG22', 'IG23']: spread=0.05 if 'HY' in index else 0.01 with database.cursor() as c: c.execute(sqlstr, (index, workdate)) @@ -64,7 +66,7 @@ def insert_cds(database, workdate): database.commit() print(all_tickers-tickers_found) -def insert_cds_single(database, workdate, bbgtickers, mkt_tuple): +def insert_cds_single(database, workdate, bbg_tickers, mkt_tuple): filename = "cds eod {0}.csv".format(datetime.datetime.strftime(workdate, "%Y%m%d")) colnames = ['Upfront'+tenor for tenor in ['6m', '1y', '2y', '3y', '4y', '5y', '7y', '10y']] sqlstr = "INSERT INTO cds_quotes(date, curve_ticker, upfrontbid, upfrontask," \ @@ -80,7 +82,7 @@ def insert_cds_single(database, workdate, bbgtickers, mkt_tuple): [(workdate, t, convert(line[colnames[i]]), convert(line[colnames[i]]), float(line['RunningCoupon'])*10000, float(line['RunningCoupon'])*10000, 'MKIT', convert(line['RealRecovery'])/100) - for i, t in enumerate(bbgtickers)]) + for i, t in enumerate(bbg_tickers)]) except psycopg2.IntegrityError: database.rollback() database.commit() @@ -114,15 +116,22 @@ if __name__=="__main__": else: workdate = datetime.datetime.today()-BDay(1) workdate = workdate.date() - insert_cds(serenitasdb, workdate) - insert_index(serenitasdb, workdate) - serenitasdb.close() + #insert_cds(serenitasdb, workdate) + #insert_index(serenitasdb, workdate) ## backpopulate single ticker - # bbgtickers = ['CT675194bis', 'CT406651bis', 'CT406655bis', 'CX404662bis', 'CX404666bis', - # 'CX404670bis', 'CX404678bis', 'CX404690bis'] - # mkt_tuple = ('REALOGR', 'SNRFOR', 'XR', "0.05", 'USD') - # for f in os.listdir(os.path.join(root, "Tranche_data", "CDS")): - # if f.endswith("csv"): - # workdate = datetime.datetime.strptime(f.split(" ")[2].split(".")[0], "%Y%m%d") - # workdate = workdate.date() - # insert_cds_single(serenitasdb, workdate, bbgtickers, mkt_tuple) + company_id = 16632863 + with serenitasdb.cursor() as c: + c.execute("select cds_curve, markit_ticker, markit_tier from cds_issuers where company_id=%s", + (company_id,)) + tup=c.fetchone() + bbg_tickers= tup[0] + for f in os.listdir(os.path.join(root, "Tranche_data", "CDS")): + if f.endswith("csv"): + workdate = datetime.datetime.strptime(f.split(" ")[2].split(".")[0], "%Y%m%d") + workdate = workdate.date() + if workdate >= datetime.date(2014, 9, 19): + mkt_tuple = (tup[1], tup[2]) + ('XR14', '0.05', 'USD') + else: + mkt_tuple = (tup[1], tup[2]) + ('XR', '0.05', 'USD') + insert_cds_single(serenitasdb, workdate, bbg_tickers, mkt_tuple) + serenitasdb.close() |
