blob: 9e4eb419679610408117840b3527f4e513c56f85 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
from serenitas.utils.db import dawn_engine, dbconn
from serenitas.utils.exchange import ExchangeMessage, FileAttachment
from exchangelib import HTMLBody
import pandas as pd
from io import StringIO
import datetime
import argparse
from pandas.tseries.offsets import BDay
from serenitas.ops.trade_dataclasses import BondDeal
from serenitas.ops.funds import CTM
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument(
"trade_date",
type=datetime.date.fromisoformat,
default=datetime.date.today(),
)
args = parser.parse_args()
dawndb = dbconn("dawndb")
df = pd.read_sql_query(
"SELECT ba.id, allocated, emailed FROM bonds LEFT JOIN bond_allocation ba ON bonds.id=ba.tradeid LEFT JOIN counterparties c ON cp_code=c.code WHERE trade_date=%s AND ctm_code IS NOT null;",
con=dawn_engine,
params=(args.trade_date,),
)
with dawndb.cursor() as d:
for row in df.itertuples():
CTM.stage(BondDeal.from_allocationid(row.id))
buf, dest = CTM.build_buffer()
CTM.upload(buf)
|