diff options
Diffstat (limited to 'python/risk')
| -rw-r--r-- | python/risk/bonds.py | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/python/risk/bonds.py b/python/risk/bonds.py index 95dc63fe..697e4d72 100644 --- a/python/risk/bonds.py +++ b/python/risk/bonds.py @@ -84,8 +84,8 @@ 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, fund="SERCGMAST"): - analytics.init_ontr(pos_date) +def subprime_risk(date, conn, engine, model_date=None, fund="SERCGMAST"): + analytics.init_ontr(date) if model_date is None: sql_string = ( "SELECT distinct timestamp::date FROM priced " @@ -93,12 +93,12 @@ def subprime_risk(pos_date, conn, engine, model_date=None, fund="SERCGMAST"): "AND date(timestamp) BETWEEN %s AND %s ORDER BY timestamp DESC" ) with conn.cursor() as c: - c.execute(sql_string, (pos_date - datetime.timedelta(days=15), pos_date)) + c.execute(sql_string, (date - datetime.timedelta(days=15), date)) (model_date,) = c.fetchone() 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, fund) + df_pos = get_portfolio(date, conn, AssetClass.Subprime, fund).set_index("cusip") 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) @@ -137,7 +137,7 @@ def subprime_risk(pos_date, conn, engine, model_date=None, fund="SERCGMAST"): ) df_calc = df_pos.join(df_risk) - yc = YC(evaluation_date=pos_date) + yc = YC(evaluation_date=date) df_calc = df_calc.assign( bond_yield=df_calc.modDur.apply( @@ -155,7 +155,7 @@ def subprime_risk(pos_date, conn, engine, model_date=None, fund="SERCGMAST"): * df_calc.local_market_value / df_calc.pv3 ), - date=pd.Timestamp(pos_date), + date=pd.Timestamp(date), ) df_calc = df_calc[(df_calc.usd_market_value != 0)] df_calc.bond_yield += ( @@ -232,7 +232,7 @@ def crt_risk(date, dawn_conn, crt_engine, fund="SERCGMAST"): hy_ontr = CreditIndex("HY", on_the_run("HY", date), "5yr", date) hy_ontr.mark() yc = YC(evaluation_date=date) - df = get_portfolio(date, dawn_conn, AssetClass.CRT, fund) + df = get_portfolio(date, dawn_conn, AssetClass.CRT, fund).set_index("cusip") scen = { datetime.date(2019, 5, 31): "base", datetime.date(2020, 1, 29): "hpi3_ir3", |
