TKSBrokerAPI
TKSBrokerAPI is the trading platform for automation and simplifying the implementation of trading scenarios, as well as working with Tinkoff Invest API server via the REST protocol. The TKSBrokerAPI platform may be used in two ways: from the console, it has a rich keys and commands, or you can use it as Python module. Developers blog (ru):
Install / Use
/learn @Tim55667757/TKSBrokerAPIREADME
TKSBrokerAPI — платформа для автоматизации торговли на бирже
Нечёткие технологии<br> <a href="https://github.com/Tim55667757/TKSBrokerAPI/blob/master/README_EN.md" target="_blank"><img src="https://github.com/Tim55667757/TKSBrokerAPI/blob/develop/docs/media/TKSBrokerAPI-Logo.png?raw=true" alt="TKSBrokerAPI-Logo" width="780" /></a><br> Технологии · Знания · Наука
TKSBrokerAPI — это платформа для упрощения автоматизации торговых сценариев на Python и работы с Tinkoff Invest API сервером через REST-протокол. Платформа TKSBrokerAPI может использоваться в двух вариантах: из консоли (она имеет богатый набор ключей и команд) или её можно использовать как обычный Python модуль через python import. TKSBrokerAPI помогает автоматизировать рутинные торговые операции и реализовать торговые сценарии, или упростить получение необходимой для аналитики информации с сервера брокера. Платформа достаточно легко интегрируется в различные CI/CD конвейеры.
Статус сборок и деплоя CI/CD
| Branch | Status |
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| master | |
| develop |
|
❗ Если вам не хватает возможностей платформы или какого-либо примера в документации, для лучшего понимания работы платформы TKSBrokerAPI (в консоли или как Python API), то опишите ваш случай в разделе 👉 Issues 👈, пожалуйста. По мере возможности постараемся реализовать нужную функциональность и добавить примеры в очередном релизе.
Полезные ссылки
- 📚 Документация и примеры на английском (documentation and examples in english here)
- 🎁 Поддержать проект донатом на ЮМани-кошелёк: 410015019068268
Содержание документации
- Введение
- Как установить
- Аутентификация
- Справка по ключам
- Примеры использования
- Из командной строки
- Локальный кэш данных
- Получить список всех доступных для торговли инструментов
- Найти инструмент
- Получить информацию по инструменту
- Запросить стакан цен с заданной глубиной
- Запросить таблицу последних актуальных цен для списка инструментов
- Получить текущий портфель пользователя и статистику распределения активов
- Получить отчёт по операциям с портфелем за указанный период
- Совершить сделку по рынку
- Открыть отложенный лимитный или стоп-ордер
- Отменить ордера и закрыть позиции
- Скачать исторические данные в формате OHLCV-свечей
- Узнать доступный для вывода остаток средств в различных валютах
- Получить информацию о пользователе и счетах
- Получить обогащённые данные по облигациям
- Построить календарь выплат по облигациям
- Как Python API через импорт модуля TKSBrokerAPI
- Из командной строки
Введение
Если вы занимаетесь одновременно инвестированием, автоматизацией и алгоритмической торговлей, то наверняка слышали про Tinkoff Open API (к нему есть неплохая Swagger-документация) — это API, предоставляемое брокером Тинькофф Инвестиции для автоматизации работы биржевых торговых роботов. Если ещё не слышали, то можете завести себе аккаунт по ссылке и протестировать его возможности сами.
При работе с любыми API, всегда возникают технические трудности: высокий порог вхождения, необходимость в изучении документации, написание и отладка кода для выполнения сетевых запросов по формату API. Пройдёт много времени, прежде чем у вас дойдёт дело до реализации торгового алгоритма.
Платформа TKSBrokerAPI — это более простой инструмент, который можно использовать как обычный Python модуль или запускать из командной строки, и сразу из коробки получить возможность работать со счётом у брокера Тинькофф Инвестиции: получать информацию о состоянии портфеля, включая элементарную аналитику, открывать и закрывать позиции, получать общую информацию о торгуемых на бирже инструментах, запрашивать цены и получать отчёты об операциях за указанный период. Все данные выводятся сразу в консоль: в текстовом виде или сохраняются в файлах формата Markdown.
<details> <summary>Пример запроса клиентского портфеля и вывод информации в консоль</summary>$ tksbrokerapi --overview
TKSBrokerAPI.py L:1821 INFO [2022-08-10 22:06:27,150] Statistics of client's portfolio:
# Client's portfolio
* **Actual date:** [2022-08-10 19:06:27] (UTC)
* **Account ID:** [**********]
* **Portfolio cost:** 405705.77 RUB
* **Changes:** +2098.76 RUB (+0.52%)
## Open positions
| Ticker [FIGI] | Volume (blocked) | Lots | Curr. price | Avg. price | Current volume cost | Profit (%)
|-----------------------------|---------------------------------|----------|--------------|--------------|---------------------|----------------------
| Ruble | 5.62 (0.00) rub | | | | |
| | | | | | |
| **Currencies:** | | | | | 13886.03 RUB |
| EUR_RUB__TOM [BBG0013HJJ31] | 5.29 (0.00) eur | 0.0053 | 62.75 rub | 61.41 rub | 331.96 rub | +7.10 rub (+2.19%)
| CNYRUB_TOM [BBG0013HRTL0] | 928.93 (0.00) cny | 0.9289 | 9.09 rub | 8.95 rub | 8443.97 rub | +134.69 rub (+1.62%)
| CHFRUB_TOM [BBG0013HQ5K4] | 1.00 (0.00) chf | 0.0010 | 60.54 rub | 64.00 rub | 60.54 rub | -3.46 rub (-5.41%)
| GBPRUB_TOM [BBG0013HQ5F0] | 10.00 (0.00) gbp | 0.0100 | 74.39 rub | 75.88 rub | 743
