diff options
Diffstat (limited to 'python/collateral/common.py')
| -rw-r--r-- | python/collateral/common.py | 44 |
1 files changed, 24 insertions, 20 deletions
diff --git a/python/collateral/common.py b/python/collateral/common.py index 1a0d65fe..b91e210d 100644 --- a/python/collateral/common.py +++ b/python/collateral/common.py @@ -6,6 +6,29 @@ from sqlalchemy.engine import Engine logger = logging.getLogger(__name__) +CASH_STRATEGY_MAPPING = { + "COCSH": ["IGREC", "IGPAYER", "HYPAYER", "HYREC", "HYOPTDEL", "IGOPTDEL"], + "IRDEVCSH": ["STEEP", "FLAT"], + "TCSH": [ + "IGMEZ", + "IGSNR", + "IGEQY", + "HYMEZ", + "HYEQY", + "BSPK", + "XOMEZ", + "IGINX", + "HYINX", + "XOINX", + ], + "MBSCDSCSH": ["HEDGE_MBS", "MBSCDS"], + "MACCDSCSH": ["HEDGE_MAC"], + "SER_ITRXCVCSH": ["SER_ITRXCURVE"], + "SER_IGCVECSH": ["SER_IGCURVE"], +} + +STRATEGY_CASH_MAPPING = {e: k for k, v in CASH_STRATEGY_MAPPING.items() for e in v} + def compare_notionals(df: pd.DataFrame, positions: pd.DataFrame, fcm: str) -> None: check_notionals = ( @@ -49,26 +72,7 @@ def get_dawn_trades(d: datetime.date, engine: Engine) -> pd.DataFrame: params=(d,), ) df = pd.concat([df_cds, df_swaptions, df_caps]) - df = df.replace( - { - "folder": { - "IGREC": "COCSH", - "IGPAYER": "COCSH", - "HYPAYER": "COCSH", - "HYREC": "COCSH", - "STEEP": "IRDEVCSH", - "FLAT": "IRDEVCSH", - "MBSCDS": "MBSCDSCSH", - "IGMEZ": "TCSH", - "IGSNR": "TCSH", - "IGEQY": "TCSH", - "HYMEZ": "TCSH", - "HYEQY": "TCSH", - "BSPK": "TCSH", - "XOMEZ": "TCSH", - } - } - ) + df = df.replace({"folder": STRATEGY_CASH_MAPPING}) return df |
