По просьбе алготрейдера, а так же товарища по несчастью, Александра выкладываю все нижеследующее. Так же параллельно все изложенопо
этой ссылке на форуме TSLab
Уже несколько месяцев борюсь с багами Финама и Транзака. Все было им написано, расписано, данные были переданы. Да, они немного сделали и ликвидировали потерю тиков, почти. Ранее была потеря в тысячи штук, сейчас редко доходит до 100. Все остальные проблемы пока не решены. Дублирование, левые номера сделок и так далее. При всем при этом разработчики этого добра похоже сами и не пробуют тестировать свой софт. Авось прокатит и никто не заметит баги, если они есть. Но не вышло. Так как алгоритмы используемые мной активно используют тиковые данные, стал замечать что сигналы расходятся на двух машинах. Эти компы стоят в соседних комнатах. Было весьма странно. Начали копать данный вопрос. Подключил RA81 и он помог мне разрыть проблему и показать как мой брокер меня разводит. Поскольку требовать исправлений устал, решил выносить сор из избы. Возможно так проблему заметят и решат быстрее.
Для анализа тиковых проблем использовался
софт по конвертации бин файлов ТСЛаб в текстовики. Дальше самописная программа сравнивала текстовые файлы и получался результат. Сравнивались данные между двумя компами, и потом они же сравнивались в файлом биржи. Биржевые данные брались с
фтп сервера биржи.Были, так же, проверены брокеры АЛОР и ПЛАЗА. Там все чисто и совпадает полностью с биржей (время для алора и плазы не проверялось на совпадение с биржевым).Проверяемый инструмент RIZ4.
Список обнаруженных проблем:
- Расхождения в данных между двумя машинами
- Потеря тиков
- Дублирование тиков
- Кривое время и номер сделки
- В номера сделок RIZ попадают сделки от Лукойла.
- Время отлично от биржевого.
Если нет желания ломать глаза над испорченными картинками (которые смартлаб превращает в нечитаемые) и кривым форматированием, можно все это прочитать в другом месте с хорошим качеством
Расхождения в данных между двумя машинами
Если два компа стоят в одной комнате то результаты полученные от транзака могут быть совершенно разными. Вот пример за 11.11.2014 с двух машин в одной комнате. Как видим разница в числе строк достаточно велика (смотреть последнюю строчку).
При этом ниже будет показано что на одной машине много дублей (повторения данных), а на другой их нет. При этом число потерянных(есть в биржевых данных но транзак их не прислал) тиков тоже различается на обоих машинах.
Потеря тиков
Суть проблемы в том что часть тиков теряется и не доходит до клиента. Проверялось на нескольких машинах. Сравнивалось все с текстовиком полученным с фтп биржи РТС. Число потерь для Ri доходило до нескольких тысяч. В среднем от 100 до 1000 тиков. После некоторых фиксов со стороны финама стало лучше, но не устранили до конца.
Потеря тиков было проверена по логам транзак коннектора и подтсверждается то, что тики реально не приходили и ТСЛаб их не мог потерять.
Бывает что потеря только одной сделки
Еще отличия от биржевой информации имеются.
Сравнение тиков производится по трем параметрам: номер сделки, цена и объем. Если все 3 совпали, тогда сделки считаются идентичными. Время не используется, так как с миллисекундами у транзака были проблемы, как увидим ниже.
Лишних продублированных тиков целых 628.
Были потеряны:Id:970581134; Price:103450; Volume:1; Date:2014-11-11 10:00:00.000Id:970828687; Price:103150; Volume:1; Date:2014-11-11 12:06:37.007Id:970936123; Price:102920; Volume:1; Date:2014-11-11 13:08:33.137Id:970938231; Price:102970; Volume:1; Date:2014-11-11 13:09:02.060
За этот же день за 11 ноября 2014 года с другой машины стоящей в той же комнате результат следующий:
Потеряны тики:Id:970581134; Price:103450; Volume:1; Date:2014-11-11 10:00:00.000Id:970713564; Price:103720; Volume:1; Date:2014-11-11 11:02:29.857Id:970736109; Price:103840; Volume:1; Date:2014-11-11 11:11:21.443Id:970829358; Price:103180; Volume:4; Date:2014-11-11 12:07:01.583Id:970852703; Price:102990; Volume:1; Date:2014-11-11 12:15:59.397Id:971104243; Price:103170; Volume:1; Date:2014-11-11 14:51:26.823Id:971155754; Price:102330; Volume:1; Date:2014-11-11 15:24:38.530Id:971165279; Price:101980; Volume:10; Date:2014-11-11 15:26:55.640Id:971265256; Price:102480; Volume:2; Date:2014-11-11 16:11:33.717Id:971481847; Price:102430; Volume:3; Date:2014-11-11 17:51:26.330
Дублирование тиков
Часть сделок повторяется в файле тиков. Проверка производилась по номерам, цене и объему сделок и было обнаружено что некоторые номера повторяются. Число дублей было меньше чем число потерь, но всегда идет вместе с потерями.
Как видим ниже слева, появилась пачка тиков которые в прошлом уже были и их время и номера говорят о том что они явно не вписываются в текущем месте. Это как раз и есть дубль тики.
Слава богу ТСЛаб отрабатывает дубли нормально и в выдаче пользователю их убирает. Сохраняет все как шлет финам, но потом лишнее ликвидирует. Поэтому данный трабл не сказывается на торговле.
Кривое время и номер сделки
Проблема имеет смешанный характер. Если сравнить два источника с разных компов, то видим что попадаются места где часть параметров тика не совпадает с параметрами другой машины. Пример на картинке
Видно что порядоковый номер тика совпадает, НО время тика справа неожиданно большое и не вписывается. При этом миллисекунды совпадают а вот секунды нет. При этом так же отличается номер сделки. Все остальные параметры совпадают. Значит проблема в кривых данных по времени и номеру сделки.
Так же попадаются варианты где кривой ТОЛЬКО номер сделки, а время при этом нормальное.
В номера сделок RIZ попадают сделки от Лукойла.
У нас есть проблемный тик. Он тупо не вписался в порядок. Имеет номер и время выбивающееся из общей массы.
Проверяем через тупой скрипт тслаба результат для проблемного тика
Как видим время и номер совпадают. То есть в бинарнике тслаба ТОЧНО записано такое же время какое записано в текстовике, который получили из бинарника. Конвертер бинарных файлов не тупит и работает верно.
Если вытащим из тслаба предыдущий тик и последующий, дабы проверить правильный ли порядок тиков нам дает ТСЛаб, а то может быть он их тоже неверно нам выдает?
Ниже из лога транзака видим что тик 970713563 есть (сей тик расположен в бинарном файле аккурат перед 638), и время его совпадает. То есть ТСЛаб честно попытался отсортировать то барахло что нам прислал транзак и выдает пользователю уже в отсортированном виде! Порядок выдачи ВЕРНЫЙ.
Посмотрим теперь в логи от транзаковского коннектора Финама. Как известно коннектор полностью отвечает за передачу данных, и даже Ведет свой лог файл. ТСлаб тут не имеет отношения.Видим сначала 563 тик.
Далее видим даже по времени получения инфы что пришел 638 тик. Между 563 и 638 НЕ было никаких данных. Время тоже видим совпадает с временем из бинарного файла на картинке выше.
Таким образом ТСЛаб честно записал все то, что пришло от Транзака в том же совершенно порядке. Все сохранил в бинарник.
Далее смотри файл с фтп биржи со сделками за этот день и что видим???
638 сделка вообще не по RIZ4 а по LKZ4 прошла. То есть совсем по другому инструменту. При этом так же видим что предыдущая от 638 по RIZ4 была 632 сделка, а последующей была 659. То есть ТСЛаб нам сделки, выше на картинке, выводил правильно! В правильном порядке, в том в котором сделки совершались на бирже. Только вот 638 сделка была по другому инструменту и ВРЕМЯ у нее другое для Лукойла судя по файлу биржи. Но ТСлаб об этом знать не мог.
При этом наблюдаем что на другой машине как раз сделка пришла правильная и номер ее попадает в общий порядок
Так что еще раз видим отличие получаемых данных на одной машине и на другой. Что очень здорово.
Время сделки отлично от биржевого.
Посмотрим на сделки возле выделенной. Одну сверху и одну снизу. Это взято из файла тслаба. То есть это то что нам прислал Транзак. В том же порядке.
Теперь эти же сделки но уже в файле от биржи. ВРЕМЯ НЕ СОВПАДАЕТ! Так же смотрим другие сделки ниже по тексту. Тоже самое. Время отличается.
Финам не может транслировать время сделки без искажения? Что еще он искажает?
Для доп проверки взял случайную сделку. Сравниваю информацию из бинарников ТСлаба и файл биржи
Как видим время отличается. Лезу в лог Транзака чтобы проверить какое пришло время сделки
То есть финам прислал именно то время которое в бинарниках ТСлаба, НО оно отлично от времени биржи.
пиши в поддержу!
да, тоже столкнулась.
Клиентская поддержка объяснила это с детской непосредственностью в голосе, что при выставлении заявки она срабатывает сразу, потому что берется рыночная цена покупки (продажи). Я не нашлась что ответить от такой наглости
в любом случае здесь это выкладывать бесполезно — обращайтесь в поддержку и меняйте брокера..
Пост лишь средство обратить ВНИМАНИЕ БОЛЬШИХ дядь на проблемы МАЛЕНЬКИХ алготрейдеров. Не более того. Стандартные методы не помогли. Возможно так.
Какая такая мегафишка есть у финама, что бы быть с ними.
После их выкидонов с изменением комиссии задним числом и втихаря в 2009 году с ними ни один приличный человек не должен иметь дел.
А тут такие косяки, а от них — ноль на массу.
В случае чего? Какие варианты? Для чего ездить? Я этой географической привязки вообще не понимаю.
У меня брокер — американский, в США сидят. И что теперь? Повеситься и не торговать через них?
Блин, вроде бы в 21 веке живем, а критерии отбора — 18 век:
«Мне до уездного города 25 верст на бричке трястись.
Открою ка я лучше в деревне под боком».
Конечно вопрос требует решения, тут вы правы.
Думаю не на одну поездку .:-)
Ищите брокера, с которым все можно решить удаленно. Думаю в России такие есть.
Не все вопросы решаются удаленно. К сожалению. Поэтому вот пока есть проблемы с этим. Если будет везде цифровая подпись тогда думаю как то можно будет.
А Вам амеры все удаленно открыли? Тоже хочу бежать из финама, но пока не определилась куда
ра81, не хотите менять- оставайтесь. Или вы думаете, что статья на смарталбе прошибет руководство финама до холодного пота?)
Вот попытка потребовать немного сервиса :)
зависит от вашего желания требовать.
У меня его ноль- мир полон других брокеров.
Благодаря неравнодушным однофорумчанам они находятся легко и быстро)
Чего и вам желаю)
1. продолжать биться об эту стену
2. перейти на плазу
Если вы торгуете на тиках и вам нужны точные данные, то вариант только один и любая дополнительная прокладка будет только создавать доп. проблемы.
Ждать что большие дяди решат ваши проблемы — это перекладывание ответственности на чужие плечи. Да, софт глючный, да, лениво все переписывать под новую платформу, но нужно засучить рукава и просто сделать это.
думаю что такого сервиса нет, потому что MOEX не позволяет бесплатно транслировать биржевые данные кроме как в торговые терминалы. У MOEX копирайт на каждый тик.
Насчет квалификации трейдеров вообще не согласен. Мои наблюдения показывают что только на CЛ очень много очень умных и очень квалифицированных системных трейдеров. Но, по понятным причинам, они большую часть времени пребывают в режиме readonly. Но они все здесь. Да, да. Прямо здесь и сейчас :)
У Вас в том примере не пропуск тика в правом, а дублирование тика в левом, судя по IDtraid и по сравнению с моей БД из Квика.
В указанных местах квико-финамовские данные соответствуют квико-нефинамовским.
Походу это косяк Транзака, про кухню — это перебор, ИМХО.
Техподдержка финама отказывается комментировать, отсылая меня к «корректному просмотру портфеля».
А вы тут с тиками!
Финам кидалово.
нет слов(
кухня на кухне и кухней погоняет…
Так что скандалы помогают дать пинка иногда тем кто не хочет ничего делать.