4. Cruce de dos medias móviles: la estrategia dual
Nivel 5: Estrategias de Momentum, Mean-Reversion y Pairs Trading
La estrategia de una sola media tiene un problema práctico: una media fija (100 días, por ejemplo) reacciona igual de lento sin importar qué esté pasando en el mercado ahora mismo. La estrategia de cruce dual resuelve esto usando dos medias móviles de distinta longitud a la vez, y basando la señal en su relación mutua, no en la relación de cada una con el precio.
La lógica, reducida a lo esencial, tiene cuatro pasos: calcular una media corta (por ejemplo, 5 días), calcular una media larga (por ejemplo, 20 días), entrar largo cuando la media corta supera o iguala a la larga, y ponerse corto cuando la media corta cae por debajo de la larga.
def cruce_doble(simbolo, periodo_corto, periodo_largo, inicio="2021-01-01"):
datos = yf.download(simbolo, start=inicio, progress=False)
datos["SMA_corta"] = datos["Close"].rolling(window=periodo_corto).mean()
datos["SMA_larga"] = datos["Close"].rolling(window=periodo_largo).mean()
datos["Señal"] = 0
datos.loc[datos["SMA_corta"] > datos["SMA_larga"], "Señal"] = 1
datos.loc[datos["SMA_corta"] < datos["SMA_larga"], "Señal"] = -1
datos["Posicion"] = datos["Señal"] - datos["Señal"].shift(1)
return datosEsta variante suele generar menos señales falsas que la de una sola media, precisamente porque exige que dos medias de distinta velocidad se pongan de acuerdo, no solo que el precio cruce una línea puntual — el precio, por su naturaleza, oscila más y cruza una única media con más frecuencia de la que cruzan entre sí dos medias que ya están, ambas, suavizadas.
El mismo patrón — calcular indicadores, generar una columna de señal, detectar el cambio de señal como evento — se repite prácticamente idéntico si sustituyes las medias móviles por cualquier otro par de indicadores: Bandas de Bollinger (una media con dos bandas de desviación estándar alrededor), o el RSI comparado con sus niveles de sobrecompra/sobreventa. La librería pandas-ta, que ya usaste en el nivel de screening, calcula más de 130 indicadores de este tipo sin que tengas que programar cada fórmula desde cero.
Para ampliar esta lección
- Momentum (momento)en el glosario
- Z-score (puntuación típica)en el glosario
- Momentum en bolsa: qué es y cuánto ha rentado en el S&P 500guía