diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/reallocate_iam.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/python/reallocate_iam.py b/python/reallocate_iam.py index 159e6e69..b0801393 100644 --- a/python/reallocate_iam.py +++ b/python/reallocate_iam.py @@ -5,7 +5,7 @@ from dataclasses import field, dataclass from serenitas.ops.funds import Service from serenitas.ops.trade_dataclasses import Deal, Fund from serenitas.ops.headers import DealType -from serenitas.analytics.dates import prev_business_day +from serenitas.analytics.dates import prev_business_day, next_business_day from serenitas.utils.db import dbconn _bowdst_iam_cp = { @@ -28,6 +28,7 @@ _serenitas_iam_cp = { "JPM": "JPCBNY", "WELLS": "WELFEI", "CITI": "CITINY", + "BARCLAYS": "BARCNY", } @@ -150,12 +151,12 @@ def generate_new_iam_offset_trades(fund: str, cob: datetime.date, conn) -> "Iter yield IAMDeal.from_dict(**trade_data) -def update_matured_iam_trades(fund: str, cob: datetime.date, conn) -> "Iterable": +def update_matured_iam_trades(fund: str, prev_date: datetime.date, conn) -> "Iterable": """Sets previous days as matured""" with conn.cursor() as cursor: cursor.execute( "UPDATE iams SET maturity=%s WHERE maturity is NULL AND trade_date<=%s AND fund=%s RETURNING *", - (cob, prev_business_day(cob), fund), + (next_business_day(prev_date), prev_date, fund), ) for row in cursor: trade_data = row._asdict() | {} @@ -175,7 +176,7 @@ def build_iam(fund: str, cob: datetime.date, conn, upload: bool): new_iam_offset.stage() for iam in IAMDeal.commit(returning=True): service.push_trade(iam, "NEW") - for update_iam in update_matured_iam_trades(fund, cob, conn): + for update_iam in update_matured_iam_trades(fund, prev_business_day(cob), conn): service.push_trade(update_iam, "UPDATE") buf, dest = service.build_buffer(trade_type="iam") if upload: |
