Привет! На связи команда Тинькофф Инвестиций. Мы запустили новую версию программного интерфейса для алгоритмического трейдинга. Расскажем про Tinkoff Invest API и что новенького в сервисе.

Что такое Tinkoff Invest API

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

Чтобы начать работать с интерфейсом, нужны брокерский счет в Тинькофф, токен доступа и знание языка программирования. Никакого специального ПО не потребуется. У алготрейдеров есть единый API и единый брокерский счет для торгов ценными бумагами с крупнейших мировых бирж. Открывать отдельные счета для торговли на каждой из бирж не нужно. Сервис построен на современном протоколе, есть вся необходимая документация и SDK на разных языках программирования.

API позволяет:

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

  • выгружать историю котировок и текущие рыночные котировки;

  • выставлять и отменять все виды поручений — рыночные, лимитные, стопы;

  • просматривать текущий портфель пользователя и историю операций;

  • получать время работы бирж;

  • загружать ставки риска инструментов;

  • подписываться на поток событий по исполнению сделок.

Что нового в последней версии

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

Реализовали API на производительном протоколе gRPС, в числе плюсов которого строгая типизация контрактов, поддержка версионности и автоматическая генерация клиентского программного кода на большинстве языков программирования. gRPC также поддерживает потоковую передачу данных, что позволяет в рамках одного сервиса получать рыночные котировки в режиме реального времени. Для приверженцев RESTful-API реализовали proxy-swagger, а для браузерных web-приложений — шлюз gRPC-web.

Переработали «песочницу», теперь она точно повторяет все движения рынка и позволит клиентам проверить работу торговых роботов на реальных рыночных котировках.

Усилили защиту счетов за счет ключей с разным уровнем доступа. Теперь можно получить ключ для каждого отдельного счета и в режиме «только для чтения» — без возможности выставлять заявки. Это может пригодиться, например, для разработки внешних систем учета клиентских портфелей или расчета доходности торговли.

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

Увеличили качество, объемы и скорость предоставляемых рыночных котировок, а также разнообразие методов и форматы возвращаемых данных.

Реализовали трансляцию потока событий по исполнению заявок клиента, это помогает быстро уведомить клиента об изменении портфеля.

Обеспечили поддержку всех нововведений брокера, которые не были реализованы в старой версии API: мультисчета, фьючерсы, стоп-заявки.

Если вам интересно познакомиться с API поближе, залетайте на наш GitHub Invest API, смотрите документацию. А наша следующая цель — собрать витрину готовых торговых роботов на разных языках программирования, поэтому мы запустили конкурс роботов.

Tinkoff Invest Robot Contest

Ждем разработчиков с 21 апреля по 23 мая на конкурсе по разработке торгового робота для Тинькофф Инвестиций.

Задача: написать систему, которая реализует одну из торговых стратегий на бирже. Система должна работать на новом API Тинькофф Инвестиций. Ограничений по языкам нет, но предпочтительнее писать на Java, Go, Python и JavaScript.

Для участия в конкурсе зарегистрируйтесь на странице Tinkoff Invest Robot Contest и следуйте инструкциям.

Комментарии (13)


  1. Viceroyalty
    28.04.2022 17:24
    +5

    Сейчас только заниматься инвестициями


    1. Desead
      29.04.2022 14:00
      +1

      Именно сейчас и надо ими заниматься


      1. Viceroyalty
        29.04.2022 14:38
        +1

        Но они могут превратится в тыкву


      1. SporeMaster
        30.04.2022 19:14

        прямо сейчас инвестиции ни в рынок РФ, ни в падающие насдак/сиплого делать не надо. Это 100пудово. Либо вы неправильно понимаете слово инвестиции. Для спекуляций время подходящее. Правда ниже уже ругают это апи, если оно не лучше v1, то надо сидеть ждать переименования в Потанкофф и v3, глядишь прогеров стараться научат )


    1. SporeMaster
      29.04.2022 14:00

      >Сейчас только заниматься инвестициями

      Для инвестиций робот не нужен, роботы для спекуляций.


      1. AlexanderVolkovInvest Автор
        29.04.2022 15:05

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


  1. antirek
    28.04.2022 20:24

    режим для чтения для отдельного счета ????

    а есть уже какие-то сервисы аналитики или программы, которые используют Tinkoff Invest API? платные, бесплатные?



  1. inferrna
    29.04.2022 12:57

    Новый API, это ужас-ужас. Завёл вам пару issue на гитхабе. Если у вас наружу такой позор торчит, страшно представить, что внутри. Тип инструмента string без вариантов - вы серьёзно? Ну, это, типа, для тех, кто напишет "Bong" вместо "Bond", а потом будет ловить в рантайме, что там у него не так - мы ведь все любим отлавливать ошибки в рантайме, не правда ли?


    1. SporeMaster
      30.04.2022 19:10

      >Новый API, это ужас-ужас.

      Вроде v1 было ужас-ужас. Неужели опять? (честно, в v2 времени нет поковыряться). А что из двух хуже? В принципе, и у Алор рестовое апи гадость и глюк и у ММВБ всякие спектры не лучше. Может это место заколдованное...


  1. inferrna
    29.04.2022 13:47

    Ого, так вы ещё и поудаляли токены для старого API, оставив возможность сгенерить новый токен только для недоделанного v2. Ай, молодцы. А заранее сделать рассылку для пользователей с предупреждением об отключении старого API, это мы никак.


    1. AlexanderVolkovInvest Автор
      29.04.2022 13:51

      Добрый день,

      1) токены к старому api по-прежнему работают и их по прежнему можно сгенерить, только проставьте права "полный доступ" и "ко всем счетам". Других типов первая версия не поддерживала.

      2) первая версия работает: прежде чем ее выключать мы заблаговременно предупредим всех клиентов.


  1. altexxx
    29.04.2022 15:22

    А можете рассказать технические подробности реализации? Какие готовые или самописные решения применили, как сделали балансировку запросов и коннектов, как сделали авторизацию запросов, как реализовали отказоустойчивость, как проводили нагрузочное тестирование, какие результаты получили