Regresión lineal y estrategia de doble media móvil a corto plazo


Fecha de creación: 2024-01-26 12:33:14 Última modificación: 2024-01-26 12:33:14
Copiar: 0 Número de Visitas: 689
1
Seguir
1617
Seguidores

Regresión lineal y estrategia de doble media móvil a corto plazo

Descripción general

Esta estrategia permite el seguimiento de la línea corta mediante la combinación de un indicador de regresión lineal y un promedio móvil binario. La estrategia se basa en abrir una posición cuando el precio se rompe y cerrar una posición cuando el precio se rompe de nuevo.

Principio de estrategia

Esta estrategia se basa principalmente en un indicador de regresión lineal para juzgar los brotes de los precios. El indicador de regresión lineal es una subida y bajada calculada en función de los precios más altos y más bajos en un período determinado, utilizando la regresión lineal. Cuando el precio se rompe por debajo de la subida o por debajo de la bajada, consideramos que es una señal de negociación.

Además, la estrategia también introduce un promedio móvil binario para determinar la tendencia intermedia. El promedio móvil binario puede responder más rápidamente a los cambios en el precio. Cuando el precio se desvía de la vía superior, si en ese momento el promedio móvil binario ya está por encima del precio, lo que indica que actualmente está en una tendencia descendente, entonces establecemos una posición abierta.

En concreto, la estrategia incluye los siguientes puntos:

  1. Cálculo de la regresión lineal en la vía y en la vía baja
  2. Calculación de las medias móviles binarias
  3. Establecer una posición en blanco cuando el precio está por debajo de la línea superior y el promedio móvil binario está por encima del precio
  4. Cuando el precio vuelve a salir de la raíz o está por encima de la media móvil binaria, aplanar la posición en blanco

Análisis de las ventajas

La estrategia tiene las siguientes ventajas en comparación con indicadores tradicionales como las medias móviles:

  1. Los indicadores de regresión lineal pueden capturar los cambios en los precios más rápidamente y ser más efectivos como señales de almacenamiento
  2. Los promedios móviles binarios son más sensibles a las tendencias y evitan falsas rupturas
  3. La combinación de doble indicador y condiciones puede filtrar algo de ruido y hacer que las transacciones sean más estables.

Análisis de riesgos

La estrategia también tiene algunos riesgos a tener en cuenta:

  1. El indicador de regresión lineal es sensible a los parámetros, y diferentes ciclos pueden producir diferentes resultados
  2. Los promedios móviles binarios pueden desviarse y fallar en el juicio
  3. Las estrategias de tipo de ruptura pueden aumentar el riesgo de deslizamiento
  4. Las posiciones cerradas pueden ser frecuentes en situaciones de crisis.

Para los riesgos anteriores, podemos abordarlos mediante la optimización de parámetros, el estricto cierre de pérdidas y la relajación adecuada de la amplitud de ruptura.

Dirección de optimización

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

  1. Optimización de los ciclos de regresión lineal y de las medias móviles binarias para encontrar la combinación óptima de parámetros
  2. Añadir la magnitud de las oscilaciones de los precios para evitar señales erróneas de brechas en los precios
  3. Condiciones auxiliares como el aumento de la cantidad de transacciones para asegurar la efectividad de la ruptura
  4. Configuración de los niveles de stop loss para reducir las pérdidas individuales
  5. Parámetros de ajuste para variedades específicas

Resumir

Esta estrategia, que combina el uso de un indicador de regresión lineal y un promedio móvil binario, tiene ciertas ventajas tanto en teoría como en la práctica. Mediante la optimización continua de los ajustes, se puede mejorar aún más la estabilidad y la eficacia de la estrategia. La estrategia es adecuada para operaciones de línea corta y puede generar un mejor alfa para los operadores cuantitativos.

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

//@version=4
strategy('LR&SSL_Short', overlay=true)
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() => true

len = input(title="Period", defval=89)
smaHigh = linreg(high, len, 0)
smaLow = linreg(low, len, -1)
Hlv = 0.0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : Hlv[1]
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)



length = input(200, title="DEMA") 
d1 = ema(close, length)                                               
d2 = 2 * d1 - ema(d1, length)                                         
trendColour = d2 > d1 ? #AAFFAA : #FFAAAA 
dema=sma(d2,length) 

turnGreen = d2 > d1 and d2[1] <= d1[1]  
turnRed   = d2 <= d1 and d2[1] > d1[1]  

up =turnGreen 
down=turnRed 
  
plotshape(down, title="down", style=shape.triangledown,location=location.abovebar, color=color.red, transp=0, size=size.small) 
plotshape(up,  title="up", style=shape.triangleup,location=location.belowbar, color=color.green, transp=0, size=size.small) 
plot(dema, color = trendColour,linewidth=3 ,transp = 0)
bgcolor(close > dema ? color.green : color.red)

strategy.entry("short", strategy.short, when= crossunder(sslUp, sslDown) and dema > close and _testPeriod())
strategy.close("short", when = crossover(sslUp, sslDown) or crossover(close, dema))