StatArb / StatBot / Execution / config_ws_connect.py
config_ws_connect.py
Raw
from config_execution_api import ws_public_url
from config_execution_api import ticker_1
from config_execution_api import ticker_2

#from pybit import WebSocket    # <- original code websocket method
import websocket                # <- new websocket method
import json

# # Public ws subscriptions     # <- original code websocket method
# subs_public = [
#     f"orderBookL2_25.{ticker_1}",
#     f"orderBookL2_25.{ticker_2}"
# ]

# # Public ws connection        # <- original code websocket method
# ws_public = WebSocket(
#     ws_public_url,
#     subscriptions=subs_public
# )

# Public ws subscriptions
subs_public = [
    ticker_1,
    ticker_2
]

# Get orderbook w/ New Websocket method
def ws_public_get_orderbook(ticker):
    ws_public = websocket.WebSocket()
    ws_public.connect(ws_public_url)
    sub_msg = '{"op": "subscribe", "args":["orderBookL2_25.' + ticker + '"]}'
    ws_public.send(sub_msg)
    resp = ws_public.recv()
    resp2 = json.loads(resp)
    return resp2['data']['order_book']