aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/position_file_bowdst.py10
-rw-r--r--scripts/hm_monthend.timer4
2 files changed, 10 insertions, 4 deletions
diff --git a/python/position_file_bowdst.py b/python/position_file_bowdst.py
index 1e0ec510..45e41eea 100644
--- a/python/position_file_bowdst.py
+++ b/python/position_file_bowdst.py
@@ -7,6 +7,7 @@ from serenitas.utils.env import DAILY_DIR
from pandas.tseries.offsets import MonthEnd
from serenitas.utils.exchange import ExchangeMessage, FileAttachment
from csv_headers.globeop_upload import POSITION_HEADERS
+from serenitas.analytics.dates import prev_business_day
_otc_queries = {
"Tranche": "SELECT trb.trade_id, trb.serenitas_clean_nav + trb.serenitas_accrued as mtm, trb.notional * trb.tranche_factor as active_notional, cds.*, COALESCE(nextredindexcode, security_id) AS redindexcode FROM tranche_risk_bowdst trb left join cds on trade_id=id LEFT JOIN index_version_markit ivm ON security_id=redindexcode WHERE date=%s;",
@@ -194,7 +195,7 @@ if __name__ == "__main__":
"date",
nargs="?",
type=datetime.date.fromisoformat,
- default=(datetime.date.today() - MonthEnd(1)).date(),
+ default=prev_business_day((datetime.date.today().replace(day=1))),
)
parser.add_argument(
"--product",
@@ -215,4 +216,9 @@ if __name__ == "__main__":
positions = {
p: list(globals()[f"positions_{p}"](conn, args.date)) for p in args.product
}
- process_upload(positions, args.upload)
+ if (
+ not prev_business_day(datetime.date.today()) == args.date and args.upload
+ ): # We only want to upload if the previous business day was monthend
+ pass
+ else:
+ process_upload(positions, args.upload)
diff --git a/scripts/hm_monthend.timer b/scripts/hm_monthend.timer
index 633b975c..13243071 100644
--- a/scripts/hm_monthend.timer
+++ b/scripts/hm_monthend.timer
@@ -1,8 +1,8 @@
[Unit]
-Description=Upload Bowdoin Street Open Positions
+Description=Upload Bowdoin Street Open Positions for MonthEnd.
[Timer]
-OnCalendar=*-*-01 05:00:00
+OnCalendar=Mon..Fri *-*-1..3 10:00:00
Unit=hm_monthend.service
RandomizedDelaySec=1m