diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/Dawn/models.py | 2 | ||||
| -rw-r--r-- | python/collateral_calc.py | 30 | ||||
| -rw-r--r-- | python/load_globeop_report.py | 2 |
3 files changed, 18 insertions, 16 deletions
diff --git a/python/Dawn/models.py b/python/Dawn/models.py index 5ddf0d31..45ea6a21 100644 --- a/python/Dawn/models.py +++ b/python/Dawn/models.py @@ -59,7 +59,7 @@ FUTURE_STRAT = ENUM('M_STR_MAV', 'M_MTG_IO', 'M_STR_MEZZ', 'M_MTG_RW', 'SER_ITRX CASH_STRAT = ENUM('M_CSH_CASH', 'MBSCDSCSH', 'SER_IGCVECSH', 'SER_ITRXCVCSH', 'CSOCDSCSH', 'IGCDSCSH', 'HYCDSCSH', 'CLOCDSCSH', 'IGTCDSCSH', 'MACCDSCSH', 'M_STR_MEZZ', - 'IRDEVCSH', 'TCDSCSH', + 'IRDEVCSH', 'TCSH', 'COCSH', name='cash_strat') SPOT_STRAT = ENUM('M_STR_MAV', 'M_STR_MEZZ', 'SER_ITRXCURVE', 'M_CSH_CASH', diff --git a/python/collateral_calc.py b/python/collateral_calc.py index e86c5786..d2283910 100644 --- a/python/collateral_calc.py +++ b/python/collateral_calc.py @@ -170,17 +170,17 @@ def baml_collateral(d): df = df.groupby(level=[0, 1]).first() positions['dirtyupfront'] = df.loc[positions.index, 'DIRTYUPFRONT'] positions['amount'] = positions['notional'] * positions['dirtyupfront'] + positions.folder = positions.folder.map({'HEDGE_MBS': 'MBSCDSCSH', + 'SER_ITRXCURVE': 'SER_ITRXCVCSH', + 'SER_IGCURVE': 'SER_IGCVECSH', + 'HYOPTDEL': 'COCSH', + 'IGOPTDEL': 'COCSH', + 'SER_IGINX': 'TCSH'}) df = (positions. groupby('folder'). agg({'amount': 'sum', 'currency': 'first'}). reset_index('folder')) df.columns = ['Strategy', 'Amount', 'Currency'] - df.Strategy = df.Strategy.map({'HEDGE_MBS': 'MBSCDSCSH', - 'SER_ITRXCURVE': 'SER_ITRXCVCSH', - 'SER_IGCURVE': 'SER_IGCVECSH', - 'HYOPTDEL': 'HYCDSCSH', - 'IGOPTDEL': 'IGCDSCSH', - 'SER_IGINX': 'TCDSCSH'}) df_margin = pd.read_csv(DAILY_DIR / "BAML_reports" / f"OTC_Moneyline_{d:%Y%m%d}.CSV", usecols=['Statement Date', 'AT CCY', 'Initial Margin Requirement'], @@ -309,18 +309,18 @@ def get_dawn_trades(): df_caps = pd.read_sql_query("SELECT cpty_id, folder FROM capfloors " "WHERE cpty_id IS NOT NULL", dawn_engine) df = pd.concat([df_cds, df_swaptions, df_caps]) - df = df.replace({"folder": {'IGREC': 'IGCDSCSH', - 'IGPAYER': 'IGCDSCSH', - 'HYPAYER': 'HYCDSCSH', - 'HYREC': 'HYCDSCSH', + df = df.replace({"folder": {'IGREC': 'COCSH', + 'IGPAYER': 'COCSH', + 'HYPAYER': 'COCSH', + 'HYREC': 'COCSH', 'STEEP': 'IRDEVCSH', 'FLAT': 'IRDEVCSH', 'MBSCDS': 'MBSCDSCSH', - 'IGMEZ': 'TCDSCSH', - 'IGSNR': 'TCDSCSH', - 'IGEQY': 'TCDSCSH', - 'HYMEZ': 'TCDSCSH', - 'BSPK': 'TCDSCSH'}}) + 'IGMEZ': 'TCSH', + 'IGSNR': 'TCSH', + 'IGEQY': 'TCSH', + 'HYMEZ': 'TCSH', + 'BSPK': 'TCSH'}}) return df def gs_collateral(d, dawn_trades): diff --git a/python/load_globeop_report.py b/python/load_globeop_report.py index 52a86cbc..0ce09187 100644 --- a/python/load_globeop_report.py +++ b/python/load_globeop_report.py @@ -34,6 +34,7 @@ def read_valuation_report(f): df = df.rename(columns={'CounterPartyCode': 'counterparty'}) if "Strat" in df: df.Strat = df.Strat.str.replace("^(SERCGMAST__){1,2}(M_|SER_)?", "", 1) + df = df.replace({"Strat": {"TCDSCSH": "TCSH"}}) if "Port" in df: df.Port = df.Port.str.replace("^(SERCGMAST__){1,2}(SERG__|SERG_)?", "", 1) df.columns = df.columns.str.lower() @@ -50,6 +51,7 @@ def valuation_reports(): def read_pnl_report(f): df = pd.read_csv(f) df.Strat = df.Strat.str.replace("^(SERCGMAST__){1,2}(M_|SER_)?", "", 1) + df = df.replace({"Strat": {"TCDSCSH": "TCSH"}}) df.Port = df.Port.str.replace("^(SERCGMAST__){1,2}(SERG__|SERG_)?", "", 1) df['LongShortIndicator'] = df['LongShortIndicator'].str.strip() df.columns = df.columns.str.lower().str.replace(" ", "") |
