diff options
Diffstat (limited to 'python/analytics')
| -rw-r--r-- | python/analytics/utils.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/python/analytics/utils.py b/python/analytics/utils.py index c0da47f6..885c4db8 100644 --- a/python/analytics/utils.py +++ b/python/analytics/utils.py @@ -10,6 +10,7 @@ from pyisda.date import pydate_to_TDate from pandas.api.types import CategoricalDtype from pandas.tseries.offsets import CustomBusinessDay from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFriday +from bbg_helpers import BBG_IP, retrieve_data, init_bbg_session fed_cal = get_calendar("USFederalHolidayCalendar") bond_cal = HolidayCalendarFactory("BondCalendar", fed_cal, GoodFriday) @@ -198,9 +199,15 @@ def get_external_nav(engine, trade_id, value_date=None, trade_type="swaption"): @lru_cache(32) -def get_fx(currency: str, value_date: datetime.date): +def get_fx(value_date: datetime.date, currency: str): if currency == "USD": return 1.0 + if value_date == datetime.date.today(): + with init_bbg_session(BBG_IP) as session: + security = currency.upper() + "USD Curncy" + field = "PX_LAST" + ref_data = retrieve_data(session, [security], field) + return ref_data[security][field] conn = dbconn("dawndb") with conn.cursor() as c: c.execute("SELECT * FROM fx where date=%s", (value_date,)) |
