Estrategia larga basada en el índice de variabilidad de las inversiones con parada de seguimiento para operaciones cuantitativas

El autor:¿ Qué pasa?, Fecha: 2024-03-08 15:06:58
Las etiquetas:

img

Resumen general

Este artículo presenta una estrategia de negociación cuantitativa para ir largo basada en el índice de fuerza relativa (RSI) y el trailing stop. La estrategia utiliza el indicador RSI para determinar las condiciones de mercado sobrecompradas y sobrevendidas, ingresando posiciones largas cuando el mercado está sobrevendido y cerrando posiciones cuando está sobrecomprado. Al mismo tiempo, la estrategia emplea un trailing stop basado en el porcentaje para controlar el riesgo. Esta es una estrategia clásica de seguimiento de tendencias diseñada para capturar tendencias alcistas en mercados fuertes.

Principios de estrategia

El núcleo de esta estrategia es el índice de fuerza relativa (RSI). El RSI es un oscilador de impulso utilizado para medir la magnitud de los cambios de precios durante un período de tiempo.

RS = Average gain over N days / Average loss over N days
RSI = 100 - 100 / (1 + RS) 

donde N es el período de tiempo para calcular el RSI, generalmente fijado en 14.

La lógica de la estrategia es la siguiente:

  1. Calcular el RSI de período N.
  2. Cuando el RSI cruce por encima del nivel de sobreventa (por ejemplo, 30) desde abajo, ingrese a una posición larga.
  3. Cuando el RSI cruce por debajo del nivel de sobrecompra (por ejemplo, 70) desde arriba, cierre la posición larga.
  4. En el caso de las entidades de crédito, el valor de las pérdidas se calculará en función de los valores de las pérdidas de las entidades de crédito.
  5. Si el precio alcanza el precio de stop loss, cierre la posición larga para controlar las pérdidas.

La estrategia intenta entrar en posiciones al comienzo de una transición del mercado de bajista a alcista, y salir al final de un mercado alcista, con el fin de capturar la tendencia alcista principal.

Análisis de ventajas

  1. Simplicidad: la estrategia utiliza un solo indicador técnico, el RSI, con una lógica clara, por lo que es adecuado para que los principiantes lo aprendan y usen.
  2. Seguimiento de tendencia: La estrategia entra en posiciones en la zona de sobreventa y sale en la zona de sobrecompra, adhiriéndose al principio de inversión de tendencia "compra bajo, vende alto", capturando efectivamente las tendencias alcistas del mercado alcista.
  3. Control de riesgos: el trailing stop basado en el porcentaje ayuda a los inversores a controlar la exposición al riesgo de cada operación, limitando las pérdidas a un rango aceptable.

Análisis de riesgos

  1. Pérdidas en los mercados de rango: el RSI es un indicador rezagado y puede generar muchas señales falsas en los mercados de rango, lo que conduce a entradas y salidas frecuentes que acumulan pequeñas pérdidas en grandes.
  2. Establecimiento inadecuado del stop loss: si el stop loss se establece demasiado ancho, la pérdida por operación será grande; si se establece demasiado estrecho, la estrategia se detendrá demasiado pronto y perderá las tendencias posteriores.
  3. Falta de gestión de posiciones: la estrategia carece de un mecanismo de ajuste dinámico de las posiciones, lo que resulta en un control inflexible de la exposición al riesgo.

Direcciones de optimización

  1. Filtración de tendencias: antes de usar señales RSI, primero determine la tendencia a largo plazo utilizando promedios móviles u otros indicadores de tendencia, y solo use señales RSI largas cuando la tendencia principal esté en aumento.
  2. Optimización del stop loss: Considere el uso de trailing stops o estrategias de stop loss más avanzadas como ATR para ajustar dinámicamente las posiciones de stop loss para adaptarse mejor al ritmo del mercado.
  3. Gestión de posiciones: ajustar dinámicamente el tamaño de cada operación en función de factores como la volatilidad del mercado y la fuerza de la tendencia para controlar mejor el riesgo.
  4. La cobertura de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo de riesgo

Conclusión

Este artículo presenta una estrategia de trading cuantitativa para ir largo basada en el RSI y los trailing stops. La estrategia utiliza señales de sobrecompra y sobreventa del RSI para entrar y salir de posiciones, mientras que utiliza trailing stops basados en porcentajes para controlar el riesgo. Esta es una estrategia de seguimiento de tendencias simple y práctica adecuada para que los principiantes la aprendan. Sin embargo, también tiene algunas limitaciones, como un bajo rendimiento en mercados de rango y falta de flexibilidad en la gestión de stop loss y posición. Para abordar estas deficiencias, podemos optimizar la estrategia en aspectos como filtrar tendencias, gestión de stop loss dinámicos, gestión de posiciones y cobertura de long-short, con el fin de obtener rendimientos más robustos.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("RSI Strategy (Long)", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

// *** Signals ***
enter_long = ta.crossover(vrsi, overSold)
enter_short = ta.crossunder(vrsi, overBought)
close_long = ta.crossunder(vrsi, overBought)
close_short = ta.crossunder(vrsi, overBought)


// *** Risk management *** 
entry_price = close
percent_diff = input(5)
stop_loss_price_long = (1 - percent_diff / 100.) * entry_price 
stop_loss_price_short = (1 + percent_diff / 100.) * entry_price 


// *** Positions *** 
if enter_long and strategy.position_size == 0
    strategy.entry("Long", strategy.long)
    strategy.exit("SL Long", "Long", stop = stop_loss_price_long)

if enter_short and strategy.position_size == 0
    strategy.entry("Short", strategy.short, qty=.001)
    strategy.exit("SL short", "Short", stop = stop_loss_price_short)

if close_long 
    strategy.close("Long", "Exit Long")

if close_short
    strategy.close("Short", "Exit Short")

Más.