Skip to main content

Bondana Client

PyPI - Python Version

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

:warning: На данный момент отлажена работа на облигациях номиналом 1000 рублей, на других номиналах не тестировалось

Установка клиента

$ pip install tinkoff-investments

$ git clone https://github.com/Mixolap/bondana_client.git

Как пользоваться

Инициализация клиента

from bondana_client.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.19135856

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.19135856
File Size Uploaded
bondana_client-2024.11.19135856.tar.gz 5.4 kB Details

Built distribution (wheel)

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

Total release size: 11.4 kB

Release files / bondana_client-2024.11.19135856.tar.gz

Download URL bondana_client-2024.11.19135856.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6ff5cdc5d1c63e5d434428760d03a4f49fb321156859837b6d620c009819ca75
BLAKE2b-256 checksum
How to use checksums
a1782a168c1209a887d120589cc54dae4088b6304ec99c94459e157ed0a4265a
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.19135856-py3-none-any.whl

Download URL bondana_client-2024.11.19135856-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0c74a481e44a156ffe8485ae07c11f5bf5b18d9ad25f510a946e80f8e198eff
BLAKE2b-256 checksum
How to use checksums
00d46427b1f73dce39bd419aaff06aba9f0d993c1f844c6445b28ca4bcde974a
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