Skip to main content

Bondana Client

PyPI - Python Version

Неофициальная обертка официального Tinkoff Invest API v2, оптимизированная для торговли облигациями на языке Python.

⚠️ На данный момент отлажена работа на облигациях номиналом 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()

Получение истории операций

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)

TODO:

получение списка доступных облигаций

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

шаг цены

Metadata

Release files for bondana-client 2024.11.19140729

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bondana-client 2024.11.19140729
File Size Uploaded
bondana_client-2024.11.19140729.tar.gz 5.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bondana-client 2024.11.19140729
File Interpreter ABI Platform
bondana_client-2024.11.19140729-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / bondana_client-2024.11.19140729.tar.gz

Download URL bondana_client-2024.11.19140729.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
c7dc431d7588c871abe8cc5f6ee9c70985b4b5975bd4ebb1c33adeaba45f7dcb
BLAKE2b-256 checksum
How to use checksums
a752c388e6a56db4204b005f0dbe3dd8d3bedeb030cf84015d4ff0e1390c32b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / bondana_client-2024.11.19140729-py3-none-any.whl

Download URL bondana_client-2024.11.19140729-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c450a24261ea665159f33f8d16ef14becd72eece781a765a7d4e2c32939029bf
BLAKE2b-256 checksum
How to use checksums
2aee86ef225e52d1d0a7ba845eceec59f1e0dc1fc0e2f3b0434228fef023647f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page