Если вы сделаете снимок, а затем начнете слушать поток, вы можете пропустить событие
между получением снимка и запуском потока. Это будет означать, что ваша локальная книга заказов будет недействительной (и вы определенно не хотите этого в торговом приложении)
Идея создания снимка после состоит в том, что вы гарантированно получите все события после снимка. Побочным эффектом этого подхода является то, что у вас также могут быть некоторые до вашего снимка. Таким образом, вы можете отказаться от нескольких (если таковые имеются), которые вам не нужны, на основании их lastUpdateId.
Я не уверен, какой язык вы используете для управления им, но если вы хотите реализацию Java, дайте мне знать, и я перенесу свой язык на github, чтобы вы могли его использовать.