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

  1. Определите восходящие и нисходящие дни:
    • Рассчитайте ежедневные изменения цен актива за последние 3 периода.
    • День считается “восходящим днём”, если цена закрытия выше, чем закрытие предыдущего дня. И наоборот, это “нисходящий день”, если цена закрытия ниже.
  2. Рассчитайте среднюю прибыль и средний убыток:
    • Средняя прибыль за последние 3 периода — это сумма всех изменений восходящих дней, делённая на 3.
    • Средний убыток за последние 3 периода — это сумма всех изменений нисходящих дней, делённая на 3.
  3. Вычислите относительную силу (RS):
    • RS рассчитывается как отношение средней прибыли к среднему убытку за 3 периода.
  4. Рассчитайте RSI:
    • Подставьте значение RS в формулу RSI для вычисления 3-периодного RSI.

Пример расчёта

Предположим, у нас есть следующие цены закрытия актива за четыре дня: $50, $52, $51 и $53.

  1. Рассчитайте ежедневные изменения цен:
    • День 1 к Дню 2: $52 - $50 = +2 (Восходящий день)
    • День 2 к Дню 3: $51 - $52 = -1 (Нисходящий день)
    • День 3 к Дню 4: $53 - $51 = +2 (Восходящий день)
  2. Рассчитайте среднюю прибыль и средний убыток:
    • Средняя прибыль = (2 + 2) / 3 = 1.33
    • Средний убыток = 1 / 3 = 0.33
  3. Вычислите относительную силу (RS):
    • RS = 1.33 / 0.33 ≈ 4.03
  4. Рассчитайте RSI:
    • RSI = 100 - (100 / (1 + 4.03)) ≈ 80.1

Таким образом, 3-периодный RSI в этом примере составляет приблизительно 80.1.

Применение в алгоритмической торговле

Торговые сигналы

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

  1. Условия перекупленности/перепроданности:
    • RSI выше 70 обычно считается “перекупленным”, что предполагает, что актив может быть переоценён и готов к откату.
    • RSI ниже 30 считается “перепроданным”, указывая, что актив может быть недооценён и готов к потенциальному росту.
  2. Дивергенция:
    • Бычья дивергенция: Возникает, когда цена достигает нового минимума, но RSI достигает более высокого минимума. Эта дивергенция может указывать на потенциальный восходящий разворот.
    • Медвежья дивергенция: Возникает, когда цена достигает нового максимума, но RSI достигает более низкого максимума. Эта дивергенция может сигнализировать о потенциальном нисходящем развороте.
  3. Свинговые отклонения:
    • Бычье отклонение: 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.

Преимущества и ограничения

Преимущества

  1. Скорость и чувствительность:
    • 3-периодный RSI реагирует быстрее на изменения цен по сравнению со стандартным 14-периодным RSI. Эта быстрая реакция выгодна для краткосрочных трейдеров, которым нужны своевременные сигналы.
  2. Обнаружение краткосрочных ценовых экстремумов:
    • Благодаря высокой чувствительности 3-периодный RSI умело обнаруживает краткосрочные перекупленные и перепроданные условия, что может привести к прибыльным контртрендовым сделкам.
  3. Универсальность:
    • Индикатор может использоваться для разных классов активов, включая акции, форекс и товары. Его универсальность делает его ценным инструментом для различных торговых стратегий.

Ограничения

  1. Ложные сигналы:
    • Повышенная чувствительность 3-периодного RSI может также быть палкой о двух концах, приводя к большему количеству ложных сигналов. Краткосрочный шум и рыночная волатильность могут вызвать преждевременные сигналы покупки или продажи.
  2. Зависимость от рыночных условий:
    • На трендовых рынках 3-периодный RSI может давать многочисленные сигналы перекупленности или перепроданности без последующего разворота цены. Это может привести к убыткам для трейдеров, полагающихся исключительно на сигналы RSI.
  3. Необходимость подтверждения:
    • Чтобы снизить риск ложных сигналов, трейдеры часто комбинируют 3-периодный RSI с другими техническими индикаторами или методами анализа для подтверждения торговых сигналов.

Практические случаи использования и стратегии

Стратегия возврата к среднему

В стратегии возврата к среднему 3-периодный RSI может использоваться для определения, когда актив перекуплен или перепродан. Идея заключается в покупке, когда RSI ниже 30, и продаже, когда RSI выше 70.

Простой алгоритм возврата к среднему

  1. Рассчитайте 3-периодный RSI для актива.
  2. Откройте длинную позицию, когда RSI падает ниже 30.
  3. Откройте короткую позицию, когда RSI поднимается выше 70.
  4. Закройте длинные позиции, когда RSI пересекает отметку 50 снизу вверх.
  5. Закройте короткие позиции, когда RSI пересекает отметку 50 сверху вниз.

Следование тренду с подтверждением RSI

RSI также может использоваться в стратегиях следования тренду, обеспечивая подтверждающий сигнал направления тренда.

Простой алгоритм следования тренду

  1. Рассчитайте долгосрочную скользящую среднюю (например, 50-периодную) для определения направления тренда.
  2. Рассчитайте 3-периодный RSI для актива.
  3. Откройте длинную позицию, если скользящая средняя указывает на восходящий тренд и RSI поднимается выше 50 снизу.
  4. Откройте короткую позицию, если скользящая средняя указывает на нисходящий тренд и RSI падает ниже 50 сверху.
  5. Закройте позиции на основе противоположных сигналов или предопределенных целей прибыли/убытка.

Комбинирование с другими индикаторами

Для повышения надёжности торговых стратегий трейдеры часто комбинируют 3-периодный RSI с другими техническими индикаторами, такими как скользящие средние, MACD или полосы Боллинджера.

Пример стратегии

  1. Рассчитайте 3-периодный RSI и схождение-расхождение скользящих средних (MACD).
  2. Откройте длинную позицию, когда:
    • 3-периодный RSI ниже 30, указывая на перепроданные условия.
    • Линия MACD пересекает сигнальную линию снизу вверх, указывая на бычий импульс.
  3. Откройте короткую позицию, когда:
    • 3-периодный RSI выше 70, указывая на перекупленные условия.
    • Линия MACD пересекает сигнальную линию сверху вниз, указывая на медвежий импульс.
  4. Закройте позиции на основе противоположных сигналов или предопределенных целей прибыли/убытка.

Заключение

3-периодный RSI — это мощный инструмент в арсенале алгоритмических трейдеров. Его способность предоставлять своевременную информацию о краткосрочных рыночных условиях делает его особенно полезным для высокочастотной торговли и внутридневных стратегий. Однако, как и все технические индикаторы, он не безошибочен и должен использоваться в сочетании с другими индикаторами и методами анализа для повышения точности и снижения риска ложных сигналов. Понимая его расчёт, применение и ограничения, трейдеры могут эффективно включать 3-периодный RSI в свои торговые стратегии для улучшения процесса принятия решений и потенциального увеличения прибыльности.