En la carga de los recursos... Cargando...

Estrategia de negociación cuantitativa de señal lineal normalizada con puntuación Z

El autor:¿ Qué pasa?, Fecha: 2025-01-06 16:14:07
Las etiquetas:Indicador de riesgoLa SMAClasificación de las empresasLas condiciones de los contratosTPSL

img

Resumen general

Esta estrategia es un sistema de negociación cuantitativo basado en señales lineales y normalización de puntaje Z. Construye señales de negociación estandarizadas combinando variables exógenas como RSI con datos de precios y activa operaciones utilizando umbrales.

Principio de la estrategia

Los principios fundamentales incluyen varios pasos clave:

  1. Construcción de señales lineales: utiliza pesos configurables (signal_alpha) para combinar linealmente el indicador RSI con los datos de precios para formar señales iniciales.
  2. Normalización de la puntuación Z: Calcula la media y la desviación estándar de las señales lineales basadas en un período de retroceso, normalizando las señales en puntuaciones Z.
  3. Mecanismo de activación de umbral: abre posiciones largas cuando la puntuación Z cae por debajo del umbral negativo y posiciones cortas cuando está por encima del umbral positivo, controlado por el factor de ajuste de riesgo.
  4. Gestión del riesgo: establece los niveles de stop-loss y take-profit para cada operación, con un ajuste flexible de la relación riesgo-recompensa a través de parámetros porcentuales.

Ventajas estratégicas

  1. Estandarización de la señal: la transformación de la puntuación Z proporciona buenas propiedades estadísticas, facilitando la configuración de umbrales universales.
  2. Alta flexibilidad: puede equilibrar la influencia de las variables exógenas y el precio a través del ajuste de señal_alfa.
  3. El riesgo controlado: mecanismo completo de stop-loss y take-profit, configurable en función de las características del mercado.
  4. Una buena adaptabilidad: es aplicable a múltiples plazos de tiempo, ampliable a otros instrumentos de negociación altamente líquidos.

Riesgos estratégicos

  1. Sensibilidad a los parámetros: el rendimiento de la estrategia es sensible a la selección de parámetros, lo que requiere una prueba posterior exhaustiva.
  2. Dependencia del entorno del mercado: puede generar operaciones frecuentes en mercados de rango con tendencias débiles.
  3. Lag de señal: los cálculos de las medias móviles pueden introducir un retraso que afecte el tiempo de entrada.
  4. Riesgo de liquidez: las operaciones de alta frecuencia pueden sufrir pérdidas por deslizamiento durante los períodos de baja liquidez.

Direcciones para la optimización de la estrategia

  1. Ajuste dinámico de parámetros: introducir mecanismos adaptativos para ajustar dinámicamente los umbrales y las posiciones de stop-loss en función de la volatilidad del mercado.
  2. Confirmación de señales múltiples: añadir otros indicadores técnicos como condiciones de filtrado para mejorar la fiabilidad de la señal.
  3. Optimización de la gestión de posiciones: Diseñar un sistema dinámico de gestión de posiciones basado en la volatilidad y la fuerza de la señal.
  4. Control de costos de transacción: Optimice la lógica de entrada y salida para reducir los costos de las operaciones frecuentes.

Resumen de las actividades

Esta es una estrategia de negociación cuantitativa bien estructurada y lógicamente rigurosa. Construye un sistema de señales de negociación robusto a través de combinación lineal y procesamiento de estandarización. La estrategia ofrece una fuerte configurabilidad y gestión de riesgos integral, pero requiere atención a la optimización de parámetros y adaptabilidad del mercado. A través de las direcciones de optimización sugeridas, la estabilidad y rentabilidad de la estrategia pueden mejorarse aún más.


/*backtest
start: 2024-12-29 00:00:00
end: 2025-01-05 00:00:00
period: 15m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Linear Signal-Based Strategy", shorttitle = "LSB_V1", overlay=true)

// Inputs
lookback_period = input.int(14, title="Lookback Period for Moving Averages")
signal_alpha = input.float(0.5, title="Signal Weight Alpha (Exogenous Variable)")
take_profit_percent = input.float(0.02, title="Take Profit (%)")
stop_loss_percent = input.float(0.01, title="Stop Loss (%)")
risk_adjustment_factor = input.float(1.5, title="Risk Adjustment Factor")

// Fetch Exogenous Variable (Example: RSI as a Proxy)
rsi_value = ta.rsi(close, lookback_period)

// Linear Signal Calculation
linear_signal = signal_alpha * rsi_value + (1 - signal_alpha) * close

// Z-Score Normalization for Signal
mean_signal = ta.sma(linear_signal, lookback_period)
stddev_signal = ta.stdev(linear_signal, lookback_period)
z_score_signal = (linear_signal - mean_signal) / stddev_signal

// Entry Conditions
long_condition = z_score_signal < -risk_adjustment_factor
short_condition = z_score_signal > risk_adjustment_factor

// Risk Management
long_take_profit = close * (1 + take_profit_percent)
long_stop_loss = close * (1 - stop_loss_percent)
short_take_profit = close * (1 - take_profit_percent)
short_stop_loss = close * (1 + stop_loss_percent)

// Execute Trades
if (long_condition)
    strategy.entry("Long", strategy.long, qty=1)
    strategy.exit("Exit Long", "Long", stop=long_stop_loss, limit=long_take_profit)

if (short_condition)
    strategy.entry("Short", strategy.short, qty=1)
    strategy.exit("Exit Short", "Short", stop=short_stop_loss, limit=short_take_profit)




Relacionados

Más.