Estrategia de seguimiento de tendencias del índice de momentum


Fecha de creación: 2023-12-05 15:13:25 Última modificación: 2023-12-05 15:13:25
Copiar: 0 Número de Visitas: 681
1
Seguir
1619
Seguidores

Estrategia de seguimiento de tendencias del índice de momentum

Descripción general

Se trata de una estrategia de seguimiento de tendencias dinámicas de ETFs de índices basados en medias móviles. Utiliza la dirección y la pendiente de la intersección de las medias móviles rápidas y las medias móviles lentas para determinar la dirección de la tendencia y lograr el seguimiento de tendencias dinámicas de activos de ETFs de índices de bajo riesgo.

Principio de estrategia

La estrategia utiliza un promedio móvil de 50 y 150 períodos. Cuando el promedio móvil rápido cruza el promedio móvil lento, y la pendiente del promedio móvil rápido es mayor que el umbral, considere que la tendencia cambia, haga más; cuando el promedio móvil rápido cruza el promedio móvil lento por debajo del promedio móvil rápido, o la pendiente del promedio móvil rápido es menor que el umbral, considere que la tendencia se invierte, y se posiciona.

Esta estrategia utiliza la dirección y la pendiente de las medias móviles para determinar las tendencias del mercado, evitar el ajuste de la curva y controlar el riesgo de manera efectiva. Además, las medias móviles tienen una característica de silencio natural que puede filtrar eficazmente el ruido del mercado.

Análisis de las ventajas

Se trata de un ETF índice de bajo riesgo con una estrategia de seguimiento de tendencias dinámicas que tiene las siguientes ventajas:

  1. Fuertes capacidades de control de riesgos. Control eficaz de riesgos mediante el filtro de los medios móviles del ruido del mercado.
  2. Bajo costo de implementación. Utilizando sólo una media móvil simple, bajo costo de implementación y fácil de implementar.
  3. El índice ETF en sí es poco volátil, y el seguimiento de la tendencia puede obtener un rendimiento adicional estable.
  4. Es muy adaptable. Tiene muchos parámetros ajustables que se pueden optimizar para diferentes índices de ETFs.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Se puede perder la reversión rápida. Se puede perder la reversión rápida.
  2. Sensibilidad a los parámetros. Si los parámetros no se establecen correctamente, pueden causar un número excesivo de transacciones o oportunidades perdidas.
  3. El efecto cambia con el entorno del mercado. Puede no funcionar bien en situaciones de crisis.

Resolución de las mismas:

  1. En combinación con otros indicadores, el juicio se revirtió rápidamente.
  2. Optimización de las pruebas de los parámetros.
  3. Los parámetros se ajustan a la dinámica del entorno del mercado.

Dirección de optimización

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. Utiliza otros indicadores como el MACD, KD y otros para ayudar a juzgar y mejorar la eficacia de la estrategia.
  2. Aumentar la lógica de stop loss para controlar aún más el riesgo.
  3. Optimización de los parámetros de ciclo de las medias móviles para adaptarse a más índices ETF
  4. Ajuste dinámico de los parámetros para adaptarse a los cambios en el entorno del mercado.

Resumir

Esta estrategia es una estrategia de seguimiento de tendencias de tipo dinámico de ETF de índice de bajo riesgo y sencilla de implementar. Utiliza la dirección de la tendencia de determinación cruzada de los promedios móviles, con fuertes ventajas de control de riesgo, para lograr costos bajos y estabilidad de ganancias. La estrategia también tiene ciertas deficiencias, pero puede optimizarse aún más de varias maneras, lo que la convierte en una herramienta eficaz para la asignación de activos de ETF de índice.

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

//@version=4
//please use on daily SPY, or other indexes only
strategy("50-150 INDEX TREND FOLLOWING", overlay=true)

//user input
fastSMA = input(title="Fast Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=50,confirm=false)
slowSMA = input(title="Slow Moving Average (Int)",type=input.integer,minval=1,maxval=1000,step=1,defval=150,confirm=false)
longSlopeThreshold = input(title="Bullish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=5,confirm=false)
shortSlopeThreshold = input(title="Bearish Slope Angle (Deg)",type=input.integer,minval=-90,maxval=90,step=1,defval=-5,confirm=false)
atrValue = input(title="Average True Range (Int)",type=input.integer,minval=1,maxval=100,step=1,defval=14,confirm=false)
risk = input(title="Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=100,confirm=false)

//create indicator
shortSMA = sma(close, fastSMA)
longSMA = sma(close, slowSMA)

//calculate ma slope
angle(_source) =>
    rad2degree=180/3.14159265359
    ang=rad2degree*atan((_source[0] - _source[1])/atr(atrValue)) 

shortSlope=angle(shortSMA)
longSlope=angle(longSMA)

//specify crossover conditions
longCondition = (crossover(shortSMA, longSMA) and (shortSlope > longSlopeThreshold)) or ((close > shortSMA) and (shortSMA > longSMA) and (shortSlope > longSlopeThreshold))
exitCondition = crossunder(shortSMA, longSMA) or (shortSlope < shortSlopeThreshold)
strategy.initial_capital = 50000
//units to buy
amount = (risk / 100) * (strategy.initial_capital + strategy.netprofit)
units = floor(amount / close)

//long trade
if (longCondition and strategy.position_size == 0)
    strategy.order("Long", strategy.long, units)

//close long trade
if (exitCondition and strategy.position_size > 0)
    strategy.order("Exit", strategy.short, strategy.position_size)

// Plot Moving Average's to chart
plot(shortSMA, color=color.blue)
plot(longSMA, color=color.green)