Настройка Cassandra для хранения цен акций

Продолжая поиски баз данных, наиболее подходящих для хранения истории цен, получил комментарий от Романа Щеголихина. Роман был любезен и подготовил инструкцию по установке и настройке БД Cassandra и несколько примеров использования на Python 2.7🐍.

Cassandra👁️ — это NoSQL база данных, предназначенная для распределенного хранения огромных массивов данных. Отлично подходит для хранения времянных рядов.

Читать далее «Настройка Cassandra для хранения цен акций»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать далее «Парный трейдинг: использование МНК для расчета дельты позиций»

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

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

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

В этот раз:

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

Читать далее «Бэктестинг: пересечение RSI разных периодов»

Бэктестинг: парный трейдинг по сглаженным сигналам

Настало время оптимизации🛠 алгоритма «Парного трейдинга». Прошлые наблюдения давали много ложных👎 сигналов. Сократить их помогут скользящие средние. Мы построим z-оценку по спреду цен пары🎏, сглаженному скользящими средними. Бэктестинг будем проводить в Quantopian, а весь код напишем на Python🐍.

Рассмотрим разницу сигналов по z-оценке:

  • Спред цен.
  • Спред доходности.
  • Скользящие средние на спреде цен.
  • Скользящие средние на спреде доходности.

Читать далее «Бэктестинг: парный трейдинг по сглаженным сигналам»

Шум вокруг IPO SnapChat манит строить графики

Меня, как и многих, заинтересовал шум💣 вокруг IPO компании SnapChat NYSE:SNAP. Лично я IPO не люблю😷, так как там нет достаточной истории цены. Тем не менее я не смог удержаться и не провести небольшое исследование результатов прошедших IPO за 2016 год. Как всегда, со мной Python🐍.

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

Читать далее «Шум вокруг IPO SnapChat манит строить графики»

Бэктестинг: парный трейдинг на 15, 30, 60 минутах

Торговля один раз в день, это хорошо для комиссий💸. Но не пропускаем ли мы колебания цен, на которых можно заработать💰? Для проверки уменьшим таймфреймы и увеличим частоту проверки сигналов🚦.

Проверять будем на 15, 30 и 60 минутных периодах. Торговать будем ранее найденными парами🎏. Все проверяем на Quantopian, а код пишем на Python🐍.

Читать далее «Бэктестинг: парный трейдинг на 15, 30, 60 минутах»