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