aboutsummaryrefslogtreecommitdiffstats
path: root/python/risk/bonds.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/risk/bonds.py')
-rw-r--r--python/risk/bonds.py13
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()]