Estrategia de trading cuantitativo basada en el RSI


Fecha de creación: 2023-12-06 17:17:16 Última modificación: 2023-12-06 17:17:16
Copiar: 0 Número de Visitas: 543
1
Seguir
1619
Seguidores

Estrategia de trading cuantitativo basada en el RSI

Descripción general

Esta estrategia se llama inversión de RSI de doble eje de tiempo, y es una estrategia de negociación cuantitativa basada en el índice de fuerza relativa (RSI). La estrategia utiliza dos períodos diferentes de RSI como señales de compra y venta, para realizar compras bajas y ventas altas y obtener oportunidades de negociación derivadas de la inversión de los precios de las acciones.

Principio de estrategia

La estrategia utiliza el RSI de ciclo rápido (de 55 días por defecto) y el RSI de ciclo lento (de 126 días por defecto) para construir señales de negociación. Se genera una señal de compra cuando el RSI de ciclo rápido atraviesa el RSI de ciclo lento, y viceversa, se genera una señal de venta cuando el RSI de ciclo rápido atraviesa el RSI de ciclo lento. Así, mediante la comparación de la fuerza relativa de la movilidad de los precios en dos intervalos de tiempo diferentes, se descubren oportunidades de reversión de tendencias a corto y largo plazo.

Después de entrar en la señal, la estrategia establecerá un punto de parada y pérdida. El punto de parada es 0.9 veces el precio de entrada por defecto, y el punto de parada es el 3% del precio de entrada por defecto. Al mismo tiempo, cuando vuelva a aparecer la señal de reversión, también se aplanará la posición actual.

Ventajas estratégicas

  • Utiliza el RSI para comparar puntos de cambio en las tendencias de precios a corto y largo plazo para capturar oportunidades de reversión
  • El doble RSI elimina el ruido de las transacciones por brechas falsas
  • Configuración de un punto de parada para limitar las pérdidas individuales

Riesgo estratégico

  • Las señales del RSI pueden invertirse con frecuencia durante las altas fluctuaciones de las acciones
  • El punto de parada es demasiado pequeño y puede causar que se detenga después de una pequeña sacudida.
  • Los parámetros del doble RSI están mal configurados y pueden haberse perdido una gran reversión

Optimización de la estrategia

  • Los parámetros RSI pueden probar más combinaciones para encontrar el parámetro óptimo
  • Se puede combinar con otros indicadores para filtrar falsas señales de ruptura
  • Ajuste dinámico de la proporción de pérdidas de frenado para que el frenado sea más flexible

Resumir

Esta estrategia utiliza el doble eje de tiempo RSI inversión mediante la comparación de los períodos rápidos y los períodos lentos de dos RSI cruzados como señal de comercio, con el objetivo de capturar oportunidades de reversión de precios en el corto plazo. Al mismo tiempo, el establecimiento de la regla de parada de pérdidas evita el riesgo. Esta es una estrategia típica que utiliza la comparación de indicadores de múltiples ejes de tiempo para lograr una negociación de reversión de precios.

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

//@version=2
strategy(title="Relative Strength Index", shorttitle="RSI")
slen    = input(55, title="Short length")
llen    = input(126, title="Long length")
sup     = ema(max(change(close), 0), slen)
sdown   = ema(-min(change(close), 0), slen)
rsi1    = sdown == 0 ? 100 : sup == 0 ? 0 : 100 - (100 / (1 + sup / sdown))
lup     = ema(max(change(close), 0), llen)
ldown   = ema(-min(change(close), 0), llen)
rsi2    = ldown == 0 ? 100 : lup == 0 ? 0 : 100 - (100 / (1 + lup / ldown))
ob      = input(55, title="Overbought")
os      = input(45, title="Oversold")
tp      = input(.9, title="Take profit level %")*.01
sl      = input(3, title="Stoploss level %")*.01
mid     = avg(ob,os)
plot    (mid, color=#4f4f4f, transp=0)
hline   (ob, color=#4f4f4f)
hline   (os, color=#4f4f4f)
long    = crossover(rsi1,rsi2)
short   = crossunder(rsi1,rsi2)
vall    = valuewhen(long,close,0)
lexit1  = high>=(vall*tp)+vall
lexit2  = low<=vall-(vall*sl)
vals    = valuewhen(short,close,0)
sexit1  = low<=vals - (vals*tp)
sexit2  = high>=vals + (vals*sl)
bgcolor (color=long?lime:na,transp=50)
bgcolor (color=short?red:na, transp=50)
strategy.entry("Long", strategy.long, when=long)
strategy.close("Long", when=lexit1)
strategy.close("Long", when=lexit2)
strategy.close("Long", when=short)
strategy.entry("Short", strategy.short, when=short)
strategy.close("Short", when=sexit1)
strategy.close("Short", when=sexit2)
strategy.close("Short", when=long)
plot    (rsi1, color=orange, transp=0,linewidth=1, title="Short period RSI")
plot    (rsi2, color=aqua  , transp=0,linewidth=1, title="Long period RSI")