aboutsummaryrefslogtreecommitdiffstats
path: root/python/admin_cls_upload.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/admin_cls_upload.py')
-rw-r--r--python/admin_cls_upload.py26
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")