При бэктестингах индикатора RSI заметил разное поведение на разных активах. На некоторых активах сигналы перекупленности и перепроданности по RSI за короткий период (2-5 дней) работают одинаково хорошо в обе стороны, а иногда преобладает только один сигнал. На крупных индексах за последние 10 лет лучше работает сигнал перепроданности⤴.
При поиске ответа на «Почему?» удалось найти решение для определения оптимального периода RSI и лучших порогов. Итак, проанализируем это вместе на Python.
Идикатор RSI по своей природе движется в диапазоне от 0 до 100. Значение выше 50 говорит о том, что цена за период выросла больше, чем упала, и наоборот. Когда цена дорастает до верхнего порогового значения (по умолчанию 70) считается, что актив перекуплен. Пересечение нижнего порога (по умолчанию 30) говорит о перепроданности. При наступлении таких пересечений ожидается разворот цены.
Но разворот случается далеко не всегда. Очень часто актив зависает в зоне перекупленности или перепроданности на недели. На графике видно, что SPY чаще задерживается в зоне перекупленности.
Почитать подробнее об RSI можно здесь. А мы посмотрим, что можно раскопать⛏.
Так как RSI зависит от движения цены, значит по пересечениям пороговых значений можно определить:
Если алгоритм анализа будет работать достаточно быстро, то мы сможем:
Окружение:
Анализируем:
Основная идея воплощена в этой маленькой функции кодирования последовательных значений:
Код доступен на 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 за 5 лет. Далее график RSI(2), на котором видно, что верхний порог любим больше нижнего. На нижнем графике пример возможного индикатора вероятности разворота при пересечении границы RSI:
Уже здесь мы видим, что от нижней границы вероятность разворота цены выше. Что не удивительно во времена бычьего рынка.
Теперь взглянем на продолжительность нахождения значения 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.
☝Это можно использовать для внутридневной торговли. А научиться торговать внутри дня можно у профессионалов.
Например, тринадцать низов «Нью Йорк Никс» подряд несколько лет назад выдаются. Я бы не построил по ним систему.
Вы рассмотрели кусочек тренда. А он большой, весь-то...
Ваша выборка крайне нерепрезентативна.
Как-то так…
Последняя стадия — голый график.
Когда вы поймёте что не может существовать рабочего индикатора, его существование противоречит сути рынка.
На мой взгляд нужно либо писать распознавание фигур, уровней, и алгоритм под это.
Либо нужно написать тупого робота который покупает и продаёт с шагом X ниже определённой цены и прекращает сделки выше, с грамотным расчётом ММ, чтобы не было слива, ни при каких условиях.
Индикаторы типа RSI просто меняют представление графика но не читают его, и не разбирают.
Евгений, в распозновании образа заложена логика. Также логика заложена и в любом индикаторе. Вот только для того, чтобы интерпретировать, что читает тот или иной индикатор, надо понять заложенную логику.
А если не разбираться, тогда всё можно похоронить. Ибо всё что не понятно, всё зло.
Торговля по RSI в одиночестве с авторскими рекомендациями зло. А вот его понятая идея — добро.
Вот вам логика:
Предположим RSI работает и по нему можно предсказать движение следовательно все трейдеры должны быть в плюсе, что противоречит сути рынка где одни отбирают у других деньги.
Вы можете долго верить во что хотите но рабочих ведомых индикаторов не существует и не может существовать. В силу того что все трейдеры должны по этому индикатору стать на одну сторону.
Именно по этой причине рынок ходит волнами, поступает первый прогноз и все выстраиваются в одну сторону, рынок останавливается и начинает разворачиваться, дальше происходит всё по новой.