Skip to content

cia76/BCSPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

BCSPy

Библиотека-обертка, которая позволяет работать с функционалом БКС Торговое API брокера БКС из Python.

Что такое библиотека-обёртка?

Компактная библиотека, содержащая только самый необходимый код для работы с API брокера из Python:

  • Подключение к API. Отслеживание корректности подключения (обновление токенов, переподключение)
  • Выполнение запросов и получение ответов от API
  • Механизмы подписок, отмены подписок. Получение и разбор данных подписок
  • Конвертация типов данных брокера в типы данных Python и обратно. Например, цена, лоты/штуки, дата/время
  • Конвертация типов данных брокера в универсальные типы и обратно. Например, название тикера, режимы торгов, временнОй интервал
  • Ведение лога отправляемых и получаемых данных от API

Чтобы досконально разобраться в библиотеках-обёртках, смотрите бесплатный курс Библиотеки-обёртки для автоторговли здесь >>>

Назначение

  • Создание автоматических торговых систем любой сложности
  • Написание дополнений к системам Технического Анализа
  • Тестирование торговых систем и автоматическая торговля в BackTrader через систему "Финансовая Лаборатория".

Особенности

  • Невозможно синхронизировать локальное время с сервером брокера
  • Нет возможности выставления стоп заявок
  • Каждая подписка рыночных данных: котировки, последняя свеча, стакан, обезличенные сделки запускается в отдельном соединении wss
  • При подписке на новые свечи текущая свеча будет приходить каждый раз, когда цена изменилась, а не тогда, когда она полностью сформирована
  • Свечи приходят с временем закрытия, а не с временем открытия

Установка

Установите библиотеку через командную строку:

pip install git+https://github.com/cia76/BCSPy.git

Начало работы

Если нет торгового токена, то получите его здесь >>>

Установите токен в защищенное системное хранилище через командную строку. Вместо <Токен> вставьте полученный токен:

Linux:

python3 -c "from BCSPy import BCSPy; bp_provider = BCSPy('<Токен>')"

Windows:

python -c "from BCSPy import BCSPy; bp_provider = BCSPy('<Токен>')"

Если команда выполнилась без ошибок, то токен указан верно. Иначе, проверьте правильность ввода токена и выполните команду снова.

Далее можно вызывать библиотеку без токена:

from BCSPy import BCSPy

bp_provider = BCSPy()

В папке Examples находится хорошо документированный код примеров. С них лучше начать разбираться с библиотекой.

  • Connect.py - Проверка работоспособности запросов/ответов и подписок
  • В работе: Accounts.py - Получение позиций, свободных средств, активных заявок (лимитные и стоп) для каждого счета
  • Ticker.py - Спецификация тикеров с лотом, шагом цены, кол-вом десятичных знаков
  • В работе: Bars.py - Получение дневных свечек с начала истории
  • В работе: Stream.py - Подписка на котировки, стакан, последние сделки
  • В работе: Transactions.py - Получение последней цены. Выставление/исполнение рыночных заявок на покупку и продажу. Выставление/отмена лимитной заявки. Выставление/отмена стоп заявки.

Авторство, право использования, развитие

Автор библиотеки Чечет Игорь Александрович. Библиотека написана в рамках проекта Финансовая Лаборатория.

Библиотека предоставляется бесплатно в исходном коде, с подробными комментариями и видеоразборами. При распространении ссылка на автора и проект обязательны.

Исправление ошибок, доработка и развитие библиотеки осуществляется автором и сообществом частных алготрейдеров проекта Финансовая Лаборатория.

Что дальше

About

Библиотека-обертка, которая позволяет работать с функционалом БКС Торговоe API брокера БКС из Python

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages