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