Module Algostream_data_ingestion_binance.Parser

Binance Spot WebSocket frame parser.

Connects to wss://stream.binance.com/ws and subscribes via JSON SUBSCRIBE for <symbol>@bookTicker (top-of-book) and <symbol>@trade (tape prints) per configured symbol.

Frame layout reference:

  bookTicker:  { "u":update_id, "s":symbol, "b":bid, "B":bid_qty,
                 "a":ask, "A":ask_qty }   (NO timestamp)
  trade:       { "e":"trade", "E":event_ts_ms, "s":symbol, "t":trade_id,
                 "p":price, "q":qty, "T":trade_ts_ms, "m":is_maker_buy, ... }

Numbers are JSON strings on Binance — we float_of_string them.

val build_subscribe_message : symbols:string list -> string