Estrategia de negociación del RSI de la condición bayesiana

El autor:¿ Qué pasa?, Fecha: 2023-12-18 17:09:00
Las etiquetas:

img

Resumen general

Este artículo analiza principalmente una estrategia de negociación cuantitativa llamada Estrategia de negociación RSI de condición bayesiana. Esta estrategia calcula la distribución de probabilidad del indicador RSI y aplica la regla bayesiana para inferir la probabilidad de que el indicador RSI continúe subiendo o bajando para juzgar las tendencias futuras de precios y obtener ganancias.

Principio de la estrategia

La lógica central de esta estrategia es la siguiente:

  1. Calcular la distribución de probabilidad A de si el precio de cierre ha aumentado dentro de un determinado ciclo
  2. Calcular la distribución de probabilidad B de si el indicador RSI continúa subiendo dentro del ciclo correspondiente
  3. Aplicar la regla bayesiana para calcular la probabilidad de que A y B ocurran simultáneamente
  4. Cuando esta probabilidad es mayor que el umbral, juzgar que la tendencia continuará y tomar señales comerciales

Específicamente, la estrategia primero define el parámetro p como el parámetro del ciclo para calcular el indicador RSI, y r como el intervalo de tiempo para predecir cambios futuros de precios. Luego, dentro del ciclo p, cuente el número de veces que el precio de cierre aumenta para calcular la distribución de probabilidad A. Al mismo tiempo, dentro del ciclo p, cuente el número de veces que el RSI continúa aumentando dentro del ciclo r después de que este ciclo termine, y calcule la distribución de probabilidad B.

Luego, aplicar la fórmula bayesiana para calcular la probabilidad de que las dos condiciones de aumento del precio de cierre y RSI continúen subiendo se cumplan al mismo tiempo, como el indicador final de juicio de probabilidad.

De esta manera, la estrategia considera de manera integral la información de precios e indicadores técnicos, aplica estadísticas de probabilidad y reglas bayesianas para juzgar las tendencias futuras y generar señales comerciales.

Ventajas de la estrategia

Las principales ventajas de esta estrategia son las siguientes:

  1. Combinar información múltiple: La estrategia considera no sólo la información de precios, sino también la información de indicadores técnicos como el RSI para evaluar de manera exhaustiva las tendencias futuras y mejorar la precisión del juicio.

  2. Pronóstico de probabilidad: hacer predicciones de probabilidad sobre la dirección de los cambios de precios y RSI a través de la distribución de probabilidad estadística, en lugar de una simple comparación numérica, haciendo el juicio más científico.

  3. Optimización bayesiana: Utilice reglas bayesianas para calcular probabilidades relevantes y optimizar las probabilidades estadísticas originales para hacer juicios más precisos.

  4. Parámetros flexibles: Proporcionar múltiples parámetros de ajuste y optimización para adaptarse a diferentes mercados y activos y mejorar la adaptabilidad de la estrategia.

  5. Sencillo y eficaz: La idea de la estrategia es clara y se utilizan operaciones estadísticas y de probabilidad simples para generar juicios de señales comerciales, que son fáciles de entender y optimizar, y el efecto es significativo.

Riesgos de la estrategia

Los principales riesgos de esta estrategia también incluyen:

  1. Dependencia del parámetro: El rendimiento depende en gran medida de la configuración de parámetros. Los diferentes mercados necesitan ajustar muchos parámetros para lograr resultados óptimos, aumentando la complejidad de la operación de la estrategia.

  2. Error de probabilidad: Debido a la limitación del tiempo estadístico y de las muestras, la probabilidad calculada puede no coincidir con la tendencia real, lo que conduce a una desviación de juicio.

  3. Eventos especiales: Las emergencias mayores pueden afectar a la correlación entre los precios de mercado y los indicadores del RSI, causando el fracaso de la estrategia.

  4. Fallo del indicador técnico: En algunas situaciones de mercado, los indicadores técnicos como el RSI pueden producir señales inválidas, lo que conduce a un fallo en el juicio estratégico.

Las soluciones incluyen: optimizar el proceso de fijación de parámetros, ajustar el tiempo estadístico y el tamaño de la muestra, combinar más información auxiliar, intervención manual en situaciones anormales, etc.

Direcciones de optimización

Las principales direcciones de optimización de esta estrategia incluyen:

  1. Muchos plazos: Ejecutar estrategias a lo largo de múltiples plazos (diarios, semanales, etc.) para un juicio integrado para mejorar la estabilidad.

  2. Más indicadores: Añadir más señales de indicadores técnicos como patrones de velas, promedios móviles, etc. para enriquecer la base para el juicio.

  3. Optimización del modelo: Usando el aprendizaje automático, etc. para optimizar el modelo bayesiano para cálculos más precisos.

  4. Parámetros dinámicos: Añadir módulos de optimización dinámica para ajustar los parámetros en tiempo real con los cambios del mercado.

  5. Mecanismo de control de riesgos: Establecer métricas de riesgo como la reducción máxima y las frecuencias de comercio para evitar grandes pérdidas en mercados extremos.

  6. Reúne las mejoras: Junto con otros tipos o modelos de estrategias para formar mecanismos de votación y mejorar la estabilidad.

Conclusión

Esta estrategia primero calcula estadísticamente las distribuciones de probabilidad del precio y el RSI, luego utiliza reglas bayesianas para calcular probabilidades combinadas, generando señales comerciales cuando las probabilidades exceden los umbrales establecidos, obteniendo así ganancias. Esta estrategia combina información de múltiples fuentes, aprovecha la predicción de probabilidades y la optimización bayesiana para un rendimiento de juicio decente. Las principales direcciones de optimización incluyen la expansión del marco de tiempo, más indicadores, parámetros dinámicos, etc. En conclusión, esta estrategia tiene una idea única y un efecto notable que vale la pena explorar y aplicar.


/*backtest
start: 2022-12-11 00:00:00
end: 2023-03-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// Stealthy7 trading scripts are radikal. You have entered the mystical realm of demonic profit.
// If you like this script, check out my bots at cryptotrader.org/?r=51
// Let me know if you find any improvements to this script. It is beta. 
// Please subscribe.
strategy("Stealthy7 Bayes Conditional RSI Trader Strategy", overlay=true)
p = input(title="Period",  defval=30, minval=5, maxval=500)
t = input(title="Movement Thresh", type=float, defval=1.003, minval=1.001, maxval=1.5, step=0.001)
r = input(title="Look Range",  defval=7, minval=1,maxval=500, step=1)
RSIT = input(title="Jump",  defval=8, minval=1,maxval=99, step=1)
BAYEST = input(title="SM",  defval=3, minval=1,maxval=99, step=1)
RSIP = input(title="RSIP",  defval=14, minval=2,maxval=100, step=1)
countup = 1
countdn = 1
countupS = 1
countdnS = 1
for i = p to 1
    if close[i]/close[i + r] > t
        countup := countup + 1
    else
        countdn := countdn + 1
    if close[i]/close[i + r] < 2 - t
        countupS := countupS + 1
    else
        countdnS := countdnS + 1

rsi = rsi(open,RSIP)

countup2 = 1
countup3 = 1
countup2S = 1
countup3S = 1
for i = p to 1
    if close[i]/close[i + r] > t and rsi[i + r + 1] > rsi[i + r + 2] + RSIT
        countup2 := countup2 + 1
    else
        countup3 := countup3 + 1
    if close[i]/close[i + r] < 2 - t and rsi[i + r + 1] < rsi[i + r + 2] - RSIT
        countup2S := countup2S + 1
    else
        countup3S := countup3S + 1

countup2b = countup2 / p
countup3b = countup3 / p
countupb = countup / p
countdnb = countdn / p

countup2bS = countup2S / p
countup3bS = countup3S / p
countupbS = countupS / p
countdnbS = countdnS / p
bayes = 0
bayes := ((countupb * countup2b) / ((countupb * countup2b) + (countdnb * countup3b))) * 100
bayesS = 0
bayesS := ((countupbS * countup2bS) / ((countupbS * countup2bS) + (countdnbS * countup3bS))) * 100
SN1 = sma(bayes,BAYEST)
SN2 = sma(bayesS,BAYEST)
shortCondition = crossunder(bayesS, SN2) //and rsi < 49
longCondition = crossover(bayes, SN1) //and rsi > 59
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

Más.