По просьбе алготрейдера, а так же товарища по несчастью, Александра выкладываю все нижеследующее. Так же параллельно все изложенопо
этой ссылке на форуме TSLab
Уже несколько месяцев борюсь с багами Финама и Транзака. Все было им написано, расписано, данные были переданы. Да, они немного сделали и ликвидировали потерю тиков, почти. Ранее была потеря в тысячи штук, сейчас редко доходит до 100. Все остальные проблемы пока не решены. Дублирование, левые номера сделок и так далее. При всем при этом разработчики этого добра похоже сами и не пробуют тестировать свой софт. Авось прокатит и никто не заметит баги, если они есть. Но не вышло. Так как алгоритмы используемые мной активно используют тиковые данные, стал замечать что сигналы расходятся на двух машинах. Эти компы стоят в соседних комнатах. Было весьма странно. Начали копать данный вопрос. Подключил RA81 и он помог мне разрыть проблему и показать как мой брокер меня разводит. Поскольку требовать исправлений устал, решил выносить сор из избы. Возможно так проблему заметят и решат быстрее.
Для анализа тиковых проблем использовался софт по конвертации бин файлов ТСЛаб в текстовики. Дальше самописная программа сравнивала текстовые файлы и получался результат. Сравнивались данные между двумя компами, и потом они же сравнивались в файлом биржи. Биржевые данные брались с фтп сервера биржи.Были, так же, проверены брокеры АЛОР и ПЛАЗА. Там все чисто и совпадает полностью с биржей (время для алора и плазы не проверялось на совпадение с биржевым).Проверяемый инструмент RIZ4.
Список обнаруженных проблем:
- Расхождения в данных между двумя машинами
- Потеря тиков
- Дублирование тиков
- Кривое время и номер сделки
- В номера сделок RIZ попадают сделки от Лукойла.
- Время отлично от биржевого.
Если нет желания ломать глаза над испорченными картинками (которые смартлаб превращает в нечитаемые) и кривым форматированием, можно все это прочитать в другом месте с хорошим качеством
Расхождения в данных между двумя машинами
Если два компа стоят в одной комнате то результаты полученные от транзака могут быть совершенно разными. Вот пример за 11.11.2014 с двух машин в одной комнате. Как видим разница в числе строк достаточно велика (смотреть последнюю строчку).![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/5e3379.png)
При этом ниже будет показано что на одной машине много дублей (повторения данных), а на другой их нет. При этом число потерянных(есть в биржевых данных но транзак их не прислал) тиков тоже различается на обоих машинах.
Потеря тиков
Суть проблемы в том что часть тиков теряется и не доходит до клиента. Проверялось на нескольких машинах. Сравнивалось все с текстовиком полученным с фтп биржи РТС. Число потерь для Ri доходило до нескольких тысяч. В среднем от 100 до 1000 тиков. После некоторых фиксов со стороны финама стало лучше, но не устранили до конца.
Потеря тиков было проверена по логам транзак коннектора и подтсверждается то, что тики реально не приходили и ТСЛаб их не мог потерять.
Бывает что потеря только одной сделки![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/07d1e8.png)
Еще отличия от биржевой информации имеются.![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/35c8d6.png)
Сравнение тиков производится по трем параметрам: номер сделки, цена и объем. Если все 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 года с другой машины стоящей в той же комнате результат следующий:![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/643dde.png)
Потеряны тики: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
Дублирование тиков
Часть сделок повторяется в файле тиков. Проверка производилась по номерам, цене и объему сделок и было обнаружено что некоторые номера повторяются. Число дублей было меньше чем число потерь, но всегда идет вместе с потерями.![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/c35913.png)
Как видим ниже слева, появилась пачка тиков которые в прошлом уже были и их время и номера говорят о том что они явно не вписываются в текущем месте. Это как раз и есть дубль тики.
Слава богу ТСЛаб отрабатывает дубли нормально и в выдаче пользователю их убирает. Сохраняет все как шлет финам, но потом лишнее ликвидирует. Поэтому данный трабл не сказывается на торговле.
Кривое время и номер сделки
Проблема имеет смешанный характер. Если сравнить два источника с разных компов, то видим что попадаются места где часть параметров тика не совпадает с параметрами другой машины. Пример на картинке
Видно что порядоковый номер тика совпадает, НО время тика справа неожиданно большое и не вписывается. При этом миллисекунды совпадают а вот секунды нет. При этом так же отличается номер сделки. Все остальные параметры совпадают. Значит проблема в кривых данных по времени и номеру сделки.
Так же попадаются варианты где кривой ТОЛЬКО номер сделки, а время при этом нормальное.![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/6c92d3.png)
В номера сделок RIZ попадают сделки от Лукойла.
У нас есть проблемный тик. Он тупо не вписался в порядок. Имеет номер и время выбивающееся из общей массы.
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/57ec40.png)
Проверяем через тупой скрипт тслаба результат для проблемного тика
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/9d9127.png)
Как видим время и номер совпадают. То есть в бинарнике тслаба ТОЧНО записано такое же время какое записано в текстовике, который получили из бинарника. Конвертер бинарных файлов не тупит и работает верно.
Если вытащим из тслаба предыдущий тик и последующий, дабы проверить правильный ли порядок тиков нам дает ТСЛаб, а то может быть он их тоже неверно нам выдает?
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/ecfc5a.png)
Ниже из лога транзака видим что тик 970713563 есть (сей тик расположен в бинарном файле аккурат перед 638), и время его совпадает. То есть ТСЛаб честно попытался отсортировать то барахло что нам прислал транзак и выдает пользователю уже в отсортированном виде! Порядок выдачи ВЕРНЫЙ.
Посмотрим теперь в логи от транзаковского коннектора Финама. Как известно коннектор полностью отвечает за передачу данных, и даже Ведет свой лог файл. ТСлаб тут не имеет отношения.Видим сначала 563 тик.
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/09d058.png)
Далее видим даже по времени получения инфы что пришел 638 тик. Между 563 и 638 НЕ было никаких данных. Время тоже видим совпадает с временем из бинарного файла на картинке выше.
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/816c56.png)
Таким образом ТСЛаб честно записал все то, что пришло от Транзака в том же совершенно порядке. Все сохранил в бинарник.
Далее смотри файл с фтп биржи со сделками за этот день и что видим???![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/824a7c.png)
638 сделка вообще не по RIZ4 а по LKZ4 прошла. То есть совсем по другому инструменту. При этом так же видим что предыдущая от 638 по RIZ4 была 632 сделка, а последующей была 659. То есть ТСЛаб нам сделки, выше на картинке, выводил правильно! В правильном порядке, в том в котором сделки совершались на бирже. Только вот 638 сделка была по другому инструменту и ВРЕМЯ у нее другое для Лукойла судя по файлу биржи. Но ТСлаб об этом знать не мог.
При этом наблюдаем что на другой машине как раз сделка пришла правильная и номер ее попадает в общий порядок![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/802e0e.png)
Так что еще раз видим отличие получаемых данных на одной машине и на другой. Что очень здорово.
Время сделки отлично от биржевого.
Посмотрим на сделки возле выделенной. Одну сверху и одну снизу. Это взято из файла тслаба. То есть это то что нам прислал Транзак. В том же порядке.![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/83e6df.png)
Теперь эти же сделки но уже в файле от биржи. ВРЕМЯ НЕ СОВПАДАЕТ! Так же смотрим другие сделки ниже по тексту. Тоже самое. Время отличается.![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/470ec4.png)
Финам не может транслировать время сделки без искажения? Что еще он искажает?
Для доп проверки взял случайную сделку. Сравниваю информацию из бинарников ТСлаба и файл биржи![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/29e7df.png)
Как видим время отличается. Лезу в лог Транзака чтобы проверить какое пришло время сделки
![Финам превращается в кухню? Финам превращается в кухню?](/uploads/images/01/42/22/2014/11/18/d13011.png)
То есть финам прислал именно то время которое в бинарниках ТСлаба, НО оно отлично от времени биржи.
пиши в поддержу!
да, тоже столкнулась.
Клиентская поддержка объяснила это с детской непосредственностью в голосе, что при выставлении заявки она срабатывает сразу, потому что берется рыночная цена покупки (продажи). Я не нашлась что ответить от такой наглости
в любом случае здесь это выкладывать бесполезно — обращайтесь в поддержку и меняйте брокера..
Пост лишь средство обратить ВНИМАНИЕ БОЛЬШИХ дядь на проблемы МАЛЕНЬКИХ алготрейдеров. Не более того. Стандартные методы не помогли. Возможно так.
Какая такая мегафишка есть у финама, что бы быть с ними.
После их выкидонов с изменением комиссии задним числом и втихаря в 2009 году с ними ни один приличный человек не должен иметь дел.
А тут такие косяки, а от них — ноль на массу.
В случае чего? Какие варианты? Для чего ездить? Я этой географической привязки вообще не понимаю.
У меня брокер — американский, в США сидят. И что теперь? Повеситься и не торговать через них?
Блин, вроде бы в 21 веке живем, а критерии отбора — 18 век:
«Мне до уездного города 25 верст на бричке трястись.
Открою ка я лучше в деревне под боком».
Конечно вопрос требует решения, тут вы правы.
Думаю не на одну поездку .:-)
Ищите брокера, с которым все можно решить удаленно. Думаю в России такие есть.
Не все вопросы решаются удаленно. К сожалению. Поэтому вот пока есть проблемы с этим. Если будет везде цифровая подпись тогда думаю как то можно будет.
А Вам амеры все удаленно открыли? Тоже хочу бежать из финама, но пока не определилась куда
ра81, не хотите менять- оставайтесь. Или вы думаете, что статья на смарталбе прошибет руководство финама до холодного пота?)
Вот попытка потребовать немного сервиса :)
зависит от вашего желания требовать.
У меня его ноль- мир полон других брокеров.
Благодаря неравнодушным однофорумчанам они находятся легко и быстро)
Чего и вам желаю)
1. продолжать биться об эту стену
2. перейти на плазу
Если вы торгуете на тиках и вам нужны точные данные, то вариант только один и любая дополнительная прокладка будет только создавать доп. проблемы.
Ждать что большие дяди решат ваши проблемы — это перекладывание ответственности на чужие плечи. Да, софт глючный, да, лениво все переписывать под новую платформу, но нужно засучить рукава и просто сделать это.
думаю что такого сервиса нет, потому что MOEX не позволяет бесплатно транслировать биржевые данные кроме как в торговые терминалы. У MOEX копирайт на каждый тик.
Насчет квалификации трейдеров вообще не согласен. Мои наблюдения показывают что только на CЛ очень много очень умных и очень квалифицированных системных трейдеров. Но, по понятным причинам, они большую часть времени пребывают в режиме readonly. Но они все здесь. Да, да. Прямо здесь и сейчас :)
У Вас в том примере не пропуск тика в правом, а дублирование тика в левом, судя по IDtraid и по сравнению с моей БД из Квика.
В указанных местах квико-финамовские данные соответствуют квико-нефинамовским.
Походу это косяк Транзака, про кухню — это перебор, ИМХО.
Техподдержка финама отказывается комментировать, отсылая меня к «корректному просмотру портфеля».
А вы тут с тиками!
Финам кидалово.
нет слов(
кухня на кухне и кухней погоняет…
Так что скандалы помогают дать пинка иногда тем кто не хочет ничего делать.