diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/bowdst.py | 4 | ||||
| -rw-r--r-- | python/calibrate_tranches_BC.py | 2 | ||||
| -rw-r--r-- | python/dates.py | 20 | ||||
| -rw-r--r-- | python/external_deriv_marks.py | 3 | ||||
| -rw-r--r-- | python/load_globeop_report.py | 2 | ||||
| -rw-r--r-- | python/markit/__main__.py | 2 | ||||
| -rw-r--r-- | python/markit/rates.py | 2 | ||||
| -rw-r--r-- | python/new_index_series.py | 2 | ||||
| -rw-r--r-- | python/pnl_explain.py | 4 | ||||
| -rw-r--r-- | python/populate_tranche_cashflows.py | 4 | ||||
| -rw-r--r-- | python/process_queue.py | 2 | ||||
| -rw-r--r-- | python/risk/__main__.py | 2 | ||||
| -rw-r--r-- | python/task_server/globeop.py | 2 | ||||
| -rw-r--r-- | python/tests/test_dates.py | 2 | ||||
| -rw-r--r-- | python/thetas-durations.py | 2 |
15 files changed, 19 insertions, 36 deletions
diff --git a/python/bowdst.py b/python/bowdst.py index 0b46cd24..5440616f 100644 --- a/python/bowdst.py +++ b/python/bowdst.py @@ -1,12 +1,12 @@ import datetime import pandas as pd import pathlib -from dates import bus_day -from serenitas.utils.env import DAILY_DIR from exchangelib import FileAttachment from io import StringIO from typing import Tuple +from serenitas.analytics.dates import bus_day from serenitas.utils.db import dbconn, dawn_engine +from serenitas.utils.env import DAILY_DIR def download_messages(em): diff --git a/python/calibrate_tranches_BC.py b/python/calibrate_tranches_BC.py index d860a514..3da19a69 100644 --- a/python/calibrate_tranches_BC.py +++ b/python/calibrate_tranches_BC.py @@ -1,5 +1,5 @@ from serenitas.analytics.tranche_basket import TrancheBasket, MarkitTrancheBasket -from serenitas.analytics.utils import prev_business_day +from serenitas.analytics.dates import prev_business_day import datetime import logging import numpy as np diff --git a/python/dates.py b/python/dates.py index 1309aa17..0d6fe107 100644 --- a/python/dates.py +++ b/python/dates.py @@ -2,12 +2,7 @@ import datetime import pandas as pd from dateutil.relativedelta import relativedelta, WE -from pandas.tseries.offsets import CustomBusinessDay, Day, QuarterBegin -from pandas.tseries.holiday import get_calendar, HolidayCalendarFactory, GoodFriday - -fed_cal = get_calendar("USFederalHolidayCalendar") -bond_cal = HolidayCalendarFactory("BondCalendar", fed_cal, GoodFriday) -bus_day = CustomBusinessDay(calendar=bond_cal()) +from pandas.tseries.offsets import Day, QuarterBegin def imm_dates(start_date, end_date): @@ -40,19 +35,6 @@ def imm_date(d): return r -def days_accrued(tradedate): - tradedate = pd.Timestamp(tradedate) - start_protection = tradedate + Day() - # we want the the largest twentieth imm date rolled forward such that - # it's less than start_protection - effective_date = pd.Timestamp( - previous_twentieth(bus_day.rollback(start_protection).date()) - ) - effective_date = bus_day.rollforward(effective_date) - delta = start_protection - effective_date - return delta.days - - def isleapyear(date): return (date.year % 4) == 0 & (~(date.year % 100 == 0) | date.year % 400 == 0) diff --git a/python/external_deriv_marks.py b/python/external_deriv_marks.py index ddfa3714..e6d2584d 100644 --- a/python/external_deriv_marks.py +++ b/python/external_deriv_marks.py @@ -5,7 +5,8 @@ from serenitas.utils.env import DAILY_DIR from collateral.baml_isda import load_excel from collateral.citi import load_pdf, get_col from collateral.jpm import load_positions -from serenitas.analytics.utils import next_business_day, prev_business_day, get_fx +from serenitas.analytics.dates import next_business_day, prev_business_day +from serenitas.analytics.utils import get_fx # local_nav is the nav in the trade's own currency COLUMNS = ["trade_date", "buy/sell", "notional", "local_nav", "base_nav", "ia"] diff --git a/python/load_globeop_report.py b/python/load_globeop_report.py index 2c869631..f4598fe3 100644 --- a/python/load_globeop_report.py +++ b/python/load_globeop_report.py @@ -2,7 +2,7 @@ from glob import iglob import os import pandas as pd from itertools import chain -from dates import bus_day +from serenitas.analytics.dates import bus_day from serenitas.utils.db import dbengine diff --git a/python/markit/__main__.py b/python/markit/__main__.py index 44995bee..16fe589e 100644 --- a/python/markit/__main__.py +++ b/python/markit/__main__.py @@ -22,7 +22,7 @@ from .import_quotes import * from serenitas.utils import SerenitasFileHandler from serenitas.utils.db import serenitas_pool from serenitas.analytics.yieldcurve import CurveType -from serenitas.analytics.utils import prev_business_day +from serenitas.analytics.dates import prev_business_day from serenitas.analytics.bbg_helpers import bbg_retry # parse arguments diff --git a/python/markit/rates.py b/python/markit/rates.py index 5fbb5f09..470cfcc0 100644 --- a/python/markit/rates.py +++ b/python/markit/rates.py @@ -8,7 +8,7 @@ import xml.etree.ElementTree as ET import zipfile from serenitas.analytics.yieldcurve import YC, ql_to_jp, CurveType from serenitas.analytics.bbg_helpers import retrieve_data -from serenitas.analytics.utils import prev_business_day +from serenitas.analytics.dates import prev_business_day def downloadMarkitIRData(conn, download_date=datetime.date.today(), currency="USD"): diff --git a/python/new_index_series.py b/python/new_index_series.py index f9784f85..6cf953c5 100644 --- a/python/new_index_series.py +++ b/python/new_index_series.py @@ -1,5 +1,5 @@ from serenitas.analytics.bbg_helpers import init_bbg_session, retrieve_data -from serenitas.analytics.utils import roll_date +from serenitas.analytics.dates import roll_date from psycopg2.extras import execute_values import datetime diff --git a/python/pnl_explain.py b/python/pnl_explain.py index b2223646..d349b77b 100644 --- a/python/pnl_explain.py +++ b/python/pnl_explain.py @@ -2,8 +2,8 @@ import datetime import pandas as pd import serenitas.analytics -from serenitas.analytics.utils import get_fx, prev_business_day, next_business_day -from dates import bus_day +from serenitas.analytics.dates import bus_day, prev_business_day, next_business_day +from serenitas.analytics.utils import get_fx from psycopg2.errors import SyntaxError from psycopg2.extensions import connection from risk.swaptions import get_swaption_portfolio diff --git a/python/populate_tranche_cashflows.py b/python/populate_tranche_cashflows.py index 9462488a..80a32eec 100644 --- a/python/populate_tranche_cashflows.py +++ b/python/populate_tranche_cashflows.py @@ -2,7 +2,7 @@ import datetime from pyisda.date import previous_twentieth from serenitas.utils.db import dbconn, serenitas_pool from risk.tranches import get_tranche_portfolio -from dates import bus_day +from serenitas.analytics.dates import bus_day from typing import Tuple @@ -77,4 +77,4 @@ if __name__ == "__main__": serenitas.analytics._include_todays_cashflows = True for fund in ("SERCGMAST", "BOWDST", "BRINKER"): - insert_tranche_accrued(datetime.date(2020, 12, 18), dawndb, fund) + insert_tranche_accrued(datetime.date(2021, 12, 17), dawndb, fund) diff --git a/python/process_queue.py b/python/process_queue.py index d18d99d9..ca36b384 100644 --- a/python/process_queue.py +++ b/python/process_queue.py @@ -19,9 +19,9 @@ except KeyError: sys.exit("Please set path of daily directory in 'SERENITAS_DAILY_DIR'") from collections import defaultdict -from dates import bus_day from pickle import dumps, loads from serenitas.analytics.bbg_helpers import init_bbg_session, retrieve_data +from serenitas.analytics.dates import bus_day from serenitas.utils.db import dbconn from serenitas.utils.exchange import ExchangeMessage, FileAttachment from serenitas.utils.remote import FtpClient, SftpClient diff --git a/python/risk/__main__.py b/python/risk/__main__.py index a753106a..7099a2c9 100644 --- a/python/risk/__main__.py +++ b/python/risk/__main__.py @@ -4,7 +4,7 @@ import datetime from serenitas.utils.db import dbconn, dbengine from .bonds import subprime_risk, clo_risk, crt_risk, insert_subprime_risk from serenitas.analytics import init_ontr -from serenitas.analytics.utils import prev_business_day +from serenitas.analytics.dates import prev_business_day from .indices import insert_curve_risk from .swaptions import get_swaption_portfolio, insert_swaption_portfolio from .tranches import get_tranche_portfolio, insert_tranche_portfolio diff --git a/python/task_server/globeop.py b/python/task_server/globeop.py index ebae0f62..1415090c 100644 --- a/python/task_server/globeop.py +++ b/python/task_server/globeop.py @@ -6,7 +6,7 @@ from . import DAILY_DIR from pathlib import Path from serenitas.utils.remote import FtpClient -from serenitas.analytics.utils import prev_business_day +from serenitas.analytics.dates import prev_business_day import gnupg import re import logging diff --git a/python/tests/test_dates.py b/python/tests/test_dates.py index cb14e343..f0e81983 100644 --- a/python/tests/test_dates.py +++ b/python/tests/test_dates.py @@ -2,7 +2,7 @@ import unittest import datetime import pandas as pd -from serenitas.analytics.utils import roll_date, days_accrued +from serenitas.analytics.dates import roll_date, days_accrued from serenitas.analytics.tranche_functions import cds_accrued, credit_schedule from pyisda.date import ( roll_date as roll_date_c, diff --git a/python/thetas-durations.py b/python/thetas-durations.py index e6d66445..3205e150 100644 --- a/python/thetas-durations.py +++ b/python/thetas-durations.py @@ -1,7 +1,7 @@ import datetime import numpy as np import pandas as pd -from serenitas.analytics.utils import tenor_t +from serenitas.analytics.dates import tenor_t from pandas.tseries.offsets import BDay from dateutil.relativedelta import relativedelta from serenitas.analytics.yieldcurve import get_curve |
