aboutsummaryrefslogtreecommitdiffstats
path: root/python/collateral/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/collateral/common.py')
-rw-r--r--python/collateral/common.py44
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