Я тут провел кое-какое расследование, но всё руки не доходили опубликовать. Но раз проблема не только у меня, описываю свою версию.
Чтобы скачать котировки с финама нужно знать ID инструмента (номер инструмента). Получить его можно двумя способами:
1) получить с одной станице, как предложено
здесь .
2) перебирать и парсить множества страниц, как предложено
здесь .
Первый способ занимает доли секунд, второй - десятки секунд. При первом способе склеенные фьючерсы имеют префикс
SPFB (как и при ручном скачивании), при втором способе префикс отсутствует.
Складывается впечатление, что сначала Гидра использовала первый способ, и в списке инструментов присутствовали инструменты с префиксом
SPFB. Потом по неизвестным причинам разработчики отказались от этого способа и перешли к перебору и парсингу страниц. Теперь загрузка списка инструментов занимает десяток и более секунд. Если список инструментов был сформирован при первом способе, а ID инструментов время от времени меняется, то теперь часть инструментов не будет закачиваться совсем, у части будет ошибка:
"Инструмент не содержит идентификатор Finam и он будет удален из списка скачиваемых". А для некоторых инструментов будут закачиваться "чужие" котировки.
Лечится эта беда удалением из списка всех инструментов, и формированием списка инструментов заново. Теперь склеенные фьючерсы будут без префикса. Например, вместо
SPFB.SBRF@FORTS будет
SBRF@FORTS.
Из этого правила почему-то есть исключения (в конце концов, у какого правила нет исключений[laugh]). Находятся в списке инструментов, но не качаются
LKOH@FORTS и
VTBR@FORTS. Вместо них качаются
LKOH1@FORTS и
VTBR1@FORTS. Котировки этих инструментов совпадают с котировками соответствующих склеенных фьючерсов.
Надеюсь изложенное поможет обуздать Гидру.