aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/risk/bonds.py12
-rw-r--r--python/risk/portfolio.py6
2 files changed, 9 insertions, 9 deletions
diff --git a/python/risk/bonds.py b/python/risk/bonds.py
index ecb720b5..3804638b 100644
--- a/python/risk/bonds.py
+++ b/python/risk/bonds.py
@@ -82,7 +82,7 @@ def get_df(date, engine, *, zero_factor=False):
return df_prices.join(df_percentiles, how="left")
-def subprime_risk(pos_date, conn, engine, model_date=None):
+def subprime_risk(pos_date, conn, engine, model_date=None, fund="SERCGMAST"):
if model_date is None:
sql_string = (
"SELECT distinct timestamp::date FROM priced "
@@ -95,7 +95,7 @@ def subprime_risk(pos_date, conn, engine, model_date=None):
df = get_df(model_date, engine, zero_factor=False)
df_zero = get_df(model_date, engine, zero_factor=True)
df.loc[df_zero.index] = df_zero
- df_pos = get_portfolio(pos_date, conn, AssetClass.Subprime)
+ df_pos = get_portfolio(pos_date, conn, AssetClass.Subprime, fund)
df_pv = df.xs("pv", axis=1, level=0)
df_pv.columns = ["pv1", "pv2", "pv3"]
df_pv_perct = df.xs("PV", axis=1, level=0)
@@ -228,8 +228,8 @@ def get_portfolio(date, conn, asset_class: AssetClass, fund="SERCGMAST"):
return df.set_index("cusip")
-def crt_risk(date, dawn_conn, engine, model_version="hpi5_ir3_btm"):
- df = get_portfolio(date, dawn_conn, AssetClass.CRT)
+def crt_risk(date, dawn_conn, engine, model_version="hpi5_ir3_btm", fund="SERCGMAST"):
+ df = get_portfolio(date, dawn_conn, AssetClass.CRT, fund)
df_model = pd.read_sql_query(
"SELECT * from priced_at_market WHERE "
"timestamp BETWEEN %s AND date_add(%s, INTERVAL 1 DAY) "
@@ -251,8 +251,8 @@ def crt_risk(date, dawn_conn, engine, model_version="hpi5_ir3_btm"):
return df
-def clo_risk(date, dawn_conn, et_conn):
- df = get_portfolio(date, dawn_conn, AssetClass.CLO)
+def clo_risk(date, dawn_conn, et_conn, fund="SERCGMAST"):
+ df = get_portfolio(date, dawn_conn, AssetClass.CLO, fund)
if df.empty:
return None
placeholders = ",".join(["%s"] * df.shape[0])
diff --git a/python/risk/portfolio.py b/python/risk/portfolio.py
index fb863e85..2f4fb538 100644
--- a/python/risk/portfolio.py
+++ b/python/risk/portfolio.py
@@ -49,9 +49,9 @@ def build_portfolio(position_date, value_date=None, fund="SERCGMAST"):
syn_portf += curve_portf + nocurve_portf
# get bond risks:
- rmbs_pos = subprime_risk(position_date, conn, dbengine("rmbs_model"),)
+ rmbs_pos = subprime_risk(position_date, conn, dbengine("rmbs_model"), fund=fund)
crt_pos = crt_risk(
- position_date, conn, dbengine("crt"), model_version="hpi5_ir3_btm"
+ position_date, conn, dbengine("crt"), fund=fund, model_version="hpi5_ir3_btm"
)
# CRT model version changes with time, need to check
rmbs_notional = (
@@ -62,7 +62,7 @@ def build_portfolio(position_date, value_date=None, fund="SERCGMAST"):
hy_equiv_trade(value_date, -rmbs_notional), ("rmbs_bonds", "rmbs_bonds")
)
with dbconn("etdb") as etconn:
- clo_pos = clo_risk(position_date, conn, etconn)
+ clo_pos = clo_risk(position_date, conn, etconn, fund=fund)
if clo_pos is not None:
portf.add_trade(