Estrategia de ruptura de impulso inverso

El autor:¿ Qué pasa?, Fecha: 2024-02-23 12:11:32
Las etiquetas:

img

Resumen general

La estrategia de ruptura de impulso de reversión es una estrategia de negociación cuantitativa que genera señales comerciales utilizando indicadores de reversión de precios e impulso.

Principio de la estrategia

La lógica central de esta estrategia es identificar los puntos de inversión del mercado calculando los precios más altos y más bajos durante una ventana de retroalimentación específica (por ejemplo, 20 días).

  1. Calcular el precio más alto (window_high) y el precio más bajo (window_low) durante los últimos 20 días.

  2. Si el máximo de hoy es superior al máximo de los últimos 20 días (un nuevo máximo de 20 días), introduzca el período de monitoreo de la reversión del máximo y establezca el contador en 5 días.

  3. Si no se produce ningún nuevo máximo, se deducirá el contador por 1 cada día.

  4. La lógica de juicio para el precio más bajo es similar.

  5. Las posiciones largas y cortas se toman dentro de los períodos de seguimiento de la inversión.

La estrategia también establece la hora de inicio de las operaciones para evitar la generación de señales en datos históricos.

Análisis de ventajas

La estrategia de ruptura de impulso inverso tiene las siguientes ventajas principales:

  1. Captura oportunidades de reversión, adecuadas para tendencias de reversión. Los mercados a menudo muestran cierto grado de reversión después de una tendencia alcista o bajista sostenida. Esta estrategia tiene como objetivo capturar estos puntos de inflexión.

  2. El seguimiento de los precios más altos y más bajos a través de una ventana puede identificar de manera sensible las tendencias de inversión de precios y el momento.

  3. Los periodos de monitorización de la inversión evitan las señales falsas, que se generan solo alrededor de los puntos clave de inversión, filtrando algo de ruido.

  4. Permite posiciones largas y cortas, alternando entre largas y cortas siguiendo la dirección del mercado.

  5. Relativamente lógica simple, fácil de implementar, se basa principalmente en precios y indicadores de impulso simples, fácil de codificar.

Análisis de riesgos

Los principales riesgos de esta estrategia incluyen:

  1. Predicción inexacta de reversión. La estrategia puede incurrir en pérdidas si el mercado se mueve en dirección.

  2. No se consideran las tendencias generales del mercado. Las reversiones individuales de las existencias no representan necesariamente reversiones del mercado.

  3. Los retiros potenciales pueden ser grandes y pueden aumentar sin cambios reales.

  4. El rendimiento puede diferir significativamente de los backtests.

  5. La sensibilidad de los parámetros, el período de la ventana, los parámetros del contador, etc. afectan a la estabilidad.

Los métodos de control de riesgos correspondientes incluyen la optimización de la parada de pérdidas, la incorporación de factores de mercado, el ajuste de las combinaciones de parámetros y la verificación de la estabilidad.

Direcciones de mejora

Las principales direcciones de optimización incluyen:

  1. Incorporar indicadores de mercado y evaluar la fortaleza del mercado para evitar entornos desfavorables.

  2. Seleccionar acciones con fundamentos sólidos y sobrevaloración.

  3. Optimización de parámetros. Ajuste el período de la ventana y los parámetros del contador para encontrar combinaciones óptimas de parámetros.

  4. Añadir estrategias de stop loss, por ejemplo, paradas de trailing, paradas de volatilidad para controlar el descenso máximo.

  5. Aumentar la precisión predictiva del aprendizaje automático de las inversiones de precios.

Conclusión

La estrategia de ruptura de impulso de reversión identifica oportunidades de reversión mediante el seguimiento del precio y el impulso. Reacciona sensiblemente e identifica las tendencias de reversión y el momento. Pero tiene riesgos que requieren optimizaciones y control de riesgos adecuados. En general, cuando se entiende y optimiza a fondo, puede formar un componente efectivo de un sistema comercial cuantitativo.


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

//@version=5
strategy("New Highs and Lows Momentum Strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

window = input.int(20, title="New Highs and Lows Window", minval=1)
decay = input.int(5, title="Decay", minval=1)
startDate = input(timestamp("1 Jan 2023"), title = "Start Date")
allowShort = input.bool(false, title = "Allow shorting")

var int highDecayCounter = 0
var bool isHighPeriod = false
var int lowDecayCounter = 0
var bool isLowPeriod = false

inTradeWindow = true

window_high = ta.highest(close, window)
window_low = ta.lowest(low, window)

// Logic for Highs
if window_high > ta.highest(close, window)[1]
    highDecayCounter := decay
    isHighPeriod := true
else
    if highDecayCounter > 0
        highDecayCounter := highDecayCounter - 1
    else
        isHighPeriod := false

// Logic for Lows
if window_low < ta.lowest(low, window)[1]
    lowDecayCounter := decay
    isLowPeriod := true
else
    if lowDecayCounter > 0
        lowDecayCounter := lowDecayCounter - 1
    else
        isLowPeriod := false

// Strategy Execution
if inTradeWindow
    if isHighPeriod and highDecayCounter == decay
        strategy.entry("Long", strategy.long)

    if isHighPeriod and highDecayCounter == 0
        strategy.close("Long")

    if isLowPeriod and lowDecayCounter == decay and allowShort
        strategy.entry("Short", strategy.short)

    if isLowPeriod and lowDecayCounter == 0 and allowShort
        strategy.close("Short")

// Plotting
plot(window_high, color=color.green)
plot(window_low, color=color.red)

Más.