Вы можете установить Tinkoff invest клиент используя PyPI:
pip install tinkoff_invest
Для работы данного клиента необходим Python 3.8+.
- Авторизируйтесь в личном кабинете Тинькофф.
- Перейдите в раздел настройки Инвестиций.
- Убедитесь, что функция "Подтверждение сделок кодом" отключена.
- В подразделе "Токен для OpenAPI" выпустите нужный вам токен - для торговли и\или для песочницы.
Распечатка портфолио:
from tinkoff_invest import ProductionSession
def _dump_portfolio(session):
print("My Portolio")
for pos in session.get_portfolio().positions:
print(pos)
for cur in session.get_portfolio().currencies:
print(cur)
if __name__ == "__main__":
prod_session = ProductionSession('%MY_TOKEN%')
_dump_portfolio(prod_session)
Подписка на изменение цен\свойств биржевого инструмента:
import time
from tinkoff_invest import ProductionSession
from tinkoff_invest.base_strategy import BaseStrategy
from tinkoff_invest.models.candle import Candle
from tinkoff_invest.models.instrument_status import InstrumentStatus
from tinkoff_invest.models.order_book import OrderBook
from tinkoff_invest.models.types import SubscriptionInterval
class TestStrategy(BaseStrategy):
def __init__(self):
self.counter = 0
def on_candle(self, candle: Candle) -> None:
print(candle)
def on_order_book(self, order_book: OrderBook) -> None:
pass
def on_instrument_info(self, instrument: InstrumentStatus) -> None:
pass
if __name__ == "__main__":
prod_session = ProductionSession('%MY_TOKEN%')
strategy = TestStrategy()
prod_session.subscribe_to_candles(prod_session.get_instrument_by_ticker("SBER").figi,
SubscriptionInterval.HOUR_1, strategy)
while True:
time.sleep(1)