Т-Инвестиции
Т-Инвестиции Блог компании Т-Инвестиции
20 ноября 2019, 11:48

Клиенты Тинькофф Инвестиций могут участвовать в разработке Open API

В одном из прошлых постов мы писали о том, что у нас появился Open API, в котором можно писать и проверять торговых ботов. Этот функционал полностью бесплатный и находится на сайте Тинькофф Инвестиции Open API.

Напомним, что через Open API алготрейдеры могут:

— выставлять и отменять лимитные заявки;

— через стриминг по стакану, бумагам на бирже и свечам получать информацию о фондовом рынке; 

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

Что добавили?

Теперь у нас появилась поддержка новых языков программирования: официальные SDK — Java, C#, Go, Node.js, неофициальные — Python и PHP.

Клиенты могут предлагать улучшения, задавать вопросы или писать о багах напрямую: разработчики Тинькофф Инвестиций создали репозиторий на github.com. Там они выложили документацию, трекер задач, исходный код и релизы. GitHub — крупнейший веб-сервис для хостинга IT-проектов и их совместной разработки.

Пишите в комментариях или на GitHub свои вопросы или предложения по улучшению сервиса — и разработчики вам ответят. 

23 Комментария
  • Aleksey Smirnoff
    20 ноября 2019, 11:52

    Отлично!

    Вы обещали тариф для алготрейдеров, когда стоит ожидать?

    Хотя бы в этом году или нет? 

      • Aleksey Smirnoff
        20 ноября 2019, 12:02
        Тинькофф Инвестиции, спасибо за ответ, но очень жаль что ни в этом году. Хотел открыть у вас ИИС по типуБ, в этом году пополнить, в январе ещё докинуть, 2М должно хватить для начала. А если вы выкатите тариф в следующем году, то придётся ждать конца следующего года, потому как сайз 1М маловат будет для моих роботов
  • Тимофей Мартынов
    20 ноября 2019, 11:57
    Ограничения есть какие-то в API, например по частоте и количеству запросов, которые можно слать?
    • Андрей К
      20 ноября 2019, 12:01
      Тимофей Мартынов, от куда у тебя такие профессиональные вопросы? =)
    • Андрей К
      20 ноября 2019, 12:06
      Тимофей Мартынов, там у них в доке описание есть. Ограничения есть и серьезные. Все через http, что поделать.
  • Dollar
    20 ноября 2019, 12:08
    Когда появятся фьючи? Это же не серьезно 
    • Князь Тишины
      20 ноября 2019, 12:11
      Dollar, конец 1 квартала 2020. опционы и фьючи
  • Кот Матроскин
    20 ноября 2019, 13:21
    Читал давеча на o-s-a.net пост с обзором вашего АПИ. Советую и вам ознакомиться:
    http://o-s-a.net/posts/roboty-tinkoff-investicii.html
  • Иван Файртрейдов
    20 ноября 2019, 13:59
    Не нашел стриминга собственных сделок в апи
  • rm rm
    20 ноября 2019, 14:47
    QUIK сделайте.
      • Андрей К
        20 ноября 2019, 17:31
        Тинькофф Инвестиции, через web сложновато наверное будет алго подтянуть, которые смогут нагенерить вам комиссий. 

        Скорее всего, лучше в перспективе делать API мимо веб на торговый сервер. Как это делают некоторые единичные броки, в кол-ве штук трех.
      • rm rm
        20 ноября 2019, 18:15
        Тинькофф Инвестиции, я знаю что у вас собственный терминал, но за многие годы на рынке мне, да и думаю многим другим, уже привычен квик, и брокер без него — это не вариант от слова совсем.
  • tashik
    20 ноября 2019, 22:19
    «Щас я очень долго, муторно и с матюками буду описывать все те непристойности которые я увидел в Тинькофф Api. Не подумайте что это хейт просто. Я искренне надеюсь что кто-то из поддержки Тинькофф банка когда-то это всё прочитает и прослезиться. После чего что-то там поменяется. В общем – не обессудьте.

     

    Для алготрейдинга вся эта история пока дно полное. Кроме получасовиков торговать абсолютно и решительно нельзя. 

    Апи – маразматичное и сделано на от… бись. В натуральном смысле этого слова. Люди его делавшие вообще ни разу в жизни робота для трейдинга не видели. И вероятно даже с понятием трейдинга знакомы очень и очень поверхностно. Ибо не знают вообще какие типы данных есть на бирже и как их нужно рассылать.

    Там буквально в некоторых переменные называны «НЁХ», или вроде того. Смешно конечно, но у того что они там слали есть нормальное описание в ядре биржи и в Плазе. Нахрен эту големототу писать.

    Из поточных данных вообще идёт полный шлак. Ордеров нет, моих трейдов нет. Ленты сделок с.ка нет. Есть только стаканы, и то их скачивание ограничено 6стью штуками.

    Время нигде нет!!! программисты!!! Как так у стакана нету таймШтампа. Какого хрена? 

    Ленты сделок(трейды) нет вообще. Т.е. возможности строить свои уникальные свечи нету. Внезапно! Но именно из этих данных строятся свечи в системах анализа сторонних. Вот вы высылаете свои свечки – они нам нахрен так-то не нужны. У нас 10 видов различных свечек и горизонтальные объёмы. Всё это строится из ЛЕНТЫ ВСЕХ СДЕЛОК. Что ж Вы там загуглить не могли какие данные из биржи идут и что может людям понадобиться. Тьфу.

    Короче. Потоковые данные мы полностью зарезали. Брать там нечего. И в ближайший год там всё это будет переделываться несколько раз. Тинькофф это так не оставит. Просто видать сказать некому пока. Ну ладно. Поэтому даже и начинать не стоит. Всё на чём основан наш коннектор – это запросы. Отсюда у нас задержки с получением данных и прочее. Кроме того, построение свечек только по центру стакана и только классика, ибо объёмов никто не знает, т.к. они их не дают. Такие дела.

    В общем – история с АПИ для Тинькофф инвестиций абсолютно вторична и я когда смотрел на итоговый результат по коннектору плакал без остановки несколько часов. Надеюсь они в течении года это дело как-то подхилят и найдут нормального архитектора для Апи.»

    яростно плюсую к каждому слову. Не знаю, до кого дойдет этот комментарий, но… при всей моей любви к Тинькофф Банку апиха эпичный фейл. Прошу прощения. Надеюсь, Вам реально интересно мнение людей, которые были бы вполне не против пользоваться продуктом, но в таком виде им пользоваться нельзя. Расскажите, чем конкретно помочь — поможем, ответим — спрашивайте. Самое критично-первостепенно-нужное — лента сделок, трейды, с временем! с ценами! с объемами! чтобы мы сами могли анализировать временные ряды, так, как это нужно алгоритмам.

    • Алексей Ван <o-s-a.net>
      21 ноября 2019, 08:03
      tashik, В отрыве от контекста это очень страшно звучит. Заставили меня залогиниться на СмартЛабе. ) Страшное дело.
      Защищать парней из Тинькова от самого себя.
      В общем, история такая. Делали для них подключение в своём терминале. Кое-что понравилось, кое-что нет. Понравилось всё что сделано для людей обычных. Всё что сделано для программистов совсем не понравилось.
      По стеку:
      Rest и WebSocket это практически новый стандарт международный. Почти все биржи криптовалют на нём. Скорость хорошая, доступ из любой платформы. Поддерживать кучу реализаций не надо. В общем — стек для стандартного АПИ правильный и современный. Но саму реализацию АПИ надо переделывать почти целиком.

      Проблемы в поточных сервисах в основном, которых нет по сути. 
      1) Нужен поток «MyOrdersChange», «MyTrades», «Trades»
      2) Рассылку стаканов надо переделывать. Добавить таймШтамп. Убрать ограничение в 6сть штук. Подписка пачкой. Рассылать не весь срез стакана, а «Срез целиком» + дальше «изменение строк по ценам». Это облегчит эти потоки без ограничения.
      3) Сделать возможность высылать ордера через WebSocket тоже уже со стороны внешней торговой системы в ядро Апи. Им уже. Это снизит нагрузку на Rest в момент если кто-то захочет чего-то котировать через Вас и не придётся вводить ограничения на работу по Rest.

      Референсы такие разработчикам:
      SmartCom Api — берём таблицы данных. Там и фьючи и спот уже реализованы. Всё прилично и всего хватает. Описание прекрасное у таблиц данных. Всё разжевано. Откуда, зачем и куда. И какого типа.
      Binance Api — вёбСокеты, общая реализация общения.
      Plaza 2 — работа со стаканом. То про что я писал Выше. Сначала весь + потом изменения строк. Это снизит нагрузку на потоковые сервисы и даст алготрейдерам весь спектр рынка. 
      LiveCoin Api — работа с ордерами через WebSocket. Мы через них котируем там несколько бумаг. Легко принимает сотни заявок в секунду без нагрузок на Rest, которые бы похоронили их, если бы только наши ММ через Rest работали. 

      Такие дела. Не хотел Вас обидеть если что. Но надо что-то с этим делать.

      Вы — хотели алготрейдеров у себя. Вот алготрейдеры к Вам пришли. Бойтесь своих желаний. 

      Медленные алгоритмы и так смогу работать через Вас. Тренд, позиционка. Но всё остальное пока людям не доступно совсем. ММ различные, Арбитражи, Скринеры, памп-детекторы, Стаканы, Десятки типов свечек, Горизонтальные объёмы — всё это не будет работать. А это большая часть объёмов торгов на MOEX, которые пока через Вашего брокера не пойдут. 

      Переделывайте. Всё будет хорошо.
      • tashik
        21 ноября 2019, 08:27
        Алексей Ван , имхо это позитивно и конструктивно, и для обоих продуктов полезно, то, что Вы залогинились и написали так вдумчиво и по пунктам. Ссылку на эмоциональный пост дали выше, но по ссылкам могут не пойти, поэтому я скопировала кусочек, немножко отредактировав. Прошу прощения, если что. Посмотрим, что выйдет дальше. Тарифы пока все равно не для алго,  даже если бы все в частности мои боты заработали через этот коннектор.
        • Алексей Ван <o-s-a.net>
          21 ноября 2019, 09:39
          tashik, да. Всё хорошо.
          Нормально всё будет. У меня вообще сомнений нет. У Тинькова всегда всё на уровне. И тут вытащат. Но нужно время. Работы ещё много.
      • upeko
        21 ноября 2019, 09:23
        Алексей Ван , это ты ещё терминал их не видел)) там тихий ужас вообще
        • Алексей Ван <o-s-a.net>
          21 ноября 2019, 09:50
          upeko, да видел) (Если Вы про вёбку)
          Допилят. Там как раз видно что и куда будет развиваться. Всё вроде на своих местах пока. МТ напомнило первых версий. Это в общем похоже на скрам процесс нормальный через MVP. Делай функционал — вводим. Добавляем функционал. Пишем посты про победы перманентно. Обзаводимся пользователями. Всё хорошо. И когда-то это превращается в очень хороший продукт. Мы и сами ещё до финала то не дошли. 


          Терминал в общем, по хорошему варианту идёт вроде, по второму.
  • Dmitryy
    21 ноября 2019, 12:38
    Что нужно алготрейдеру для полноценной торговли:
    — обязательно опционы
    — опционные стаканы
    — время реакции на снятие и установку заявок меньше 1мс

  • Иван Файртрейдов
    30 ноября 2019, 22:55
    пара советов от бывалого апи врайтера :)
    1. не надо ваять самостоятельно высокоуровневые обертки над OpenApi — просто контракта на интерфейс должно быть достаточно и примеров, в противном случае придется поддерживать для кучи языков, от этого пострадает качество.

    2. используйте gRPC вместо OpenApi
    там из коробки стриминг двусторонний, лоад балансинг,  реконнект, плюс более сжатый формат — протобафферы
    ну и конечно не впример серьезнее контрибьютеры где гугл один из них
    на этом же апи можете разрабатывать и веб только надо будет прокси запустить. Ну и может не очень лоулатенси хфтэшников захватите, тк пошустрее эта технология будет

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн