Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy

Разбил много ☕кружек в поисках решения для 🏎️быстрого получения длинных историй цен для большого количества активов в Python🐍. Ещё имел смелость желать работать с ценами в numpy-массивах, а лучше сразу в pandas.

Стандартные подходы в лоб работали разочаровывающе, что приводило к выполнению запроса к БД в течение 30 секунд и более. Не желая мириться, я нашёл несколько решений, которые полностью меня удовлетворили.

Читать далее «Как из PostgreSQL и ClickHouse в Python много, быстро и сразу в numpy»

Что делать, если BCH отправил на BTC кошелёк?

После хардфорка BCH многие пользователи столкнулись с разными проблемами. Но одна из этих проблем актуальна по сей день. Это отправка одной валюты на кошелёк другой с идентичным форматом адресов.

Как-то, по случайности, отправились BCH на мой segwit-адрес BTC и заблудились… Форумы призывали забыть об этом и смириться. Но мне повезло и я нашёл способ спасения монет, отправленных на segwit-адрес.

Читать далее «Что делать, если BCH отправил на BTC кошелёк?»

Торговый алгоритм на Python для IB.API: Contracts

В данной статье мы рассмотрим контракты. Это крайне важная вещь для работы с терминалом, ибо они необходимы для запросов различной информации об активах. Рассмотрим для чего нужны контракты и где они используются.

Читать далее «Торговый алгоритм на Python для IB.API: Contracts»

Оптимизация размера блока графика Renko

Использование диаграмм Ренко позволяет фильтровать шум на графике цены, при этом он не учитывает время и объем. График сильно зависит от величины блока, который будет использован при построении.

Мы предложим альтернативный подход к определению оптимального размера блока, сравним с известным подходом при помощи статистических методов.

Читать далее «Оптимизация размера блока графика Renko»

Торговый алгоритм на Python для IB.API: EClient и EWrapper

В прошлой статье мы разобрали, как подключаться к TWS. В данной статье мы поговорим про IB API, его архитектуру и ключевые аспекты, без понимания которых, следующие статьи не будут иметь никакой прикладной пользы.

Я настоятельно рекомендую дочитать эту статью до конца, ибо то, что описано здесь, вы не найдете ни в мануале IB, ни в других статьях, ни в репозиториях. Читать далее «Торговый алгоритм на Python для IB.API: EClient и EWrapper»

Торговый алгоритм на Python для IB.API: подключение к TWS

Это третья статья в данной серии. В ней мы создадим алгоритм, который будет подключаться к TWS и получать «первичные сообщения».

Создавая данный алгоритм, мы рассмотрим реализацию двух обязательных классов EClient и EWrapper. И в конце заглянем «за кулисы» и посмотрим, что происходит, когда мы подключаемся к TWS.

Читать далее «Торговый алгоритм на Python для IB.API: подключение к TWS»

Торговый алгоритм на Python для IB.API: установка и настройка

Это вторая статья в серии про работу с терминалом Trader Workstation от брокера Interactive Brokers.

Здесь рассмотрим пошаговую установку всего программного комплекса необходимого для работы с терминалом.

В конце статьи вы будете обладать программным окружением, которое позволит создавать программы на 🐍Python3, работающие с терминалом TWS.

Читать далее «Торговый алгоритм на Python для IB.API: установка и настройка»

Торговый алгоритм на Python для API TWS от Interactive Brokers: начало

Данной статьей мы открываем серию материалов по использованию API от брокера Interactive Brokers и написанию простых торговых алгоритмов, в которых будет задействован Trader Workstation.

В отличие от тысяч других мануалов данная серия статей проведет вас от самого начала, показав как ставить все программное окружение на машину, до логического завершения — готового алгоритма.

Данная статья является вступлением ко всей серии. В ней мы познакомимся с TWS, с его API, определим как их использовать в наших приложениях на Python3 и посмотрим на статьи в предстоящей серии.

Читать далее «Торговый алгоритм на Python для API TWS от Interactive Brokers: начало»

ClickHouse и Python для хранения истории цен

Продолжая поиски быстрой базы данных для хранения цен я попробовал применить для своих нужд ClickHouse от Яндекса. Это open-source колоночная база данных для хранения и обработки временных рядов в реальном времени.

У ClickHouse огромный список ограничений, к которым мы не привыкли работая с реляционными базами данных. Но кто нас остановит?

Так же попробуем подружить ClickHouse с Python🐍.

Читать далее «ClickHouse и Python для хранения истории цен»

Выгоден ли арбитраж криптовалютой?

В этот раз разберём анализ арбитражной торговли криптовалютой (ETH/USD) на криптобиржах, подготовленный риск-аналитиком банка New York Mellon. Принебрегая комиссиями, его анализ показал впечатляющую доходность на $10 тыс. в ☝️39% за 5 месяцев без просадок.

Мы, в нашёй команде Quantrum.Team, увидев данный материал решили добавить учёт комиссий для приближения результатов к реальности. Что из этого получилось читайте дальше.

Код на 🐍Python 3.6 в блокноте Jupyter.

Читать далее «Выгоден ли арбитраж криптовалютой?»