aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/ops/__main__.py51
-rw-r--r--python/ops/process_queue.py52
2 files changed, 52 insertions, 51 deletions
diff --git a/python/ops/__main__.py b/python/ops/__main__.py
new file mode 100644
index 00000000..34445466
--- /dev/null
+++ b/python/ops/__main__.py
@@ -0,0 +1,51 @@
+import argparse
+import os
+
+from functools import partial
+from serenitas.analytics.bbg_helpers import init_bbg_session
+from serenitas.utils.pool import dawn_pool
+from serenitas.utils import get_redis_queue
+
+from .process_queue import process_indicative, process_upload, terminate_list
+
+os.environ["SERENITAS_APP_NAME"] = "process_queue"
+
+parser = argparse.ArgumentParser()
+parser.add_argument(
+ "-n", "--no-upload", action="store_true", help="do not upload to Globeop"
+)
+args = parser.parse_args()
+r = get_redis_queue()
+with dawn_pool.connection() as conn, init_bbg_session() as session:
+ for trade_type in [
+ "cds",
+ "swaption",
+ "repo",
+ "future",
+ "wire",
+ "spot",
+ "fx_swap",
+ "capfloor",
+ ]:
+ p_list = partial(
+ process_indicative,
+ trade_type=trade_type,
+ upload=not args.no_upload,
+ session=session,
+ conn=conn,
+ )
+ r.transaction(p_list, trade_type)
+ p_upload = partial(
+ process_upload,
+ trade_type=trade_type,
+ upload=not args.no_upload,
+ )
+ r.transaction(p_upload, trade_type)
+
+ for trade_type in ("cds", "swaption", "capfloor"):
+ for fund in ("SERCGMAST", "BOWDST", "BRINKER"):
+ key = f"{trade_type}_{fund}_termination"
+ t_list = partial(
+ terminate_list, key=key, upload=not args.no_upload, conn=conn
+ )
+ r.transaction(t_list, key)
diff --git a/python/ops/process_queue.py b/python/ops/process_queue.py
index 8d88bda3..0dbb9e8b 100644
--- a/python/ops/process_queue.py
+++ b/python/ops/process_queue.py
@@ -1,4 +1,3 @@
-import argparse
import blpapi
import logging
import psycopg
@@ -16,9 +15,8 @@ except KeyError:
from collections import defaultdict
from pickle import dumps, loads
-from serenitas.analytics.bbg_helpers import init_bbg_session, retrieve_data
+from serenitas.analytics.bbg_helpers import retrieve_data
-from serenitas.utils import get_redis_queue
from tabulate import tabulate
from .funds import Fund
from .trade_dataclasses import DealKind
@@ -395,51 +393,3 @@ def print_trade(trade):
d = trade.copy()
d["buysell"] = "Buy" if d["buysell"] else "Sell"
return tabulate((k, v) for k, v in d.items())
-
-
-if __name__ == "__main__":
- import os
-
- os.environ["SERENITAS_APP_NAME"] = "process_queue"
- from functools import partial
- from serenitas.utils.pool import dawn_pool
-
- parser = argparse.ArgumentParser()
- parser.add_argument(
- "-n", "--no-upload", action="store_true", help="do not upload to Globeop"
- )
- args = parser.parse_args()
- r = get_redis_queue()
- with dawn_pool.connection() as conn, init_bbg_session() as session:
- for trade_type in [
- "cds",
- "swaption",
- "repo",
- "future",
- "wire",
- "spot",
- "fx_swap",
- "capfloor",
- ]:
- p_list = partial(
- process_indicative,
- trade_type=trade_type,
- upload=not args.no_upload,
- session=session,
- conn=conn,
- )
- r.transaction(p_list, trade_type)
- p_upload = partial(
- process_upload,
- trade_type=trade_type,
- upload=not args.no_upload,
- )
- r.transaction(p_upload, trade_type)
-
- for trade_type in ("cds", "swaption", "capfloor"):
- for fund in ("SERCGMAST", "BOWDST", "BRINKER"):
- key = f"{trade_type}_{fund}_termination"
- t_list = partial(
- terminate_list, key=key, upload=not args.no_upload, conn=conn
- )
- r.transaction(t_list, key)