¿Qué es el Oscilador Derivado?
El oscilador derivado es un indicador técnico que aplica un histograma de convergencia-divergencia de medias móviles (MACD) a un índice de fuerza relativa (RSI) doblemente suavizado para crear una versión más avanzada del indicador RSI.
Aspectos generales:
- El oscilador derivado es la diferencia entre un RSI doblemente suavizado y una media móvil simple (SMA) del RSI doblemente suavizado.
- El oscilador derivado se muestra frecuentemente como un histograma.
- Los cruces de la línea cero son una forma de generar señales de trading con el indicador. También puede utilizarse la divergencia.
¿En qué consiste este indicador?
El oscilador derivado fue desarrollado por Constance Brown y publicado en el libro Technical Analysis for the Trading Professional. Este indicador técnico es una versión más avanzada del índice de fuerza relativa (RSI) que aplica los principios de convergencia-divergencia de medias móviles (MACD) a un indicador de RSI doblemente suavizado (DS RSI).
El indicador se deriva al calcular la diferencia entre un RSI doblemente suavizado y una media móvil simple (SMA) del DS RSI. Su propósito es ofrecer señales de compra y venta más precisas que las que proporciona el cálculo estándar del RSI. El oscilador derivado puede usarse en cualquier marco temporal.
El MACD se calcula restando la media móvil exponencial (EMA) de 12 períodos de la EMA de 26 períodos. De manera similar, el oscilador derivado utiliza los principios del MACD, ya que se obtiene restando la SMA del RSI doblemente suavizado.
El oscilador derivado se utiliza de la misma manera que el histograma MACD. Las lecturas positivas se consideran alcistas, mientras que las lecturas negativas se consideran bajistas. Los cruces por encima y por debajo de la línea cero indican oportunidades potenciales de compra y venta. Los traders también pueden buscar divergencias con el precio del activo, lo cual podría indicar una reversión inminente en la tendencia predominante. Esto ocurre cuando el indicador cae mientras el precio sube o cuando el precio cae y el indicador continúa subiendo.
Los traders deben considerar el uso del oscilador derivado junto con otras formas de análisis técnico, como el análisis de la acción del precio y los patrones de gráficos.
Cálculo del oscilador derivado
El oscilador derivado se calcula en múltiples pasos.
Comienza con el cálculo del RSI. Luego, el RSI se suaviza aplicando una media móvil exponencial (EMA) sobre él. Después, se suaviza doblemente aplicando una EMA al primer suavizado. Se forma una “línea de señal” al tomar una media móvil simple (SMA) del RSI doblemente suavizado. Finalmente, el oscilador derivado se obtiene restando la línea de señal del RSI doblemente suavizado.
- RSI = 100 – 100/(1 + RS)
- RS = Promedio de Ganancias / Promedio de Pérdidas
- El promedio de ganancias se calcula como el cambio promedio en los precios de las barras positivas dentro de la secuencia de datos.
- El promedio de pérdidas se calcula como el cambio promedio en los precios de las barras negativas.
- Un RSI simplificado es igual a:
RSI Simplificado = Ganancias / (Ganancias + Pérdidas) * 100- Las ganancias son iguales a la suma de las barras de precios positivas.
- Las pérdidas son iguales a la suma de las barras de precios negativas.
- A continuación, aplicamos una media móvil exponencial (EMA) al RSI:
RSI Suavizado = EMA(RSI)
RSI Doblemente Suavizado = EMA(RSI Suavizado) - Luego, formamos una “línea de señal”, que es el equivalente a una media móvil simple (SMA) del RSI doblemente suavizado:
Línea de Señal = SMA(RSI Doblemente Suavizado) - Finalmente, obtenemos el cálculo final usando los dos elementos calculados. El oscilador derivado es la diferencia entre el RSI doblemente suavizado y la línea de señal:
Oscilador Derivado = RSI Doblemente Suavizado – Línea de Señal
¿Cómo Usar el Oscilador Derivado?
El uso del oscilador derivado es sencillo. Si el oscilador es positivo, se considera una señal alcista. Si es negativo, se considera una señal bajista.
Los cruces de la línea cero indican una posible señal de trading. Si el valor del oscilador derivado pasa de negativo a positivo (pendiente ascendente), se interpreta como una señal alcista. Si el valor pasa de positivo a negativo (pendiente descendente), se interpreta como una señal bajista.
La fuerza de ciertas tendencias también puede determinarse observando la magnitud de las diferentes barras. Cuanto mayor sea la magnitud positiva de una barra, mayor será la fuerza de la tendencia alcista. Cuanto mayor sea la magnitud negativa de una barra, mayor será la fuerza de la tendencia bajista.
Ejemplos del uso de este indicador
A continuación, vemos un ejemplo del oscilador derivado utilizando un gráfico de precios básico del S&P 500 en el gráfico diario. Cada una de las líneas verticales blancas indica un cruce del oscilador derivado. Si se usa el oscilador por sí solo como un dispositivo de señal de trading, implica que uno siempre debería estar en una operación en el mercado, ya que el oscilador siempre es alcista o bajista.
La primera señal es alcista, indicando dónde se tomaría una operación de compra/larga. Esto generó una ganancia de aproximadamente 80 puntos, o un 3.08% (308 puntos básicos).
En la segunda línea vertical, esto cambió a una señal bajista. Esto implica abrir una posición corta y cerrar la posición larga de la señal anterior. Esta operación perdió 20 puntos, o 147 puntos básicos.
Oscilador Derivado vs. Oscilador Estocástico
El oscilador estocástico compara el precio actual con el rango de precios en un período definido, lo que indica si una acción u otro activo es fuerte o débil en relación con su rango de precios reciente. Este indicador está limitado entre cero y 100.
A pesar de sus diferentes cálculos, el oscilador estocástico, el RSI y el oscilador derivado tienden a moverse en la misma dirección, aunque no siempre al mismo tiempo ni con la misma magnitud.
Limitaciones del Oscilador Derivado
El oscilador derivado puede generar un gran número de señales de trading, especialmente en condiciones de mercado inestables, cuando el indicador es más propenso a dar señales falsas o perdedoras. Las señales también pueden aparecer después de que el precio ya ha realizado un movimiento significativo en una dirección determinada, lo que puede dar lugar a entradas o salidas mal sincronizadas. Es importante tener en cuenta que este indicador actúa sobre información pasada de precios y no tiene un componente predictivo en su cálculo.
Cálculo del Indicador en Python
A continuación, tenemos un código de Python que utiliza la librería yfinance para obtener datos históricos de Bitcoin (BTC-USD) y la librería matplotlib para mostrar un gráfico de precios junto con el oscilador derivado calculado a partir de los precios de cierre.
Este código también emplea la librería pandas (que ya hemos usado en otros scripts de trading) para manipular los datos y numpy para los cálculos. Asegúrate de tener instaladas las librerías yfinance, matplotlib, pandas y numpy para ejecutar este código:
import yfinance as yf import pandas as pd import numpy as np import matplotlib.pyplot as plt # Descargar datos históricos de Bitcoin data = yf.download("BTC-USD", start="2023-01-01", end="2023-12-31") data['Close'] = data['Adj Close'] # Usamos el precio de cierre ajustado # Funciones para el cálculo del RSI y del oscilador derivado def calculate_rsi(prices, period=14): delta = prices.diff(1) gain = (delta.where(delta > 0, 0)).rolling(window=period).mean() loss = (-delta.where(delta < 0, 0)).rolling(window=period).mean() rs = gain / loss rsi = 100 - (100 / (1 + rs)) return rsi def calculate_derivative_oscillator(data, rsi_period=14, ema_period=5, signal_period=9): # Calcular el RSI y su suavizado doble (dos veces EMA) data['RSI'] = calculate_rsi(data['Close'], period=rsi_period) data['Smoothed_RSI'] = data['RSI'].ewm(span=ema_period, adjust=False).mean() data['Double_Smoothed_RSI'] = data['Smoothed_RSI'].ewm(span=ema_period, adjust=False).mean() # Calcular la línea de señal (SMA de Double Smoothed RSI) data['Signal_Line'] = data['Double_Smoothed_RSI'].rolling(window=signal_period).mean() # Calcular el oscilador derivado como la diferencia entre Double Smoothed RSI y Signal Line data['Derivative_Oscillator'] = data['Double_Smoothed_RSI'] - data['Signal_Line'] return data # Calcular el oscilador derivado data = calculate_derivative_oscillator(data) # Crear el gráfico de precios y el oscilador derivado fig, axs = plt.subplots(2, 1, figsize=(12, 8), sharex=True) # Gráfico de precios de cierre axs[0].plot(data.index, data['Close'], color='black', label='Precio de Cierre (BTC)') axs[0].set_title("Precio de BTC") axs[0].set_ylabel("Precio en USD") axs[0].legend() # Gráfico del oscilador derivado axs[1].bar(data.index, data['Derivative_Oscillator'], color=np.where(data['Derivative_Oscillator'] >= 0, 'green', 'red')) axs[1].axhline(0, color='black', linewidth=0.5, linestyle='--') axs[1].set_title("Oscilador Derivado") axs[1].set_ylabel("Valor del Oscilador") axs[1].set_xlabel("Fecha") plt.tight_layout() plt.show()
Conclusión
El oscilador derivado está diseñado para mejorar el índice de fuerza relativa (RSI). Su diseño gráfico es similar al histograma del MACD.
A algunos traders les gusta su versatilidad, ya que incluye elementos tanto de seguimiento de tendencia como de reversión de tendencia.
Un cruce de la línea cero se considera una señal alcista (si pasa de negativo a positivo) o bajista (si pasa de positivo a negativo). La magnitud de las barras por encima o por debajo de cero indica la fuerza de la tendencia.
Aunque los ejemplos anteriores ofrecen un sistema simple, las decisiones de trading deberían idealmente basarse en una variedad de factores. Un solo indicador generalmente no es suficiente por sí solo. Buscar confirmación en más de un indicador mientras se observa el soporte y la resistencia o los patrones de velas aumentará las probabilidades de éxito en una operación. Combinar estos elementos con el análisis fundamental puede, por supuesto, ser aún mejor.