Теоретический вопрос про работу FAST. Имеем систему, которая принимает торговые решения на основе истории bid/ask и динамики стаканов. Забираем рыночные данные по FAST и формируем из них эту историю. Если забор данных на какое то время прекращается (перезапуск сервера, глюк, и т.п.), образуется дырка в истории, которая совсем не нужна. Для работы с пропусками есть recovery потоки. Вопрос - в них транслируется история за весь торговый день, или только ее часть, позволяющая сформировать текущее состояние по инструменту? Другими словами, возможно ли вытащить из recovery, например, историю заявок, которые были два часа назад в ликвидном инструменте?
И еще, есть некие дампы рыночных данных: ftp://ftp.moex.com/pub/FAST/ASTS/dump/ Я правильно понимаю, что это те же данные, которые приезжают по UDP, только сплошным потоком без разбивки на пакеты? Там данные за полный день? По времени файлов не полный день не похоже.
Сервис транслирует только актуальную рыночную информацию, потоки снэпшотов соответственно несут снимки по активным заявкам, по инструменту, в данный момент. Получить из них историю не получится. Перезапуск сервера сотрет всю историю в принципе, некорректная работа боевого сервера которая приведет к поторе части маркет даты предмет достаточно редкий чтобы о на него закладываться. Для потерь меньшего количества пакетов есть сервис TCP recovery, небольшие пропуски модно получать оттуда.
Наш сервис предназначен в большей степени для получения текущей рыночной информации чем для построения исторических данных. Так например в поток OLR попадают только те заявки которые успели засветиться в стакане, рыночных заявок вне аукционов вы там не найдете.
Дампы записаны за 1,5 часа вещания боевых данных утром. Это просто сетевой дамп сделанные при подписке на инкрементальные потоки. С учетом того что у нас как правило один UDP пакет соответствует одному FAST кодированному сообщению, можно сказать что разбивка присутствует. Там же лежат декодированные версии потоков.
Александр, спасибо за ответ! Если fail потенциально может случиться, он обязательно случится, и не один раз ) Все таки, если данные за промежуток времени утеряны, откуда можно их восстановить? TCP recovery - насколько небольшие пропуски можно из него вытаскивать? И смысл дампов за полтора первых часа не совсем понятен. Если бы там был целый день, как раз получился бы отличный резервный источник данных.
Про TCP можно посмотреть здесь ftp://ftp.moex.com/pub/FAST/ASTS/config/TCP_Replay_Limits.pdf там сейчас ограничения такие: не более 500 сообщений в запросе за раз и не больше 1000 запросов за день.
Он не предназначен для запроса больших интервалов.
Дампы это про другое. Это для разработчиков-тестеров, которые только начинают слушать потоки. Просто чтобы было с чем сравнить.
В плане резерва - у нас два инстанста маркет даты, независимых и параллельных, если один откажет можно переключиться на другой.
В плане распространения исторической рыночной информации у нас есть услуга по ее продаже в виде файлов заявок-сделок, за день. Если это интересно можно обратиться к коллегам из продаж биржевой информации http://moex.com/ru/feedback.aspx они будут рады помочь.
Александр, спасибо! Можете сориентировать, 500 сообщений - это по одному инструменту? И много это или мало (я не работал с биржей через FAST), какому примерно физическому времени работы биржи это соответствует (секунда, минута)? Про историческую информацию из покупных файлов знаю, но это неоперативно - данные доступны на следующий день, когда поезд уже ушел.
Нет, нумерация сообщений в потоке сквозная, так что это по всем изменениям сразу. 500 сообщений это примерно 5-6 секунд валютного рынка с утра, но все конечно зависит от текущей активности .
volokno
Стаж: 7 лет 7 месяцев Откуда: Долгопрудный Сообщений: 62