diff options
Diffstat (limited to 'python/admin_security_upload.py')
| -rw-r--r-- | python/admin_security_upload.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/python/admin_security_upload.py b/python/admin_security_upload.py new file mode 100644 index 00000000..e63f33c8 --- /dev/null +++ b/python/admin_security_upload.py @@ -0,0 +1,27 @@ +from itertools import groupby +import datetime + +from serenitas.utils.db2 import dbconn +from serenitas.ops.trade_dataclasses import BondDeal + +from report_ops.services import get_service + +conn = dbconn("dawndb") + +with conn.cursor() as c: + c.execute( + "SELECT bt.*, accounts.counterparty AS account_counterparty FROM bond_trades bt LEFT JOIN accounts ON bt.account=accounts.code WHERE bt.fund=%s AND bt.trade_date=%s;", + ("BOWDST", datetime.date(2023, 5, 9)), + ) + trades = [t._asdict() for t in c] + for account_counterparty, trades in groupby( + trades, lambda x: x["account_counterparty"] + ): + service = get_service(account_counterparty) + for t in trades: + trade = BondDeal.from_dict(**t, scaled=True) + service.push_trade(trade, "NEW") + service.build_buffer("bond") + +if __name__ == "__main__": + pass |
