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

Песочница Tinkoff Invest API

Работа с песочницей

Песочница — это тестовый контур. Работа в песочнице не влияет на реальные данные.

С песочницей можно работать несколькими способами:

  1. Вызывать методы по адресу песочницы — sandbox-invest-public-api.tinkoff.ru:443.
  2. Пользоваться только методами песочницы.

Мы рекомендуем использовать первый способ.

Подробнее про различия контуров

Методы

Работа со счетами

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

Обратите внимание
Пополнять счёт песочницы можно только в рублях. Чтобы выполнять операции с другой валютой расчётов, купите эту валюту через метод PostOrder.

Чтобы получить список своих счетов в песочнице, используйте метод getAccount.

Важно
Все счета в песочнице являются виртуальными и в любое время могут быть удалены. Если созданный ранее счёт не найден, создайте новый. Счета хранятся 3 месяца с даты последнего использования.

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

Состояние портфеля

Методы для получения операций и портфеля аналогичны методам основных сервисов:

Обратите внимание
Для методов песочницы не рассчитываются некоторые статистические параметры портфеля — например, относительная и абсолютная доходности.

Торговые поручения

Параметры методов выставления, отмены и получения статуса торгового поручения в песочнице аналогичны основным методам Tinkoff Invest API.

  • postSandboxOrder — выставить торговое поручение;
  • getSandboxOrderState — получить статус торгового поручения;
  • cancelSandboxOrder — отменить выставленное торговое поручение;
  • getSandboxOrders — получить список торговых поручений по счёту.

Сервис операций

  • GetSandboxOperations и GetSandboxOperationsByCursor — получить операции по номеру счёта. В OperationType поддерживают фильтрацию только по типам OPERATION_TYPE_BUY и OPERATION_TYPE_SELL.

  • GetDividendsForeignIssuer — получить отчёт «Справка о доходах за пределами РФ».

    Обратите внимание: в этом методе песочницы всегда возвращается пустой ответ.

     "div_foreign_issuer_report": {     
          "dividends_foreign_issuer_report": [],
          "itemsCount": 0,     
          "pagesCount": 0,     
          "page": 0   
     },
     "payload": "div_foreign_issuer_report"
    
  • GetBrokerReport — получить брокерский отчёт.

    Обратите внимание: в этом методе песочницы всегда возвращается пустой ответ.

     "get_broker_report_response": {
         "broker_report": [],
         "itemsCount": 0,     
         "pagesCount": 0,     
         "page": 0
     },
     "payload": "get_broker_report_response"
    
  • PortfolioStream — server-side stream обновлений портфеля.

  • PositionsStream — server-side stream обновления информации по изменению позиций портфеля.

  • GetPortfolio — получить портфель по счёту.

Сервис ордеров

TradesStream — получить портфель по счёту.

Сервис cчетов

GetMarginAttributes — получить портфель по счёту.

Обратите внимание — в этом методе песочницы возвращаются следующие значения:

  • liquid_portfolio (ликвидной стоимости портфеля) = стоимость портфеля.
  • starting_margin = corrected_margin = minimal_margin = amount_of_missing_funds = 0.
  • funds_sufficiency_level = 2.

Особенности торговли

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

  1. Для всех клиентов открыты все инструменты — в том числе те, которые предназначены для квалифицированных инвесторов. Проходить тестирование или получать статус квалифицированного инвестора не нужно.
  2. Открыта маржинальная торговля и короткие позиции. При этом ликвидность портфеля рассчитывается упрощённым способом — для всех участников по всем инструментам «плечо» в обе стороны (покупка или продажа) равно 2.

    Пример

    При первоначальном балансе 1000 рублей можно купить или продать активы на 2000 рублей. Торговля с плечом (маржинальная торговля) не увеличивает первоначальный баланс — это можно использовать для улучшения доходности стратегии.

  3. При торговле фьючерсами в случае покупки со счёта списывается полная стоимость, а не гарантийное обеспечение (ГО), как при торговле на Московской бирже. При продаже начисляется полная стоимость.

    Вариационная маржа не рассчитывается.

  4. Нет начислений по выплатам купонов или дивидендов.
  5. Нет поставки базовых активов или начисления денег при экспирации фьючерсных контрактов.
  6. Налоги не рассчитываются.
  7. Комиссия расссчитывается в размере 0,05% от объёма сделки вне зависимости от инструмента.

Алгоритм исполнения торговых поручений

Алгоритм исполнения торговых поручений в песочнице отличается от «боевого» алгоритма.

  1. Рыночные (market) ордеры иcполняются по цене последней сделки (last price).
  2. Выставленные заявки не влияют на рынок.

    Пример

    Рыночные заявки на 1 лот и на 10 000 лотов будут исполнены по одинаковой цене, даже если в «стакане» по этой цене не было достаточного количество встречных предложений.

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

  4. Если лимитный ордер не может исполниться в момент выставления, он встаёт в рынок и ожидает появления предложений. При этом ордер не участвует в формировании «стакана».
  5. При выставлении торгового поручения при продаже со счёта песочницы блокируются активы, а при покупке — денежные средства.

    Важно
    Операции появляются только при исполнении торгового поручения.

  6. Сервис получает информацию от торговых площадок о последних сделках по всем инструментам и исполняет активные заявки.

    Пример

    Есть заявка на покупку акции по цене 100 рублей. Если цена инструмента в последней сделке с биржи равна 100 рублей или меньше, заявка исполняется по цене, которая была в ней указана — то есть по 100 рублей.

    Заявка на продажу исполняется, когда цена последней сделки будет 100 рублей или больше.

  7. Все неисполненные торговые поручения в песочнице отменяются после окончания торговой сессии. Заблокированные активы возвращаются на счёт.