diff options
Diffstat (limited to 'python/position.py')
| -rw-r--r-- | python/position.py | 40 |
1 files changed, 18 insertions, 22 deletions
diff --git a/python/position.py b/python/position.py index 6c071097..f3d79909 100644 --- a/python/position.py +++ b/python/position.py @@ -1,4 +1,4 @@ -from serenitas.analytics.bbg_helpers import init_bbg_session, retrieve_data +from serenitas.analytics.bbg_helpers import bbg_retry, retrieve_data from itertools import product import datetime import numpy as np @@ -377,27 +377,23 @@ if __name__ == "__main__": dawn_conn = dawn_engine.raw_connection() serenitas_conn = serenitas_pool.getconn() - retry = 0 - max_tries = 2 - while retry < max_tries: - try: - with init_bbg_session() as session: - update_securities(dawn_engine, session, args.workdate) - populate_cashflow_history( - dawn_engine, - session, - args.workdate, - ("SERCGMAST", "BRINKER", "BOWDST"), - ) - update_fx(dawn_conn, session, ["EURUSD", "CADUSD"]) - update_swap_rates(serenitas_conn, session) - update_cash_rates(serenitas_conn, session) - for vol_type in ["N", "V"]: - update_swaption_vol(serenitas_conn, session, vol_type=vol_type) - except RuntimeError: - retry += 1 - else: - break + + @bbg_retry(2) + def bbg_call(session, dawn_engine, dawn_conn, serenitas_conn, workdate): + update_securities(dawn_engine, session, args.workdate) + populate_cashflow_history( + dawn_engine, + session, + args.workdate, + ("SERCGMAST", "BRINKER", "BOWDST"), + ) + update_fx(dawn_conn, session, ["EURUSD", "CADUSD"]) + update_swap_rates(serenitas_conn, session) + update_cash_rates(serenitas_conn, session) + for vol_type in ["N", "V"]: + update_swaption_vol(serenitas_conn, session, vol_type=vol_type) + + bbg_call(dawn_engine, dawn_conn, serenitas_conn, args.workdate) serenitas_pool.putconn(serenitas_conn) # with init_bbg_session(BBG_IP) as session: # init_fx(session, engine, pd.datetime(2013, 1, 1)) |
