Токен для openapi что это
Блог компании Тинькофф Инвестиции | Мы запустили Open API для создания торговых роботов в Тинькофф Инвестициях
Мы запустили сервис Open API (открытый программный интерфейс) для алготрейдеров, который позволит написать роботов и настроить автоматическую торговлю на биржах.
Через Open API алготрейдеры смогут:
— выставлять и отменять лимитные заявки;
— через стриминг (в режиме уведомлений) по стакану, бумагам на бирже и свечам получать информацию о фондовом рынке;
— запрограммировать интерфейс Тинькофф Инвестиций так, чтобы мгновенно реагировать на резкое колебание стоимости акций и автоматически выставлять заявку на их покупку или продажу, причем сразу на то количество лотов, которое нужно.
Как работает?
У алготрейдеров есть единый API и единый брокерский счет для торгов ценными бумагами с крупнейших мировых бирж. Открывать отдельные счета для торговли на каждой из бирж не нужно. На сервисе используется простой и понятный протокол для программирования: лаконичные инструкции, актуальная документация с оптимальным набором опций, удобные библиотеки (Java, Scala).
Как начать?
Сервис доступен всем клиентам бесплатно. Устанавливать отдельный терминал на компьютер не нужно. Для работы с Open API необходимо получить токен через личный кабинет, после чего можно писать код. Свои стратегии трейдеры смогут проверять на специальном демосчете без риска потерять деньги.
Токен для openapi что это
Tinkoff Invest API
Автоматизируйте биржевую торговлю и ведите собственную статистику прибыльности
Документация
Анализ котировок бумаг
Через API можно загрузить как исторические котировки, так и котировки в режиме реального времени по всем бумагам
Сигналы на покупку или продажу
Торговлю по алгоритму можно автоматизировать, запрограммировав выставление сигналов
Ведение собственной системы статистики
Если не хватает существующей функциональности по анализу портфеля, то легко сделать свою собственную
Тестирование стратегий (backtesting)
Tinkoff Invest API позволит протестировать торговую гипотезу на основе исторических данных
Создание торговых роботов
При помощи Tinkoff Invest API можно создать своего торгового робота, осуществляющего полностью автоматическую торговлю по стратегии
Протестировать торговую гипотезу можно и без реальной торговли, воспользовавшись sandbox-режимом
API состоит из двух частей
REST — сервис, работающий по принципу запрос-ответ. Реализуется по
Потоковый (streaming) сервис, работающий поверх web socket и транслирующий биржевую информацию в режиме реального времени
Как начать разработку проекта?
Для начала необходимо выбрать — на каком языке будете вести разработку и выбрать один из десятка готовых SDK
Если по каким-то причинам использование готового SDK не решает ваши задачи, то можно разработать свой
Токен для openapi что это
С 05.04.2021 пользователям intelinvest.ru стала доступна настройка прямой интеграции с брокером Тинькофф. В течение двух недель после выхода обновления мы провели несколько важных доработок, а также собрали самые частые вопросы пользователей, на которое постарались ответить в данной статье.
Безопасность
Как хранится у вас токен? Брокер не рекомендует передавать третьим лицам.
Токена API хранится в зашифрованном виде, воспользоваться токеном для чтения записей о совершенных сделках может только владелец аккаунта. Ключом к зашифрованному токену является пароль, который указывается в настройках интеграции. Такой пароль не хранится, он известен только владельцу аккаунта.
Что будет, если кто-то получит доступ в мой личный кабинет Intelinvest?
В случае доступа третьих лиц в личный кабинет пользователя скопировать или воспользоваться токеном API нельзя.
Intelinvest.ru не передает данные пользователей третьим лицам
Можно ли как-то (случайно) совершить сделку у брокера через Intelinvest?
Intelinvest.ru не оказывает брокерские услуги и не может отправлять торговые поручения через OpenAPI.
Решил отменить интеграцию, как убрать токен?
Настроенную интеграцию можно отменить в любой момент, зашифрованное значение токена удаляется. Также клиент Тинькофф может сменить токен API в личном кабинете брокера.
Настойка интеграции
Использовал загрузку отчетов брокера, как настроить интеграцию?
Используйте раздел Настройки — Импорт сделок. Выбрав в роли брокера Тинькофф перейдите в настройку интеграции(кнопка Интеграция).
Рекомендуем производить настройку интеграции в пустой портфель, не содержащий других сделок.
Проверка списка сделок по API происходит от последней сделки в портфеле до настоящего момента.
В окне настроек необходимо указать пароль, это пароль аккаунта?
В окне настроек необходимо указать ваш индивидуальный API токен для торговли (инструкция «как получить api токен» находится на странице импорта), и установить пароль (пароль может быть любым, но его необходимо запомнить).
Указал токен, но настройки не сохраняются
Настройка интеграции с API токеном для песочницы не производится.
Ознакомьтесь с подробной инструкцией «Как получить API токен» на странице импорта.
У меня несколько счетов, как настроить интеграцию?
Если у Вас больше 1 счета в Тинькофф, после указания токена и пароля появится поле выбора. Необходимо указать счет (как правило Брокерский или ИИС) по которому будет произведена настройка.
Для интеграции по нескольким счетам используйте отдельные портфели. Добавить портфель можно через Управление портфелями.
Добавил новую сделку у брокера, в Intelinvest ее нет. Как обновляются сделки?
Предоставляемый брокером токен API позволяет отправлять торговые поручения, в связи с чем для безопасности использования введено обязательное условие: шифрование токена с помощью пароля, который не хранится в базе и известен только владельцу аккаунта.
Для обновления списка сделок перейдите в Импорт сделок, нажмите «Обновить данные» и укажите пароль для интеграции. Система проверит сделки от последней даты в портфеле до текущего момента и дополнит портфель необходимыми записями.
Через API попадает полный список сделок, даже если они совершены 5 минут назад.
Результаты импорта
Если в результатах импорта есть комментарий «Неверный идентификатор бумаги» напишите почту вашего аккаунта в службу технической поддержки. После проведения проверки данных поступающих от Tinkoff Open API будут внесены корректировки для автоматического распознавания таких бумаг.
Если в вашем портфеле присутствуют еврооблигации, на данный момент сделки с такими бумагами не импортируются. Внести их можно в ручном режиме через «Пользовательские активы«.
РЕПО сделки не были импортированы
РЕПО (брокер может брать часть активов клиента в кредит, предоставляя за это вознаграждение) сделки не импортируются, так как не оказывают значительного влияния на расчеты доходности. На сумму вознаграждения за такие операции автоматически заводится корректировка баланса.
Маржинальная торговля(кредитное плечо)
Сделки маржинальной торговли на данный момент не учитываются. Импорт переносит сделки обычного режима торговли. Внести сделки с кредитным плечом можно через интерфейс ручного ввода в режиме портфеля PRO (Управление портфелями).Когда сделки будут попадать автоматически, без проверки пароля?
Прочие вопросы
Когда сделки будут попадать автоматически, без проверки пароля?
Отключение шифрования данных возможно после предоставления брокером токена, у которого доступ только на чтение записей(read only), без возможности отправить торговое поручение.
Будут ли интеграции с другими брокерами?
Работа в данном направлении уже проводится. Переговорный процесс занимает много времени, так как большинство брокеров не имеют открытой документации по API.
Будет ли интеграция доступна в мобильном приложении?
Да, основная работа проделана в одном из ближайших обновлений такая возможность будет добавлена и в приложение.
API Тиньков.Инвестиции. Первые шаги
Практически с первых дней я стал клиентом Тиньков.Инвестиции.
И с этого же момента меня терзают смутные сомнения — отражает ли личный кабинет объективную реальность?
Дело в том, что я покупаю ценные бумаги, номинированные в долларах, но в ЛК цены всех активов отображаются в долларах, а итоговая стоимость портфеля в рублях.
И мне непонятно, это доллар вырос или я такой результативный инвестор?
А как же комиссии, налоги и прочие дивиденды?
Вот бы взять все мои сделки и расписать по ФИФО, как в складском учете… А сверху положить полученные дивиденды, а потом вычесть налоги.
Вот тогда я и увижу понятный мне результат.
Оказалось, у Тинькова есть API, которое позволяет писать торговых роботов (мне это совсем не интересно), а также загружать данные по своему портфелю и операциям.
У этого API есть официальное описание, но мне не все было понятно, пришлось разбираться.
Результаты этих разборок представляю вашему вниманию.
Получение токена и установка библиотеки
Перед началом работы нужно установить библиотеку и получить токен.
Цитирую официальную инструкцию по получению токена:
Авторизация
Эти две строки делают все, что нам нужно.
Дальше работаем с переменной client.
Что у нас в портфеле
Получим содержимое нашего вашего портфеля:
Посмотрим основные данные первого элемента:
value — Цена бумаги
balance — Кличество бумаг в портфеле, value и currency — их денежное выражение.
figi — Financial Instrument Global Identifier (Финансовый Глобальный Идентификатор инструмента)
ticker — Тикер актива.
По этим данным мы можем узнать человекочитаемое название актива.
Для данного запроса нам это не нужно (см. поле name), но в других случаях пригодится.
Получаем название бумаги по FIGI и тикету
А вот поиск названия актива по тикеру у меня не работает :(((
Разработчики предложили обновить библиотеку, но даже после этого не взлетело.
Качаем справочник ценных бумаг
Впрочем, я решил этот вопрос кардинально. Скачал у Тинькова полный справочник торгуемых активов:
получил
Как видим, figi и name там есть. Для моих целей — более чем достаточно.
Получаем список операций
А вот самое интересное — получить список моих операций. В операции (в моем случае) попадают следующие действия:
Посмотрим, что получилось. В моем случае, представляет интерес этот элемент Вот что он собой являет
Нас интересуют поля:
Все не так просто (план и факт)
Как я понял, в quantity указано то количество бумаг, которые я хотел купить. А то, что фактически куплено, лежит в trades[i].quantity.
Т.е. если хотите обратится к фактическим сделкам, нужно перебрать то, что лежит в trades.
В ряде случаев, там None — например, для налогов или вводов/выводов средств.
Чтобы получить настоящие цифры, нужно смотреть и в сделки, и в биржевые операции:
Отслеживаем состояние своего портфеля у брокера «Тинькофф Инвестиции» через Google Таблицы
Наверняка многие ведут учет сделок и следят за состоянием своего портфеля в Google-таблицах или в Excel. Раньше мне приходилось вручную вносить информацию о каждом купленном или проданном инструменте и это отнимало значительную часть моего времени. Тогда мне захотелось автоматизировать этот процесс и я начал искать способы реализации данной идеи.
Я обнаружил статью пользователя ErhoSen. Из неё я узнал, что брокер «Тинькофф Инвестиции» предлагает своим клиентам API для взаимодействия с брокерским счетом с индивидуально-инвестиционным счетом (ИИС). С его помощью можно получить список акций, валютных пар, узнать стоимость бумаги по тикеру, просмотреть список операций по счету, получить информацию о своем портфеле и т.д. Однако, мне не хватило существующего функционала скрипта и я решил дописать его, добавив туда свои функции.
Получение токена
Работа с API происходит через токен. Процесс получения токена описан в документации на GitHub’е. Для его получения нужно:
Вставьте свой токен в ячейку B1 в листе «Настройки».
Важно! После вставки токена не удаляйте и не переименовывайте лист “Настройки”. Если в ячейке B3 появится текущий курс доллара — поздравляем, все готово к работе.
Основные функции скрипта:
Пример работы функции getPortfolio для получения портфеля
Ручное обновление данных
Сначала нужно нажать на кнопку Обновить в подменю TI (появится справа от вкладки Справка).
После этого появится окно с предупреждением:
Нажимаем Продолжить. Далее появится еще одно предупреждающее окно, где нужно будет нажать на Дополнительные настройки и в раскрывшемся поле выбрать Перейти на страницу «Tinkoff Invest» (небезопасно):
Данные действия необходимо выполнять потому, что скрипт для изменения значения ячейки Z1 должен сначала получить доступ к текущей таблице, чтобы он исполнялся только в ней. После этого у нас есть возможность по запросу обновить данные в таблице. Пример ручного обновления для функции getPrice(«AMD»;$Z$1):
ВНИМАНИЕ! У разработчика данного скрипта не будет доступа к Вашему Google-аккаунту, к списку таблиц на Диске или к токену. Если Вы опасаетесь за сохранность своих данных, то можете скопировать мой скрипт и вставить его в свою таблицу. Для этого в Google Sheets откройте свою таблицу и в верхнем меню нажмите на Инструменты, а затем на Редактор скриптов.
У вас откроется среда для создания скриптов Google. Сотрите в окне код, расположенный по умолчанию, скопируйте код по ссылке и вставьте его в окно.
После этого сохраните скрипт, задав любое название проекту и самому скрипту. Затем перейдите обратно в таблицу, создайте лист “Настройки” и в ячейку В1 вставьте свой токен для OpenAPI. После этого Вы можете работать с таблицей.
Заключение
Хочу выразить благодарность ErhoSen за его статью и исходный код, который был доработан мною.
Также для личного пользования я создал Telegram бота, в планах на будущее довести эту идею до ума, если идея найдет отклик. Бот удобен в случаях, когда не хочется терять время на вход в приложение Тинькофф Инвестиции, кто часто сидит за ноутбуком и не хочет постоянно авторизовываться на сайте, или же для хранения истории изменений содержимого портфеля.