diff options
Diffstat (limited to 'python/risk/__main__.py')
| -rw-r--r-- | python/risk/__main__.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/python/risk/__main__.py b/python/risk/__main__.py index 3ba9f077..57534d02 100644 --- a/python/risk/__main__.py +++ b/python/risk/__main__.py @@ -3,12 +3,15 @@ import os import serenitas.analytics import argparse import datetime +from quantlib.time.api import Date +from quantlib.time.calendars.united_states import UnitedStates, Market from serenitas.utils.db import dbengine from serenitas.utils.db2 import dbconn from serenitas.utils.pool import dawn_pool from .bonds import subprime_risk, clo_risk, crt_risk, insert_subprime_risk from serenitas.analytics.base import Trade from serenitas.analytics.dates import prev_business_day +from serenitas.analytics.utils import run_local from .indices import insert_curve_risk, insert_index_risk from .ir_swap import insert_ir_swap_portfolio from .ir_swaption import insert_ir_swaption_portfolio @@ -41,6 +44,8 @@ mysql_engine = dbengine("rmbs_model") mysqlcrt_engine = dbengine("crt") funds = ("SERCGMAST", "BOWDST", "BRINKER", "ISOSEL") + +us_cal = UnitedStates(Market.FederalReserve) with dawn_pool.connection() as conn: for fund in funds: insert_curve_risk( @@ -49,13 +54,15 @@ with dawn_pool.connection() as conn: fund, ("SER_IGCURVE", "SER_ITRXCURVE", "XCURVE", "SER_HYCURVE"), ) - ir_swaption_portf = IRSwaption.get_portfolio(workdate, fund=fund) - insert_ir_swaption_portfolio(ir_swaption_portf, conn) - ir_swap_portf = SofrSwap.get_portfolio(workdate, fund=fund) - insert_ir_swap_portfolio(ir_swap_portf, conn) + if us_cal.is_business_day(Date.from_datetime(workdate)): + ir_swaption_portf = IRSwaption.get_portfolio(workdate, fund=fund) + insert_ir_swaption_portfolio(ir_swaption_portf, conn) + ir_swap_portf = SofrSwap.get_portfolio(workdate, fund=fund) + insert_ir_swap_portfolio(ir_swap_portf, conn) insert_index_risk(workdate, conn, fund) portf = get_tranche_portfolio(workdate, conn, funds=funds) - insert_tranche_pnl_explain(portf, conn) + with run_local(): + insert_tranche_pnl_explain(portf, conn) insert_tranche_risk(portf, conn) portf = get_swaption_portfolio(workdate, conn, source_list=["MS"]) insert_swaption_portfolio(portf, conn) |
