Estrategia de trading cuantitativo basada en la regresión lineal RSI


Fecha de creación: 2024-01-24 11:35:19 Última modificación: 2024-01-24 11:35:19
Copiar: 0 Número de Visitas: 770
1
Seguir
1617
Seguidores

Estrategia de trading cuantitativo basada en la regresión lineal RSI

Descripción general

La estrategia se basa en el diseño del indicador RSI de regresión lineal. La estrategia genera señales de compra y venta mediante el cálculo del cruce de la regresión lineal RSI y EMA. La estrategia ofrece al mismo tiempo dos opciones de lógica de compra, que se pueden elegir según sea necesario.

Principio de estrategia

La estrategia primero calcula una regresión lineal de 200 ciclos de longitud, luego calcula el RSI de 21 ciclos basado en el resultado de la regresión lineal. Luego calcula una EMA de 50 ciclos de longitud. Cuando el RSI pasa por EMA genera una señal de compra y cuando el RSI pasa por EMA genera una señal de venta, se obtiene un resultado rentable.

La estrategia ofrece dos tipos de lógica de compra:

  1. Comprar en el RSI con una EMA
  2. Comprar cuando el RSI está por encima de la EMA y por encima de la línea de compra

Se puede elegir la lógica de compra que se utilizará en función de la situación del mercado.

Análisis de las ventajas

Esta estrategia combina las ventajas de la regresión lineal RSI y EMA para eliminar eficazmente parte del ruido de los precios y generar una señal de negociación más confiable.

El RSI de regresión lineal refleja mejor la tendencia, y el EMA ayuda a encontrar puntos de inflexión. La combinación de ambos puede buscar oportunidades de reversión en la tendencia y formar una estrategia de reversión media.

La estrategia ofrece dos opciones de lógica de compra que se pueden ajustar con mayor flexibilidad según la fase del mercado. Por ejemplo, se puede elegir la primera lógica cuando la tendencia es evidente y la segunda cuando hay una oscilación.

Análisis de riesgos

La estrategia depende principalmente de la relación entre el RSI y la EMA, y si la relación entre ambos cambia, puede causar errores en las señales de negociación. Este es el principal punto de riesgo.

Además, el RSI y la EMA como indicadores en sí mismos también pueden tener un cierto retraso, lo que puede causar un cierto retraso en las compras y ventas, y no puede capturar perfectamente los puntos de inflexión. Esto también conlleva un cierto riesgo real.

Para reducir el riesgo, los parámetros de longitud de RSI y EMA se pueden ajustar adecuadamente, optimizando la combinación entre ambos. Esta unidad de forex también debe controlar adecuadamente para evitar pérdidas individuales excesivas.

Dirección de optimización

La estrategia puede ser optimizada en las siguientes direcciones:

  1. Optimice los parámetros de longitud de la regresión lineal RSI y EMA para encontrar la mejor combinación de parámetros
  2. Añadir filtros de otros indicadores, como MACD, banda de Brin, etc., para mejorar la calidad de la señal
  3. Ajuste de la gestión de posiciones en combinación con los indicadores de volatilidad
  4. Optimización automática de parámetros con métodos de aprendizaje automático

Resumir

Esta estrategia se basa en la regresión lineal RSI y EMA diseñó una estrategia de reversión media para buscar oportunidades de reversión en el rango de reajuste a través de la cruz de RSI y EMA. La estrategia ofrece al mismo tiempo dos opciones de lógica de compra disponibles, que pueden responder con flexibilidad a diferentes situaciones de mercado. En general, la estrategia combina las ventajas de varios indicadores para detectar oportunidades de reversión de manera efectiva.

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

//@version=4
strategy("Linear RSI")

startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() => true

//inputs
length = input(defval=200, minval=1, title="LR length")
length2 = input(defval=21, minval=1, title="RSI length")
ema_fast = input(defval=50, minval=1, title="EMA")
lag = 0

overBought = input(50)
overSold = input(50)


//rsi
src = close
Lr = linreg(src, length, lag)
rsi = rsi(Lr, length2)
ema = ema(rsi, ema_fast)

plot(rsi, color = rsi > overBought ? color.green : rsi < overSold ? color.red : color.silver)
plot(overBought, color=color.purple)
plot(overSold, color=color.purple)
plot(ema, color=color.blue)

first_type = input(true, title="Use first logic?")
second_type =  input(false, title="Use second logic?")

long_condition = (first_type ? crossover(rsi, ema) and _testPeriod() : false) or (second_type ? rsi > ema and rsi > overBought and _testPeriod() : false)
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = crossunder(rsi, ema)
strategy.close('BUY', when=short_condition)