Сервис предоставления справочной информации о ценных бумагах
Получение параметров ценных бумаг
Получение справочной информации об инструментах, торгуемых на бирже, является первоочередной задачей, которая стоит перед разработчиком торгового робота. Для реализации этой потребности в TINKOFF INVEST API существует набор unary-методов.
Обратите внимание, что методы разделены по типам инструментов (акции, облигации, фонды и т.д.). Например, для получения списка облигаций используется метод getInstruments/bonds, а для получения информации по конкретной облигации метод getInstruments/bondBy.
Методы получения информации по конкретному инструменту позволяют использовать в качестве идентификатора figi, isin или связку тикер плюс класс-код. Подробнее об особенностях идентификации инструментов можно почитать по ссылке: Идентификация инструментов
Получение расписания торгов
Для определения времени запуска или остановки торгового робота разработчику требуется также учитывать расписание торгов на той или иной торговой площадке внутри брокера TINKOFF, (Подробнее о режимах торгов). Такая информация предоставляется методом getTradingSchedules. Данный метод позволяет получить информацию как по конкретной бирже, так и по всему списку доступных в TINKOFF INVEST API торговых площадок. Обратите внимание, что расписание торгов может меняться в связи с какими-либо внешними обстоятельствами — специалисты Тинькофф стараются максимально оперативно реагировать на такие изменения. Поэтому разумнее не ориентироваться на расписание, запрошенное по длительному периоду, а запрашивать режимы торгов на более короткие интервалы, например, на текущий день.
Метод getTradingSchedules позволяет получать расписание торгов на период не длиннее одной недели с текущего дня (запрос раcписания в прошлом недоступен).
Так же важно понимать, что в процессе работы торговой площадки могут случаться моменты приостановки торгов по той или иной ценной бумаге (например, в следствии резко возросшей волатильности). Поэтому для определения доступности в данный момент торгов по конкретному инструменту лучше использовать параметр trading_status, который возвращается в рамках подписки на получение статуса инструмента сервиса котировок.
Важно!!! Метод getTradingSchedules возвращает торговое расписание на секции биржи внутри брокера TINKOFF. Данное расписание может не совпадать с реальным расписанием торгов на бирже.
Получение расписания выплаты купонов по облигациям
Облигация — это долговая ценная бумага, почти как долговая расписка. Выпуская облигации, компания или государство берет деньги в долг и затем возвращает их с процентами(Подробнее про облигации).
Операции по регулярным выплатам процентов по облигации называются купонами. Для получения графика таких выплат используется метод getAccruedInterests. Метод позволяет получить график выплаты купонов для запрошенного периода времени.
Получения размера гарантийного обеспечения по фьючерсу
Фьючерс — это договор между покупателем и продавцом о поставке базового актива в будущем или о выплате одной из сторон другой стороне разницы между стоимостью контракта и стоимостью базового актива в будущем (Срочный рынок).
Для операций с фьючерсами брокером "замораживается" определённый размер гарантийного обеспечения на счёте пользователя. Для получения информации о размере этого обеспечения используется метод getFuturesMargin. Обратите внимание, что размер гарантийного обеспечения может отличаться для операций покупки и продажи фьючерса.
Получение и изменение списка избранных инструментов
Используя метод GetFavorites можно получить список избранных инструментов клиента. Данный метод может использоваться разработчиками для получения списка инструментов, которые робот добавил в избранное используя метод EditFavorites.
Для добавления или удаления инструментов из списка избранных можно использовать EditFavorites. Данный метод позволяет разработчикам автоматизировать выделение наиболее интересных инструментов путем редактирования списка избранных инструментов. Использование метода ограничено 100 инструментов. При попытке передать больше 100 инструментов будет возвращена ошибка "code":"30091" и "message":"quantity of instruments can't be more than 100"
Важно!!! Если вы хотите добавить в список избранных инструментов валюту, то это необходимо делать через валюту с лотностью = 1.
Инструменты валюты с разной лотностью имеют разные значения идентификаторов.
Например,
- FIGI доллара США с лотностью 1000 - TCS0013HGFT4, а FIGI доллара США с лотностью 1 - USD000UTSTOM.
- FIGI евро с лотностью 1000 - BBG0013HJJ31, а FIGI доллара США с лотностью 1 - EUR000UTSTOM.
Приведем пояснение, есть позиция - валюта (например, доллар). У позиции есть разные инструменты, которыми можно торговать. Например, у доллара это могут быть инструменты с лотностью в 1 доллар или 1000 долларов.
Так же все инструменты добавленные в избранное будут отображаться в списке избранных в мобильном приложении Инвестиции и на сайте Тинькофф Инвестиции.
Определение биржи на которой исполняются расчеты по инструменту
Для определения биржи на которой исполняются расчеты по финансовому инструменту в TINKOFF INVEST API добавлен параметр real_exchange.
Список методов, возвращающих в ответе биржу, на которой исполняются расчеты:
- GetInstrumentBy - Метод получения основной информации об инструменте.
- GetBondBy - Метод получения облигации по её идентификатору.
- GetBonds - Метод получения списка облигаций.
- GetShareBy - Метод получения акции по её идентификатору.
- GetShares - Метод получения списка акций.
- GetEtfBy - Метод получения инвестиционного фонда по его идентификатору.
- GetEtfs - Метод получения списка инвестиционных фондов.
- GetFutureBy - Метод получения фьючерса по его идентификатору.
- GetFutures - Метод получения списка фьючерсов.
- GetCurrencyBy - Метод получения валюты по её идентификатору.
- GetCurrencies - Метод получения списка валют.
Поиск инструментов
Для поиска инструментов в TINKOFF INVEST API предусмотрено большое количество методов. Для поиска по идентификаторам вы можете воспользоваться следующими методами в зависимости от типа искомого инструмента:
- GetInstrumentBy - Метод получения основной информации об инструменте.
- GetBondBy - Метод получения облигации по её идентификатору.
- GetBonds - Метод получения списка облигаций.
- GetShareBy - Метод получения акции по её идентификатору.
- GetShares - Метод получения списка акций.
- GetEtfBy - Метод получения инвестиционного фонда по его идентификатору.
- GetEtfs - Метод получения списка инвестиционных фондов.
- GetFutureBy - Метод получения фьючерса по его идентификатору.
- GetFutures - Метод получения списка фьючерсов.
- GetCurrencyBy - Метод получения валюты по её идентификатору.
- GetCurrencies - Метод получения списка валют.
Так же разработан метод поиска инструмента по различным параметрам - FindInstrument. Данный метод выполняет регистронезависимый поиск по вхождению строки query согласно следующему приоритету:
- position_uid
- uid
- figi
- isin
- ticker
- name
Так же используя метод FindInstrument можно найти базовый актив фьючерса.
Для этого достаточно передать в query значение параметра basic_asset_position_uid
, возвращаемое методами GetFutureBy и GetFutures.
Доступность торговли инструмента через API
Для получения информации о возможности торговли инструментом через API в сервисе инструментов в методе FindInstrument существует параметр api_trade_available_flag
.
Если api_trade_available_flag = true, то торговля инструментом через API доступна.
Справочник стран
Для загрузки справочника стран в TINKOFF INVEST API существует метод getCountries.
Данный метод возвращает массив объектов, который содержит двухбуквенный и трехбуквенный код страны, а так же полное и краткое наименование страны.
Полученный список стран можно применять для сопоставления страны риска актива.
Активы
В TINKOFF INVEST API представлены два метода для получения активов.
Используя метод getAssets сервиса инструментов можно получить список всех активов. Метод работает для всех инструментов, за исключением срочных - опционов и фьючерсов. Данный метод возвращает краткую информацию об активе:
- Идентификатор
- Тип актива
- Название актива
- Массив инструментов актива
Используя метод getAssetBy сервиса инструментов можно найти актив по его идентификатору. Этот метод возвращает более подробную информацию о запрошенном активе. Набор данных отличается в зависимости от типа актива.
Бренды
В TINKOFF INVEST API представлены два метода для получения брендов.
Используя метод getBrands сервиса инструментов можно получить список всех брендов.
Используя метод getBrandBy сервиса инструментов можно найти бренд по его идентификатору.
Поиск инструмента по позиции
Для поиска инструмента по идентификатору позиции (Position_uid) добавлен тип идентификатора инструмента - INSTRUMENT_ID_TYPE_POSITION_UID.
Использовать id_type = INSTRUMENT_ID_TYPE_POSITION_UID
можно методах:
- GetInstrumentBy - Метод получения основной информации об инструменте.
- GetBondBy - Метод получения облигации по её идентификатору.
- GetShareBy - Метод получения акции по её идентификатору.
- GetEtfBy - Метод получения инвестиционного фонда по его идентификатору.
- GetFutureBy - Метод получения фьючерса по его идентификатору.
- GetOptionBy - Метод получения опциона по его идентификатору.
- GetCurrencyBy - Метод получения валюты по её идентификатору.
Получение информации по опционам
В TINKOFF INVEST API добавлены методы:
- GetOptionBy - Метод получения опциона по его идентификатору.
- GetOptions - Метод получения опционов.
С помощью данных методов можно получить информацию об опционах, страйках и датах экспирации. Так же можно получить информацию о базовом активе опциона, найти его по идентификатору позиции базового инструмента (basicAssetPositionUid).
В метод getPositions добавлен массив опционов в портфеле.
Важно! На данный момент получить информацию об опционах в методе FindInstrument нельзя.
Торговые статусы инструментов и расписание торгов
Информацию о статусах инструментов и расписаниях торгов вы можете получить на странице Торговые статусы инструментов и расписание торгов.
Так же рекомендуем смотреть актуальную информацию по режимам и статусам торгов на сайтах Московской биржи и СПБ биржи.
Доступность торговли инструментом квалифицированному инвестору
Для того что бы определить доступность торговли инструментом для не квалифицированных инструментов в методах сервиса инструментов добавлен флаг for_qual_investor_flag
.
for_qual_investor_flag
- флаг, отображающий доступность торговли инструментом только для квалифицированных инвесторов.
График выплаты дивидендов по инструменту
Для получения информации по срокам выплаты дивидендов по инструменту необходимо использовать метод getDividends.
Необходимо учитывать, что входной параметр to
- Окончание запрашиваемого периода в часовом поясе UTC, фильтрует выходные данные по параметру record_date
- дате фиксации реестра.