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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MySQL: Как получить из дневных цен недельные?

Пусть здесь полежит SQL-запрос, который позволяет быстро получить цены более высокого таймфрейма из MySQL. На примере получения недельных цен из дневных.

Читать далее «MySQL: Как получить из дневных цен недельные?»

История цен с Quandl и IEX

Я сейчас выбираю базу данных для хранения ⏳временных рядов, к которым относится история цен📈. Для себя подготовил несколько классов для скачивания и хранения данных, чтобы упростить дальнейшие тестирования. Со мной Python🐍.

В этот раз мы рассмотрим:

  • Класс для скачивания бесплатной истории цен с Quandl единым архивом.
  • Класс-обертка для хранения данных в HDF5.
  • Класс скачивания цен с биржи IEX.

Читать далее «История цен с Quandl и IEX»

Бэктестинг: торгуем SPY по сигналам RSI(3)

В этот раз будем тестировать стратегию разворотов по сигналам 3-х-дневного индикатора RSI. Начнем с проведения анализа пересечения границ перепроданности/перекупленности методом, описанным в предыдущей статье.

Анализ и тесты будем проводить на Python🐍, используем библиотеку Zipline и Quantopian.

Читать далее «Бэктестинг: торгуем SPY по сигналам RSI(3)»

Алготрейдинг: о чём расскажет RSI?

При бэктестингах индикатора RSI заметил разное поведение на разных активах. На некоторых активах сигналы перекупленности и перепроданности по RSI за короткий период (2-5 дней) работают одинаково хорошо в обе🎏 стороны, а иногда преобладает только один🐟 сигнал. На крупных индексах за последние 10 лет лучше работает сигнал перепроданности⤴.

При поиске🔎 ответа на «Почему?» удалось найти решение для определения оптимального периода RSI и лучших порогов. Итак, проанализируем это вместе на Python🐍.

Читать далее «Алготрейдинг: о чём расскажет RSI?»

Работа с ценами в Python и PostgreSQL

В этой статье мы рассмотрим, как правильно работать с историей цен📈 в связке PostgreSQL🐘 и Python🐍. Разберём, как хранить цены и ускорить их получение в Python🐍.

Дополнительно приложен блокнот на IPython с исходным кодом и измерениями.

Читать далее «Работа с ценами в Python и PostgreSQL»

Парный трейдинг: фильтруем пары по смешанной корреляции

Этой статьей мы продолжим улучшать результы автоматического поиска пар🎏 для торговли. Дополнительным фильтром будем использовать 📐измерения, доступные после построения регрессии методом [code]statsmodels.api.OLS()[/code]. Этот же фильтр будем применять к парам во время торговли📈.

Найденные пары проверим в Quantopian, а исходный код напишем на Python🐍.

Читать далее «Парный трейдинг: фильтруем пары по смешанной корреляции»