Skip to main content

Unofficial T-Bank wrapper

Project description

Bondana Client

PyPI - Python Version

Неофициальная обертка официального 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:

получение лотности

шаг цены

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bondana_client-2025.8.25062817.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bondana_client-2025.8.25062817-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file bondana_client-2025.8.25062817.tar.gz.

File metadata

File hashes

Hashes for bondana_client-2025.8.25062817.tar.gz
Algorithm Hash digest
SHA256 a0e2332466dffb798d3fc5ebe19fd9ef398b92fa74a14c21e77fa2db4ead2fa9
MD5 4ad262d58159a2b0f6d4e44674a35457
BLAKE2b-256 c78ac2a69e135a95f9a0dc716115e342c8da34f0c437dcbecac3865e5f79949d

See more details on using hashes here.

File details

Details for the file bondana_client-2025.8.25062817-py3-none-any.whl.

File metadata

File hashes

Hashes for bondana_client-2025.8.25062817-py3-none-any.whl
Algorithm Hash digest
SHA256 e4fe1e9841358c6e266f166bad8a73ea3d1d771f79d382f1909b280dc4d64eb0
MD5 dfd8bd4320745389f83095e983403e7a
BLAKE2b-256 483fdf37f6970a165a74756856efba97c51eea9d2101c3f69652755cd219857c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page