Песочница T-Invest API
Работа с песочницей
Песочница — это тестовый контур. Работа в песочнице не влияет на реальные данные.
С песочницей можно работать несколькими способами:
- Вызывать методы по адресу песочницы —
sandbox-invest-public-api.tinkoff.ru:443
. - Пользоваться только методами песочницы.
Мы рекомендуем использовать первый способ.
Подробнее про различия контуров
Методы
Работа со счетами
Для тестирования своего торгового робота в песочнице можно использовать неограниченное количество счетов, которые есть только в песочнице и не связаны реальными торгами на бирже.
- OpenSandboxAccount — создать специальный счет песочницы;
- SandboxPayIn — пополнить баланс счета песочницы;
- CloseSandboxAccount — закрыть счет в песочнице.
Пополнять счет песочницы можно только в рублях. Чтобы выполнять операции с другой валютой расчетов, купите эту валюту через метод PostOrder.
Чтобы получить список своих счетов в песочнице, используйте метод getAccount.
Все счета в песочнице — виртуальные и могут быть удалены в любое время. Если созданный ранее счет не найден, создайте новый. Счета хранятся 3 месяца с даты последнего использования.
В песочнице нет стоп-заявок и маржинальных показателей. Также не рассчитываются дополнительные показатели счета, ставки риска, размер гарантийного обеспечения и ликвидность портфеля.
Состояние портфеля
Методы для получения операций и портфеля аналогичны методам основных сервисов:
- getSandboxOperations — получить операции по счету;
- getSandboxPortfolio — получить портфолио по счету;
- getSandboxPositions — получить список позиций по счету.
Для методов песочницы не рассчитываются некоторые статистические параметры портфеля — например, относительная и абсолютная доходности.
Торговые поручения
Параметры методов выставления, отмены и получения статуса торгового поручения в песочнице аналогичны основным методам T-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
.
Особенности торговли
Тестирование в песочнице приближено к реальному, но имеет ряд особенностей. Наиболее важные из них:
Для всех клиентов открыты все инструменты — в том числе те, которые предназначены для квалифицированных инвесторов. Проходить тестирование или получать статус квалифицированного инвестора не нужно.
Открыта маржинальная торговля и короткие позиции. При этом ликвидность портфеля рассчитывается упрощенным способом — для всех участников по всем инструментам «плечо» в обе стороны (покупка или продажа) равно 2.
Пример. При первоначальном балансе 1000 рублей можно купить или продать активы на 2000 рублей. Торговля с плечом (маржинальная торговля) не увеличивает первоначальный баланс — это можно использовать для улучшения доходности стратегии.
При торговле фьючерсами в случае покупки со счета списывается полная стоимость, а не гарантийное обеспечение (ГО), как при торговле на Московской бирже. При продаже начисляется полная стоимость.
Вариационная маржа не рассчитывается.
Нет начислений по выплатам купонов или дивидендов.
Налоги не рассчитываются.
Комиссия рассчитывается в размере 0.05 % от объема сделки вне зависимости от инструмента.
Алгоритм исполнения торговых поручений
Алгоритм исполнения торговых поручений в песочнице отличается от «боевого» алгоритма.
- Рыночные (market) ордеры исполняются по цене последней сделки (last price).
Выставленные заявки не влияют на рынок.
Пример. Рыночные заявки на 1 лот и на 10 000 лотов будут исполнены по одинаковой цене, даже если в «стакане» по этой цене не было достаточного количество встречных предложений.
При выставлении лимитного ордера проверяется цена в «стакане» — если есть встречное предложение хотя бы на 1 лот из всего объема, ордер полностью будет исполнен по цене лучшего встречного предложения.
- Если лимитный ордер не может исполниться в момент выставления, он встает в рынок и ожидает появления предложений. При этом ордер не участвует в формировании «стакана».
При выставлении торгового поручения при продаже со счета песочницы блокируются активы, а при покупке — денежные средства.
Операции появляются только при исполнении торгового поручения.
Сервис получает информацию от торговых площадок о последних сделках по всем инструментам и исполняет активные заявки.
Пример. Есть заявка на покупку акции по цене 100 рублей. Если цена инструмента в последней сделке с биржи равна 100 рублей или меньше, заявка исполняется по цене, которая была в ней указана — то есть по 100 рублей. Заявка на продажу исполняется, когда цена последней сделки будет 100 рублей или больше.
Все неисполненные торговые поручения в песочнице отменяются после окончания торговой сессии. Заблокированные активы возвращаются на счет.