Skip to main content

Unofficial T-Bank wrapper

Project description

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:

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

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

шаг цены

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-2024.11.19134439.tar.gz (2.5 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-2024.11.19134439-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for bondana_client-2024.11.19134439.tar.gz
Algorithm Hash digest
SHA256 f04c3609d7cb2bcd8f5e058bdeedd6b1f77242ffc9fe291f66ec8b1c423a4929
MD5 231bead6b12da9d69fe71e3e2eabb750
BLAKE2b-256 eb4d7d0c78769db1521f7c4c48c98c26d0387cb9c395c56ce30ce4fe9a105c79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for bondana_client-2024.11.19134439-py3-none-any.whl
Algorithm Hash digest
SHA256 52bb707c7aa6f571bbd59a92f5ed3e951e386b1089ccfe3345165a43c84a6d05
MD5 74a545ef759e10d73cb1c77971ed06be
BLAKE2b-256 ef989364b89056e6a0e0abbb64c2702948b35da70313287fce1045217d07e9d5

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