Перейти к содержанию

FAQ

Что такое шаг цены?

Отличие лотов и количества инструментов

Цены облигаций и фьючерсов

Формулы расчета реальной стоимости инструментов в валюте

Какие интервалы доступны при запросе исторических свечей?

Как одним запросом получить последние цены по нескольким инструментам?

Как подписаться на разные типы данных в рамках stream-соединения сервиса котировок?

Внебиржевые инструменты в TINKOFF INVEST API

Какие данные отливаются в стриминг стаканов?

Торговля бумагами Тинькофф через TINKOFF INVEST API

Валюты в TINKOFF INVEST API

Почему отличаются исторические цены в TINKOFF INVEST API и других источниках?

Как получить исторические рыночные данные?

Какое максимальное количество запросов на подписку в MarketDataStream?

Как узнать дату, с которой можно получить свечи по инструменту?

Как узнать доступности торгов инструментом через API?

Какой идентификатор инструмента использовать для получения данных в сервисе котировок?

Что такое шаг цены?

Шаг цены — это минимальное изменение цены определенного инструмента.

Пример

Шаг цены для инструмента = 0.1, а последняя цена = 10.5 — это означает, что заявка может быть выставлена по одной из следующих цен:

  • 10.4
  • 10.5
  • 10.6

Цена 10.55 будет некорректной и заявка не будет выставлена.

def isValidPrice(price: BigDecimal, increment: BigDecimal): Boolean = {
    price % increment == 0
}

isValidPrice(10.1, 0.1) // true
isValidPrice(10.16, 0.1) // false

Отличие лотов и количества инструментов

При работе с сервисом TINKOFF INVEST API следует обращать особое внимание на различия понятий лот и количество ценных бумаг. Все цены в сервисе котировок предоставляются за одну ценную бумагу. Данное правило касается методов GetLastPrice, GetCandles, а так же подписки на эти данные в рамках stream-соединений данного сервиса.

При получении данных по стакану или сделкам объём этих сделок отображается в лотах. Т.е. параметр quantity метода GetOrderBook и пакета trade в рамках stream-соединений сервиса отображается в лотах

Цены облигаций и фьючерсов

Цены облигаций и фьючерсов в TINKOFF INVEST API предоставляются в пунктах. Методика расчёта стоимости лота в валюте отличается в зависимости от типа биржевого инструмента.

Формулы расчета реальной стоимости инструментов в валюте

  • price — текущая котировка ценной бумаги;
  • nominal — номинал облигации;
  • min_price_increment — шаг цены;
  • min_price_increment_amount — стоимость шага цены;
  • lot - лотность инструмента.

Акции

price * lot

Облигации

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

price / 100 * nominal

Валюта

price * lot / nominal

Важно! При торговле валютой необходимо учитывать, что такие валюты как Иена, Армянский драм и Тенге имеют nominal = 100

Фьючерсы

Стоимость фьючерсов так же предоставляется в пунктах, для пересчёта можно воспользоваться формулой:

price / min_price_increment * min_price_increment_amount

Так же при работе с фьючерсами важно учитывать размер гарантийного обеспечения. Узнать эти параметры фьючерсов можно при помощи метода: getFuturesMargin. Подробнее про срочный рынок читайте тут

Какие интервалы доступны при запросе исторических свечей?

Метод GetCandles позволяет получать исторические свечи разных таймфреймов. Существует ограничение на максимальный и минимальный период запроса для каждого интервала свечей:

Запрошенный интервал свечей Допустимый период запроса
CANDLE_INTERVAL_UNSPECIFIED Интервал не определён.
CANDLE_INTERVAL_1_MIN от 1 минуты до 1 дня.
CANDLE_INTERVAL_5_MIN от 5 минут до 1 дня.
CANDLE_INTERVAL_15_MIN от 15 минут до 1 дня.
CANDLE_INTERVAL_HOUR от 1 часа до 1 недели.
CANDLE_INTERVAL_DAY от 1 дня до 1 года.
CANDLE_INTERVAL_2_MIN от 2 минут до 1 дня.
CANDLE_INTERVAL_3_MIN от 3 минут до 1 дня.
CANDLE_INTERVAL_10_MIN от 10 минут до 1 дня.
CANDLE_INTERVAL_30_MIN от 30 минут до 2 дней.
CANDLE_INTERVAL_2_HOUR от 2 часов до 1 месяца.
CANDLE_INTERVAL_4_HOUR от 4 часов до 1 месяца.
CANDLE_INTERVAL_WEEK от 1 недели до 2 лет.
CANDLE_INTERVAL_MONTH от 1 месяца до 10 лет.

Важно! При запросе дневных свечей CANDLE_INTERVAL_DAY время, переданное в поля from и to игнорируется, Т.е. при запросе дневной свечи по интервалу с 12:00 01.01.2021 по 07:00 02.01.2021 вернётся две дневных свечи за 01.01.2021 и за 02.01.2021

Важно! При попытке получить данные с временным интервалом меньше временного интервала данного таймфрейма, ответом метода будет возвращен пустой массив. Например, если интервал при запросе дневных свечей (CANDLE_INTERVAL_DAY) инструмента будет 1 час.

Как одним запросом получить последние цены по нескольким инструментам?

Для получения цен последних сделок по массиву инструментов можно методом GetLastPrices. Во входные параметры метода можно передать массив идентификаторов инструментов.

Как подписаться на разные типы данных в рамках stream-соединения сервиса котировок?

Bi-directional stream Сервиса котировок поддерживает одновременную подписку на разные типы данных (свечи, стаканы, сделки и т.п.) в рамках одного соединения. Для этого следует последовательно отправить пакеты подписки на разные данные. Т.е. отдельно реализуется подписка на свечи, отдельно на стаканы и т.п. Подробнее можно узнать в примерах выбранного вами SDK.

Внебиржевые инструменты в TINKOFF INVEST API

В данный момент TINKOFF INVEST API предполагает работу только с биржевыми инструментами.

Какие данные отливаются в стриминг стаканов?

Пока только биржевые. Внебиржевые стаканы, например, TRRE, не транслируются в режиме стриминга.

Торговля бумагами Тинькофф через TINKOFF INVEST API

Из-за огромного количества скальперских сделок мы закрыли торговлю БПИФ от УК "Тинькофф Капитал" в TINKOFF INVEST API. Список бумаг смотрите здесь.

Валюты в TINKOFF INVEST API

Получить список доступных валют можно при помощи метода getInstruments/currencies.

Обратите внимание, что лотность валют ограничена лотностью, которая предоставляет биржа. Например, операции с Евро и Долларами возможны только на количества кратные 1000.

Почему отличаются исторические цены в TINKOFF INVEST API и других источниках?

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

Как получить исторические рыночные данные?

Исторические рыночные данные можно загрузить в виде архива используя метод Загрузка исторических рыночных данных в виде архива.

Какое максимальное количество запросов на подписку в MarketDataStream?

Для всех типов подписок в методе установлены ограничения максимального количества запросов на подписку. Если количество запросов за минуту превысит 100, то для всех элементов будет установлен статус SUBSCRIPTION_STATUS_TOO_MANY_REQUESTS.

Максимальное количество запросов в минуту = 100.

Как узнать дату, с которой можно получить свечи по инструменту?

Для того что бы понять с какой даты запрашивать свечи по инструменту в Сервис инструментов TINKOFF INVEST API добавлены параметры first_1min_candle_date и first_1day_candle_date. Данные параметры возвращаются в методах получения информации об инструментах. Параметр first_1min_candle_date возвращает дату первой минутной свечи, а first_1day_candle_date дату первой дневной свечи.

Как узнать доступности торгов инструментом через API?

Узнать доступность торгов инструментом можно по параметру api_trade_available_flag в методе getTradingStatus или FindInstrument.

Какой идентификатор инструмента использовать для получения данных в сервисе котировок?

Все методы сервиса котировок принимают на вход instrumentId - параметр, в который можно передать значение instrument_uid или FIGI. Получить более подробную информацию можно на странице об идентификаторах инструментов.