PP
Да, проматывание этой последовательности с начала может быть небыстрым. Этого можно избежать, если для каждого правила сделать способ получения первого значения с датой не раньше заданной и собрать из таких общую последовательность на начале отрезка – и листать вперёд уже её. Звучит реализуемо, но зависит от требуемых правил.