4-недельный RSI
4-недельный индекс относительной силы (RSI) — это осциллятор импульса, измеряющий скорость и величину изменения цены за заданный период, в данном случае за четыре недели. RSI был представлен Дж. Уэллсом Уайлдером‑младшим в книге 1978 года «New Concepts in Technical Trading Systems». Обычно RSI рассчитывают за 14 дней, однако адаптация к 4-недельному периоду (примерно 20 торговых дней) дает иной взгляд и может быть полезна для среднесрочных торговых стратегий. Этот индикатор широко используется в алгоритмической торговле для выявления перекупленности и перепроданности, а также для сигналов о возможных разворотах.
Расчет 4-недельного RSI
Расчет RSI состоит из двух основных компонентов: относительной силы (RS), которая равна среднему значению ростов за X дней, деленному на среднее значение падений за X дней, и самого RSI, вычисляемого через RS. Пошагово:
- Рассчитать дневные роста и падения:
- Рост — увеличение цены закрытия относительно предыдущего дня.
- Падение — снижение цены закрытия относительно предыдущего дня.
- Рассчитать средние роста и падения за 4-недельный период.
- Средний рост = сумма всех ростов за последние 4 недели / 20
- Среднее падение = сумма всех падений за последние 4 недели / 20
- Рассчитать относительную силу (RS):
- RS = средний рост / среднее падение
- Рассчитать RSI по формуле:
- RSI = 100 - (100 / (1 + RS))
RSI колеблется от 0 до 100. Высокие значения (обычно выше 70) указывают на перекупленность актива, а низкие значения (обычно ниже 30) — на перепроданность.
Интерпретация 4-недельного RSI
Состояния перекупленности и перепроданности
-
Перекупленность: значения RSI выше 70 говорят о возможном перегреве покупки и риске отката или разворота цены.
-
Перепроданность: значения RSI ниже 30 указывают на возможное избыточное давление продавцов и вероятность восходящей коррекции.
Дивергенция
-
Бычья дивергенция: цена актива обновляет минимум, а RSI не делает нового минимума. Это может указывать на ослабление нисходящего тренда.
-
Медвежья дивергенция: цена обновляет максимум, а RSI не делает нового максимума. Это может говорить об ослаблении восходящего тренда.
RSI как дополнительный инструмент
4-недельный RSI не следует использовать изолированно. Его лучше сочетать с другими индикаторами и методами анализа, такими как скользящие средние, MACD и уровни поддержки/сопротивления, чтобы повысить надежность торговых сигналов.
Применение в алгоритмической торговле
Разработка алгоритмов
Разработчики алгоритмических систем могут включать 4-недельный RSI в модели для автоматического выявления перекупленности и перепроданности. RSI можно запрограммировать на формирование сигналов покупки и продажи при пересечении заданных порогов, что помогает использовать смены импульса.
Бэктестинг
Перед запуском стратегии на основе 4-недельного RSI важно провести тщательный бэктестинг. Это позволяет оценить эффективность стратегии на исторических данных и подобрать параметры, уменьшающие риски и повышающие доходность.
Управление рисками
Использование 4-недельного RSI может помочь в управлении рисками, подавая сигналы выхода, когда актив становится перекупленным или перепроданным, и снижая потери при резких разворотах.
Практический пример
Торговая стратегия
Простой пример стратегии с 4-недельным RSI:
- Правило входа: покупка, когда RSI пересекает уровень 30 снизу вверх (актив выходит из перепроданности).
- Правило выхода: продажа, когда RSI пересекает уровень 70 сверху вниз (актив выходит из перекупленности).
Пример реализации на Python
Ниже базовый вариант реализации стратегии 4-недельного RSI на Python:
import pandas as pd
def calculate_rsi(data, window_length):
close = data['Close']
delta = close.diff()
gain = (delta.where(delta > 0, 0)).fillna(0)
loss = (-delta.where(delta < 0, 0)).fillna(0)
avg_gain = gain.rolling(window=window_length, min_periods=1).mean()
avg_loss = loss.rolling(window=window_length, min_periods=1).mean()
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi
# Example usage with a hypothetical data frame 'df' containing price data
df['RSI_4W'] = calculate_rsi(df, window_length=20)
# Define trading signals
df['Buy_Signal'] = (df['RSI_4W'] < 30)
df['Sell_Signal'] = (df['RSI_4W'] > 70)
Этот фрагмент рассчитывает 4-недельный RSI и отмечает сигналы покупки и продажи по заданным правилам.
Пример из практики
Одно из практических применений RSI в торговых алгоритмах можно увидеть на разных торговых платформах и у институциональных участников.
QuantConnect
QuantConnect — платформа алгоритмической торговли с открытым исходным кодом, предлагающая среду для бэктестинга и развертывания торговых стратегий. Трейдеры могут использовать RSI среди множества других индикаторов для построения надежных алгоритмических стратегий.
Заключение
4-недельный RSI — мощный инструмент в наборе технических индикаторов, доступных трейдерам и разработчикам алгоритмов. Фокус на среднесрочном горизонте помогает лучше выявлять перекупленность и перепроданность, что повышает эффективность стратегий. Грамотная реализация, бэктестинг и оценка рисков необходимы для того, чтобы использовать сигналы 4-недельного RSI устойчиво и надежно.