Estrategia de tendencia de impulso

El autor:¿ Qué pasa?, Fecha: 2024-01-29 16:38:22
Las etiquetas:

img

Resumen general

Esta estrategia incorpora indicadores de impulso y seguimiento de tendencias para identificar la tendencia alcista o bajista a medio plazo de los precios de las acciones y tomar posiciones en la etapa inicial de las tendencias. La estrategia primero calcula el indicador de impulso de 20 días del precio, luego lo procesa en un valor de impulso normalizado que oscila entre 0 y 1. Mientras tanto, el promedio móvil simple de 20 días se calcula como un representante de la tendencia a medio plazo. Cuando el impulso normalizado es mayor que 0,5 y el precio está por encima de la línea de tendencia a medio plazo, vaya largo. Cuando el impulso normalizado es menor que 0,5 y el precio está por debajo de la línea de tendencia a medio plazo, vaya corto.

Estrategia lógica

El indicador central de esta estrategia es la diferencia de impulso de 20 días del precio. La diferencia de impulso se define como: (hoys close close hace 20 días) / close hace 20 días. Esta métrica refleja el aumento o disminución porcentual del precio en los últimos 20 días. Para resolver el problema de rangos de precios muy diferentes entre las acciones, la diferencia de impulso en bruto se normaliza a una escala de 0 a 1 mediante el siguiente proceso: primero encuentre los valores máximos y mínimos de la diferencia de impulso en los últimos 100 días, luego calcule la posición porcentual de la diferencia actual dentro de este rango, lo que resulta en una puntuación de impulso normalizada entre 0 y 1.

Además, el promedio móvil simple de 20 días se incluye para determinar la dirección de la tendencia a mediano plazo. Los promedios móviles son herramientas visualmente intuitivas para el análisis de tendencias. Cuando el precio está por encima de la línea promedio móvil, indica una tendencia alcista. Cuando está por debajo de la línea, indica una tendencia bajista.

Al combinar el indicador de impulso normalizado y el juicio de tendencia a mediano plazo, esta estrategia tiene como objetivo capturar etapas alcistas y bajistas significativas en el horizonte a mediano plazo. La lógica es: si el impulso normalizado es mayor que 0.5, significa que el precio se está acelerando con una tendencia alcista recientemente. Mientras tanto, si el precio se mantiene por encima del MA de 20 días, entonces el mediano plazo sigue siendo una tendencia alcista. Bajo esta condición, vaya largo. Por el contrario, si el impulso normalizado cae por debajo de 0.5, indica una tendencia bajista acelerada recientemente. Además, con el precio por debajo del MA de 20 días, el mediano plazo es bajista. Entonces debemos ir corto.

Para las entradas, la estrategia simplemente entra en el mercado cuando se observan señales de impulso y tendencia alineadas. Para el stop loss, se establece un stop fijo al precio más alto + tamaño mínimo de tick para los longs, y al precio más bajo - tamaño mínimo de tick para los shorts, con el fin de evitar pérdidas flotantes ineficientes.

Análisis de ventajas

La mayor ventaja de esta estrategia es la utilización de dos indicadores para la confirmación, que pueden filtrar eficazmente algunas entradas falsas en las faltas de impulso. Confiar únicamente en las señales de impulso tiende a producir señales falsas ocasionalmente. Al agregar la condición de tendencia a medio plazo, se puede verificar la validez de las señales de impulso para evitar quedar atrapadas en mercados variados. Del mismo modo, simplemente siguiendo la tendencia puede perder algunas oportunidades al comienzo de las aceleraciones de la tendencia, mientras que combinar el impulso puede capturar tales giros de manera oportuna. Por lo tanto, los dos indicadores se complementan entre sí para formar decisiones más robustas.

Este parámetro de mediano plazo ayuda a reducir la frecuencia de negociación en comparación con las frecuencias más rápidas, lo que permite a la estrategia capturar oscilaciones más grandes a mediano y largo plazo.

Análisis de riesgos

El principal riesgo de esta estrategia radica en la divergencia entre el impulso y la tendencia. Las desalineaciones pueden conducir a señales incorrectas. Por ejemplo, durante una tendencia bajista, los rebotes a corto plazo podrían empujar el impulso hacia arriba temporalmente. Si va directo largo, puede encontrar pérdidas.

Además, el mecanismo de stop-loss es relativamente simple y puede no contener completamente los riesgos.

Direcciones de optimización

Aquí hay algunas direcciones de optimización principales para esta estrategia:

  1. Introduzca más indicadores para el examen cruzado, como MACD, KD, bandas de Bollinger, etc. Esto puede ayudar a verificar la validez de las señales de impulso y evitar señales falsas.

  2. Ajuste dinámico de los niveles de stop loss, a través de ATR o modelos de precios de opciones, por ejemplo.

  3. Optimizar los períodos de parámetros. Los parámetros actuales de 20 días pueden ser probados para mejoras.

  4. Diferenciar el umbral de compra y venta de la diferencia de impulso. Actualmente 0.5 se utiliza para ambos. Los niveles óptimos pueden diferir.

  5. Añadir un filtro de volumen de negociación para evitar falsas rupturas con volúmenes insuficientes.

Conclusión

Esta estrategia combina el análisis de tendencias y los indicadores de impulso para capturar las oportunidades comerciales derivadas de los cambios de impulso a medio y largo plazo. En comparación con los sistemas de indicadores únicos, el enfoque de indicadores múltiples mejora la precisión y la rentabilidad. El mecanismo de parada simple facilita el control rápido del riesgo.


/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Momentum Strategy, rev.2", overlay=true)

//
// Data
//
src = input(close)
lookback = input(20)
cscheme=input(1, title="Bar color scheme", options=[1,2])

//
// Functions
//
momentum(ts, p) => (ts - ts[p]) / ts[p]

normalize(src, len) =>
    hi  = highest(src, len)
    lo  = lowest(src, len)
    res = (src - lo)/(hi - lo)

//
// Main
//
price = close
mid = sma(src, lookback)
mom = normalize(momentum(price, lookback),100)

//
// Bar Colors
//
clr1 = cscheme==1?black: red
clr2 = cscheme==1?white: green
barcolor(close < open ? clr1 : clr2)

//
// Strategy
//
if (mom > .5 and price > mid )
    strategy.entry("MomLE", strategy.long, stop=high+syminfo.mintick, comment="MomLE")
else
    strategy.cancel("MomLE")

if (mom < .5 and price < mid )
    strategy.entry("MomSE", strategy.short, stop=low-syminfo.mintick, comment="MomSE")
else
    strategy.cancel("MomSE")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Más.