diff options
Diffstat (limited to 'python/position.py')
| -rw-r--r-- | python/position.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/python/position.py b/python/position.py index 2eb272de..f4420e10 100644 --- a/python/position.py +++ b/python/position.py @@ -40,13 +40,15 @@ def update_securities(session, fields): ' ' + securities.bbg_type data = retrieve_data(session, securities.bbg_id.tolist(), fields) df = pd.DataFrame.from_dict(data, orient='index') - return securities.merge(df, left_on='bbg_id', right_index=True) + m = securities.merge(df, left_on='bbg_id', right_index=True) + m.START_ACC_DT = m.START_ACC_DT.where(m.bbg_type=='Mtge', m.PREV_CPN_DT) + return m -def init_fx(session, startdate): +def init_fx(session, engine, startdate): currencies = ['EURUSD', 'CADUSD'] securities = [c + ' Curncy' for c in currencies] data = retrieve_data(session, securities, ['PX_LAST'], start_date=startdate) - data = data['CADUSD Curncy'].merge(data['CADUSD Curncy'], left_on='date', right_on='date') + data = data['EURUSD Curncy'].merge(data['CADUSD Curncy'], left_on='date', right_on='date') data.rename(columns={'PX_LAST_x': 'eurusd', 'PX_LAST_y': 'cadusd'}, inplace=True) data.to_sql('fx', engine, index=False, if_exists='append') @@ -97,7 +99,7 @@ if __name__=="__main__": workdate = pd.datetime.today() conn = engine.raw_connection() with init_bbg_session(BBG_IP) as session: - df = update_securities(session, ['START_ACC_DT', 'CUR_CPN']) + df = update_securities(session, ['START_ACC_DT', 'CUR_CPN', 'PREV_CPN_DT']) populate_cashflow_history(session, conn, workdate) update_fx(session, conn, ['EURUSD', 'CADUSD']) with conn.cursor() as c: @@ -106,4 +108,4 @@ if __name__=="__main__": df.to_dict('records')) conn.commit() # with init_bbg_session(BBG_IP) as session: - # init_fx(session, pd.datetime(2013, 1, 1)) + # init_fx(session, engine, pd.datetime(2013, 1, 1)) |
