Estrategia de seguimiento de tendencias de la media móvil de Hull


Fecha de creación: 2023-11-02 14:57:37 Última modificación: 2023-12-01 15:02:29
Copiar: 0 Número de Visitas: 778
1
Seguir
1617
Seguidores

Estrategia de seguimiento de tendencias de la media móvil de Hull

Descripción general

Esta estrategia se basa en la construcción de un sistema de comercio de seguimiento de tendencias basado en el indicador de promedios móviles de Hull. La decisión de hacer más pronóstico en función de la dirección de la curva de Hull es una estrategia típica de seguimiento de tendencias.

Principio de estrategia

Esta estrategia utiliza el promedio móvil de Hull como su principal indicador técnico. El promedio móvil de Hull fue propuesto por el comerciante estadounidense Alan Hull en 2005 y es una mejora en la base de los promedios móviles, el uso de la función de raíz cuadrada reduce el atraso de los promedios móviles.

Concretamente, el promedio móvil de Hull contiene dos promedios, uno es el promedio móvil MA ((n)) del período n, y el otro es el promedio móvil MA ((n/2) del período n/2. La diferencia entre los dos promedios constituye la curva de diferencial de Hull, y luego se calcula su propio promedio móvil, es decir, la curva de Hull.

Cuando la curva de Hull se eleva, la media móvil a corto plazo se coloca en la media móvil a largo plazo, lo que genera una señal de multiplicación; cuando la curva de Hull se eleva, la media móvil a largo plazo se coloca en la media móvil a corto plazo, lo que genera una señal de vacío.

Esta estrategia establece el período de Hull n como 16, calcula n/2 = 8 promedios móviles, n = 16 promedios móviles, y calcula la curva de Hull de la diferencia entre los dos, y luego calcula el promedio móvil de n = 4 periodos de la curva de Hull (tomando la raíz cuadrada de n = 4).

Análisis de las ventajas estratégicas

El promedio móvil de Hull tiene las siguientes ventajas sobre el promedio móvil ordinario:

  1. Reducción del retraso. Utilizando la función de raíz cuadrada, la curva de Hull está más cerca del precio y es capaz de capturar el cambio de precio más rápidamente.

  2. Reducción de falsos cruces. Los promedios móviles tradicionales tienden a generar más falsos cruces, mientras que la curva de Hull puede filtrar algo de ruido y evitar transacciones innecesarias.

  3. menos parámetros. La curva de Hull requiere sólo un parámetro n, para una optimización más fácil, mientras que el sistema de doble ecuanimidad requiere dos parámetros.

  4. Personalizable. El valor n de la curva de Hull se puede ajustar según el mercado y se puede personalizar el ciclo para adaptarse a diferentes variedades.

  5. Fuerte sistematización. Fuerte sistematización de la curva de Hull, evitando la selección manual y siguiendo la consistencia del sistema de comercio mecánico.

Análisis de riesgos

A pesar de las ventajas que ofrece el Hull en comparación con los sistemas de medias móviles, existen los siguientes riesgos:

  1. Las propias limitaciones de la estrategia de seguimiento de tendencias. El sistema Hull, como estrategia de seguimiento de tendencias, es susceptible de deterioro cuando las tendencias cambian drásticamente.

  2. La característica de respuesta rápida de la curva de Hull aumenta la frecuencia de las transacciones y la facilidad de exceso de transacciones.

  3. parameters son susceptibles a la optimización excesiva. Sólo hay un parámetro que es susceptible a la optimización excesiva, el riesgo de curve fitting.

  4. El efecto varía según la variedad. El sistema Hull no funciona bien con algunas variedades con alta volatilidad, y se requiere ajustar los parámetros para cada variedad.

Dirección de optimización de la estrategia

Basado en las limitaciones de la estrategia de promedio móvil de Hull mencionada anteriormente, se puede optimizar en los siguientes aspectos:

  1. En combinación con indicadores adicionales para filtrar las señales de negociación y evitar falsas rupturas. Se pueden agregar indicadores para juzgar la tendencia, como MACD, KD.

  2. Aumentar las estrategias de stop loss y controlar las pérdidas individuales, como establecer un stop loss móvil o un stop loss colgado

  3. Optimización de los parámetros n para evitar la optimización excesiva. Se puede utilizar el método de análisis de avance para la optimización de desplazamiento.

  4. Parámetros de optimización dinámica en combinación con técnicas de aprendizaje automático. El valor óptimo de los parámetros de predicción n de modelos como RNN.

  5. Optimización de los parámetros de las subvariedades. Utiliza el aprendizaje automático para optimizar la adaptación de los parámetros de las diferentes variedades.

  6. Optimización de la gestión de posiciones, reducción de la frecuencia de las operaciones. Se pueden utilizar métodos como la ley de cuotas fijas.

Resumir

La estrategia de la media móvil de Hull es una estrategia típica de seguimiento de tendencias. La estrategia tiene ventajas con respecto a la media móvil, pero también hay problemas de optimización excesiva y comercio frecuente. Podemos mejorar la estrategia mediante la optimización de parámetros, la estrategia de parada de pérdidas, la administración de posiciones, etc. El sistema de Hull es simple y práctico, vale la pena investigar y optimizar más, se puede combinar con más indicadores y tecnologías para establecer un sistema de negociación estable.

Código Fuente de la Estrategia
/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's HullMA Strategy", shorttitle = "HullMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
n = input(title = "HullMA period", defval=16)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//HullMA
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?green:red
ma=plot(n1,color=c)
    
//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if n1 > n2
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if n1 < n2
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot)
if true
    strategy.close_all()