diff options
Diffstat (limited to 'python/recon_bowdst.py')
| -rw-r--r-- | python/recon_bowdst.py | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/python/recon_bowdst.py b/python/recon_bowdst.py index d295d57f..ff754d47 100644 --- a/python/recon_bowdst.py +++ b/python/recon_bowdst.py @@ -7,6 +7,9 @@ from io import StringIO from serenitas.utils.env import DAILY_DIR from serenitas.utils.db import dbconn, dawn_engine import datetime +from pandas.tseries.offsets import BDay +import numpy as np +import pandas_market_calendars as mcal def get_dir(date): @@ -171,8 +174,26 @@ def recon(hierarchy_file, date): params=(date,), ) - kinds = [bond_trades_combined, tranche_trades, cdx_trades, cdx_swaption_trades] - names = ["bond_trades", "tranche_trades", "cdx_trades", "cdx_swaption_trades"] + ir_swaption_trades = pd.read_sql_query( + "SELECT deal_id, option_type, strike, SECURITY_Id, expiration_date, notional AS db_notional, current_notional AS admin_notional, nav AS db_mv, base_market_value AS admin_mv FROM list_ir_swaption_positions(%s, 'BOWDST') LEFT JOIN bowdst_val ON deal_id=link_ref WHERE as_of_date=%s;", + dawndb, + params=(last_bus_day(date), date), + ) + + kinds = [ + bond_trades_combined, + tranche_trades, + cdx_trades, + cdx_swaption_trades, + ir_swaption_trades, + ] + names = [ + "bond_trades", + "tranche_trades", + "cdx_trades", + "cdx_swaption_trades", + "ir_swaption_trades", + ] message = "" em = ExchangeMessage() attachments = [] @@ -192,6 +213,16 @@ def recon(hierarchy_file, date): ) +def last_bus_day(date): + holidays = mcal.get_calendar("NYSE").holidays().holidays + if date in holidays: + return (date - BDay(1)).date() + elif not np.is_busday(date): + return (date - BDay(1)).date() + else: + return date + + parser = argparse.ArgumentParser() parser.add_argument("end_date", type=datetime.date.fromisoformat) args = parser.parse_args() |
