diff options
| -rw-r--r-- | python/risk/__main__.py | 8 | ||||
| -rw-r--r-- | python/risk/bonds.py | 14 | ||||
| -rw-r--r-- | python/risk/indices.py | 10 | ||||
| -rw-r--r-- | python/risk/swaptions.py | 3 | ||||
| -rw-r--r-- | python/risk/tranches.py | 2 |
5 files changed, 21 insertions, 16 deletions
diff --git a/python/risk/__main__.py b/python/risk/__main__.py index 5607999b..2c690ba7 100644 --- a/python/risk/__main__.py +++ b/python/risk/__main__.py @@ -1,10 +1,14 @@ +import os + +os.environ["SERENITAS_APP_NAME"] = "risk" + import serenitas.analytics import argparse import datetime from serenitas.utils.db import dbengine from serenitas.utils.db2 import dawn_pool, dbconn from .bonds import subprime_risk, clo_risk, crt_risk, insert_subprime_risk -from serenitas.analytics import init_ontr +from serenitas.analytics.base import Trade from serenitas.analytics.dates import prev_business_day from .indices import insert_curve_risk from .swaptions import get_swaption_portfolio, insert_swaption_portfolio @@ -21,7 +25,7 @@ parser.add_argument( args = parser.parse_args() workdate = args.cob -init_ontr(workdate) +Trade.init_ontr(workdate) serenitas.analytics._include_todays_cashflows = True serenitas.analytics._local = False diff --git a/python/risk/bonds.py b/python/risk/bonds.py index 4f622355..c9dfbdea 100644 --- a/python/risk/bonds.py +++ b/python/risk/bonds.py @@ -1,12 +1,12 @@ import pandas as pd import numpy as np -from serenitas import analytics +from serenitas.analytics.base import Trade import datetime from enum import Enum, auto from serenitas.analytics.yieldcurve import YC from serenitas.analytics.index import CreditIndex -from serenitas.analytics import on_the_run +from serenitas.analytics.index_data import on_the_run class AssetClass(Enum): @@ -85,7 +85,7 @@ def get_df(date, engine, *, zero_factor=False): def subprime_risk(date, conn, engine, model_date=None, fund="SERCGMAST"): - analytics.init_ontr(date) + Trade.init_ontr(date) if model_date is None: sql_string = ( "SELECT distinct timestamp::date FROM priced " @@ -146,11 +146,11 @@ def subprime_risk(date, conn, engine, model_date=None, fund="SERCGMAST"): delta_ir=df_calc.delta_ir_io + df_calc.delta_ir_po, # use original notional for 0 factor bonds to calc yield curr_ntl=df_calc.notional * df_calc.factor.where(df_calc.factor != 0.0, 1.0), - # assume beta and ontr is initialized from analytics + # assume beta and ontr is initialized from init_ontr hy_equiv=( df_calc.delta_yield - / analytics._ontr["HY"].risky_annuity - * analytics._beta["SUBPRIME"] + / Trade._ontr["HY"].risky_annuity + * Trade._beta["SUBPRIME"] * 1e2 * df_calc.local_market_value / df_calc.pv3 @@ -272,7 +272,7 @@ def crt_risk(date, dawn_conn, crt_engine, fund="SERCGMAST"): hy_equiv=( df.modDur / hy_ontr.risky_annuity - * analytics._beta["CRT"] + * Trade._beta["CRT"] * df.notional * df.factor ), diff --git a/python/risk/indices.py b/python/risk/indices.py index ef97d306..60f6da3e 100644 --- a/python/risk/indices.py +++ b/python/risk/indices.py @@ -1,10 +1,10 @@ import datetime import logging import pandas as pd -from serenitas.analytics import on_the_run, Portfolio, CreditIndex -from serenitas.analytics.index_data import index_returns +from serenitas.analytics.api import Portfolio, CreditIndex +from serenitas.analytics.index_data import on_the_run, index_returns from math import sqrt -from psycopg2.extensions import connection +from psycopg import Connection from typing import Iterable, Tuple, Union logger = logging.getLogger(__name__) @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) def get_index_portfolio( d: datetime.date, - conn: connection, + conn: Connection, fund: str = "SERCGMAST", strategies: Union[Tuple[str], str] = (), include_strategies: Union[str, None] = None, @@ -121,7 +121,7 @@ def VaR(portf: Portfolio, quantile=0.05, years: int = 5, period="monthly"): def insert_curve_risk( d: datetime.date, - conn: connection, + conn: Connection, fund: str = "SERCGMAST", strategies: Tuple[str] = ("SER_IGCURVE",), ): diff --git a/python/risk/swaptions.py b/python/risk/swaptions.py index e91543ba..e35ab21b 100644 --- a/python/risk/swaptions.py +++ b/python/risk/swaptions.py @@ -1,6 +1,7 @@ import logging -from serenitas.analytics import Portfolio, BlackSwaption, DataError +from serenitas.analytics.api import Portfolio, BlackSwaption +from serenitas.utils.db2 import DataError from psycopg import sql logger = logging.getLogger(__name__) diff --git a/python/risk/tranches.py b/python/risk/tranches.py index be09b9d2..18f1b0f5 100644 --- a/python/risk/tranches.py +++ b/python/risk/tranches.py @@ -1,4 +1,4 @@ -from serenitas.analytics import Portfolio, DualCorrTranche +from serenitas.analytics.api import Portfolio, DualCorrTranche import logging logger = logging.getLogger(__name__) |
