aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/bowdst.py4
-rw-r--r--python/calibrate_tranches_BC.py2
-rw-r--r--python/dates.py20
-rw-r--r--python/external_deriv_marks.py3
-rw-r--r--python/load_globeop_report.py2
-rw-r--r--python/markit/__main__.py2
-rw-r--r--python/markit/rates.py2
-rw-r--r--python/new_index_series.py2
-rw-r--r--python/pnl_explain.py4
-rw-r--r--python/populate_tranche_cashflows.py4
-rw-r--r--python/process_queue.py2
-rw-r--r--python/risk/__main__.py2
-rw-r--r--python/task_server/globeop.py2
-rw-r--r--python/tests/test_dates.py2
-rw-r--r--python/thetas-durations.py2
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