diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/risk/bonds.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/python/risk/bonds.py b/python/risk/bonds.py index 5235dad9..0140de5e 100644 --- a/python/risk/bonds.py +++ b/python/risk/bonds.py @@ -230,15 +230,24 @@ def get_portfolio(date, conn, asset_class: AssetClass, fund="SERCGMAST"): return df.set_index("cusip") -def crt_risk(date, dawn_conn, crt_engine, fund="SERCGMAST"): +def crt_risk(date, dawn_conn, crt_engine, model_date=None, fund="SERCGMAST"): analytics.init_ontr(date) df = get_portfolio(date, dawn_conn, AssetClass.CRT, fund) + if model_date is None: + sql_string = ( + "SELECT distinct timestamp FROM priced_at_market " + "where model_des = 'base' " + "AND timestamp BETWEEN %s AND date_add(%s, INTERVAL 1 DAY) order by timestamp desc" + ) + with crt_engine.connect() as c: + r = c.execute(sql_string, (date - datetime.timedelta(days=15), date)) + (model_date,) = r.fetchone() df_model = pd.read_sql_query( "SELECT * from priced_at_market WHERE " "timestamp BETWEEN %s AND date_add(%s, INTERVAL 1 DAY) ", crt_engine, "cusip", - params=(date, date), + params=(model_date, model_date), ) if any(~df_model["delta.ir"].isna()): df_model = df_model[~df_model["delta.ir"].isna()] |
