diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/facility_download.py | 40 | ||||
| -rw-r--r-- | python/insert_composite_quotes.py | 51 | ||||
| -rw-r--r-- | python/insert_tranche_quotes_old.py | 49 |
3 files changed, 0 insertions, 140 deletions
diff --git a/python/facility_download.py b/python/facility_download.py deleted file mode 100644 index 58a0603c..00000000 --- a/python/facility_download.py +++ /dev/null @@ -1,40 +0,0 @@ -import requests
-import os
-from common import root
-from db import conn, query_db
-
-legal = 'serecap'
-username = 'serecapuser'
-password = 'Welcome1'
-
-# sqlstring = "SELECT DISTINCT LoanXID from markit_prices";
-# common.cursor.execute(sqlstring)
-
-flag = False
-
-# with open( os.path.join(common.root, "data", "Facility files",
-# "facility_latest.csv"), "wb") as fh:
-# for loanxid in common.cursor.fetchall():
-# r = requests.get('https://loans.markit.com/loanx/LoanXOneFacility.csv?LEGALENTITY={0}&USERNAME={1}&PASSWORD={2}&LOANXID={3}'.format(legal, username, password, loanxid[0]))
-# if flag:
-# fh.write(r.content.split('\n')[1] + "\n")
-# else:
-# fh.write(r.content.split('\n')[0] + "\n")
-# fh.write(r.content.split('\n')[1] + "\n")
-# flag = True
-
-
-sqlstring = "select loanxid from markit_prices except (select loanxid from latest_markit_prices2)"
-loan_ids = query_db(sqlstring, one=False)
-with open( os.path.join(root, "data", "Facility files",
- "facility_test.csv"), "wb") as fh:
- for loanxid in loan_ids:
- r = requests.get('https://loans.markit.com/loanx/LoanXOneFacility.csv?LEGALENTITY={0}&USERNAME={1}&PASSWORD={2}&LOANXID={3}'.format(legal, username, password, loanxid[0]))
- if flag:
- fh.write(r.content.split('\n')[1] + "\n")
- else:
- fh.write(r.content.split('\n')[0] + "\n")
- fh.write(r.content.split('\n')[1] + "\n")
- flag = True
-
-conn.close()
diff --git a/python/insert_composite_quotes.py b/python/insert_composite_quotes.py deleted file mode 100644 index 8d82bc32..00000000 --- a/python/insert_composite_quotes.py +++ /dev/null @@ -1,51 +0,0 @@ -from sqlalchemy import Table, create_engine, MetaData -import os -import csv -import datetime - -##script to load quotes from markit composite quotes csv file -engine = create_engine('postgresql://serenitas_user@debian/serenitasdb') -metadata = MetaData(bind = engine) -quotes = Table('tranche_quotes', metadata, autoload = True) -ins = quotes.insert() - -root_dir = '/home/share/CorpCDOs' - -def convert(x): - try: - return float(x) - except: - return None - -tenordict = {'3Y': '3yr', '5Y': '5yr', '7Y':'7yr', '10Y':'10yr'} - -with open(os.path.join(root_dir, 'Tranche_data', 'CDXNAIG Tranches.csv')) as fh: - reader = csv.DictReader(fh) - data = [] - for csvdict in reader: - timestamp = datetime.datetime.strptime(csvdict['Date'], "%m/%d/%Y") - if timestamp==datetime.datetime(2010, 7, 5): - continue - attach = int(float(csvdict['Attachment'])*100) - detach = int(float(csvdict['Detachment'])*100) - series = int(csvdict['Index Series']) - version = int(csvdict['Index Version']) - - d = {'quotedate' : timestamp, - 'indexrefprice': float(csvdict['Index Price Mid'])*100, - 'indexrefspread': 80 if series==9 else 100, - 'quotesource' : 'MKIT', - 'trancheupfront' : convert(csvdict['Tranche Upfront Mid']), - 'trancherunning' : convert(csvdict['Tranche Spread Mid']), - 'tenor' : tenordict[csvdict['Index Term']], - 'index' : 'IG', - 'series': series, - 'version': version, - 'attach': attach, - 'detach': detach, - 'corratdetachment': convert(csvdict['Base Correlation']) - } - data.append(d) - -with engine.begin() as conn: - conn.execute(ins, data) diff --git a/python/insert_tranche_quotes_old.py b/python/insert_tranche_quotes_old.py deleted file mode 100644 index 9e24a02a..00000000 --- a/python/insert_tranche_quotes_old.py +++ /dev/null @@ -1,49 +0,0 @@ -from sqlalchemy import Table, create_engine, MetaData
-import os
-import csv
-import datetime
-import pdb
-
-engine = create_engine('postgresql://serenitas_user@debian/serenitasdb')
-metadata = MetaData(bind = engine)
-quotes = Table('tranche_quotes', metadata, autoload = True)
-ins = quotes.insert()
-
-root_dir = '/home/share/CorpCDOs'
-quotefiles = [f for f in os.listdir(os.path.join(root_dir, 'Scenarios', 'Calibration')) if 'tranches' in f]
-K = [0, 15, 25, 35, 100]
-
-for quotefile in quotefiles:
- with open(os.path.join(root_dir, 'Scenarios', 'Calibration', quotefile)) as fh:
- quotedate = datetime.datetime.strptime(os.path.splitext(quotefile)[0].split("_")[-1], "%Y-%m-%d").date()
- series=19 if "19" in quotefile else 21
- index = os.path.splitext(quotefile)[0].split("_")
- if quotedate != datetime.date(2014, 6, 6) or series!=19:
- continue
-
- if quotedate <= datetime.date(2014, 5, 21):
- version=1
- else:
- version=2
- reader = csv.DictReader(fh)
- data = []
-
- for i, csvdict in enumerate(reader):
- timestamp = datetime.datetime.strptime(csvdict['bidTime'], "%m/%d/%Y %H:%M:%S %p")
- d = {'quotedate' : timestamp,
- 'indexrefprice': csvdict['bidRefPrice'],
- 'indexrefspread': 500,
- 'tranchedelta': csvdict['bidDelta'],
- 'quotesource' : csvdict['AskContributorCode'],
- 'trancheupfront' : csvdict['Mid'],
- 'trancherunning' : float(csvdict['Coupon']) * 10000 if 'Coupon' in csvdict else 500,
- 'tenor' : '5yr',
- 'index' : 'HY',
- 'series': series,
- 'version': version,
- 'attach': K[i],
- 'detach': K[i+1]
- }
- data.append(d)
- with engine.begin() as conn:
- conn.execute(ins, data)
|
