Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
iamraa
6 лет назад

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

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

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

Идикатор RSI по своей природе движется в диапазоне от 0 до 100. Значение выше 50 говорит о том, что цена за период выросла больше, чем упала, и наоборот. Когда цена дорастает до верхнего порогового значения (по умолчанию 70) считается, что актив перекуплен. Пересечение нижнего порога (по умолчанию 30) говорит о перепроданности. При наступлении таких пересечений ожидается разворот цены.

Но разворот случается далеко не всегда. Очень часто актив зависает в зоне перекупленности или перепроданности на недели. На графике видно, что SPY чаще задерживается в зоне перекупленности.

Почитать подробнее об RSI можно здесь. А мы посмотрим, что можно раскопать⛏.

🎓Предположение

Так как RSI зависит от движения цены, значит по пересечениям пороговых значений можно определить:

  • Тренд актива за период.
  • Вероятность разворота при пересечении одного из порогов.
  • Вероятность последовательных пересечений одного порога до возвращения к противоположному.
  • Общее изменение цены при движении от одного порога до другого. Например, от нижнего до верхнего.

Если алгоритм анализа будет работать достаточно быстро, то мы сможем:

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

📐Условия

Окружение:

  • Операционная система Linux.
  • Python 3.5.
  • Блокнот Jupyter.
  • Numpy, Pandas, Matplotlib.

Анализируем:

  • SPY, отрегулированный на дивиденды.
  • 2-дневный RSI.
  • Период: с 2012 до 2017 года.

🛠Реализация

Основная идея воплощена в этой маленькой функции кодирования последовательных значений:

Код доступен на Quantrum.me

На вход мы подаем numpy-массив, а на выходе получаем:

  • Массив длин последовательного повторения значения.
  • Массив индексов изменения значения, относительно предыдущего.
  • Массив значений.

Например:

In: rle(np.array([1, 1, 5, 5, 5, 3, 2, 3, 3, 3]))

Out: ([2, 3, 1, 1, 3],

     [0, 2, 5, 6, 7],

     [1, 5, 3, 2, 3])

🔬Пример анализа SPY

Посмотрим, что нам расскажет график SPY.

Сверху цена SPY за 5 лет. Далее график RSI(2), на котором видно, что верхний порог любим больше нижнего. На нижнем графике пример возможного индикатора вероятности разворота при пересечении границы RSI:

  • Top - вероятность разворота при достижении верхней границы.
  • Bottom - при достижении нижней.

Уже здесь мы видим, что от нижней границы вероятность разворота цены выше. Что не удивительно во времена бычьего рынка.Теперь взглянем на продолжительность нахождения значения RSI вне границ каждого порога.

Нахождение за порогами

Слева видно, что большинство пересечений нижней границы продолжается лишь один день. А 75% всех пересечений длятся не более 3-х дней. Пересечение верхнего порога длится в среднем 2 дня. А 75% пересечений длятся не более 4-х дней.

Это может указывать на то, что открывать длинную позицию можно в первый день сигнала и ждать разворот не более 3-х дней. Короткую позицию также можно открывать на первый день, но держать её придется около 4-х дней. А это уже повышает риск.Теперь посмотрим, сколько может быть повторных пересечений, до перехода на противоположную сторону.

Повторное пересечение порога

На графиках видно, что в 75% случаев повторные пересечения случаются реже 2-х раз подряд. Но опять видно, что два пересечения подряд чаще встречается на верхнем пороге (справа).В заключение глянем на скорость перехода от порога к порогу.

Видно, что от нижней границы до верхней мы движемся быстрее. В 75% случаев снизу до верху мы доберемся примерно за 5 торговых дней. А путь от верхней границы до нижней может занять почти 8 дней.

🏁Вывод

Данный анализ показывает поведение актива и позволяет принимать решения о торговле по сигналам разворота. Мы видим основной тренд актива и можем рассчитать вероятность разворота цены от одного из порогов. Теперь легко найти оптимальные границы сигналов и период RSI.

Функция работает быстро и может быть использована в реальном времени для изменения настроек при торговле несколькими активами.

В следующей статье проведем бэктестинг RSI(2/5) на нескольких активах, применяя описанный инструментарий.

💬В комментариях напишите, какие ещё можно сделать выводы на полученных наблюдениях? Что можно улучшить? Также пишите, если нужен блокнот с анализом и графиками.

Александр Румянцев aka "i.am.raa"
Автор Quantrum.me
Интересуетесь алготрейдингом на Python? Присоединяйтесь к команде. Пишите в личку или на email.

☝Это можно использовать для внутридневной торговли. 🎓А научиться торговать внутри дня можно у профессионалов.👍

37
0.000 GOLOS
На Golos с June 2017
Комментарии (4)
Сортировать по:
Сначала старые