Sistema de estrategia cuantitativa de inversión de impulso de múltiples frecuencias


Fecha de creación: 2024-11-29 14:47:54 Última modificación: 2024-11-29 14:47:54
Copiar: 0 Número de Visitas: 377
1
Seguir
1617
Seguidores

Sistema de estrategia cuantitativa de inversión de impulso de múltiples frecuencias

Descripción general

La estrategia es un sistema de trading cuantitativo basado en características de movimiento continuo del mercado, para capturar oportunidades de reversión del mercado mediante el análisis de la frecuencia de subidas o bajadas continuas de los precios. El núcleo de la estrategia es tomar decisiones comerciales de reversión al establecer un umbral de subidas y bajadas continuas, al alcanzar el umbral, al tiempo que toma decisiones comerciales en combinación con indicadores multidimensionales como el tiempo de tenencia de la posición y la forma de la línea K. La estrategia aprovecha al máximo las características de reversión del mercado, para operar de reversión cuando los precios tienen características de sobrecompra o sobreventa.

Principio de estrategia

La lógica central de la estrategia incluye los siguientes elementos clave:

  1. Estadísticas de continuidad: el sistema estadística en tiempo real el número de subidas y bajadas de los precios y las compara con los mínimos predeterminados.
  2. Opción de dirección de negociación: se puede elegir entre hacer más o hacer menos en dos direcciones, hacer más se enfoca en una caída continua y hacer menos se enfoca en una subida continua.
  3. Gestión del ciclo de tenencia: establezca un ciclo de tenencia fijo, que expire automáticamente para evitar la tenencia excesiva.
  4. Filtración de las estrellas cruzadas: Introducción del juicio de las estrellas cruzadas para filtrar las falsas señales durante los movimientos del mercado.
  5. Control de posición: se utiliza una sola posición para el comercio, no se hace la acumulación de la posición o el lote de operaciones de construcción de la posición.

Ventajas estratégicas

  1. La lógica es clara: la lógica de la estrategia es intuitiva y fácil de entender y ejecutar.
  2. Riesgo controlado: control del riesgo a través de un plazo de tenencia fijo y una posición única.
  3. Adaptabilidad: los parámetros se pueden ajustar en función de las diferentes características del mercado.
  4. Alto grado de automatización: Todo el proceso es realizado automáticamente por el sistema, reduciendo la intervención humana.
  5. Análisis multidimensional: combina varias dimensiones, como las tendencias de los precios y la forma de la línea K.

Riesgo estratégico

  1. Riesgo de continuación de la tendencia: En un mercado con una fuerte tendencia, puede producirse un error de juicio.
  2. Sensibilidad de los parámetros: la configuración de los valores de límite y la duración de la posición afectan directamente el rendimiento de la estrategia.
  3. Dependencia del entorno del mercado: el rendimiento es mejor en los mercados convulsivos, pero puede haber pérdidas frecuentes en los mercados unilaterales.
  4. Efectos del punto de deslizamiento: las transacciones de alta frecuencia pueden verse afectadas por el punto de deslizamiento.
  5. Presión de costos: las transacciones frecuentes generan costos de transacción más altos.

Dirección de optimización de la estrategia

  1. Introducción de indicadores de fluctuación: ajuste de la configuración del umbral a través de indicadores como el ATR.
  2. Aumentar el filtro de tendencias: mejora la tasa de ganancias en combinación con el juicio de tendencias de largo período.
  3. Ciclo dinámico de mantenimiento de posiciones: adapta el tiempo de mantenimiento de las posiciones según las características del mercado.
  4. Optimización de la gestión de posiciones: introducción de un mecanismo dinámico de gestión de posiciones.
  5. Análisis de ciclo múltiple: añadir un mecanismo de confirmación de señal múltiple.

Resumir

La estrategia es un sistema de negociación cuantitativa basado en las características de la reversión del mercado, para capturar oportunidades de reversión del mercado mediante el análisis de los movimientos continuos de los precios. La estrategia está diseñada de manera razonable, el riesgo es controlable, pero los parámetros deben ajustarse según el entorno del mercado.

Código Fuente de la Estrategia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Streak-Based Trading Strategy", overlay=true)

// User Inputs
trade_direction = input.string(title="Trade Direction", defval="Long", options=["Long", "Short"]) // Option to choose Long or Short
streak_threshold = input.int(title="Streak Threshold", defval=8, minval=1) // Input for number of streaks before trade
hold_duration = input.int(title="Hold Duration (in periods)", defval=7, minval=1) // Input for holding the position
doji_threshold = input.float(0.01, title="Doji Threshold (%)", minval=0.001) / 100 // Doji sensitivity

// Calculate win or loss streak
is_doji = math.abs(close - open) / (high - low) < doji_threshold
win = close > close[1] and not is_doji
loss = close < close[1] and not is_doji

// Initialize variables for streak counting
var int win_streak = 0
var int loss_streak = 0
var bool in_position = false
var int hold_counter = 0

// Track streaks (only when not in a position)
if not in_position
    if win
        win_streak += 1
        loss_streak := 0
    else if loss
        loss_streak += 1
        win_streak := 0
    else
        win_streak := 0
        loss_streak := 0

// Logic for closing the position after the holding duration
if in_position
    hold_counter -= 1
    if hold_counter <= 0
        strategy.close_all() // Close all positions
        in_position := false // Reset position flag
        win_streak := 0 // Reset streaks after position is closed
        loss_streak := 0

// Trade condition (only when no position is open and streak is reached)
if not in_position
    if trade_direction == "Long" and loss_streak >= streak_threshold
        strategy.entry("Long", strategy.long) // Open a long position
        in_position := true
        hold_counter := hold_duration // Set holding period

    if trade_direction == "Short" and win_streak >= streak_threshold
        strategy.entry("Short", strategy.short) // Open a short position
        in_position := true
        hold_counter := hold_duration // Set holding period

// Plotting streaks for visualization
plot(win_streak, color=color.green, title="Winning Streak", style=plot.style_histogram, linewidth=2)
plot(loss_streak, color=color.red, title="Losing Streak", style=plot.style_histogram, linewidth=2)