diff options
Diffstat (limited to 'python/admin_cls_upload.py')
| -rw-r--r-- | python/admin_cls_upload.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/python/admin_cls_upload.py b/python/admin_cls_upload.py new file mode 100644 index 00000000..95f35715 --- /dev/null +++ b/python/admin_cls_upload.py @@ -0,0 +1,26 @@ +import datetime +from itertools import groupby +from serenitas.ops.trade_dataclasses import SpotDeal + +from report_ops.services import get_service + +fund = "BOWDST" +trade_date = datetime.date(2023, 3, 14) +conn = SpotDeal._conn + +with conn.cursor() as c: + c.execute( + "SELECT ft.*, accounts2.cp_code as account_counterparty FROM forward_trades ft LEFT JOIN accounts2 USING (cash_account) WHERE ft.fund=%s AND ft.trade_date=%s;", + (fund, trade_date), + ) + trades = [t._asdict() for t in c] + for account_counterparty, trades in groupby( + trades, lambda x: x["account_counterparty"] + ): + if account_counterparty not in ("BONY",): + continue + service = get_service(account_counterparty) + for t in trades: + trade = SpotDeal.from_dict(**t) + service.push_trade(trade, "NEW") + service.build_buffer("spot") |
