Индекс относительной силы (RVI)
Индекс относительной силы (RVI) - это осциллятор импульса, который измеряет убеждение недавнего ценового движения и вероятность его продолжения. RVI основан на предположении, что цены, как правило, закрываются выше во время восходящего тренда и ниже во время нисходящего тренда. По конструкции похож на стохастический осциллятор и индекс относительной силы (RSI), RVI - это более сложный расчет, который подчеркивает “силу” или энтузиазм и использует сглаженный нормализованный метод. Путем сравнения закрывающей цены ценной бумаги с её торговым диапазоном она предоставляет информацию о базовой прочности или слабости тренда.
Расчет
Индекс относительной силы в основном использует закрывающую цену по отношению к открытию, максимуму и минимуму каждого периода для расчета значения. Точная формула для RVI включает несколько этапов:
-
Рассчитайте различия “Закрытие-Открытие”: ( RVI_числитель = (Закрытие - Открытие) )
-
Рассчитайте различия “Максимум-Минимум”: ( RVI_знаменатель = (Максимум - Минимум) )
-
Сгладьте результаты, используя скользящее среднее: Обычно простое скользящее среднее (SMA) за 10 периодов применяется как к числителю, так и к знаменателю для сглаживания данных.
-
Вычислите значения RVI: Финальное значение RVI - это отношение сглаженного числителя к сглаженному знаменателю.
[ RVI = \frac{SMA(RVI_числитель, n)}{SMA(RVI_знаменатель, n)} ]
- Линия сигнала: Подобно MACD, линия сигнала создается путем вычисления дополнительного скользящего среднего (обычно 4-периодного SMA) от RVI для дополнительной валидации.
RVI колеблется вокруг нулевой линии и обычно находится в диапазоне от -1 до +1. Нулевая линия служит точкой поворота для определения сдвигов импульса.
Интерпретация
Основной принцип интерпретации индекса относительной силы заключается в поиске пересечений между линией RVI и линией сигнала:
- Бычий сигнал: RVI пересекает выше линии сигнала может указывать на сигнал покупки, предполагая потенциал для восходящего тренда.
- Медвежий сигнал: И наоборот, RVI пересекает ниже линии сигнала может сигнализировать возможности продажи, намекая на потенциальное нисходящее движение.
Кроме того, когда RVI пересекает выше нуля, это подразумевает бычий импульс, в то время как пересечение ниже нуля указывает на медвежий импульс. Многие трейдеры также ищут расхождения между RVI и ценой, которые могут быть мощным сигналом разворотов тренда.
Практическое применение
-
Подтверждение тренда: Трейдеры часто используют индекс относительной силы для подтверждения направления рыночного тренда. Когда RVI совпадает с ценовым трендом, это добавляет достоверность текущему движению рынка.
-
Анализ расхождений: Расхождение возникает, когда цена движется в одном направлении, а RVI движется в другом. Бычье расхождение происходит, когда цены делают более низкие минимумы, но RVI делает более высокие минимумы. И наоборот, медвежье расхождение происходит, когда цены делают более высокие максимумы, но RVI делает более низкие максимумы.
-
Точки входа и выхода: RVI может помочь определить оптимальные точки входа и выхода, сигнализируя о потенциальных сдвигах в направлении рынка на основе пересечений выше или ниже нулевой линии и линии сигнала.
-
Фильтр для других индикаторов: Индекс относительной силы можно использовать вместе с другими индикаторами технического анализа, чтобы отфильтровать ложные сигналы и повысить точность торговли.
Ограничения
Хотя RVI может быть полезным инструментом в техническом анализе, у него также есть некоторые ограничения:
- Запаздывающий индикатор: Как и многие осцилляторы, RVI является запаздывающим индикатором и иногда может предоставлять отложенные сигналы.
- Ложные сигналы: На волатильных рынках индикатор может генерировать ложные сигналы, что приводит к потенциальным торговым убыткам.
- Сложность: расчет RVI более сложен, чем другие более простые индикаторы импульса, что может быть подавляющим для новичков.
Пример
Вот практическая реализация RVI на Python с использованием библиотек pandas и numpy:
import pandas as pd
import numpy as np
def relative_vigor_index(df, period=10, signal_period=4):
# Рассчитайте различия "Закрытие-Открытие" и "Максимум-Минимум"
df['CO_Diff'] = df['Close'] - df['Open']
df['HL_Diff'] = df['High'] - df['Low']
# Сгладьте результаты, используя простое скользящее среднее
df['SMA_CO'] = df['CO_Diff'].rolling(window=period).mean()
df['SMA_HL'] = df['HL_Diff'].rolling(window=period).mean()
# Вычислите RVI
df['RVI'] = df['SMA_CO'] / df['SMA_HL']
# Рассчитайте линию сигнала
df['Signal_Line'] = df['RVI'].rolling(window=signal_period).mean()
return df[['RVI', 'Signal_Line']]
# Пример использования
data = pd.DataFrame({
'Open': [...],
'High': [...],
'Low': [...],
'Close': [...]
})
rvi_df = relative_vigor_index(data)
print(rvi_df.tail())
Применение в алгоритмической торговле
При алгоритмической торговле реализация индекса относительной силы может быть автоматизирована для создания торговых стратегий и сигналов. Например, используя Zipline, библиотеку алгоритмической торговли на Python, вы можете создать стратегию, которая покупает или продает активы на основе сигналов RVI.
Учитывая сложную природу RVI, его интеграция в стратегию алгоритмической торговли часто включает бэктестирование для проверки его эффективности в различных рыночных условиях. Это может помочь в корректировке параметров для оптимальной производительности.
Заключение
Индекс относительной силы (RVI) - это ценный инструмент в наборе как ручных, так и алгоритмических трейдеров. Подчеркивая закрывающую цену по отношению к торговому диапазону, он предоставляет уникальные идеи в отношении рыночного импульса и потенциальных будущих ценовых движений. Однако, как и со всеми техническими индикаторами, крайне важно использовать RVI в сочетании с другими инструментами и анализами для повышения точности принятия решений.