Найти тему

Рынки взбунтовались: говорят, RSI ненастоящий!

Оглавление

Памяти легендарного инженера и технического аналитика Джона Уэллса Уайлдера, создателя RSI, ATR, ADX и Parabolic SAR.

Relative Strength Index (Индекс относительной силы, он же RSI) знаком почти каждому приличному трейдеру. Я узнал об этом осцилляторе в первый год торговли. Тогда, как и большинство, я использовал индикатор для определения так называемых зон “перекупленности” и “перепроданности”. Спустя годы ко мне пришло понимание, что на самом деле этих зон не существует. То есть, перекупленность и перепроданность имеют право на существование, но эти термины следует воспринимать как относительные.

Поясню: называть цену перекупленной или перепроданной можно по отношению к какой-то цене в прошлом. Например, сегодня RSI показывает 70 и мы говорим, что цена актива вошла в перекупленность по сравнению с последними 14 свечами, на основе которых делается расчет осциллятора. Для RSI 14 - это стандартный период, который был установлен еще Уайлдером. Более правильным и эффективным будет принять за аксиому утверждение, что цена актива справедлива в любой момент времени.

Классическая теория

О зонах перекупленности и перепроданности Уайлдер упоминает в своей книге от 1978 года “New Concepts in Technical Trading Systems” (именно в этой книге он подробно описал RSI и методы работы с осциллятором). По словам Уайлдера, после достижения этих зон с высокой вероятностью произойдет разворот, поскольку суть RSI заключается в измерении силы тренда. То есть создатель осциллятора предлагает нам классическую контртрендовую стратегию торговли. (Находим сильный тренд -> входим против тренда в надежде на то, что он начнет затухать и произойдет разворот).

Проведем тесты этой стратегии в TradingView. Для этого напишем скрипт, который будет покупать актив каждый раз, когда значение RSI (со стандартным периодом 14) опускается ниже 30. То есть будем покупать, когда актив будет считаться перепроданным. Для стратегии обозначим следующие настройки: входить будем на весь капитал и установим среднее значение торговой комиссии в размере 0.1%. В качестве точки выхода будем использовать момент, когда значение RSI достигнет 60.

Вот исходный код стратегии, чтобы каждый мог самостоятельно проверить ее эффективность, либо попробовать протестировать ее с другими параметрами:

// © korneev
//@version=5
strategy("RSI test", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1, initial_capital = 10000)
rs = ta.rsi(length = 14, source = ohlc4)
ma = ta.ema(source = rs, length = 14)
if (ma<30)
strategy.entry(id = "Long", comment= "Open Long", direction=strategy.long)
if (ma>60)
strategy.close(id = "Long", comment= "Close Long")

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

Для бэктестов используем основные фондовые индексы: S&P500, Dow Jones, NASDAQ 100, Индекс Мосбиржи, Euro Stoxx 50, Nikkei 225, China A50 и FTSE 100. Ниже приведена таблица с результатами бэктеста:

-2

*Примечание: для бэктестов были использованы дневные таймфреймы с максимальными временными интервалами. Для Bitcoin и Ethereum использовались данные торгов с 2017 года по настоящий момент, поскольку более ранние данные негативно влияли на объективность статистической выборки.

Из итоговых усредненных данных бэктестов можно сделать вывод о несостоятельности стратегии из-за низкого соотношения риска к прибыли (1,34) и высокого показателя просадки (53,3%). Тем не менее, стоит отметить достаточно высокий винрейт (71,29%).

Реверсивный метод

Теперь рассмотрим метод торговли, при котором мы откажемся от зон перекупленности и перепроданности. Вместо этого будем воспринимать RSI как инструмент, показывающий силу тренда. То есть, если значение RSI поднимается выше 80, это указывает на сильный восходящий тренд, поэтому открываем сделку в сторону этого тренда (лонговую). Выход из сделки будет происходить, когда восходящий тренд теряет силу и значение RSI опускается ниже 40.

На TradingView мной была опубликована соответствующая стратегия с открытым исходным кодом. Настройки стратегии полностью копируют стратегию выше, за исключением размера комиссий. Изменяем размер комиссий до необходимого нам значения (0,1%) и проводим тесты на тех же фондовых индексах:

-3

*Примечание: для бэктестов были использованы дневные таймфреймы с максимальными временными интервалами. Для Bitcoin и Ethereum использовались данные торгов с 2017 года по настоящий момент, поскольку более ранние данные негативно влияли на объективность статистической выборки.

Итоговые усредненные данные показывают более эффективный результат по сравнению с результатами предыдущей (контртрендовой) стратегии. Нам удалось значительно увеличить соотношения риска к прибыли (более чем в 5 раз), а также снизить показатель просадки (почти в 3 раза). Также стоит отметить значительный рост среднего показателя P/L на сделку (почти в 6 раз). Снижение винрейта почти на 17% - единственное негативное изменение.

При тестировании классического подхода мы получили 208 сделок, в то время как при тестировании реверсивного - 79 (более чем в 2 раза меньше). Особенно придирчивые (такие как я) могут подумать, что получившиеся статистические выборки не очень соответствуют друг другу. Поэтому давайте увеличим кол-во сделок для реверсивной стратегии, для этого снизим ее чувствительность и установим порог для открытия лонговых позиций на значение RSI 70. То есть каждый раз, когда значение RSI превышает 70 - открываем лонговую позицию. Остальные настройки не меняем. Получаем вот такие результаты бэктестов:

-4

*Примечание: для бэктестов были использованы дневные таймфреймы с максимальными временными интервалами. Для Bitcoin и Ethereum использовались данные торгов с 2017 года по настоящий момент, поскольку более ранние данные негативно влияли на объективность статистической выборки.

Благодаря снижению чувствительности стратегии нам удалось увеличить кол-во сделок до 366 и потенциальный P/L более чем в 10 раз (по сравнению с порогом входа на RSI 80), в более чем 38 раз (по сравнению с классическим контртрендовым методом). Снижение чувствительности стратегии также негативно повлияло на показатель просадки и соотношение риска к прибыли.

Мысли вслух

Почему же Уайлдер советовал использовать RSI для контртрендовой торговли, если торговля по тренду показывает более высокую эффективность? Предполагаю, что у создателя осциллятора не было достаточного количества статистических данных, чтобы сделать такие выводы. Ведь он презентовал RSI в 1978 году. Примечательно, что в книге “New Concepts in Technical Trading Systems”, Уайлдер рассчитывает RSI самостоятельно, то есть в прямом смысле на бумаге. Также в книге отсутствует какая-либо информация о статистическом тестировании RSI на исторических данных.

Страница из книги "New Concepts in Technical Trading Systems"
Страница из книги "New Concepts in Technical Trading Systems"

Недавно я начал вести свой канал в Telegram, в котором рассказываю об алгоритмах и исследованиях, позволяющих значительно увеличить эффективность торговли на финансовых рынках. Там я делюсь полноценными торговыми стратегиями с открытым исходных кодом и расширенной статистикой . Эти инструменты помогут лучше понимать динамику рынков и получать от этого выгоду, поэтому советую подписаться.