{"id":29565496,"url":"https://github.com/tim55667757/tksbrokerapi","last_synced_at":"2025-07-18T21:31:59.521Z","repository":{"id":41349346,"uuid":"280828226","full_name":"Tim55667757/TKSBrokerAPI","owner":"Tim55667757","description":"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):","archived":false,"fork":false,"pushed_at":"2025-05-22T00:03:41.000Z","size":40659,"stargazers_count":34,"open_issues_count":22,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-25T06:46:15.593Z","etag":null,"topics":["algo-trading-software","algo-trading-strategies","algotrading","api-client","candlesticks","cli","client","history","prices","python-api","rest","rest-api","statistics","stock","tinkoff","tinkoff-api","trade","trading","trading-api","trading-platform"],"latest_commit_sha":null,"homepage":"https://t.me/TKSBrokerAPI","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tim55667757.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-19T08:57:33.000Z","updated_at":"2025-06-03T09:07:35.000Z","dependencies_parsed_at":"2025-03-13T14:22:53.424Z","dependency_job_id":"f9b812ad-5a33-4a34-945d-79ec1d6a6502","html_url":"https://github.com/Tim55667757/TKSBrokerAPI","commit_stats":{"total_commits":420,"total_committers":1,"mean_commits":420.0,"dds":0.0,"last_synced_commit":"4cd78e5af85e35ff8ab6bacedbee3cef0bdff2b6"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Tim55667757/TKSBrokerAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim55667757%2FTKSBrokerAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim55667757%2FTKSBrokerAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim55667757%2FTKSBrokerAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim55667757%2FTKSBrokerAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tim55667757","download_url":"https://codeload.github.com/Tim55667757/TKSBrokerAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tim55667757%2FTKSBrokerAPI/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265837537,"owners_count":23836557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algo-trading-software","algo-trading-strategies","algotrading","api-client","candlesticks","cli","client","history","prices","python-api","rest","rest-api","statistics","stock","tinkoff","tinkoff-api","trade","trading","trading-api","trading-platform"],"created_at":"2025-07-18T21:30:30.811Z","updated_at":"2025-07-18T21:31:59.444Z","avatar_url":"https://github.com/Tim55667757.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TKSBrokerAPI — платформа для автоматизации торговли на бирже \n\n*[Нечёткие технологии](https://fuzzy-technologies.github.io/)*\u003cbr\u003e\n\u003ca href=\"https://github.com/Tim55667757/TKSBrokerAPI/blob/master/README_EN.md\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/Tim55667757/TKSBrokerAPI/blob/develop/docs/media/TKSBrokerAPI-Logo.png?raw=true\" alt=\"TKSBrokerAPI-Logo\" width=\"780\" /\u003e\u003c/a\u003e\u003cbr\u003e\n**Т**ехнологии · **З**нания · **Н**аука\n\n**[TKSBrokerAPI](https://github.com/Tim55667757/TKSBrokerAPI)** — это платформа для упрощения автоматизации торговых сценариев на Python и работы с [Tinkoff Invest API](https://tinkoff.ru/sl/AaX1Et1omnH) сервером через REST-протокол. Платформа TKSBrokerAPI может использоваться в двух вариантах: из консоли (она имеет богатый набор ключей и команд) или её можно использовать как обычный Python модуль через `python import`. TKSBrokerAPI помогает автоматизировать рутинные торговые операции и реализовать торговые сценарии, или упростить получение необходимой для аналитики информации с сервера брокера. Платформа достаточно легко интегрируется в различные CI/CD конвейеры.\n\n**Статус сборок и деплоя CI/CD**\n\n| Branch  | Status                                                                                                                                                                                                                     |\n|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| master  | [![CI (main)](https://github.com/Tim55667757/TKSBrokerAPI/actions/workflows/python-package-ci-cd.yml/badge.svg?branch=main)](https://github.com/Tim55667757/TKSBrokerAPI/actions/workflows/python-package-ci-cd.yml)       |\n| develop | [![CI (develop)](https://github.com/Tim55667757/TKSBrokerAPI/actions/workflows/python-package-ci-cd.yml/badge.svg?branch=develop)](https://github.com/Tim55667757/TKSBrokerAPI/actions/workflows/python-package-ci-cd.yml) |\n\n[![pypi](https://img.shields.io/pypi/v/TKSBrokerAPI.svg)](https://pypi.python.org/pypi/TKSBrokerAPI)\n[![license](https://img.shields.io/pypi/l/TKSBrokerAPI.svg)](https://github.com/Tim55667757/TKSBrokerAPI/blob/master/LICENSE)\n[![release-notes](https://badgen.net/badge/release/notes/orange)](https://github.com/Tim55667757/TKSBrokerAPI/blob/develop/CHANGELOG.md)\n[![en-doc](https://badgen.net/badge/english/readme/pink)](https://github.com/Tim55667757/TKSBrokerAPI/blob/master/README_EN.md)\n[![api-doc](https://badgen.net/badge/api-doc/TKSBrokerAPI/blue)](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html)\n[![gift](https://badgen.net/badge/gift/donate/green)](https://yoomoney.ru/fundraise/4WOyAgNgb7M.230111)\n\n❗ Если вам не хватает возможностей платформы или какого-либо примера в документации, для лучшего понимания работы платформы TKSBrokerAPI (в консоли или как Python API), то опишите ваш случай в разделе 👉 [**Issues**](https://github.com/Tim55667757/TKSBrokerAPI/issues/new) 👈, пожалуйста. По мере возможности постараемся реализовать нужную функциональность и добавить примеры в очередном релизе.\n\n[![open-issues](http://isitmaintained.com/badge/open/tim55667757/TKSBrokerAPI.svg)](https://github.com/Tim55667757/TKSBrokerAPI/issues?q=is%3Aopen+is%3Aissue+sort%3Acreated-desc)\n[![resolution-time](http://isitmaintained.com/badge/resolution/tim55667757/TKSBrokerAPI.svg)](https://isitmaintained.com/project/tim55667757/TKSBrokerAPI)\n\n**Полезные ссылки**\n\n* 📚 [Документация и примеры на английском (documentation and examples in english here)](https://github.com/Tim55667757/TKSBrokerAPI/blob/master/README_EN.md)\n  * ⚙ [Автоматическая API-документация на английском для модуля TKSBrokerAPI (API documentation here)](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html)\n  * 🇺🇸 [Релиз-ноты на английском](https://github.com/Tim55667757/TKSBrokerAPI/blob/master/CHANGELOG_EN.md)\n  * 🇷🇺 [Релиз-ноты на русском](https://github.com/Tim55667757/TKSBrokerAPI/blob/master/CHANGELOG.md)\n    * 💡 [Все запланированные релизы и вошедшие в них фичи](https://github.com/Tim55667757/TKSBrokerAPI/milestones?direction=desc\u0026sort=title\u0026state=open)\n    * 📂 [Все открытые задачи в беклоге](https://github.com/Tim55667757/TKSBrokerAPI/issues?q=is%3Aissue+is%3Aopen+sort%3Acreated-asc)\n* 🎁 Поддержать проект донатом на ЮМани-кошелёк: [410015019068268](https://yoomoney.ru/fundraise/4WOyAgNgb7M.230111)\n\n**Содержание документации**\n\n1. [Введение](#Введение)\n   - [Основные возможности](#Основные-возможности)\n2. [Как установить](#Как-установить)\n3. [Аутентификация](#Аутентификация)\n   - [Токен](#Токен)\n   - [Идентификатор счёта пользователя](#Идентификатор-счёта-пользователя)\n4. [Справка по ключам](#Справка-по-ключам)\n5. [Примеры использования](#Примеры-использования)\n   - [Из командной строки](#Из-командной-строки)\n     - [Локальный кэш данных](#Локальный-кэш-данных)\n     - [Получить список всех доступных для торговли инструментов](#Получить-список-всех-доступных-для-торговли-инструментов)\n     - [Найти инструмент](#Найти-инструмент)\n     - [Получить информацию по инструменту](#Получить-информацию-по-инструменту)\n     - [Запросить стакан цен с заданной глубиной](#Запросить-стакан-цен-с-заданной-глубиной)\n     - [Запросить таблицу последних актуальных цен для списка инструментов](#Запросить-таблицу-последних-актуальных-цен-для-списка-инструментов)\n     - [Получить текущий портфель пользователя и статистику распределения активов](#Получить-текущий-портфель-пользователя-и-статистику-распределения-активов)\n     - [Получить отчёт по операциям с портфелем за указанный период](#Получить-отчёт-по-операциям-с-портфелем-за-указанный-период)\n     - [Совершить сделку по рынку](#Совершить-сделку-по-рынку)\n     - [Открыть отложенный лимитный или стоп-ордер](#Открыть-отложенный-лимитный-или-стоп-ордер)\n     - [Отменить ордера и закрыть позиции](#Отменить-ордера-и-закрыть-позиции)\n     - [Скачать исторические данные в формате OHLCV-свечей](#Скачать-исторические-данные-в-формате-OHLCV-свечей)\n     - [Узнать доступный для вывода остаток средств в различных валютах](#Узнать-доступный-для-вывода-остаток-средств-в-различных-валютах)\n     - [Получить информацию о пользователе и счетах](#Получить-информацию-о-пользователе-и-счетах)\n     - [Получить обогащённые данные по облигациям](#Получить-обогащённые-данные-по-облигациям)\n     - [Построить календарь выплат по облигациям](#Построить-календарь-выплат-по-облигациям)\n   - [Как Python API через импорт модуля TKSBrokerAPI](#Как-Python-API-через-импорт-модуля-TKSBrokerAPI)\n     - [Пример реализации абстрактного сценария](#Пример-реализации-абстрактного-сценария)\n     - [Использование в Jupyter Notebook](#Использование-в-Jupyter-Notebook)\n     - [Детектор аномальных объёмов](#Детектор-аномальных-объёмов)\n\n\n## Введение\n\nЕсли вы занимаетесь одновременно инвестированием, автоматизацией и алгоритмической торговлей, то наверняка слышали про [Tinkoff Open API](https://tinkoff.github.io/investAPI/) (к нему есть неплохая [Swagger-документация](https://tinkoff.github.io/investAPI/swagger-ui/)) — это API, предоставляемое брокером Тинькофф Инвестиции для автоматизации работы биржевых торговых роботов. Если ещё не слышали, то можете завести себе аккаунт [по ссылке](https://tinkoff.ru/sl/AaX1Et1omnH) и протестировать его возможности сами.\n\nПри работе с любыми API, всегда возникают технические трудности: высокий порог вхождения, необходимость в изучении документации, написание и отладка кода для выполнения сетевых запросов по формату API. Пройдёт много времени, прежде чем у вас дойдёт дело до реализации торгового алгоритма.\n\nПлатформа **[TKSBrokerAPI](https://github.com/Tim55667757/TKSBrokerAPI)** — это более простой инструмент, который можно использовать как обычный Python модуль или запускать из командной строки, и сразу из коробки получить возможность работать со счётом у брокера Тинькофф Инвестиции: получать информацию о состоянии портфеля, включая элементарную аналитику, открывать и закрывать позиции, получать общую информацию о торгуемых на бирже инструментах, запрашивать цены и получать отчёты об операциях за указанный период. Все данные выводятся сразу в консоль: в текстовом виде или сохраняются в файлах формата Markdown.\n\n\u003cdetails\u003e\n  \u003csummary\u003eПример запроса клиентского портфеля и вывод информации в консоль\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi --overview\n\nTKSBrokerAPI.py     L:1821 INFO    [2022-08-10 22:06:27,150] Statistics of client's portfolio:\n# Client's portfolio\n\n* **Actual date:** [2022-08-10 19:06:27] (UTC)\n* **Account ID:** [**********]\n* **Portfolio cost:** 405705.77 RUB\n* **Changes:** +2098.76 RUB (+0.52%)\n\n## Open positions\n\n| Ticker [FIGI]               | Volume (blocked)                | Lots     | Curr. price  | Avg. price   | Current volume cost | Profit (%)\n|-----------------------------|---------------------------------|----------|--------------|--------------|---------------------|----------------------\n| Ruble                       |                 5.62 (0.00) rub |          |              |              |                     |\n|                             |                                 |          |              |              |                     |\n| **Currencies:**             |                                 |          |              |              |        13886.03 RUB |\n| 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%)\n| CNYRUB_TOM [BBG0013HRTL0]   |               928.93 (0.00) cny | 0.9289   |     9.09 rub |     8.95 rub |         8443.97 rub | +134.69 rub (+1.62%)\n| CHFRUB_TOM [BBG0013HQ5K4]   |                 1.00 (0.00) chf | 0.0010   |    60.54 rub |    64.00 rub |           60.54 rub | -3.46 rub (-5.41%)\n| GBPRUB_TOM [BBG0013HQ5F0]   |                10.00 (0.00) gbp | 0.0100   |    74.39 rub |    75.88 rub |          743.85 rub | -14.94 rub (-1.97%)\n| TRYRUB_TOM [BBG0013J12N1]   |               100.00 (0.00) try | 0.1000   |     3.42 rub |     3.41 rub |          342.00 rub | +0.65 rub (+0.19%)\n| USD000UTSTOM [BBG0013HGFT4] |                34.42 (0.05) usd | 0.0344   |    60.66 rub |    60.33 rub |         2088.09 rub | +11.44 rub (+0.55%)\n| HKDRUB_TOM [BBG0013HSW87]   |               237.75 (0.00) hkd | 0.2378   |     7.89 rub |     7.83 rub |         1875.61 rub | +14.27 rub (+0.77%)\n|                             |                                 |          |              |              |                     |\n| **Shares:**                 |                                 |          |              |              |       199987.52 RUB |\n| POSI [TCS00A103X66]         |                           3 (0) | 3        |  1161.80 rub |  1120.20 rub |         3485.40 rub | +124.60 rub (+3.71%)\n| 288 [BBG00699M8Q7]          |                         800 (0) | 8        |     5.53 hkd |     5.69 hkd |         4424.00 hkd | -128.00 hkd (-2.81%)\n| YNDX [BBG006L8G4H1]         |                           4 (0) | 4        |  1971.80 rub |  1958.80 rub |         7887.20 rub | +52.22 rub (+0.67%)\n| IBM [BBG000BLNNH6]          |                           1 (1) | 1        |   131.03 usd |   131.13 usd |          131.03 usd | -0.10 usd (-0.08%)\n| 1810 [BBG00KVTBY91]         |                        1100 (0) | 11       |    11.79 hkd |    11.76 hkd |        12969.00 hkd | +30.00 hkd (+0.23%)\n| 9988 [BBG006G2JVL2]         |                          60 (0) | 6        |    91.80 hkd |    91.05 hkd |         5508.00 hkd | +45.50 hkd (+0.83%)\n|                             |                                 |          |              |              |                     |\n| **Bonds:**                  |                                 |          |              |              |        56240.33 RUB |\n| RU000A105104 [TCS00A105104] |                           5 (0) | 5        |  1012.00 cny |  1013.00 cny |         5064.80 cny | -5.00 cny (-0.10%)\n| RU000A101YV8 [TCS00A101YV8] |                          10 (0) | 10       |  1015.40 rub |  1011.21 rub |        10201.30 rub | +41.90 rub (+0.41%)\n|                             |                                 |          |              |              |                     |\n| **Etfs:**                   |                                 |          |              |              |       135586.27 RUB |\n| TGLD [BBG222222222]         |                       30000 (0) | 300      |     0.07 usd |     0.07 usd |         2235.00 usd | -3.39 usd (-0.15%)\n|                             |                                 |          |              |              |                     |\n| **Futures:** no trades      |                                 |          |              |              |                     |\n\n## Opened pending limit-orders: 1\n\n| Ticker [FIGI]               | Order ID       | Lots (exec.) | Current price (% delta) | Target price  | Action    | Type      | Create date (UTC)\n|-----------------------------|----------------|--------------|-------------------------|---------------|-----------|-----------|---------------------\n| IBM [BBG000BLNNH6]          | ************   | 1 (0)        |     131.02 usd (-4.36%) |    137.00 usd | ↓ Sell    | Limit     | 2022-08-10 22:02:44\n\n## Opened stop-orders: 3\n\n| Ticker [FIGI]               | Stop order ID                        | Lots   | Current price (% delta) | Target price  | Limit price   | Action    | Type        | Expire type  | Create date (UTC)   | Expiration (UTC)\n|-----------------------------|--------------------------------------|--------|-------------------------|---------------|---------------|-----------|-------------|--------------|---------------------|---------------------\n| 1810 [BBG00KVTBY91]         | ********-****-****-****-************ | 11     |         N/A hkd (0.00%) |     14.00 hkd |        Market | ↓ Sell    | Take profit | Until cancel | 2022-08-10 11:24:57 | Undefined\n| 288 [BBG00699M8Q7]          | ********-****-****-****-************ | 8      |         N/A hkd (0.00%) |      5.80 hkd |        Market | ↓ Sell    | Take profit | Until cancel | 2022-08-10 11:06:28 | Undefined\n| IBM [BBG000BLNNH6]          | ********-****-****-****-************ | 1      |     130.99 usd (-4.49%) |    137.15 usd |        Market | ↓ Sell    | Take profit | Until cancel | 2022-08-10 19:02:21 | Undefined\n\n# Analytics\n\n* **Current total portfolio cost:** 405705.77 RUB\n* **Changes:** +2098.76 RUB (+0.52%)\n\n## Portfolio distribution by assets\n\n| Type       | Uniques | Percent | Current cost\n|------------|---------|---------|-----------------\n| Ruble      | 1       | 0.00%   | 5.62 rub\n| Currencies | 7       | 3.42%   | 13886.03 rub\n| Shares     | 6       | 49.29%  | 199987.52 rub\n| Bonds      | 2       | 13.86%  | 56240.33 rub\n| Etfs       | 1       | 33.42%  | 135586.27 rub\n\n## Portfolio distribution by companies\n\n| Company                                     | Percent | Current cost\n|---------------------------------------------|---------|-----------------\n| All money cash                              | 3.42%   | 13891.65 rub\n| [POSI] Positive Technologies                | 0.86%   | 3485.40 rub\n| [288] WH Group                              | 8.60%   | 34900.94 rub\n| [YNDX] Yandex                               | 1.94%   | 7887.20 rub\n| [IBM] IBM                                   | 1.96%   | 7948.93 rub\n| [1810] Xiaomi                               | 25.22%  | 102312.44 rub\n| [9988] Alibaba                              | 10.71%  | 43452.61 rub\n| [RU000A105104] РУСАЛ выпуск 5               | 11.35%  | 46039.03 rub\n| [RU000A101YV8] Позитив Текнолоджиз выпуск 1 | 2.51%   | 10201.30 rub\n| [TGLD] Тинькофф Золото                      | 33.42%  | 135586.28 rub\n\n## Portfolio distribution by sectors\n\n| Sector         | Percent | Current cost\n|----------------|---------|-----------------\n| All money cash | 3.42%   | 13891.65 rub\n| it             | 30.55%  | 123948.08 rub\n| consumer       | 19.31%  | 78353.55 rub\n| telecom        | 1.94%   | 7887.20 rub\n| materials      | 11.35%  | 46039.03 rub\n| other          | 33.42%  | 135586.28 rub\n\n## Portfolio distribution by currencies\n\n| Instruments currencies   | Percent | Current cost\n|--------------------------|---------|-----------------\n| [rub] Российский рубль   | 5.32%   | 21579.52 rub\n| [hkd] Гонконгский доллар | 44.99%  | 182541.60 rub\n| [usd] Доллар США         | 35.89%  | 145623.30 rub\n| [cny] Юань               | 13.43%  | 54483.01 rub\n| [eur] Евро               | 0.08%   | 331.96 rub\n| [chf] Швейцарский франк  | 0.01%   | 60.54 rub\n| [gbp] Фунт стерлингов    | 0.18%   | 743.85 rub\n| [try] Турецкая лира      | 0.08%   | 342.00 rub\n\n## Portfolio distribution by countries\n\n| Assets by country                  | Percent | Current cost\n|------------------------------------|---------|-----------------\n| All other countries                | 36.84%  | 149472.30 rub\n| [RU] Российская Федерация          | 16.67%  | 67612.93 rub\n| [CN] Китайская Народная Республика | 44.53%  | 180665.99 rub\n| [US] Соединенные Штаты Америки     | 1.96%   | 7948.93 rub\n\nTKSBrokerAPI.py     L:1827 INFO    [2022-08-10 22:06:27,153] Client's portfolio is saved to file: [overview.md]\n```\n\n\u003c/details\u003e\n\nПлатформа TKSBrokerAPI позволяет автоматизировать рутинные торговые операции и реализовать ваши торговые сценарии, либо только получать нужную информацию от брокера. Благодаря богатой системе консольных команд её достаточно просто встроить в системы автоматизации CI/CD.\n\nВ будущем, на основе этой платформы, в опенсорс будут выложены готовые торговые сценарии и шаблоны для написания собственных сценариев на языке Python.\n\n### Основные возможности\n\nНа момент [последнего релиза](https://pypi.org/project/tksbrokerapi/) инструмент TKSBrokerAPI умеет:\n\n- Скачивать с сервера брокера исторические данные в ценовой модели OHLCV (доступны интервалы: `1min`, `5min`, `15min`, `hour` и `day` за любой период времени, начиная с `1970-01-01`);\n  - общий ключ `--history` и дополнительные ключи: `--interval`, `--only-missing` и `--csv-sep`;\n  - API-метод: [`History()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.History).\n- Параллельно скачивать историю тикеров по крону с сохранением в отдельные CSV-файлы (с аналогичными опциями как выше);\n   - общий ключ `--history-auto-updater` и дополнительные ключи: `--crontab`, `--date-start`, `--wait-after-iteration` и `--wait-next`;\n   - API-метод: [`HistoryAutoUpdater()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#HistoryAutoUpdater).\n- Кэшировать по умолчанию все данные по всем торгуемым инструментам в файл `dump.json` и использовать его в дальнейшем, что позволяет уменьшить число обращений на сервер брокера;\n  - ключ `--no-cache` отменяет использование локального кэша, данные запрашиваются с сервера при каждом запуске;\n  - API-метод: [`DumpInstruments()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.DumpInstruments).\n- Получать с сервера брокера список всех доступных для указанного аккаунта инструментов: валют, акций, облигаций, фондов и фьючерсов, в табличном виде в формате Markdown (человеко-читаемая таблица) или в формате XLSX, для дальнейшего использования датасайнтистами или биржевыми аналитиками;\n  - ключ `--list` или `-l` для Markdown-файла, ключ `--list-xlsx` или `-x` для XLSX-файла;\n  - API-методы: [`Listing()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Listing) и [`DumpInstrumentsAsXLSX()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.DumpInstrumentsAsXLSX).\n- Выполнять поиск инструментов, указав только часть их имени, тикера или FIGI идентификатора, либо задав регулярное выражение;\n  - ключ `--search` или `-s`;\n  - API-метод: [`SearchInstruments()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SearchInstruments).\n- Запрашивать у брокера информацию об инструменте, зная его тикер или идентификатор FIGI;\n  - ключ `--info` или `-i`;\n  - API-методы: [`SearchByTicker()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SearchByTicker), [`SearchByFIGI()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SearchByFIGI) и [`ShowInstrumentInfo()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.ShowInstrumentInfo).\n- Запрашивать у брокера стакан актуальных биржевых цен для указанного по тикеру или FIGI инструмента, при этом можно указать глубину стакана;\n  - ключ `--price` совместно с ключом `--depth`;\n  - API-метод: [`GetCurrentPrices()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.GetCurrentPrices).\n- Получать с сервера брокера таблицу последних цен;\n  - ключ `--prices` с перечислением списка интересующих инструментов;\n  - API-метод: [`GetListOfPrices()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.GetListOfPrices).\n- Получать информацию о состоянии портфеля пользователя и аналитику по нему: распределение портфеля по активам, компаниям, секторам, валютам и странам активов;\n  - ключ `--overview` или `-o`;\n  - API-метод: [`Overview()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Overview).\n- Получать с сервера брокера информацию о совершённых сделках за указанный период и представлять её в табличном виде;\n  - ключ `--deals` или `-d`;\n  - API-метод: [`Deals()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Deals).\n- Совершать сделки по рынку, покупая или продавая активы в стакане, удовлетворяя имеющиеся заявки от продавцов или покупателей;\n  - общий ключ `--trade` и дополнительные ключи: `--buy`, `--sell`;\n  - API-методы: [`Trade()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Trade), [`Buy()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Buy) и [`Sell()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Sell).\n- Открывать ордера любого типа: отложенные лимитные, действующие в пределах одной торговой сессии, и стоп-ордера, которые могут действовать до отмены или до указанной даты;\n  - общий ключ `--order` и дополнительные ключи: `--buy-limit`, `--sell-limit`, `--buy-stop`, `--sell-stop`;\n  - API-методы: [`Order()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Order), [`BuyLimit()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.BuyLimit), [`SellLimit()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SellLimit), [`BuyStop()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.BuyStop) и [`SellStop()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SellStop).\n- Закрывать открытые ранее ордера или списки ордеров любого типа по их ID;\n  - ключи `--close-order` или `--cancel-order`, `--close-orders` или `--cancel-orders`;\n  - API-метод: [`CloseOrders()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseOrders).\n- Закрывать ранее открытые позиции полностью (кроме заблокированных объёмов), указав конкретный инструмент или список инструментов через их тикеры или FIGI;\n  - ключи `--close-trade` (`--cancel-trade`) или `--close-trades` (`--cancel-trades`);\n  - API-метод: [`CloseTrades()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseTrades).\n- Отменять все открытые ранее ордера и закрывать текущие позиции по всем инструментам сразу, кроме заблокированных объёмов и позиций по валютам, которые необходимо закрывать отдельно;\n  - ключ `--close-all` (возможно использовать совместно с ключами `--ticker` или `--figi`), также можно конкретизировать ордера, тип актива или указать через пробел сразу несколько ключевых слов после ключа `--close-all`: `orders`, `shares`, `bonds`, `etfs` или `futures`;\n  - API-методы: [`CloseAll()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseAll), [`CloseAllByTicker()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseAllByTicker), [`CloseAllByFIGI()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseAllByFIGI), [`IsInLimitOrders()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.IsInLimitOrders), [`GetLimitOrderIDs()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.GetLimitOrderIDs), [`IsInStopOrders()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.IsInStopOrders), [`GetStopOrderIDs()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.GetStopOrderIDs), [`CloseAllOrders()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseAllOrders) и [`CloseAllTrades()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CloseAllTrades).\n- Получать лимиты пользователя на доступные для вывода средства;\n  - ключ `--limits` (`--withdrawal-limits`, `-w`);\n  - API-методы: [`RequestLimits()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestLimits) и [`OverviewLimits()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewLimits).\n- Строить интерактивные или статические свечные графики цен (используя библиотеку [PriceGenerator](https://github.com/Tim55667757/PriceGenerator)), источником цен при этом могут быть как загруженные с сервера данные, так и ранее сохранённые файлы в csv-формате;\n  - общий ключ `--render-chart`, который используется совместно с одним из ключей `--history` (загрузка данных с сервера) или `--load-history` (загрузка из csv-файла);\n  - API-методы: [`ShowHistoryChart()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.ShowHistoryChart), [`History()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.History) и [`LoadHistory()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.LoadHistory).\n- Запрашивать общую информацию о пользователе, список аккаунтов (в том числе `accountId` всех счетов), доступные средства для маржинальной торговли и лимиты подключений через API для текущего тарифа;\n  - общий ключ `--user-info` (`-u`) для получения всей информации или ключ `--account` (`--accounts`, `-a`) для получения списка аккаунтов;\n  - API-методы: [`RequestAccounts()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestAccounts), [`RequestUserInfo()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestUserInfo), [`RequestMarginStatus()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestMarginStatus), [`RequestTariffLimits()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestTariffLimits), [`OverviewUserInfo()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewUserInfo) и [`OverviewAccounts()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewAccounts).\n- Запрашивать данные об облигациях, обогащать их и превращать в Pandas DataFrame с большим количеством дополнительной информации для будущего использования датасайнтистами или биржевыми аналитиками: основные данные, текущая цена, календарь выплат по облигациям, купонный доход, текущая доходность и некоторая статистика, а также сохранять эти данные в XLSX-файл;\n  - общий ключ `--bonds-xlsx` (`-b`) для обогащения данных по всем сразу или по указанным облигациям;\n  - API-методы: [`RequestBondCoupons()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.RequestBondCoupons) и [`ExtendBondsData()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.ExtendBondsData).\n- Генерировать календарь выплат по всем сразу или по списку облигаций и сохранять его в файл формата Markdown или в XLSX-файл;\n  - общий ключ `--calendar` (`-c`) для построения календаря выплат по купонам;\n  - API-методы: [`CreateBondsCalendar()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CreateBondsCalendar) и [`ShowBondsCalendar()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.ShowBondsCalendar).\n- Генерировать HTML-отчёты из любых отчётов формата Markdown;\n  - общий ключ `--html` (`--HTML`), который можно указать с любой из команд: `--list`, `--info`, `--search`, `--prices`, `--deals`, `--limits`, `--calendar`, `--account`, `--user-info`, `--overview`, `--overview-digest`, `--overview-positions`, `--overview-orders`, `--overview-analytics` и `--overview-calendar`;\n  - API-методы: [`Listing()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Listing), [`ShowInstrumentInfo()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.ShowInstrumentInfo), [`SearchInstruments()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.SearchInstruments), [`GetListOfPrices()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.GetListOfPrices), [`Deals()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Deals), [`OverviewLimits()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewLimits), [`CreateBondsCalendar()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.CreateBondsCalendar), [`OverviewAccounts()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewAccounts), [`OverviewUserInfo()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.OverviewUserInfo) и [`Overview()`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.Overview) с включенным параметром `TinkoffBrokerServer.useHTMLReports = True`.\n\n\n## Как установить\n\nПроще всего использовать установку через PyPI:\n\n```commandline\npip install tksbrokerapi\n```\n\nПосле этого можно проверить установку командой:\n\n```commandline\npip show tksbrokerapi\ntksbrokerapi --version\n```\n\nТакже можно использовать модуль TKSBrokerAPI, скачав его напрямую из [репозитория](https://github.com/Tim55667757/TKSBrokerAPI/) через `git clone` и взяв кодовую базу любого протестированного [релиза](https://github.com/Tim55667757/TKSBrokerAPI/releases).\n\nВ первом случае инструмент будет доступен в консоли через команду `tksbrokerapi`, а во втором случае вам придётся запускать его как обычный Python-скрипт, через `python TKSBrokerAPI.py` из каталога с исходным кодом.\n\n❗ **Важное замечание:** модуль TKSBrokerAPI тестировался для `python \u003e= 3.9`. В более ранних версиях будут возникать ошибки. Далее все примеры написаны для случая, когда TKSBrokerAPI установлен через PyPI и запускается в `python == 3.9`.\n\n## Аутентификация\n\n### Токен\n\nСервис TINKOFF INVEST API использует для аутентификации токен. Токен — это набор символов, в котором зашифрованы данные о владельце, правах доступ и прочая информация, необходимая для авторизации в сервисе. Токен необходимо передавать на сервер с каждым сетевым запросом.\n\nПлатформа TKSBrokerAPI берёт всю работу с токенами на себя. Есть три варианта задания токена пользователя:\n\n- при вызове `tksbrokerapi` в консоли укажите ключ: `--token \"your_token_here\"`;\n- либо укажите `token` при инициализации класса в Python-скрипте: [`TKSBrokerAPI.TinkoffBrokerServer(token=\"your_token_here\", ...)`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.__init__);\n- или же можно заранее установить специальную переменную в пользовательском окружении: `TKS_API_TOKEN=your_token_here`.\n\n❗ **Работа с TINKOFF INVEST API без выпуска и использования токена невозможна**. До начала работы с платформой TKSBrokerAPI, пожалуйста, откройте по ссылке [брокерский счёт в Тинькофф Инвестиции](https://tinkoff.ru/sl/AaX1Et1omnH), а затем выберете нужный вам вид токена и создайте его, как указано по ссылке [в официальной документации](https://tinkoff.github.io/investAPI/token/).\n\n❗ **Важное замечание:** никогда и никому не передавайте свои токены, не используйте их в примерах, а также не сохраняйте их в пабликах и в коде. Токеном может воспользоваться кто угодно, но все операции у брокера будут отображаться от вашего имени. Если вы хотите использовать свои токены для автоматизации в CI/CD-системах, то обязательно пользуйтесь сокрытием переменных окружения ([пример](https://docs.travis-ci.com/user/environment-variables/#defining-variables-in-repository-settings) установки \"hidden variables\" для Travis CI, и [пример](https://docs.gitlab.com/ee/ci/variables/#protected-cicd-variables) установки \"protected variables\" для GitLab CI).\n\n### Идентификатор счёта пользователя\n\nВторой важный параметр для работы TKSBrokerAPI — это идентификатор конкретного счёта пользователя. Он не является обязательным, но без его указания будет невозможно выполнить многие операции через API (посмотреть портфель по брокерскому счёту, выполнить торговые операции, узнать лимиты на вывод средств и многие другие).\n\nВы можете найти этот идентификатор в любом брокерском отчёте (их можно заказать либо из мобильного приложения Тинькофф Инвестиции, либо в личном кабинете на сайте). Обычно идентификатор счёта пользователя находится сверху, в \"шапке\" отчётов. Также можно узнать этот номер спросив в чате техподдержки Тинькофф Инвестиции.\n\nНо самый простой способ — это воспользоваться командой `--user-info` и TKSBrokerAPI покажет вам список всех доступных счетов пользователя и их идентификаторы (токен должен быть задан, см. раздел [\"Получить информацию о пользователе и счетах\"](#Получить-информацию-о-пользователе-и-счетах)).\n\nЕсть три варианта задания идентификатора счёта пользователя:\n\n- при вызове `tksbrokerapi` в консоли укажите ключ: `--account-id your_id_number\"`;\n- либо укажите `accountId` при инициализации класса в Python-скрипте: [`TKSBrokerAPI.TinkoffBrokerServer(token=\"...\", accountId=your_id_number, ...)`](https://tim55667757.github.io/TKSBrokerAPI/docs/tksbrokerapi/TKSBrokerAPI.html#TinkoffBrokerServer.__init__);\n- или же можно заранее установить специальную переменную в пользовательском окружении: `TKS_ACCOUNT_ID=your_id_number`.\n\n\n## Справка по ключам\n\nИспользуется ключ `--help` (`-h`), действие не указывается. В консоль будет выведен актуальный для данного релиза список ключей и их краткое описание.\n\n```commandline\ntksbrokerapi --help\n```\n\n### 🚀 Как запустить\n\nПлатформу можно использовать двумя способами:\n\n```bash\n# Как модуль Python\npython TKSBrokerAPI.py [options] [command]\n\n# Как CLI-инструмент (если установлен с entry point)\ntksbrokerapi [options] [command]\n```\n\n### 💡 Обзор платформы\n\n**TKSBrokerAPI** — это торговая платформа, предназначенная для автоматизации и упрощения торговых сценариев. Она работает с **Tinkoff Invest API (REST)** и поддерживает полный цикл: торговлю, получение данных, управление ордерами и исполнение сигналов.\n\nСм. [примеры использования](#Usage-examples).\n\n### ⚙️ Опции\n\n| Option                          | Описание                                                                      | Пример                          |\n|---------------------------------|-------------------------------------------------------------------------------|---------------------------------|\n| `--token TOKEN`                 | API токен. Если не задан — используется переменная окружения `TKS_API_TOKEN`. | `--token abc123`                |\n| `--account-id ACCOUNT_ID`       | ID счёта. Можно узнать из отчётов брокера и установить в `TKS_ACCOUNT_ID`.    | `--account-id 123456789`        |\n| `--ticker TICKER`, `-t TICKER`  | Тикер инструмента, например: `GAZP`, `SBER`, `USD`.                           | `--ticker YNDX`                 |\n| `--figi FIGI`, `-f FIGI`        | FIGI-код инструмента.                                                         | `--figi BBG000TJ6F42`           |\n| `--depth DEPTH`                 | Глубина стакана (DOM), целое число ≥1.                                        | `--depth 10`                    |\n| `--output OUTPUT`               | Путь к файлу для сохранения (CSV, MD, XLSX).                                  | `--output deals.md`             |\n| `--interval INTERVAL`           | Интервал свечей: `1min`, `5min`, `15min`, `hour`, `day`.                      | `--interval hour`               |\n| `--date-start DATE`, `-ds DATE` | Дата начала для исторических данных.                                          | `--date-start 2024-01-01`       |\n| `--only-missing`                | Добавлять только недостающие свечи в файл.                                    | `--only-missing`                |\n| `--html`                        | Генерировать HTML-отчёты из Markdown.                                         | `--html`                        |\n| `--debug-level N`, `-v N`       | Уровень логов: 10=DEBUG, 20=INFO и т.д.                                       | `-v 20`                         |\n| `--more`                        | Включить расширенное логирование, включая HTTP-заголовки.                     | `--more`                        |\n| `--tag TAG`                     | Опциональный тег для различения параллельных запусков.                        | `--tag \"Backtest#1\"`            |\n| `--crontab CRON`                | Cron-выражение в формате pycron.                                              | `--crontab \"*/5 10-23 * * 1-5\"` |\n| `--wait-after-iteration SECS`   | Пауза после каждой итерации cron.                                             | `--wait-after-iteration 60`     |\n| `--wait-next SECS`              | Пауза перед следующим cron-запросом.                                          | `--wait-next 2`                 |\n| `--no-cache`                    | Игнорировать локальный кеш `dump.json`.                                       | `--no-cache`                    |\n| `--csv-sep SEP`                 | Разделитель CSV, по умолчанию `,`.                                            | `--csv-sep ;`                   |\n| `--no-cancelled`                | Не показывать отменённые сделки.                                              | `--no-cancelled`                |\n| `--version`, `--ver`            | Показать версию TKSBrokerAPI.                                                 | `--version`                     |\n\n### 🛠 Команды\n\n#### 🔍 Рыночные данные\n\n| Command               | Описание                               | Пример                    |\n|-----------------------|----------------------------------------|---------------------------|\n| `--list`, `-l`        | Показать все доступные инструменты.    | `--list`                  |\n| `--search NAME`, `-s` | Найти инструмент по названию/тикеру.   | `--search \"Газпр\"`        |\n| `--info`, `-i`        | Подробная информация по тикеру/FIGI.   | `--ticker YDEX --info`    |\n| `--calendar`, `-c`    | Календарь выплат по облигациям.        | `--calendar SBER`         |\n| `--price`             | Актуальная цена по одному инструменту. | `--ticker GAZP --price`   |\n| `--prices`, `-p`      | Цены по нескольким инструментам.       | `--prices GAZP SBER YDEX` |\n\n#### 📊 Отчёты и история\n\n| Command                | Описание                          | Пример                 |\n|------------------------|-----------------------------------|------------------------|\n| `--deals`, `-d`        | Все сделки за указанный период.   | `--deals week`         |\n| `--overview`, `-o`     | Полный снимок портфеля.           | `--overview`           |\n| `--overview-digest`    | Краткая сводка.                   | `--overview-digest`    |\n| `--overview-positions` | Только открытые позиции.          | `--overview-positions` |\n| `--overview-orders`    | Только лимитные и стоп-заявки.    | `--overview-orders`    |\n| `--limits`, `-w`       | Таблица лимитов на вывод средств. | `--limits`             |\n| `--user-info`, `-u`    | Информация о пользователе/счетах. | `--user-info`          |\n| `--account`, `-a`      | Перечень всех аккаунтов.          | `--account`            |\n\n#### 📈 Исторические данные\n\n| Command                             | Описание                                         | Пример                                                  |\n|-------------------------------------|--------------------------------------------------|---------------------------------------------------------|\n| `--history`, `--get-history`, `-gh` | Скачать свечи по инструменту.                    | `--ticker GAZP --history today`                         |\n| `--load-history`, `-lh`             | Загрузить данные из файла и вывести таблицу.     | `--load-history mydata.csv`                             |\n| `--render-chart`                    | Построить график: `interact` или `non-interact`. | `--render-chart i`                                      |\n| `--history-auto-updater`, `-hu`     | Автообновление истории по расписанию (cron).     | `--history-auto-updater GAZP SBER YDEX --date-start -3` |\n\n#### 📤 Торговые операции\n\n| Command                             | Описание                              | Пример                        |\n|-------------------------------------|---------------------------------------|-------------------------------|\n| `--trade`                           | Открыть рыночную позицию.             | `--trade Buy 1 200.0 180.0`   |\n| `--buy`, `--sell`                   | Мгновенная покупка/продажа.           | `--buy 2 220.0 190.0`         |\n| `--order`                           | Универсальный лимит/стоп-ордер.       | `--order Buy Limit 1 190.0`   |\n| `--buy-limit`, `--sell-limit`       | Лимитная заявка.                      | `--buy-limit 2 180.0`         |\n| `--buy-stop`, `--sell-stop`         | Стоп-заявка.                          | `--sell-stop 1 150.0`         |\n| `--close-order`, `--cancel-order`   | Отмена одного ордера по ID.           | `--close-order abc123`        |\n| `--close-orders`, `--cancel-orders` | Отмена нескольких ордеров по ID.      | `--close-orders id1 id2`      |\n| `--close-trade`, `--cancel-trade`   | Закрыть одну позицию.                 | `--ticker YNDX --close-trade` |\n| `--close-trades`, `--cancel-trades` | Закрыть список позиций.               | `--close-trades GAZP SBER`    |\n| `--close-all`, `--cancel-all`       | Закрыть все (кроме валютных) позиции. | `--close-all`                 |\n\n\n## Примеры использования\n\nДалее рассмотрим некоторые сценарии использования платформы TKSBrokerAPI: при её запуске в консоли или как Python-скрипт.\n\n❗ По умолчанию в консоль выводится информация уровня `INFO`. В случае возникновения каких-либо ошибок, рекомендуется повысить уровень логирования до `DEBUG`. Для этого укажите вместе с командой любой из ключей: `--debug-level=10`, `--verbosity=10` или `-v 10`. После этого скопируйте логи с проблемой и создайте новый баг в разделе 👉 [**Issues**](https://github.com/Tim55667757/TKSBrokerAPI/issues/new) 👈, пожалуйста. Желательно указывать версию проблемной сборки, которую можно узнать по ключу `--version` (или `--ver`).\n\nТакже информация уровня `DEBUG` всегда выводится в служебный файл `TKSBrokerAPI.log` (он создаётся в рабочей директории, где происходит вызов `tksbrokerapi` или скрипта `python TKSBrokerAPI.py`). Начиная с TKSBrokerAPI v1.5.120 можно использовать ключ `--more` (`--more-debug`), который дополнительно включает во всех методах отладочную информацию и выводит её в логи, например, сетевые запросы, ответы и их заголовки.\n\nЕсли вы запускаете несколько экземпляров платформы TKSBrokerAPI в параллельном режиме, можно использовать дополнительный тег для упрощения отладки и идентификации экземпляров в логах. Тег добавляется ключом `--tag` (начиная с TKSBrokerAPI v1.6.*).\n\n### Из командной строки\n\nПри запуске платформы TKSBrokerAPI в консоли можно указать множество параметров и выполнить одно действие. Формат команд следующий:\n\n```commandline\ntksbrokerapi [необязательные ключи и параметры] [одно действие]\n```\n\n❗ Для выполнения большинства команд вы должны каждый раз указывать свой токен через ключ `--token` и идентификатор пользователя через ключ `--account-id`, либо один раз установить их через переменные окружения `TKS_API_TOKEN` и `TKS_ACCOUNT_ID` (см. раздел [\"Аутентификация\"](#Аутентификация)).\n\n*Примечание: в примерах ниже токен доступа и ID счёта были заранее заданы через переменные окружения `TKS_API_TOKEN` и `TKS_ACCOUNT_ID`, поэтому ключи `--token` и `--account-id` не фигурируют в логах.*\n\n#### Локальный кэш данных\n\nНачиная с версии TKSBrokerAPI v1.2.62 добавлена возможность использования локального кэша `dump.json` с данными по торгуемым инструментам, что позволяет избежать постоянных запросов этих данных с сервера брокера и существенно сэкономить время. Кэш используется по умолчанию при исполнении любой команды, специально задавать его не требуется.\n\nЕсли текущий день отличается от дня последнего изменения кэша, то он автоматически обновится при очередном запуске программы. Если файл `dump.json` не существует в локальном каталоге, он также будет создан автоматически.\n\nОбычно на биржах редко происходят критические изменения по инструментам в течение дня и обновление кэша минимум раз в день оправданно. Но если вы хотите быть полностью уверены в консистентности данных, то можете указывать ключ `--no-cahce` вместе с каждой командой. В этом случае данные по инструментам будут запрашиваться каждый раз.\n\n#### Получить список всех доступных для торговли инструментов\n\nИспользуется ключ `--list` (`-l`). При этом запрашивается информация с сервера брокера по инструментам, доступным для текущего аккаунта. Дополнительно можно использовать ключ `--output` для указания файла, куда следует сохранить полученные данные в виде таблицы в человеко-читаемом формате Markdown (по умолчанию `instruments.md` в текущей рабочей директории). Для генерации файла `instruments.md` используются данные из локального кеша `dump.json`.\n\nКлюч `--debug-level=10` (или `--verbosity 10`, `-v 10`) выведет всю отладочную информацию в консоль (можно его не указывать).\n\nНачиная с TKSBrokerAPI v1.4.90 вы можете использовать ключ `--list-xlsx` (`-x`), чтобы сохранить сырые данные по доступным инструментам в формате XLSX, пригодном для дальнейшей обработки датасайнтистами или биржевыми аналитиками. По умолчанию используются данные из локального кеша `dump.json`, которые трансформируются в XLSX-формат и сохраняются в файл `dump.xlsx`.\n\nНа выходе получится XLSX-файл, содержащий сырые данные и заголовки, полученные с сервера брокера. Пример можно посмотреть в файле [./docs/media/dump.xlsx](./docs/media/dump.xlsx). Что означают заголовки в XLSX-файле, смотрите в разделах \"[Получить обогащённые данные по облигациям](#Получить-обогащённые-данные-по-облигациям)\" и \"[Построить календарь выплат по облигациям](#Построить-календарь-выплат-по-облигациям)\".\n\n![](./docs/media/dump.xlsx.png)\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения списка всех доступных инструментов в формате Markdown\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi --debug-level=10 --list --output ilist.md\n\nTKSBrokerAPI.py     L:2804 DEBUG   [2022-07-26 22:04:39,571] TKSBrokerAPI module started at: [2022-07-26 19:04:39] (UTC), it is [2022-07-26 22:04:39] local time\nTKSBrokerAPI.py     L:198  DEBUG   [2022-07-26 22:04:39,572] Bearer token for Tinkoff OpenApi set up from environment variable `TKS_API_TOKEN`. See https://tinkoff.github.io/investAPI/token/\nTKSBrokerAPI.py     L:210  DEBUG   [2022-07-26 22:04:39,572] String with user's numeric account ID in Tinkoff Broker set up from environment variable `TKS_ACCOUNT_ID`\nTKSBrokerAPI.py     L:240  DEBUG   [2022-07-26 22:04:39,573] Broker API server: https://invest-public-api.tinkoff.ru/rest\nTKSBrokerAPI.py     L:411  DEBUG   [2022-07-26 22:04:39,573] Requesting all available instruments from broker for current user token. Wait, please...\nTKSBrokerAPI.py     L:412  DEBUG   [2022-07-26 22:04:39,574] CPU usages for parallel requests: [7]\nTKSBrokerAPI.py     L:389  DEBUG   [2022-07-26 22:04:39,581] Requesting available [Currencies] list. Wait, please...\nTKSBrokerAPI.py     L:389  DEBUG   [2022-07-26 22:04:39,581] Requesting available [Shares] list. Wait, please...\nTKSBrokerAPI.py     L:389  DEBUG   [2022-07-26 22:04:39,581] Requesting available [Bonds] list. Wait, please...\nTKSBrokerAPI.py     L:389  DEBUG   [2022-07-26 22:04:39,581] Requesting available [Etfs] list. Wait, please...\nTKSBrokerAPI.py     L:389  DEBUG   [2022-07-26 22:04:39,582] Requesting available [Futures] list. Wait, please...\nTKSBrokerAPI.py     L:925  INFO    [2022-07-26 22:04:40,400] # All available instruments from Tinkoff Broker server for current user token\n\n* **Actual on date:** [2022-07-26 19:04] (UTC)\n* **Currencies:** [21]\n* **Shares:** [1900]\n* **Bonds:** [655]\n* **Etfs:** [105]\n* **Futures:** [284]\n\n\n## Currencies available. Total: [21]\n\n| Ticker       | Full name                                                      | FIGI         | Cur | Lot    | Step\n|--------------|----------------------------------------------------------------|--------------|-----|--------|---------\n| USDCHF_TOM   | Швейцарский франк - Доллар США                                 | BBG0013HPJ07 | chf | 1000   | 1e-05\n| EUR_RUB__TOM | Евро                                                           | BBG0013HJJ31 | rub | 1000   | 0.0025\n| CNYRUB_TOM   | Юань                                                           | BBG0013HRTL0 | rub | 1000   | 0.0001\n| ...          | ...                                                            | ...          | ... | ...    | ...   \n| RUB000UTSTOM | Российский рубль                                               | RUB000UTSTOM | rub | 1      | 0.0025\n| USD000UTSTOM | Доллар США                                                     | BBG0013HGFT4 | rub | 1000   | 0.0025\n\n[... далее идёт аналогичная информация по другим инструментам ...]\n\nTKSBrokerAPI.py     L:931  INFO    [2022-07-26 22:04:41,211] All available instruments are saved to file: [ilist.md]\nTKSBrokerAPI.py     L:3034 DEBUG   [2022-07-26 22:04:41,213] All operations with Tinkoff Server using Open API are finished success (summary code is 0).\nTKSBrokerAPI.py     L:3039 DEBUG   [2022-07-26 22:04:41,214] TKSBrokerAPI module work duration: [0:00:01.641989]\nTKSBrokerAPI.py     L:3042 DEBUG   [2022-07-26 22:04:41,215] TKSBrokerAPI module finished: [2022-07-26 19:04:41] (UTC), it is [2022-07-26 22:04:41] local time\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения сырых данных по всем доступным инструментам в XLSX-формате\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi -v 10 --list-xlsx\n\nTKSBrokerAPI.py     L:3482 DEBUG   [2022-10-19 01:20:35,574] \u003e\u003e\u003e TKSBrokerAPI module started at: [2022-10-18 22:20:35] UTC, it is [2022-10-19 01:20:35] local time\nTKSBrokerAPI.py     L:3496 DEBUG   [2022-10-19 01:20:35,576] TKSBrokerAPI major.minor.build version used: [1.3.dev77]\nTKSBrokerAPI.py     L:3497 DEBUG   [2022-10-19 01:20:35,576] Host CPU count: [8]\nTKSBrokerAPI.py     L:210  DEBUG   [2022-10-19 01:20:35,576] Bearer token for Tinkoff OpenApi set up from environment variable `TKS_API_TOKEN`. See https://tinkoff.github.io/investAPI/token/\nTKSBrokerAPI.py     L:222  DEBUG   [2022-10-19 01:20:35,576] String with user's numeric account ID in Tinkoff Broker set up from environment variable `TKS_ACCOUNT_ID`\nTKSBrokerAPI.py     L:270  DEBUG   [2022-10-19 01:20:35,576] Broker API server: https://invest-public-api.tinkoff.ru/rest\nTKSBrokerAPI.py     L:395  DEBUG   [2022-10-19 01:20:35,599] Local cache with raw instruments data is used: [dump.json]\nTKSBrokerAPI.py     L:396  DEBUG   [2022-10-19 01:20:35,599] Dump file was last modified [2022-10-18 20:38:59] UTC\nTKSBrokerAPI.py     L:603  INFO    [2022-10-19 01:20:37,278] XLSX-file for further used by data scientists or stock analytics: [dump.xlsx]\nTKSBrokerAPI.py     L:3806 DEBUG   [2022-10-19 01:20:37,278] All operations were finished success (summary code is 0).\nTKSBrokerAPI.py     L:3813 DEBUG   [2022-10-19 01:20:37,278] \u003e\u003e\u003e TKSBrokerAPI module work duration: [0:00:01.703956]\nTKSBrokerAPI.py     L:3814 DEBUG   [2022-10-19 01:20:37,279] \u003e\u003e\u003e TKSBrokerAPI module finished: [2022-10-18 22:20:37 UTC], it is [2022-10-19 01:20:37] local time\n```\n\n\u003c/details\u003e\n\n#### Найти инструмент\n\nЧтобы работать с биржевыми инструментами, получать информацию по ним, запрашивать цены и совершать сделки, обычно требуется указать тикер (ключ `--ticker`) или FIGI (ключ `--figi`). Но вряд ли есть много людей, кто знает их наизусть. Чаще всего имеется лишь предположение о части символов тикера или примерного названия компании. В этом случае можно воспользоваться поиском по паттерну: части имени, тикера или FIGI, либо указав регулярное выражение. Поиск осуществляется стандартным Python модулем [`re`](https://docs.python.org/3/library/re.html#re.compile), без учёта регистра.\n\nНачиная с версии TKSBrokerAPI v1.2.62 добавлен ключ `--search`, после которого нужно указать паттерн. Например, требуется найти все инструменты группы компаний Сбер, тогда можно попробовать задать часть слова: `tksbrokerapi --search \"sbe\"` (или по-русски `\"сбер\"`). Или же хочется узнать все инструменты компаний, в названии которых встречаются слова \"Российские\", \"акции\" и \"облигации\". В этом случае можно попробовать скомбинировать слова и задать регулярное выражение: `tksbrokerapi --search \"(Росс.*).*(?:.*ции)\"`.\n\nДополнительно к ключу `--search` можно указать ключ `--output` и задать имя файла, куда сохранить результаты поиска. По умолчанию полные результаты поиска сохраняются в `search-results.md`. В консоли отображаются только первые 5 найденных инструмента каждого типа.\n\nПосле того как нужный инструмент был найден и стали известны его тикер и FIGI, посмотреть более подробную информацию можно командой `tksbrokerapi -t TICKER --info` или `tksbrokerapi -f FIGI --info` ([подробнее](https://github.com/Tim55667757/TKSBrokerAPI#Получить-информацию-по-инструменту)).\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для поиска инструмента по части названия\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi --search \"сбер\"\n\nTKSBrokerAPI.py     L:1065 INFO    [2022-08-11 22:00:31,171] # Search results\n\n* **Search pattern:** [сбер]\n* **Found instruments:** [21]\n\n**Note:** you can view info about found instruments with key `--info`, e.g.: `tksbrokerapi -t TICKER --info` or `tksbrokerapi -f FIGI --info`.\n\n### Shares: [2]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Shares     | SBER         | Сбер Банк                                                      | BBG004730N88 |\n| Shares     | SBERP        | Сбер Банк - привилегированные акции                            | BBG0047315Y7 |\n\n### Bonds: [8]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Bonds      | RU000A101QW2 | Сбер Банк                                                      | BBG00V9STNC5 |\n| Bonds      | RU000A103YM3 | Сбер Банк 002P выпуск 1                                        | BBG013J0F816 |\n| Bonds      | RU000A101C89 | Сбер Банк 001P-SBER15                                          | BBG00RKBQ4D2 |\n| Bonds      | RU000A102FR3 | Сбербанк                                                       | BBG00YHVQ768 |\n| Bonds      | RU000A103G75 | Сбер Банк 001P-SBER32                                          | BBG0122KNFZ0 |\n| ...        | ...          | ...                                                            | ...          |\n\n### Etfs: [1]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Etfs       | RU000A104172 | ЗПИФ ПАРУС-Сберлог                                             | TCS00A104172 |\n\n### Futures: [10]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Futures    | SPH2         | SBPR-3.22 Сбер Банк (привилегированные)                        | FUTSBPR03220 |\n| Futures    | SRU2         | SBRF-9.22 Сбер Банк (обыкновенные)                             | FUTSBRF09220 |\n| Futures    | SRH3         | SBRF-3.23 Сбер Банк (обыкновенные)                             | FUTSBRF03230 |\n| Futures    | SRH2         | SBRF-3.22 Сбер Банк (обыкновенные)                             | FUTSBRF03220 |\n| Futures    | SPM2         | SBPR-6.22 Сбер Банк (привилегированные)                        | FUTSBPR06220 |\n| ...        | ...          | ...                                                            | ...          |\n\nTKSBrokerAPI.py     L:1066 INFO    [2022-08-11 22:00:31,172] You can view info about found instruments with key `--info`, e.g.: `tksbrokerapi -t IBM --info` or `tksbrokerapi -f BBG000BLNNH6 --info`\nTKSBrokerAPI.py     L:1072 INFO    [2022-08-11 22:00:31,172] Full search results were saved to file: [search-results.md]\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для поиска инструмента по регулярному выражению\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi --search \"(Росс.*).*(?:.*ции)\"\n\nTKSBrokerAPI.py     L:1067 INFO    [2022-08-11 22:41:39,039] # Search results\n\n* **Search pattern:** [(Росс.*).*(?:.*ции)]\n* **Found instruments:** [5]\n\n**Note:** you can view info about found instruments with key `--info`, e.g.: `tksbrokerapi -t TICKER --info` or `tksbrokerapi -f FIGI --info`.\n\n### Shares: [1]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Shares     | RSTIP        | Российские сети - акции привилегированные                      | BBG000KTF667 |\n\n### Etfs: [4]\n\n| Type       | Ticker       | Full name                                                      | FIGI         |\n|------------|--------------|----------------------------------------------------------------|--------------|\n| Etfs       | AMRE         | АТОН Российские акции +                                        | TCS00A102XX4 |\n| Etfs       | AMRB         | АТОН Российские облигации +                                    | TCS00A102XY2 |\n| Etfs       | SBCB         | Первая - Фонд Российские еврооблигации                         | BBG00NB6KGN0 |\n| Etfs       | AKME         | Альфа-Капитал Управляемые Российские Акции                     | BBG00YRW4B42 |\n\nTKSBrokerAPI.py     L:1068 INFO    [2022-08-11 22:41:39,039] You can view info about found instruments with key `--info`, e.g.: `tksbrokerapi -t IBM --info` or `tksbrokerapi -f BBG000BLNNH6 --info`\nTKSBrokerAPI.py     L:1074 INFO    [2022-08-11 22:41:39,040] Full search results were saved to file: [search-results.md]\n```\n\n\u003c/details\u003e\n\n#### Получить информацию по инструменту\n\nИспользуется ключ `--info` (`-i`), а также необходимо указать одно из двух: тикер инструмента, либо его FIGI идентификатор. Они задаются ключами `--ticker` (`-t`) и `--figi` (`-f`) соответственно. Выводимая пользователю информация при этом не отличается для обоих ключей. Разница имеется в содержании и количестве полей, отображаемых в информационной таблице, в зависимости от типа найденного инструмента: это валюта, акция, облигация, фонд или фьючерс.\n\nДополнительно можно указать ключ `--output` и указать имя файла, куда сохранить полученную информацию. По умолчанию результаты сохраняются в `info.md`.\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения информации по валюте (используя алиас тикера, минимальные логи)\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi -t CNY -i\n\nTKSBrokerAPI.py     L:930  INFO    [2022-11-18 13:58:40,118] # Main information: ticker [CNYRUB_TOM], FIGI [BBG0013HRTL0]\n\n* Actual at: [2022-11-18 10:58] (UTC)\n\n| Parameters                                                  | Values                                                 |\n|-------------------------------------------------------------|--------------------------------------------------------|\n| Ticker:                                                     | CNYRUB_TOM                                             |\n| Full name:                                                  | Юань                                                   |\n|                                                             |                                                        |\n| FIGI (Financial Instrument Global Identifier):              | BBG0013HRTL0                                           |\n| Real exchange [Exchange section]:                           | MOEX [FX]                                              |\n| Class Code (exchange section where instrument is traded):   | CETS                                                   |\n|                                                             |                                                        |\n| Current broker security trading status:                     | Normal trading                                         |\n|                                                             |                                                        |\n| Buy operations allowed:                                     | Yes                                                    |\n| Sale operations allowed:                                    | Yes                                                    |\n| Short positions allowed:                                    | Yes                                                    |\n|                                                             |                                                        |\n| Limit orders allowed:                                       | Yes                                                    |\n| Market orders allowed:                                      | Yes                                                    |\n| API trade allowed:                                          | Yes                                                    |\n|                                                             |                                                        |\n| Type of the instrument:                                     | Currencies                                             |\n| ISO currency name:                                          | cny                                                    |\n| Payment currency:                                           | rub                                                    |\n|                                                             |                                                        |\n| Previous close price of the instrument:                     | 8.453 rub                                              |\n| Last deal price of the instrument:                          | 8.473 rub                                              |\n| Changes between last deal price and last close              | 0.24% (+0.02 rub)                                      |\n| Current limit price, min / max:                             | 8.064 rub / 8.857 rub                                  |\n| Actual price, sell / buy:                                   | 8.473 rub / 8.474 rub                                  |\n| Minimum lot to buy:                                         | 1000                                                   |\n| Minimum price increment (step):                             | 0.001 rub                                              |\n\nTKSBrokerAPI.py     L:939  INFO    [2022-11-18 13:58:40,121] Info about instrument with ticker [CNYRUB_TOM] and FIGI [BBG0013HRTL0] was saved to file: [info.md]\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения информации по акции (используя тикер, подробные логи)\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi -v 10 --ticker IBM --info\n\nTKSBrokerAPI.py     L:4545 DEBUG   [2022-11-18 14:05:00,882] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nTKSBrokerAPI.py     L:4546 DEBUG   [2022-11-18 14:05:00,882] \u003e\u003e\u003e TKSBrokerAPI module started at: [2022-11-18 11:05:00] UTC, it is [2022-11-18 14:05:00] local time\nTKSBrokerAPI.py     L:4560 DEBUG   [2022-11-18 14:05:00,883] TKSBrokerAPI major.minor.build version used: [1.5.dev0]\nTKSBrokerAPI.py     L:4561 DEBUG   [2022-11-18 14:05:00,883] Host CPU count: [8]\nTKSBrokerAPI.py     L:212  DEBUG   [2022-11-18 14:05:00,883] Bearer token for Tinkoff OpenAPI set up from environment variable `TKS_API_TOKEN`. See https://tinkoff.github.io/investAPI/token/\nTKSBrokerAPI.py     L:225  DEBUG   [2022-11-18 14:05:00,883] Main account ID [**********] set up from environment variable `TKS_ACCOUNT_ID`\nTKSBrokerAPI.py     L:277  DEBUG   [2022-11-18 14:05:00,883] Broker API server: https://invest-public-api.tinkoff.ru/rest\nTKSBrokerAPI.py     L:444  DEBUG   [2022-11-18 14:05:00,903] Local cache with raw instruments data is used: [dump.json]. Last modified: [2022-11-18 08:28:22] UTC\nTKSBrokerAPI.py     L:1161 DEBUG   [2022-11-18 14:05:00,904] Requesting current prices: ticker [IBM], FIGI [BBG000BLNNH6]. Wait, please...\nTKSBrokerAPI.py     L:1515 DEBUG   [2022-11-18 14:05:01,028] Requesting current trading status, FIGI: [BBG000BLNNH6]. Wait, please...\nTKSBrokerAPI.py     L:930  INFO    [2022-11-18 14:05:01,198] # Main information: ticker [IBM], FIGI [BBG000BLNNH6]\n\n* Actual at: [2022-11-18 11:05] (UTC)\n\n| Parameters                                                  | Values                                                 |\n|-------------------------------------------------------------|--------------------------------------------------------|\n| Ticker:                                                     | IBM                                                    |\n| Full name:                                                  | IBM                                                    |\n| Sector:                                                     | it                                                     |\n| Country of instrument:                                      | (US) Соединенные Штаты Америки                         |\n|                                                             |                                                        |\n| FIGI (Financial Instrument Global Identifier):              | BBG000BLNNH6                                           |\n| Real exchange [Exchange section]:                           | SPBEX [SPB_MORNING]                                    |\n| ISIN (International Securities Identification Number):      | US4592001014                                           |\n| Class Code (exchange section where instrument is traded):   | SPBXM                                                  |\n|                                                             |                                                        |\n| Current broker security trading status:                     | Normal trading                                         |\n|                                                             |                                                        |\n| Buy operations allowed:                                     | Yes                                                    |\n| Sale operations allowed:                                    | Yes                                                    |\n| Short positions allowed:                                    | No                                                     |\n|                                                             |                                                        |\n| Limit orders allowed:                                       | Yes                                                    |\n| Market orders allowed:                                      | Yes                                                    |\n| API trade allowed:                                          | Yes                                                    |\n|                                                             |                                                        |\n| Type of the instrument:                                     | Shares                                                 |\n| Share type:                                                 | Ordinary                                               |\n| IPO date:                                                   | 1915-11-11 00:00:00                                    |\n| Payment currency:                                           | usd                                                    |\n|                                                             |                                                        |\n| Previous close price of the instrument:                     | 146.09 usd                                             |\n| Last deal price of the instrument:                          | 145.51 usd                                             |\n| Changes between last deal price and last close              | -0.40% (-0.58 usd)                                     |\n| Current limit price, min / max:                             | 144.1 usd / 147.62 usd                                 |\n| Actual price, sell / buy:                                   | 145.51 usd / 146.2 usd                                 |\n| Minimum lot to buy:                                         | 1                                                      |\n| Minimum price increment (step):                             | 0.01 usd                                               |\n\nTKSBrokerAPI.py     L:939  INFO    [2022-11-18 14:05:01,203] Info about instrument with ticker [IBM] and FIGI [BBG000BLNNH6] was saved to file: [info.md]\nTKSBrokerAPI.py     L:4929 DEBUG   [2022-11-18 14:05:01,204] \u003e\u003e\u003e TKSBrokerAPI module work duration: [0:00:00.322308]\nTKSBrokerAPI.py     L:4930 DEBUG   [2022-11-18 14:05:01,204] \u003e\u003e\u003e TKSBrokerAPI module finished: [2022-11-18 11:05:01 UTC], it is [2022-11-18 14:05:01] local time\nTKSBrokerAPI.py     L:4934 DEBUG   [2022-11-18 14:05:01,204] =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения информации по облигации (зная FIGI инструмента)\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi -f TCS00A101YV8 --info\n\nTKSBrokerAPI.py     L:4134 INFO    [2022-11-18 14:07:20,658] XLSX-file with bond payments calendar for further used by data scientists or stock analytics: [calendar.xlsx]\nTKSBrokerAPI.py     L:4208 INFO    [2022-11-18 14:07:20,660] Bond payment calendar was saved to file: [calendar.md]\nTKSBrokerAPI.py     L:930  INFO    [2022-11-18 14:07:20,660] # Main information: ticker [RU000A101YV8], FIGI [TCS00A101YV8]\n\n* Actual at: [2022-11-18 11:07] (UTC)\n\n| Parameters                                                  | Values                                                 |\n|-------------------------------------------------------------|--------------------------------------------------------|\n| Ticker:                                                     | RU000A101YV8                                           |\n| Full name:                                                  | Позитив Текнолоджиз выпуск 1                           |\n| Sector:                                                     | it                                                     |\n| Country of instrument:                                      | (RU) Российская Федерация                              |\n|                                                             |                                                        |\n| FIGI (Financial Instrument Global Identifier):              | TCS00A101YV8                                           |\n| Real exchange [Exchange section]:                           | MOEX [MOEX]                                            |\n| ISIN (International Securities Identification Number):      | RU000A101YV8                                           |\n| Class Code (exchange section where instrument is traded):   | TQCB                                                   |\n|                                                             |                                                        |\n| Current broker security trading status:                     | Normal trading                                         |\n|                                                             |                                                        |\n| Buy operations allowed:                                     | Yes                                                    |\n| Sale operations allowed:                                    | Yes                                                    |\n| Short positions allowed:                                    | No                                                     |\n|                                                             |                                                        |\n| Limit orders allowed:                                       | Yes                                                    |\n| Market orders allowed:                                      | Yes                                                    |\n| API trade allowed:                                          | Yes                                                    |\n|                                                             |                                                        |\n| Type of the instrument:                                     | Bonds                                                  |\n| Payment currency:                                           | rub                                                    |\n| Nominal currency:                                           | rub                                                    |\n| State registration date:                                    | 2020-07-21 00:00:00                                    |\n| Placement date:                                             | 2020-07-29 00:00:00                                    |\n| Maturity date:                                              | 2023-07-26 00:00:00                                    |\n|                                                             |                                                        |\n| Bond issue (size / plan):                                   | 500000 / 500000                                        |\n| Nominal price (100%):                                       | 750 rub                                                |\n| Floating coupon:                                            | No                                                     |\n| Amortization:                                               | Yes                                                    |\n|                                                             |                                                        |\n| Number of coupon payments per year:                         | 4                                                      |\n| Days last to maturity date:                                 | 249                                                    |\n| Coupons yield (average coupon daily yield * 365):           | 13.42%                                                 |\n| Current price yield (average daily yield * 365):            | 7.12%                                                  |\n| Current accumulated coupon income (ACI):                    | 6.14 rub                                               |\n|                                                             |                                                        |\n| Previous close price of the instrument:                     | 101.19% of nominal price (758.92 rub)                  |\n| Last deal price of the instrument:                          | 101.24% of nominal price (759.30 rub)                  |\n| Changes between last deal price and last close              | 0.05% (+0.38 rub)                                      |\n| Current limit price, min / max:                             | 60.66% / 141.52% (454.95 rub / 1061.40 rub)            |\n| Actual price, sell / buy:                                   | 101.13% / 101.29% (101.13 rub / 101.29 rub)            |\n| Minimum lot to buy:                                         | 1                                                      |\n| Minimum price increment (step):                             | 0.01 rub                                               |\n\n# Bond payments calendar\n\n| Paid  | Payment date    | FIGI         | Ticker       | No. | Value         | Type      | Period | End registry date |\n|-------|-----------------|--------------|--------------|-----|---------------|-----------|--------|-------------------|\n|   √   | 2020-10-28      | TCS00A101YV8 | RU000A101YV8 | 1   | 28.67 rub     | Constant  | 91     | 2020-10-27        |\n|   √   | 2021-01-27      | TCS00A101YV8 | RU000A101YV8 | 2   | 28.67 rub     | Constant  | 91     | 2021-01-26        |\n|   √   | 2021-04-28      | TCS00A101YV8 | RU000A101YV8 | 3   | 28.67 rub     | Constant  | 91     | 2021-04-27        |\n|   √   | 2021-07-28      | TCS00A101YV8 | RU000A101YV8 | 4   | 28.67 rub     | Constant  | 91     | 2021-07-27        |\n|   √   | 2021-10-27      | TCS00A101YV8 | RU000A101YV8 | 5   | 28.67 rub     | Constant  | 91     | 2021-10-26        |\n|   √   | 2022-01-26      | TCS00A101YV8 | RU000A101YV8 | 6   | 28.67 rub     | Constant  | 91     | 2022-01-25        |\n|   √   | 2022-04-27      | TCS00A101YV8 | RU000A101YV8 | 7   | 28.67 rub     | Constant  | 91     | 2022-04-26        |\n|   √   | 2022-07-27      | TCS00A101YV8 | RU000A101YV8 | 8   | 28.67 rub     | Constant  | 91     | 2022-07-26        |\n|   √   | 2022-10-26      | TCS00A101YV8 | RU000A101YV8 | 9   | 28.67 rub     | Constant  | 91     | 2022-10-25        |\n|   —   | 2023-01-25      | TCS00A101YV8 | RU000A101YV8 | 10  | 21.5 rub      | Constant  | 91     | 2023-01-24        |\n|   —   | 2023-04-26      | TCS00A101YV8 | RU000A101YV8 | 11  | 14.34 rub     | Constant  | 91     | 2023-04-25        |\n|   —   | 2023-07-26      | TCS00A101YV8 | RU000A101YV8 | 12  | 7.17 rub      | Constant  | 91     | 2023-07-25        |\n\nTKSBrokerAPI.py     L:939  INFO    [2022-11-18 14:07:20,661] Info about instrument with ticker [RU000A101YV8] and FIGI [TCS00A101YV8] was saved to file: [info.md]\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eКоманда для получения информации по фонду (зная FIGI инструмента)\u003c/summary\u003e\n\n```commandline\n$ tksbrokerapi --figi BBG222222222 -i\n\nTKSBrokerAPI.py     L:930  INFO    [2022-11-18 14:11:05,791] # Main information: ticker [TGLD], FIGI [BBG222222222]\n\n* Actual at: [2022-11-18 11:11] (UTC)\n\n| Parameters                                                  | Values                                                 |\n|-------------------------------------------------------------|--------------------------------------------------------|\n| Ticker:                                                     | TGLD                                                   |\n| Full name:                                                  | Тинькофф Золото                                        |\n|                                                             |                                                        |\n| FIGI (Financial Instrument Global Identifier):              | BBG222222222                                           |\n| Real exchange [Exchange section]:                           | MOEX [MOEX]                                            |\n| ISIN (International Securities Identification Number):      | RU000A101X50                                           |\n| Class Code (exchange section where instrument is traded):   | TQTD                                                   |\n|                                                             |                                                        |\n| Current broker security trading status:                     | Normal trading                                         |\n|                                                             |                                                        |\n| Buy operations allowed:                                     | Yes                                                    |\n| Sale operations allowed:                                    | Yes                                                    |\n| Short positions allowed:                                    | No                                                     |\n|                                                             |                                                        |\n| Limit orders allowed:                                       | Yes                                     ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftim55667757%2Ftksbrokerapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftim55667757%2Ftksbrokerapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftim55667757%2Ftksbrokerapi/lists"}