diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/import_quotes.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/python/import_quotes.py b/python/import_quotes.py index b5ac3474..887cb626 100644 --- a/python/import_quotes.py +++ b/python/import_quotes.py @@ -92,13 +92,12 @@ def insert_index(database, workdate): filenames = [os.path.join(basedir, f) for f in os.listdir(basedir) if 'Indices' in f] name_mapping = {"CDXNAHY":"HY", "CDXNAIG":"IG",'iTraxx Eur': "EU"} - sqlstr = "INSERT INTO index_quotes VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)" - + sqlstr = "INSERT INTO index_quotes VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" + cols = ['Composite Price', 'Composite Spread', 'Model Price', 'Model Spread'] for f in filenames: if datetime.datetime.fromtimestamp(os.path.getmtime(f)).date()==(workdate+BDay(1)).date(): data = pd.read_csv(f, skiprows=2, parse_dates=[0,7]) data.dropna(subset=['Composite Price'], inplace=True) - cols = ['Composite Price', 'Composite Spread', 'Model Price', 'Model Spread'] data[cols] = data[cols].applymap(lambda x: float(x[:-1]) if x.endswith('%') else x) data['Term']=data['Term'].apply(lambda x: x.lower()+'r') data['Name'] = data['Name'].apply(lambda x: name_mapping[x] if x in name_mapping else np.NaN) @@ -108,6 +107,9 @@ def insert_index(database, workdate): data['Model Spread'] = data['Model Spread']*100 ## we renumbered the version for HY9, 10 and 11 data.loc[data.Series.isin([9, 10, 11]) & (data.Name=='HY'),'Version'] -= 3 + data['adjcloseprice']=data['Composite Price'] + data['adjmodelprice']=data['Model Price'] + cols += ['adjcloseprice', 'adjmodelprice'] toinsert = [tuple(r) for r in data[["Date", "Name", "Series", "Version", "Term"]+cols].values] with database.cursor() as c: c.executemany(sqlstr, toinsert) |
