import argparse import datetime 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() with BondDeal._conn.cursor() as c: c.execute( "SELECT id FROM bonds LEFT JOIN counterparties ON cp_code=code " "WHERE trade_date=%s AND ctm_code IS NOT NULL", (args.trade_date,), ) for (tid,) in c: trade = BondDeal.from_tradeid(tid) CTM.stage(trade) buf, dest = CTM.build_buffer() CTM.upload(buf)