Перейти к содержанию

Сессии

Почему IANA-таймзоны, а не UTC-смещения

Если захардкодить UTC-смещения, при переходе на летнее время сессия сдвинется на час относительно реального рынка. Время задаётся в локальной таймзоне биржи через ZoneInfo — Python сам применяет актуальное UTC-смещение на конкретную дату.

Зима: London 08:00 GMT  = 08:00 UTC ✓
Лето: London 08:00 BST  = 07:00 UTC ✓  (BST = GMT+1)

Tokyo — DST не наблюдает, всегда: 07:00 JST = 22:00 UTC предыдущего дня

Буфер ±2 дня

Сканирование дат начинается на 2 дня раньше from_ts и заканчивается на 2 дня позже to_ts. Нужно для токийской сессии, которая начинается в 22:00 UTC предыдущего дня — без буфера сессия понедельника не попала бы в ответ при запросе с from_ts = Monday 00:00 UTC.