Estrategia de negociación cuantitativa de varios plazos basada en SAR parabólico, indicadores de acciones y valores

El autor:¿ Qué pasa?, fecha: 2024-01-18 11:40:38
Las etiquetas:

img

Resumen general

Esta estrategia se llama Triple Insurance estrategia de trading cuantitativa. Combina las señales de los indicadores Parabolic SAR, Stock y Security para capturar tendencias de ruptura. El análisis de múltiples marcos de tiempo realiza decisiones comerciales más estables y confiables a través de la combinación de diferentes indicadores periódicos.

Estrategia lógica

Esta estrategia utiliza el indicador parabólico SAR para determinar la dirección de la tendencia y el momento de la reversión. El indicador Stoch juzga si está sobrecomprado o sobrevendido. La función de seguridad extrae la dirección de los promedios móviles de ciclo más largo para determinar la tendencia general. Los tres se combinan para formar decisiones comerciales:

  1. Cuando los puntos SAR parabólicos se convierten a la baja, se considera una señal alcista; cuando los puntos se vuelven hacia arriba, indica bajista.

  2. Los valores de las acciones K por debajo de 20 se consideran sobrevendidos, y por encima de 80 se consideran sobrecomprados.

  3. La función de seguridad llama a las medias móviles de ciclo más largo para determinar la dirección general de la tendencia, lo que permite un análisis combinado entre diferentes ciclos de tiempo.

Cuando los tres indicadores anteriores dan señales alcistas, vaya largo. Cuando da señales bajistas, vaya corto. Siga estrictamente el principio de filtrado de múltiples indicadores para filtrar eficazmente las fallas y bloquear las tendencias verdaderas.

Ventajas

La mayor ventaja de esta estrategia radica en su análisis de marcos de tiempo múltiples. Los tres indicadores juzgan el comportamiento de los precios respectivamente a corto, mediano y largo plazo. Parabolic SAR captura el tiempo de reversión y las tendencias a corto plazo. Las acciones determinan las condiciones de sobrecompra y sobreventa en la actualidad. La función de seguridad determina la dirección general de la tendencia. Los tres se complementan para evitar la interferencia de las fallas falsas de manera efectiva y aprovechar las oportunidades de establecimiento de tendencias.

Al mismo tiempo, esta estrategia adopta múltiples indicadores para el juicio y el filtrado para minimizar la probabilidad de error de juicio de una sola.

Los riesgos

Los principales riesgos de esta estrategia se encuentran en la adecuación de la configuración de los parámetros del indicador. El tamaño del paso y el tamaño máximo del paso de Parabolic SAR afectan directamente la velocidad de captura de las reversiones. El valor K y los ciclos de suavizado del valor D de Stoch deben coincidir con las características del mercado. El ciclo de selección de la función de seguridad también afecta el juicio.

Además, el principio del análisis de marcos de tiempo múltiples hace hincapié en la combinación de indicadores a través de períodos. Sin embargo, cómo lidiar con las divergencias entre los indicadores de ciclo largo y corto también es un problema al que vale la pena prestar atención. Una posible solución es determinar la dirección general con indicadores de tendencia y determinar el momento de salida específico utilizando indicadores BREAKOUT.

Direcciones de optimización

Las principales direcciones para una mayor optimización de esta estrategia son los siguientes tres aspectos:

  1. Aumentar el mecanismo de tamaño de paso adaptativo. Permitir que los parámetros SAR parabólicos se ajusten en función del grado de volatilidad del mercado para capturar mejor las reversiones.

  2. Añadir un mecanismo de stop loss. Salir con stop loss cuando el precio rompe un cierto nivel hacia la dirección desfavorable. Controlar la pérdida de una sola transacción.

  3. Introducir técnicas de aprendizaje automático. Utilizar algoritmos para entrenar la correlación entre los comportamientos de precios en diferentes períodos de tiempo. Los parámetros de estrategia que combinan diferentes marcos de tiempo también se pueden optimizar a través de algoritmos.

Conclusión

La estrategia cuantitativa Triple Insurance hace pleno uso de las ventajas complementarias de los indicadores parabólicos SAR, Stock y Security. Juzgan la consistencia de los comportamientos del mercado a partir de las dimensiones de las tendencias a corto plazo, los niveles de sobrecompra/sobreventa y los promedios móviles a largo plazo para construir una estrategia comercial estable y confiable. El uso de múltiples indicadores ayuda a filtrar señales falsas. El uso de marcos de tiempo múltiples permite la toma de decisiones en la premisa de que la verificación se obtiene a través de ciclos cortos y largos.


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

//@version=5
strategy(title='kyenji', shorttitle='kyenji90', overlay=true)

// Parabolic SAR
parabolicSARStart=input.float(0.01)
parabolicSARInc=input.float(0.01)
parabolicSARMax=input.float(0.2)
psarDot = ta.sar(parabolicSARStart,parabolicSARInc,parabolicSARMax)
longConditionPSAR = psarDot > close
shortConditionPSAR = psarDot < close

// Stoch
periodK = input.int(14, title="K", minval=1)
periodD = input.int(3, title="D", minval=1)
smoothK = input.int(3, title="Smooth", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
h0 = 80
h1 = 20
longConditionStoch = k < h1
shortConditionStoch = k > h0

// Security
securityPeriod=input('180')
longConditionSecurity = ta.crossover(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open))
shortConditionSecurity = ta.crossunder(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open))

// Generate Signal
longCondition = longConditionSecurity and longConditionPSAR and longConditionStoch
shortCondition = shortConditionSecurity and shortConditionPSAR and shortConditionStoch

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)


Más.