aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/position.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/python/position.py b/python/position.py
index f7df233a..789c4afe 100644
--- a/python/position.py
+++ b/python/position.py
@@ -224,6 +224,27 @@ def update_swap_rates(conn, session,
c.execute(sql_str, data[ticker])
conn.commit()
+def update_cash_rates(conn, session, start_date=None):
+ securities = {"FEDL01 Index": "FED_FUND",
+ "US0001M Index": "1M_LIBOR",
+ "US0003M Index": "3M_LIBOR"}
+ if start_date is None:
+ data = retrieve_data(session, list(securities.keys()),
+ ["PX_LAST", "LAST_UPDATE_DT"])
+ else:
+ data = retrieve_data(session, list(securities.keys()),
+ ["PX_LAST"], start_date=start_date.date())
+ sql_str = "INSERT INTO rates VALUES(%s, %s, %s) ON CONFLICT DO NOTHING"
+ with conn.cursor() as c:
+ if start_date is None:
+ for k, v in data.items():
+ c.execute(sql_str, (v["LAST_UPDATE_DT"], securities[k], v["PX_LAST"]))
+ else:
+ for k, v in data.items():
+ for d, r in v["PX_LAST"].items():
+ c.execute(sql_str, (d, securities[k], r))
+ conn.commit()
+
def populate_cashflow_history(engine, session, workdate=None, fund="SERCGMAST"):
securities = get_list(engine, workdate, fund=fund)
data = retrieve_data(session, securities.index.tolist(),
@@ -283,6 +304,7 @@ if __name__ == "__main__":
populate_cashflow_history(dawn_engine, session, workdate, "BRINKER")
update_fx(dawn_conn, session, ['EURUSD', 'CADUSD'])
update_swap_rates(serenitas_conn, session)
+ data = update_cash_rates(serenitas_conn, session)
for vol_type in ["N", "V"]:
update_swaption_vol(serenitas_conn, session, vol_type=vol_type)
serenitas_pool.putconn(serenitas_conn)