Streams in order of speed

Hi, in SPOT websocket market streams, I am subscribing to all real-time streams(trade, aggTrade, bookTicker) and the depthUpdate message that we get at every 100ms on a single websocket connection. I wanted to get clarity on which feed should be considered faster.

Between aggTrade and trade, I am thinking aggTrade should be faster always. Is that correct?

Between bookTicker and aggTrade, can I assume ticker is always faster or can it happen that aggTrade comes first and then bookTicker. Same question with comparision between bookTicker and trade feeds.

Also, please let me know if this scenario is possible. In an ideal scenario, if there is a taker order, aggTrade and ticker comes first, then the trades and then a depthUpdate if its near 100ms mark. But I would like to know if it is possible that we get the aggTrade and ticker, then a few trades corresponding to the order and then the depthUpdate and then the remaining trades of the order.

Essentially, with the last question, what I want to ask is if there is some guarantee that we see an event of a stream only after all events related to an order are published by the other stream.

There is no guarantee on which stream is faster than others. There are many variables to how fast the client can receive the message on streams. We recommend to subscribe to the streams that client needs and handle the messages received from the server.

Redefine what ‘fast’ means to you. If network traffic is limited then aggregated trades is faster due to transferring less data. If you’re looking to make decisions as fast as possible subscribe to individual trades.

You will have to process more data, but transactions will come as soon as they are executed.

Binance aggregates the trades first, which means the packet will be sent when the last trade in the aggregated trade group is processed.

That might be instantly, or it might take a couple of tens (hundreds?) of milliseconds.

I got no experience with aggTrades but this seems logical, and trades are usually blazing fast, especially when you host your client on a VPS nearby (I get average latency of 30ms, mean of ~8ms)