aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/Dawn/models.py2
-rw-r--r--python/collateral_calc.py30
-rw-r--r--python/load_globeop_report.py2
-rw-r--r--sql/dawn.sql4
4 files changed, 20 insertions, 18 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(" ", "")
diff --git a/sql/dawn.sql b/sql/dawn.sql
index 5894a684..422a59cd 100644
--- a/sql/dawn.sql
+++ b/sql/dawn.sql
@@ -22,7 +22,7 @@ CREATE TYPE future_strat AS ENUM('M_STR_MAV', 'M_MTG_IO', 'M_STR_MEZZ', 'M_MTG_R
CREATE TYPE cash_strat AS ENUM('M_CSH_CASH', 'MBSCDSCSH', 'SER_IGCVECSH',
'SER_ITRXCVCSH', 'CSOCDSCSH', 'IGCDSCSH', 'HYCDSCSH', 'CLOCDSCSH',
- 'IGTCDSCSH', 'MACCDSCSH', 'M_STR_MEZZ', 'IRDEVCSH', 'TCDSCSH');
+ 'IGTCDSCSH', 'MACCDSCSH', 'M_STR_MEZZ', 'IRDEVCSH', 'TCSH', 'COCSH');
CREATE TYPE asset_class AS ENUM('CSO', 'Subprime', 'CLO', 'Tranches', 'Futures',
'Cash', 'FX', 'Cleared');
@@ -1293,7 +1293,7 @@ CREATE TYPE strategy AS ENUM(
-- CURVE portfolio
'IGCURVE', 'IGCVECSH', 'ITRXCURVE', 'ITRXCVCSH', 'HYCURVE',
-- OPTIONS portfolio
-'IGOPTDEL', 'IGPAYER', 'IGREC', 'HYOPTDEL', 'HYPAYER', 'HYREC', 'IGCDSCSH', 'HYCDSCSH',
+'IGOPTDEL', 'IGPAYER', 'IGREC', 'HYOPTDEL', 'HYPAYER', 'HYREC', 'IGCDSCSH', 'HYCDSCSH', 'COCSH'
-- IR portfolio
'IR', 'IRDEVCSH', 'STEEP', 'FLAT',
-- STRUCTURED portfolio