Блог им. AleksandrBaryshnikov

Второй раз на те же грабли - Тиньков

    • 21 сентября 2023, 20:27
    • |
    • bascomo
  • Еще
Из тех, с кем мы сбились в стаю, у всех счета в Тинькове. У большинства ИИСы, конечно.

Один раз я уже наступил в этого брокера.

Сейчас я вынужденно портировал решение на него, поскольку все мои интересанты — там.
Нужно было сделать торговлю на TQBR через него.

Результаты не соответствовали ожиданиям и были хуже.
Я стал исследовать вопрос.

Оказалось, что у вышеназванного брокера существенные проблемы с качеством данных, а именно — ценовые данные свечей Тинькова не соответствуют рынку. Объективно говоря, автоматизированно я проверил, что они не соответствуют Финаму. Но выборочно проверил вручную, что там отображается в tradingview. Так вот, tradingview соответствует Финаму. А данные Тинькова — это параллельная вселенная.

Вот вам детали по Сберу (37 свечей не совпадают с рынком за период 06.09.23 — 21.09.23):
Второй раз на те же грабли - Тиньков
Расшифровка:
  • инструмент (Сбер)
  • свеча от Тинькова — дата-время, OHLC
  • свеча от Финама, дата-время, OHLC
Видно, что то цена открытия свечи, то цена её закрытия не соответствует рынку.
Кто хочет проверить — можете поупражняться.

Кажется, что это немного и не существенно, по факту — это кот в мешке.
Тренируя свои алгоритмы на правильных ценовых данных, а потом, напустив их на котировки от Тинькова, получаешь неожиданный и непредсказуемый результат.

В голову даже закрадываются крамольные мысли — а что, если они подрисовывают свечи, для улучшения своих показателей? Это бредовая, конечно, фантазия, там масса инвесторов-спекулянтов-частников, думаю, что такое бы вскрылось. Но, чтобы это реально проверить — нужно торговать очень большими объёмами, и я про число и интенсивность сделок, а не про размер позиций. И, конечно, про торговлю «по рынку».

Потому что если за этим стоят всего лишь криворукие разработчики, которые не могут элементарно определить границы минутного таймфрейма, и сделки, в него входящие, то это фиаско, которое не снилось даже самому Тинькову. Таким надо поотрывать руки, чтобы больше такого кода не писали, но, очень может быть, что и головы. Почему? Ну не видел я такого позора ни у одного брокера больше, ни у ВТБ, ни у Алора, ни у Финама.

К чему, в итоге, это приводит?

А вот, к чему.
Обратите внимание на строки на скриншоте ниже.
Видно, что когда исторические данные совпадают, алгоритм открывает и закрывает позиции по ценовым данным от двух брокеров синхронно. Что логично. 21 строка = 22, 23=24, 25=26, а потом, на 27/28 — некорректные цены в свече. И мы получаем чёрного лебедя, и так несколько раз за торговую сессию. Тут пример не очень показателен, как кажется. Но не нужно думать, что разница из-за неправильных входов и выходов всегда в пользу трейдера. И, что важнее, торговая система становится непредсказуемой.

Второй раз на те же грабли - Тиньков

Выводы: если вы — алготрейдер, то не торгуйте с Тиньковым.
Если вы не алготрейдер — то тоже не торгуйте с Тиньковым.
Неизвестно, где у них там ещё какие мины в продуктивном коде их систем заложены.
Может, и в из банке обслуживаться тоже не нужно.
Если они свечку посчитать не могут правильно, что же об остальном…
89 комментариев
короче, если вы не теньков не торгуйте в тинькове.
avatar
Владимир Ш., а если Тиньков — тоже.
avatar
Dan Priwalow,  ну не знаю ..  со своим бы родственничком  возможно договорился на проценты по правилам
avatar
Владимир Ш., так там уже давно Потанинькофф, а он не шибко жалует своих родичей.
avatar
Dan Priwalow, олежек сам торговать не будет — найдет пару умников со смартлабика.
avatar
Тиньковбанк, это же просто сайт в интернете?
avatar
358234, Многие Вам возразят: «Это удобно!».
Люди забывают, что банк это не про удобство, а про надёжность и сохранность (пусть даже с налетом консерватизма), а также возможность прийти и разобраться с проблемой в офисе.
avatar
Выводы: если вы — алготрейдер, то не торгуйте с Тиньковым.
Спросил бы у коллег, знал бы правильный ответ ДО.
Дмитрий Овчинников, я и так его знал. Я же написал, что это второй заход. Мне нужно было оценить существенность. Существенность такова, что использовать ценовые данные этого брокера для моего случая неприемлемо. Приказы отправлять через них, возможно, будет нормально.
avatar
Может стоит подписаться на трейды и самому строить свечки. Заодно можно будет сравнивать свои свечки с брокерскими.
avatar
Sprite, не стоит. 25 лет опыта мне об этом говорят.
В данном случае лучше поменять брокера. По крайней мере, с точки зрения ценовых данных.
avatar
bascomo, свечные данные из Квика раньше часто оказывались некорректными у разных брокеров. Поскольку я давно уже их не использую и не знаю, что сейчас (думаю, ничего не изменилось), то посоветовал бы для начала попробовать брать тиковые данные с ODBC с квика и строить свечи самому. Поверьте, это просто. Тем более, что Вы в ладах с базами. Или освоить Луа. 
А менять брокера на ИИС — дело заморочное. 

avatar
За последние полгода не раз видел на графике в Квике шпильки, которых на следующий день уже не было.
avatar
John Smith, ну делайте как хотите, кто против-то. Набежала секта квиковцев. Давайте пусть каждый торгует, как ему хочется.
avatar
При чем тут секта, если скорость выставления заявок можно элементарно замерить?
avatar
John Smith, не люблю квик, а меня всё время им тыкают. За что??
avatar
bascomo, потому что квик де-факто стандарт отрасли. Причем бесплатный. Большинство конкурентов за пределы компании — разраба не вышли. 
Было дело, работал в компании, где были свои коннекторы к бирже и даже свой сервер в коллокации. Дорого, и для моих систем особого плюса скорость получения данных и исполнения не приносила. 
Тогда я сделал вывод, что все скоростные доступы — это для ХФТ-подобных систем. А иначе овчинка выделки не стоит. 
Понятно, что приятно было бы использовать что-то более высокого уровня, чем квик. Но ничего подходящего пока у нас нет.
avatar
На фонде свыше 100 000 заявок за сессию берется допкомиссия 0,1 р. за заявку, включая первые 100 000. Там так нахфтить можно, что глазом не успеешь моргнуть, как без трусов останешься.
avatar

bascomo, добра вам желают. Vendor lock — неприятная штука, дополнительный риск. Ну и предубеждения пользы не приносят.

 

Против тинька предубеждений кстати куда больше. В определенных кругах он вообще имеет статус «брокер для домохозяек». Кривой софт, хуцпа-тарифы, концентрация на клиентах, которые биржу как казино используют.

avatar
Кирилл Гудков, из благих побуждений люди совершают самые ужасные поступки. 
avatar
SergeyJu, я тоже именно так и собираю. Через ODBC. Что торгую, то и храню для исторических тестов. А что собирают другие брокеры и сервисы и по каким алгоритмам мне не интересно.
avatar
T-800, я поднимаю архивы с биржи или с финама, если хочу взять в работу новый для меня актив. 
avatar
SergeyJu, я сделал загрузчик с Финама. Изначально я загружаю историю за прошлые годы оттуда в таблицу в MsAccess. А дальнейшую историю пишу роботом из данных квика.
Сейчас пошел дальше и из загрузчика котировок сделал другую программу — архив котировок. Скачиваю за последние 10 лет минутки с Финама (весь ликвидный Фортс, Фондовую 1-2й эшелон, Валютную сессию) в стандартном финамовском текстовом формате, а потом из этих файлов конвертирую в любой таймфрейм любые периоды. 
avatar
T-800, у меня похоже, только автоматом грузит родственник. Он лучше меня в базах и работе в интернетах шарит. А я, если надо, один актив и ручками возьму. Там или на яхе.
avatar
SergeyJu, обсчитывать свечки из тиков самому так себе идея, если у тебя 50 инструментов. А если начнутся резкие рыночные движения, то всё просто повиснет. Там просто ддос атака со стороны потоковых данных от брокера начнётся 
avatar
bascomo, ни в каком нормальном ЯВУ не повиснет, даже в устаревшем бейсике, в си шарпе летает все со свистом. В опенкванте летало. Я не знаю, через какую жопу надо писать систему реального времени, чтобы поток в несколько тысяч строк в секунду не обработать. 
avatar
У меня робот на lua работает в 1,5 тыс. стаканов одновременно, не напрягаясь. Даже на открытии торгов трафик не превышает 3 Мбита/с, и загрузку процессора квиком больше 15% не видел. Причем поток lua не больше половины от этих 15%. А lua в квике без jit'а, оптимизированный машинный код на пару порядков выстрее будет.
avatar
bascomo, в любом случае должен быть достоверный источник тиковых данных. 
Тем более не понятно, зачем всем квик, чтобы  тиковые данные снимать достаточно  одного источника. Хотя бы любой коннектор биржи. 
avatar
SergeyJu, достоверный — только биржа. Не только лишь каждый может себе позволить. Да и биржа, временами, не авторитет.
avatar
bascomo, проблем с ОДВС квика не встречал, если только у самого брокера или биржи были траблы. 
avatar
SergeyJu, цель заключается в прибыльности торговой системы. Остальное — издержки. Квик — большая издержка, на мой взгляд. Есть варианты подешевле.
avatar
bascomo, и в чем издержки, не поделитесь? Я знаю только о задержках, но технически от них несложно избавиться, что как раз и будет стоить денег.
avatar
SergeyJu, ну как будет выглядеть архитектура? Поставь квик, настрой его по инструментам, потом базу положи, одбс настрой, к базе подключись и вот это всё. Непрофессионально. Это дендрофекальная поделка получится. 
avatar
bascomo, пользоваться поделками от тинька и не понимать, как они устроены — это точно профессионально? 
avatar
bascomo, 
Я тоже лет 20 думал, что «ну уж на самой бирже-то маркет дата не может быть неправильная». Пока не произошел один странный случай. Попался въедливый клиент, он жаловался на нерыночное исполнения приказа, и я решил разобраться. Что-то МД квика не совпадала с логами от нашего маркет мейкера. И тогда я запросил лог маркет даты от биржи. В итоге, что произошло, установить мне так и не удалось. Но появились подозрения, что тиковые данные от биржи приходят, ну точнее, могут приходить, как попало. Все, что внутри микросекунд, может приходить не в том порядке, в котором реально прошли сделки. Либо, такие сделки мэтчатся не порядке поступления ордеров. Почему тиковая МД может быть разная у разных брокеров, есть предположения, возможно, в этом тоже виноваты @Moscow_Exchange и @SPB_Exchange. Я проще поступил — отключил всем тиковый поток :) К счастью, он мало кому нужен.
avatar
Market Mover, в пределах одного биржевого такта порядок выгрузки раньше нарушался. Сейчас не знаю. Но, поскольку я все равно сворачиваю тики в свечи, это не имеет значения. А вот уже свои минутные свечи я сравнивал (тоже давненько, лень повторять) с финамовскими и БКС. Различия были редкими и несущественными. Причем хуже всех тогда были БКСовские данные, а с Финамом у меня было почти полное тождество. А последние годы  вообще  различий не видел. На БКС не смотрю. 
Поскольку весь текущий архив формируется самостоятельно, отличия, даже если есть,  не имеют значения.  
avatar
SergeyJu, 
Когда программировали первого бота, который к бирже коннектился, лет 10 — 12 назад, тоже чюдеса находили. С первого же дня все пошло не так. То свеча за 1899 год — ну так с биржи прилетело — то еще разные баги. Недели две наверное ушло на отладку процесса и пришлось вставить кучу костылей. Тогда пришло понимание, что люди, которые пишут коннекторы, хлеб едят не зря: с виду все просто, внутри — сходу не разберешься. Один раз вообще попался феерический баг у обработчика FIXовых транзакций (биржа как всегда ответила, что это не баг, а фича).
Чем меньше операций делает брокер и ближе к биржевому ДЦ — тем ниже вероятность сбоя МД. Когда много транзакций, банально, может буфер какой-нибудь переполниться и т.п.    
avatar
Market Mover, так если свеча за 1899 год — может, это исторические данные были?)) 
avatar
SergeyJu, ну вот и ответ на вопрос. Свечи брать от Финама, а приказы отправлять через кого угодно
avatar
bascomo, свечи надо самому рассчитывать. А от финама брать архив по тем временам и инструментам, когда свой архив не вел. Или с биржи брать, там, правда, надо чуток приплатить, было дело и приплачивал. И если потребуется что-то, скажем, не веду архив по опционам, по джанк бондам, то придется, если потребуется, брать чужое.
avatar
Market Mover, да уж, а кому нужен, тем лучше колокация на бирже
avatar
Market Mover, если ситуация на фортсе, ордера мэтчатся не в строгом порядке поступления. 
Учитывая, что тинек позволяет проводить сделки с акциями в выходные (!!!!) когда биржа собсно не работает — вывод о «кухонности» брокерского процесса однозначен. Поэтому и удивляться несоответствию данных не стоит.
avatar
Небыстрый Квик в 10+ раз быстрее тиньковского API.
avatar
John Smith, ну не знаю, вопрос в ручках и голове, которые код пишут. Попробуйте ленту обезличенных сделок по сотне инструментов получить в квик, в гуи потоке
avatar
bascomo, а что, в тинькофф-апи это работает что-ли? И это реально нужно для торгов на минутках?
avatar
bascomo, лента всех сделок фондовой секции в квике пишется в базу с легкостью необыкновенной. 
avatar
Это ответ на какое мое сообщение?
avatar
Мне кажется вы не разобрались в вопросе. Торгуя через Тинькофф, сделки могут не выходить на биржу.

У них свой стакан идет в приоритете. Грубо говоря они не выводят на биржу сделку если торгуют их клиенты. В этом нет смысла. 
avatar
Denis Stelmak, а внутренний клиринг клиентов у брокера вообще допустим? Или тинькодрочеры подписывают какую-нибудь все разрешающую бумагу? 
avatar
SergeyJu, эммм так ты торгуешь Т+1. Все сделки проходят завтра. А внутри дня можно ничего не делать. 
avatar
Denis Stelmak, не надо путать сами сделки и расчеты по сделкам. Тем более, что много лет на ММВБ бействовала только система поставки против платежа, а эту американскую архаику с отсроченными расчетами ввели сравнительно недавно, сволочи.

avatar
Что такое свой стакан? У них кухня, что ли?
avatar
John Smith, частично :)
avatar
У них об этом в регламенте написано?
avatar
Denis Stelmak, но не может же быть такого, что они подменяют биржу, то есть, дают цену, менее выгодную, чем дала бы биржа? Или это вопрос контроля от ЦБ?
avatar
Это из-за исполнения сделок внутри брокера, не вывод сделок на биржу?
avatar
destr, Да именно так. 
avatar
destr, не понятно, почему экономия денег считается чем-то негативным. Если у тебя клиенты друг у друга покупают, зачем тебе еще и мосбирже платить? 
avatar
Denis Stelmak, Вы с какой стороны прилавка? Главное, из-за чего не любят клиринг внутри брокера, это возможность жульничать для брокера или его доверенных лиц и задержка в реальном исполнении в попытке выиграть у клиента что-то в ожидании выгодной встречки. 
avatar
Denis Stelmak, ну вы думайте, думайте, зачем эта сказка брокеру
avatar

Здравствуйте.

Проверим информацию по вашему вопросу и вернемся с ответом.

Тинькофф Инвестиции, для того и написал этот пост
avatar
bascomo, 

Особенность наших графиков в том, что мы строим их по Last price и Close price. 

Санкт-Петербургская и Московская биржи, например, строят графики по индикативным котировкам — ценам в стакане, по которым трейдер готов купить или продать актив.

Мы не обновляем графики, если на бирже нет фактических сделок и показатель Last Price не обновляется. Из-за этого наши графики могут отличаться от графиков бирж.

Не можем прокомментировать, как именно работают системы других брокеров.

Если у вас есть сомнения, что мы строим наши графики неверно, то напишите, пожалуйста, нам в чат. Все детально проверим.

Тинькофф Инвестиции, вообще так никто не делает, кроме вас. OHLCV свечи формируются ценой и объёмом сделок, прошедших в эту свечу. Так делает QUIK, так делает MT5,  так это работает у ВТБ, Алора, Финама, Открытия, БКС, tradingview и так далее. И только у вас по lastprice. Я считаю, что вы вводите, таким образом, людей в заблуждение. Проблема lastprice во времени её получения. Да и потом, на рынке должны быть стандарты. Почему вы решили строить свечи своим, особенным путём? Неясно... 
avatar
bascomo, Интересно, что у вас за алго, который так к этому чувствителен. Мне например нравится этот вариант отображения, понятно, что были ближайшие сделки по этой цене. Плюс в Тинькоффе по факту будет БОЛЬШАЯ ликвидность. 
avatar
bascomo, 
OHLCV свечи формируются ценой и объёмом сделок, прошедших в эту свечу.
Дык они так и говорят. Разницу они обосновывают тем, что биржи строят график цены не по сделкам, а по заявкам в стакане)). Не знаю, так это или нет, но звучит неожиданно… обычно по-дефолту на графиках всегда цены сделок, а не заявок. Иначе это уже график по бид-аскам, а это для широкой публики экзотика.
avatar
Леха «my-trade», по бидам-аскам стоит строить графики на форексе, где просто нет потока сделок, но есть поток котировок. По стандарту на фонде свечи строятся по потоку сделок. Для примера, на не слишком ликвидных фьючах полно пропущенных минут — нет в минуте сделок — свеча не сформирована. А по аскам или бидам она бы построилась. 
avatar
SergeyJu, Ну да… почему тогда Тинькофф пишет такую дичь?
Санкт-Петербургская и Московская биржи, например, строят графики по индикативным котировкам — ценам в стакане, по которым трейдер готов купить или продать актив.

Ценам в стакане!!! А не в ленте сделок. 
По которым трейдер готов купить или продать, а не купил или продал!
avatar
Леха «my-trade», набрали молодых да борзых по объявлению, вот и пишут всякие фантазии, рассчитанные на молодых и не умеющих думать. Тинек — он такой один.
avatar
SergeyJu, только так можно объяснить то, что у них цены облиг в деньгах, а не в процентах. Наняли программистов, которые биржу только на 50руб купюре видели.
avatar
Леха «my-trade», 
все строят графики по last price.
Дмитрий Овчинников, что вы право такое клевещите, вот же саппорт выше сказал, что у всех котиры через жопу, и только в Т они правильные :)))
avatar
Кирилл Гудков, 
прошу пардона :)
Они не подрисовывают свечи, они рисуют реальные свечи, но часть сделок сводят внутри, без вывода на биржу, по этим суммарным своим и биржевым сделкам рисуют свечи, поэтому они не совпадают. Это из той же оперы, как и их внебиржевый Т1. Просто такой вот большой даркпул, по факту — мина под весь биржевый рынок.
avatar
ignat, почему мина под весь рынок? Представляется, что мина поставлена только на клиентов тинька
avatar

SergeyJu, потому что они не нарушают закон. И остальные брокеры захотят внедрить подобное — это лишь вопрос времени. Все это было уже на америке, когда с основных бирж ликвидность сначала растеклась по множеству даркпулов, а сейчас легально продается роутинг заявок клиентов. Робингуд именно на этом зарабатывает — поэтому и комиссий для клиентов нет в отчетах, потому что гораздо более высокие комиссии сидят в ценах сделок. Грабят бедных, отдают богатым )
В конкуренции вроде бы есть плюс — именно кухонный Т1 от Ти заставил Мосбиржу очень быстро внедрить Т1 вместо Т2. Но на перспективу развитие даркпулов ухудшает состояние биржевого рынка и значительно увиличивает риски для участников рынка. Идеальным вариантом было бы три биржи с частичным или полным перекрытием ассортимента по нашему рынку, с единым стандартизированным биржевым апи и с запретом даркпулов.

avatar
ignat, т+1 и т+2 — жуткая архаика. Слизали с запада в конце второго десятилетия существования ММВБ. Сдуру. 
То, что отказались от т+2 в пользу т+1 это хорошо, но мало. 
Если бы была реальная конкуренция, они бы ни за что поставку против платежа не стали гнобить. 
Американская херь, когда брокеры внутри клирингуют клиентов, перепродают поток заявок, и вообще организуют за Ваши деньги кучу неприятностей, говорит не о том, что ТАМ мало конкуренции, а о том, что там регулятор на поводке Уолл-стрит. Впрочем, это не новость. 
avatar
А у Тинькова есть квик? Просто в квике данные с биржи и нет никаких проблем с ними у любого брокера.
avatar
А. Г., мы предоставляем пользователям доступ к нашему терминалу. Сейчас подключить QUIK к нашему сервису не получится.
А. Г., у всех одинаковые данные данные с биржи, но не все одинаково их интерпретируют. 
avatar
Да тине вообще оборзели со своими комиссиями с тем же БКС если сравнивать, а еще сейчас у них шорт до конца года без комиссии 
avatar
Grigorij Egorow, да хоть бы и внутри. Если на бирже цена ниже, а они мне продадут дороже, это же подсудное дело
avatar
У них баги были даже когда просто на свечу наводишь. Должна быть красная, а она зелёная. И наоборот. В мае даже видео заснял
avatar
Умные люди не пользуются Тинькофф. Ни картами, ни инвестициями, вообще ничем.
Сергей Федоренко, умных людей вообще слишком мало в этой вселенной
avatar

теги блога bascomo

....все тэги



UPDONW
Новый дизайн