3-периодный RSI
В алгоритмической торговле одним из наиболее широко используемых технических индикаторов для количественной оценки импульса цен активов является индекс относительной силы (RSI). RSI был представлен Дж. Уэллсом Уайлдером в его книге 1978 года “Новые концепции технических торговых систем”. RSI — это осциллятор импульса, который измеряет скорость и изменение ценовых движений. Он колеблется между 0 и 100 и обычно используется для идентификации перекупленных или перепроданных условий на рынке. Хотя стандартный расчёт RSI использует 14-периодный таймфрейм, более короткие периоды RSI, такие как 3-периодный RSI, также часто применяются, особенно в краткосрочных торговых стратегиях.
Расчёт 3-периодного RSI
Стандартная формула RSI
Чтобы понять 3-периодный RSI, важно сначала понять стандартный расчёт RSI. RSI рассчитывается по следующей формуле:
[ RSI = 100 - \left( \frac{100}{1 + RS} \right) ]
где RS (Relative Strength, относительная сила) — это среднее значение восходящих закрытий за ‘N’ дней, делённое на среднее значение нисходящих закрытий за ‘N’ дней:
[ RS = \frac{\text{Средняя прибыль за } N \text{ периодов}}{\text{Средний убыток за } N \text{ периодов}} ]
Шаги расчёта 3-периодного RSI
- Определите восходящие и нисходящие дни:
- Рассчитайте ежедневные изменения цен актива за последние 3 периода.
- День считается “восходящим днём”, если цена закрытия выше, чем закрытие предыдущего дня. И наоборот, это “нисходящий день”, если цена закрытия ниже.
- Рассчитайте среднюю прибыль и средний убыток:
- Средняя прибыль за последние 3 периода — это сумма всех изменений восходящих дней, делённая на 3.
- Средний убыток за последние 3 периода — это сумма всех изменений нисходящих дней, делённая на 3.
- Вычислите относительную силу (RS):
- RS рассчитывается как отношение средней прибыли к среднему убытку за 3 периода.
- Рассчитайте RSI:
- Подставьте значение RS в формулу RSI для вычисления 3-периодного RSI.
Пример расчёта
Предположим, у нас есть следующие цены закрытия актива за четыре дня: $50, $52, $51 и $53.
- Рассчитайте ежедневные изменения цен:
- День 1 к Дню 2: $52 - $50 = +2 (Восходящий день)
- День 2 к Дню 3: $51 - $52 = -1 (Нисходящий день)
- День 3 к Дню 4: $53 - $51 = +2 (Восходящий день)
- Рассчитайте среднюю прибыль и средний убыток:
- Средняя прибыль = (2 + 2) / 3 = 1.33
- Средний убыток = 1 / 3 = 0.33
- Вычислите относительную силу (RS):
- RS = 1.33 / 0.33 ≈ 4.03
- Рассчитайте RSI:
- RSI = 100 - (100 / (1 + 4.03)) ≈ 80.1
Таким образом, 3-периодный RSI в этом примере составляет приблизительно 80.1.
Применение в алгоритмической торговле
Торговые сигналы
3-периодный RSI может использоваться для генерации торговых сигналов различными способами:
- Условия перекупленности/перепроданности:
- RSI выше 70 обычно считается “перекупленным”, что предполагает, что актив может быть переоценён и готов к откату.
- RSI ниже 30 считается “перепроданным”, указывая, что актив может быть недооценён и готов к потенциальному росту.
- Дивергенция:
- Бычья дивергенция: Возникает, когда цена достигает нового минимума, но RSI достигает более высокого минимума. Эта дивергенция может указывать на потенциальный восходящий разворот.
- Медвежья дивергенция: Возникает, когда цена достигает нового максимума, но RSI достигает более низкого максимума. Эта дивергенция может сигнализировать о потенциальном нисходящем развороте.
- Свинговые отклонения:
- Бычье отклонение: RSI падает ниже 30 (перепродан), поднимается выше 30, снова падает, но остаётся выше 30, а затем поднимается выше своего предыдущего максимума.
- Медвежье отклонение: RSI поднимается выше 70 (перекуплен), падает ниже 70, снова поднимается, но остаётся ниже 70, а затем падает ниже своего предыдущего минимума.
Алгоритмическая реализация
Псевдокод для расчёта 3-периодного RSI
Ниже приведён пример псевдокода для интеграции 3-периодного RSI в систему алгоритмической торговли:
function calculate3PeriodRSI(prices):
N = 3
gains = []
losses = []
for i from 1 to N:
change = prices[i] - prices[i-1]
if change > 0:
gains.append(change)
losses.append(0)
else:
gains.append(0)
losses.append(abs(change))
averageGain = sum(gains) / N
averageLoss = sum(losses) / N
if averageLoss == 0:
return 100 // Prevent division by zero and resulting in undefined RSI
RS = averageGain / averageLoss
RSI = 100 - (100 / (1 + RS))
return RSI
Этот псевдокод рассчитывает 3-периодный RSI для заданной серии цен. В реальной системе алгоритмической торговли эта функция будет включена в более широкую стратегию, где могут генерироваться и реализовываться сигналы покупки и продажи.
Пример на Python
import numpy as np
def calculate_3_period_rsi(prices):
n = 3
changes = np.diff(prices)
gains = np.maximum(changes, 0)
losses = -np.minimum(changes, 0)
average_gain = np.sum(gains[:n]) / n
average_loss = np.sum(losses[:n]) / n
if average_loss == 0:
return 100 # To handle the division by zero edge case
rs = average_gain / average_loss
rsi = 100 - (100 / (1 + rs))
return rsi
# Example usage
prices = [50, 52, 51, 53]
rsi = calculate_3_period_rsi(prices)
print(f"3-Period RSI: {rsi}")
В этом примере на Python функция calculate_3_period_rsi рассчитывает 3-периодный RSI для заданной серии цен. Пример использования демонстрирует, как вызвать функцию и вывести полученный RSI.
Преимущества и ограничения
Преимущества
- Скорость и чувствительность:
- 3-периодный RSI реагирует быстрее на изменения цен по сравнению со стандартным 14-периодным RSI. Эта быстрая реакция выгодна для краткосрочных трейдеров, которым нужны своевременные сигналы.
- Обнаружение краткосрочных ценовых экстремумов:
- Благодаря высокой чувствительности 3-периодный RSI умело обнаруживает краткосрочные перекупленные и перепроданные условия, что может привести к прибыльным контртрендовым сделкам.
- Универсальность:
- Индикатор может использоваться для разных классов активов, включая акции, форекс и товары. Его универсальность делает его ценным инструментом для различных торговых стратегий.
Ограничения
- Ложные сигналы:
- Повышенная чувствительность 3-периодного RSI может также быть палкой о двух концах, приводя к большему количеству ложных сигналов. Краткосрочный шум и рыночная волатильность могут вызвать преждевременные сигналы покупки или продажи.
- Зависимость от рыночных условий:
- На трендовых рынках 3-периодный RSI может давать многочисленные сигналы перекупленности или перепроданности без последующего разворота цены. Это может привести к убыткам для трейдеров, полагающихся исключительно на сигналы RSI.
- Необходимость подтверждения:
- Чтобы снизить риск ложных сигналов, трейдеры часто комбинируют 3-периодный RSI с другими техническими индикаторами или методами анализа для подтверждения торговых сигналов.
Практические случаи использования и стратегии
Стратегия возврата к среднему
В стратегии возврата к среднему 3-периодный RSI может использоваться для определения, когда актив перекуплен или перепродан. Идея заключается в покупке, когда RSI ниже 30, и продаже, когда RSI выше 70.
Простой алгоритм возврата к среднему
- Рассчитайте 3-периодный RSI для актива.
- Откройте длинную позицию, когда RSI падает ниже 30.
- Откройте короткую позицию, когда RSI поднимается выше 70.
- Закройте длинные позиции, когда RSI пересекает отметку 50 снизу вверх.
- Закройте короткие позиции, когда RSI пересекает отметку 50 сверху вниз.
Следование тренду с подтверждением RSI
RSI также может использоваться в стратегиях следования тренду, обеспечивая подтверждающий сигнал направления тренда.
Простой алгоритм следования тренду
- Рассчитайте долгосрочную скользящую среднюю (например, 50-периодную) для определения направления тренда.
- Рассчитайте 3-периодный RSI для актива.
- Откройте длинную позицию, если скользящая средняя указывает на восходящий тренд и RSI поднимается выше 50 снизу.
- Откройте короткую позицию, если скользящая средняя указывает на нисходящий тренд и RSI падает ниже 50 сверху.
- Закройте позиции на основе противоположных сигналов или предопределенных целей прибыли/убытка.
Комбинирование с другими индикаторами
Для повышения надёжности торговых стратегий трейдеры часто комбинируют 3-периодный RSI с другими техническими индикаторами, такими как скользящие средние, MACD или полосы Боллинджера.
Пример стратегии
- Рассчитайте 3-периодный RSI и схождение-расхождение скользящих средних (MACD).
- Откройте длинную позицию, когда:
- 3-периодный RSI ниже 30, указывая на перепроданные условия.
- Линия MACD пересекает сигнальную линию снизу вверх, указывая на бычий импульс.
- Откройте короткую позицию, когда:
- 3-периодный RSI выше 70, указывая на перекупленные условия.
- Линия MACD пересекает сигнальную линию сверху вниз, указывая на медвежий импульс.
- Закройте позиции на основе противоположных сигналов или предопределенных целей прибыли/убытка.
Заключение
3-периодный RSI — это мощный инструмент в арсенале алгоритмических трейдеров. Его способность предоставлять своевременную информацию о краткосрочных рыночных условиях делает его особенно полезным для высокочастотной торговли и внутридневных стратегий. Однако, как и все технические индикаторы, он не безошибочен и должен использоваться в сочетании с другими индикаторами и методами анализа для повышения точности и снижения риска ложных сигналов. Понимая его расчёт, применение и ограничения, трейдеры могут эффективно включать 3-периодный RSI в свои торговые стратегии для улучшения процесса принятия решений и потенциального увеличения прибыльности.