Estrategia de negociación cuantitativa basada en el índice de análisis de tendencias

El autor:¿ Qué pasa?, Fecha: 2023-12-12 10:40:52
Las etiquetas:

img

Resumen general

La idea central de esta estrategia es utilizar la pendiente del promedio móvil para juzgar la tendencia del mercado y construir un índice de análisis de tendencias (TAI) como señal comercial. Cuando el precio está en tendencia, la pendiente del promedio móvil aumenta. Cuando el precio está en una zona sin tendencia, la pendiente del promedio móvil disminuye. El aumento del índice de análisis de tendencias indica el comienzo de una tendencia mientras que la disminución significa el final de la tendencia.

Estrategia lógica

La estrategia primero calcula el promedio móvil simple (MA de X días) del precio. Luego calcula el valor más alto y más bajo de este promedio móvil en los últimos Y días para obtener el rango de fluctuación. Finalmente, al comparar este rango de Y días con el precio, se convierte a un indicador estandarizado entre 0-1, es decir, el índice de análisis de tendencias. Tomando una posición larga cuando el índice está por encima de un umbral y una posición corta cuando está por debajo de otro umbral.

Análisis de ventajas

Las ventajas de esta estrategia son:

  1. Detección eficaz de las tendencias a medio y largo plazo mediante la evaluación de la pendiente de la AM
  2. Construcción de un índice estandarizado para una señal comercial más clara
  3. Parámetros personalizables de evaluación de la MA y de la tendencia para diferentes entornos de mercado
  4. Opción de negociación inversa para el seguimiento o cobertura de otras estrategias

Análisis de riesgos

También hay algunos riesgos:

  1. Tendencia a señales erróneas durante el mercado de rango
  2. Puntos de reversión de tendencia faltantes si los parámetros MA se establecen de forma inadecuada
  3. Falta de tendencias débiles si los parámetros de normalización se establecen de manera inadecuada
  4. Pérdida aumentada en operaciones inversas

Soluciones:

  1. Indicadores de filtro con otros indicadores
  2. Optimice los parámetros para encontrar la mejor combinación
  3. Ajuste del umbral de los parámetros de normalización
  4. Utilice cuidadosamente el comercio inverso

Direcciones de optimización

La estrategia se puede optimizar en los siguientes aspectos:

  1. Combinar otros indicadores como BOLL para hacer las señales más confiables
  2. Añadir pérdida de parada para controlar pérdida única
  3. Optimizar los días de MA para adaptarse a las características en diferentes plazos
  4. Parámetros de umbral óptimo del tren
  5. Añadir el modelo ML para la probabilidad de tendencia para ayudar a la negociación

Conclusión

En resumen, esta es una estrategia de seguimiento de tendencias a medio y largo plazo basada en la pendiente de la media móvil. Puede capturar efectivamente las tendencias, pero también tiene algunos riesgos de señal falsa. Al combinarse con otros indicadores, agregar stop loss, optimización de parámetros, etc., la estrategia puede ser más robusta. Esencialmente, sigue siendo una estrategia de seguimiento de tendencias simple.


//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/12/2017
// In essence, it is simply the standard deviation of the last x bars of a 
// y-bar moving average. Thus, the TAI is a simple trend indicator when prices 
// trend with authority, the slope of the moving average increases, and when 
// prices meander in a trendless range, the slope of the moving average decreases.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Trend Analysis Index", shorttitle="TAI")
AvgLen = input(28, minval=1)
TAILen = input(5, minval=1)
TopBand = input(0.11, step=0.01)
LowBand = input(0.02, step=0.01)
reverse = input(false, title="Trade reverse")
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xPrice = close
xSMA = sma(xPrice, AvgLen)
xHH = highest(xSMA, TAILen)
xLL = lowest(xSMA, TAILen)
nRes = (xHH - xLL) * 100 / xPrice
pos = iff(nRes > TopBand, 1,
       iff(nRes < LowBand, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="TAI")


Más.