Estrategia de seguimiento de tendencias basada en la media móvil del casco y en el filtro de Kalman

El autor:¿ Qué pasa?, Fecha: 2023-11-01 17:10:49
Las etiquetas:

img

Resumen general

Esta estrategia combina el promedio móvil de Hull y el filtro de Kalman para identificar y rastrear las tendencias de precios, pertenecientes a las estrategias de seguimiento de tendencias.

Estrategia lógica

  • La estrategia utiliza un promedio móvil Hull de 24 períodos (hma) y un promedio móvil Triple Hull de 24 períodos (hma3) para construir señales comerciales.

  • Cuando HMA cruza HMA3, se genera una señal de compra. Cuando HMA cruza HMA3, se genera una señal de venta.

  • El filtro Kalman está desactivado por defecto. Cuando está habilitado, suaviza hma y hma3 para filtrar el ruido excesivo y mejorar la calidad de la señal.

  • El filtro Kalman elimina el ruido aleatorio de las señales a través de pasos de predicción y corrección. La diferencia entre cada medición y la última predicción se trata como el elemento de corrección para predecir la próxima medición con más precisión. Al repetir la predicción y la corrección, el impacto del ruido se puede reducir gradualmente para suavizar la señal.

  • Esta estrategia aprovecha el filtro de Kalman para mejorar la estabilidad de las estrategias de promedios móviles filtrando fluctuaciones aleatorias y rastreando tendencias persistentes.

Ventajas

  • El sistema de medias móviles dobles puede identificar mejor las tendencias duraderas en comparación con la media móvil única.

  • El promedio móvil de Hull da más peso a los precios recientes a través del cálculo ponderado, lo que lo hace más sensible para capturar los cambios de precios.

  • El filtro Kalman puede filtrar eficazmente el ruido aleatorio de las señales, reduciendo las falsas señales y mejorando la calidad de la señal.

  • Los parámetros ajustables como el período y la ganancia del filtro de Kalman permiten que la estrategia se adapte a las diferentes condiciones del mercado.

  • La adopción de técnicas de período cruzado genera señales más persistentes, evitando ser engañados por las fluctuaciones aleatorias excesivas.

  • La interfaz visual muestra de forma intuitiva las señales y el estado de la tendencia para facilitar el funcionamiento.

Los riesgos

  • Los promedios móviles dobles son propensos a generar señales erróneas alrededor de los puntos de inflexión de la tendencia, incapaces de capturar las reversiones oportunas.

  • El retraso de las medias móviles puede hacer que se pierda la oportunidad de inversiones rápidas de precios.

  • No es adecuado para mercados con fuertes fluctuaciones, debe evitarse su uso durante fases turbulentas.

  • Los parámetros del filtro de Kalman podrían afectar el rendimiento de la estrategia.

  • Los períodos más largos tienen una respuesta lenta, mientras que los períodos más cortos son vulnerables al ruido.

  • Los períodos de retención no fijos, largos o cortos, conducen a un tiempo de inactividad sin posiciones, lo que reduce la eficiencia de la utilización del capital.

Mejoramiento

  • Pruebe promedios móviles adaptativos que optimizan dinámicamente los parámetros basados en la volatilidad.

  • Incorporar métricas de volatilidad para evitar negociar durante los mercados agitados y solo negociar en tendencias obvias.

  • Configurar un stop loss para limitar las pérdidas y mejorar el control de riesgos.

  • Optimizar los parámetros del filtro Kalman para equilibrar la sensibilidad de seguimiento y el nivel de filtración de ruido.

  • Confirme la validez de la señal con otros indicadores como el volumen, las bandas de Bollinger para la persistencia de la tendencia.

  • Utilice el aprendizaje automático para entrenar parámetros y mejorar la robustez y adaptabilidad de la estrategia.

Conclusión

Esta estrategia identifica eficazmente tendencias duraderas y mejora la calidad de la señal mediante dos Hull MAs y un filtro Kalman. Observe la optimización de parámetros, la adaptabilidad del mercado y el control de riesgos para obtener ganancias constantes. Se pueden lograr mejoras adicionales a través del aprendizaje automático y el análisis cuantitativo. Las mejoras continuas darán forma a un sistema de seguimiento de tendencias robusto y eficiente.


/*backtest
start: 2022-10-25 00:00:00
end: 2023-10-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Hull Trend with Kahlman Strategy Backtest", shorttitle="HMA-Kahlman Trend Strat", overlay=true)

src       = input(hl2,   "Price Data")
length    = input(24,    "Lookback")
showcross = input(true,  "Show cross over/under")
gain      = input(10000, "Gain")
k         = input(true,  "Use Kahlman")

hma(_src, _length) =>
    wma((2 * wma(_src, _length / 2)) - wma(_src, _length), round(sqrt(_length)))
    
hma3(_src, _length) =>
    p = length/2
    wma(wma(close,p/3)*3 - wma(close,p/2) - wma(close,p),p)

kahlman(x, g) =>
    kf = 0.0
    dk = x - nz(kf[1], x)
    smooth = nz(kf[1],x)+dk*sqrt((g/10000)*2)
    velo = 0.0
    velo := nz(velo[1],0) + ((g/10000)*dk)
    kf := smooth+velo
  
a = k ? kahlman(hma(src, length), gain) : hma(src, length)
b = k ? kahlman(hma3(src, length), gain) : hma3(src, length)
c = b > a ? color.lime : color.red
crossdn = a > b and a[1] < b[1]
crossup = b > a and b[1] < a[1]

p1 = plot(a,color=c,linewidth=1,transp=75)
p2 = plot(b,color=c,linewidth=1,transp=75)
fill(p1,p2,color=c,transp=55)
plotshape(showcross and crossdn ? a : na, location=location.absolute, style=shape.labeldown, color=color.red, size=size.tiny, text="S", textcolor=color.white, transp=0, offset=-1)
plotshape(showcross and crossup ? a : na, location=location.absolute, style=shape.labelup, color=color.green, size=size.tiny, text="B", textcolor=color.white, transp=0, offset=-1)

longCondition = crossup
if (longCondition)
    strategy.entry("LE", strategy.long)

shortCondition = crossdn
if (shortCondition)
    strategy.entry("SE", strategy.short)
    


Más.