Блог им. Quantrum |Как быстро из PostgreSQL и ClickHouse получить в Python длинные истории цен

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

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



( Читать дальше )

Блог им. Quantrum |Арбитраж криптовалютой

Наткнулся на статью о лучезарных возможностях арбитража ETH/USD между криптобиржами Exmo и Kraken от аналитика банка New York Mellon. Исключив комиссии за 5 месяцев он получил доходность в 39%.

Арбитраж криптовалютой

Но если на поверхности такие лучезарные возможности, то где же все?



( Читать дальше )

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

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

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



( Читать дальше )

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

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

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



( Читать дальше )

Блог им. Quantrum |Работа с ценами в Python и PostgreSQL

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

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

При переходе на Python я был вдохновлен удобством языка и огромным количеством готовых пакетов. Писать было легко и удобно, а работало все быстро. Но всё омрачало катастрофически медленное получение большого массива цен из базы данных (БД) в Python.

В статье показаны примеры для PostgreSQL, но материал будет полезен для любой БД, включая MySQL, при работе в связке с Python.

Мы будем работать с пакетами psycopg2 и numpy.



( Читать дальше )

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

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

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



( Читать дальше )

Блог им. Quantrum |Парный трейдинг: использование МНК для расчета дельты позиций

При торговле по стратегии «Парного трейдинга» часто встречаются пары, где цены каждого актива сильно отличаются друг от друга. Для получения лучшей доходности и сокращения риска необходимо правильно определить размер сделки по каждому активу.

Сегодня мы рассмотрим расчет дельты позиций используя метод наименьших квадратов (МНК).

Тестировать будем в Quantopian, а код пишем на Python.



( Читать дальше )

Блог им. Quantrum |Бэктестинг: пересечение RSI разных периодов

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

Рассмотрим пересечение индикаторов RSI разных периодов. Алгоритмы пишем в Quantopian на Python.

В этот раз:

  • Попробуем быть на шаг впереди, используя 13-дневный и 65-дневный периоды RSI.
  • Попробуем использовать стандартные 14-дневный и 70-дневный периоды RSI.
  • Посмотрим на лучший период прошлого теста и используем 20-дневный и 100-дневный RSI.
  • Попробуем отфильтровать тренды с помощью скользящих средних.


( Читать дальше )

Блог им. Quantrum |Бэктестинг: следуем за RSI

В прошлый раз мы рассмотрели алгоритм торговли разворотов по сигналам RSI. В этой статье посмотрим, можно ли следовать в направлении движения RSI. Ведь индикатор показывает именно направление изменения цены. Алгоритмы пишем в Quantopian на Python.

В этот раз:

  • Следуем в направлении RSI на одном таймфрейме (день).
  • Следуем в направлении RSI на разных таймфреймах (час, день).
  • Отфильтруем тренд актива средними.


( Читать дальше )

Блог им. Quantrum |Бэктестинг: ловим развороты по RSI

В этот раз мы протестируем стратегию торговли уровней перекупленности и перепроданности. Разворачивать нас будет индикатор RSI (Индекс относительной силы). Тестировать будем в Quantopian, а код писать на Python.

На повестке дня:

  • Результаты разворотов на уровнях перекупленности/перепроданности.
  • Влияние срока удержания позиции.
  • Сравнение разных периодов индикаторов.


( Читать дальше )

....все тэги
UPDONW
Новый дизайн