Bondana Client
Неофициальная обертка официального Tinkoff Invest API v2, оптимизированная для торговли облигациями на языке Python.
:warning: На данный момент отлажена работа на облигациях номиналом 1000 рублей, на других номиналах не тестировалось
Установка клиента
$ pip install bondana-client
Как пользоваться
Инициализация клиента
from bondana_client import Bondana
TOKEN = 'token'
client = Bondana(TOKEN)
Получить баланс свободных денег в рублях
balance_rub, blocked = client.get_balance('rub')
Получение списка бумаг в портфеле
client.portfolio.portfolio_get()
for bond in portfolio.positions:
print(bond)
Получение истории операций
from datetime import datetime, timedelta
nw = datetime.now() - timedelta(days=1) # получим сделки за последний день
d1 = datetime(nw.year, nw.month, nw.day, 0, 0, 0, tzinfo=timezone('Europe/Moscow'))
d2 = datetime.now(tz=timezone('Europe/Moscow'))
ops = client.operations.operations_get(limit=1000, from_=d1, to=d2)
ops.reverse()
for op in ops:
print(op.get("figi"), op.get("price"), op.get("payment"), op.get("quantity"))
Постановка лимитной заявки
# лимитная заявка на покупку
lots = 1
price = 987.65
figi = "BBG00Y9B45C2"
order_limit = client.orders.orders_limit_order_post(figi,
limit_order_request = {"lots": lots, "operation": "Buy", "price":price, })
# лимитная заявка на продажу
lots = 1
price = 997.65
figi = "BBG00Y9B45C2"
order_limit = client.orders.orders_limit_order_post(figi,
limit_order_request = {"lots": lots, "operation": "Sell", "price":price, })
Получение списка активных заявок
client.orders.orders_get() # список заявок в формате объектов Tinkoff API
client.orders.orders_get_json() # список заявок в формате JSON
for order in client.orders.orders_get_json():
print(order.get("order_id"), order.get("operation"), order.get("figi"))
Отмена заявки на покупку
# последовательная отмена всех активных заявок, для примера
for order in client.orders.orders_get_json():
client.orders.orders_cancel_post(order.get("order_id"))
Просмотр стакана по figi
figi = "BBG00Y9B45C2"
orderbook = client.market.market_orderbook_get_dict(figi, 20)
Получение списка всех доступных облигаций
bonds = client.market.market_bonds_get()
for bond in bonds:
print(bond)
Получение свечей
candles = client.market.candles(figi, from_, to, interval, candle_source_type)
for candle in candles:
print(candle)
TODO:
получение лотности
шаг цены
Metadata
Release files for bondana-client 2025.2.20103108
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bondana_client-2025.2.20103108.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bondana_client-2025.2.20103108-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.4 kB
Release files / bondana_client-2025.2.20103108.tar.gz
| Download URL | bondana_client-2025.2.20103108.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
022e2da97ad711f0e2d7838822090e42e25fce2ab7b49e8778872366f2f0ba18
|
|
BLAKE2b-256 checksum How to use checksums |
67e330bb809de05bbc4028614a4f72e385a14cd9a3c0ea4aad1c60145fa31060
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|
Release files / bondana_client-2025.2.20103108-py3-none-any.whl
| Download URL | bondana_client-2025.2.20103108-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
840f4419eb1e006e39ff9684077b4c06f15930737323adcaeb346c983e92cae1
|
|
BLAKE2b-256 checksum How to use checksums |
1e4b6feba6db7967d9de4cc4d9d0e30662b7bded9b226b6f109955acf9173b7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.2
|