Estrategia de negociación RSI que utiliza el juicio condicional bayesiano


Fecha de creación: 2023-12-18 17:09:00 Última modificación: 2023-12-18 17:09:00
Copiar: 0 Número de Visitas: 857
1
Seguir
1621
Seguidores

Estrategia de negociación RSI que utiliza el juicio condicional bayesiano

Descripción general

Este artículo analiza principalmente una estrategia de trading cuantitativa de la cuña de la estrategia de negociación RSI, llamada Aplicación de la determinación de condiciones de Bayes. Esta estrategia calcula la distribución de probabilidad del indicador RSI y aplica el método de Bayes para deducir la probabilidad de que el indicador RSI continúe subiendo o bajando para determinar la tendencia futura de los precios y obtener ganancias.

Principio de estrategia

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

  1. Calcula la probabilidad de que el precio de cierre suba durante un período determinado
  2. Calcula la distribución de probabilidad de si el RSI continuará subiendo durante el período correspondiente B
  3. Aplicar la ley de Bayes para calcular la probabilidad de que A y B ocurran al mismo tiempo
  4. Cuando la probabilidad es superior a la desvalorización, la tendencia se mantiene y se toma una señal de negociación

Concretamente, la estrategia define el parámetro p como el parámetro de ciclo para calcular el indicador RSI, y r como el rango de tiempo para predecir los cambios futuros en los precios. Luego, en el ciclo p, se calcula el número de veces que el precio de cierre estadístico sube, y se calcula la distribución de probabilidad A. Al mismo tiempo, en el ciclo p, se calcula el número de veces que el RSI continúa subiendo después del final del ciclo r, y se calcula la distribución de probabilidad B.

Luego, se aplica la fórmula de la ley de Bayes para calcular la probabilidad de que el precio de la bolsa de valores suba y el RSI siga subiendo al mismo tiempo, como un indicador de probabilidad final. Cuando la probabilidad es mayor que un umbral dado, se toma una decisión de que la tendencia continuará subiendo y se toman más operaciones; cuando la probabilidad es menor que el umbral, se toma una decisión de que la tendencia se revertirá y se tomará una posición cerrada.

De esta manera, la estrategia integral toma en cuenta la información de precios y la información de indicadores técnicos, aplica estadísticas de probabilidad y la ley de Bayes para juzgar las tendencias futuras y generar señales de negociación.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. Combinación de varias informacionesLa estrategia no solo considera la información de precios, sino también la información de indicadores técnicos como el RSI, para evaluar de manera integral las tendencias futuras y mejorar la precisión de los juicios.

  2. Probabilidad de predicción: Hacer predicciones de probabilidad sobre el precio y la dirección de los cambios en el RSI a través de la distribución de probabilidad estadística, en lugar de una simple comparación numérica, para que el juicio sea más científico.

  3. Optimización Bayesiana: La ley de Bayes se utiliza para calcular la probabilidad de correlación y optimizar la probabilidad estadística original para que el juicio sea más preciso.

  4. Parámetros flexibles: Proporciona una variedad de parámetros para la optimización de ajustes, permite la adaptación de parámetros para diferentes mercados y activos, y mejora la adaptabilidad de las estrategias.

  5. Simple y eficazLa estrategia es clara, el cálculo de señales de comercio es simple, fácil de entender y optimizar, y el efecto es evidente.

Riesgo estratégico

La estrategia también presenta los siguientes riesgos principales:

  1. Dependencias de parámetrosEl efecto de la estrategia depende de la configuración de los parámetros, y los diferentes mercados necesitan ajustar una gran cantidad de parámetros para lograr un efecto óptimo, lo que aumenta la dificultad de operación de la estrategia.

  2. Probabilidad de errorDebido al tiempo limitado de estadística y a la cantidad limitada de muestras, las probabilidades calculadas podrían no coincidir con las tendencias reales, lo que podría conducir a un error de juicio.

  3. Eventos especialesLos eventos inesperados importantes pueden afectar la correlación entre los precios de mercado y el indicador RSI, lo que invalida la estrategia.

  4. Indicadores técnicos sin efectoEn algunos mercados, los indicadores técnicos, como el RSI, pueden generar señales de fallo, lo que hace que la estrategia falle.

Las soluciones para responder a los riesgos incluyen: optimización del proceso de configuración de parámetros, ajuste del tiempo estadístico y la cantidad de muestras, combinación de más información auxiliar, excepciones de intervención manual, etc.

Optimización de la estrategia

Las principales direcciones de optimización de la estrategia son:

  1. Cuadro de tiempo múltiple: puede ejecutar estrategias en varios períodos de tiempo (línea solar, línea de la luna, etc.), juicio integral, mejora de la estabilidad.

  2. Más indicadores: Añadir más señales de indicadores técnicos, como la forma de la línea K, el promedio de movimiento, etc., para una base de juicio más rica.

  3. Optimización del modeloAplicación de métodos como el aprendizaje automático para optimizar el modelo de Bayes y hacer los cálculos más precisos.

  4. Parámetros dinámicos: Modulo de optimización dinámica de los parámetros agregados, que permite ajustar los parámetros según los cambios en el mercado en tiempo real.

  5. Mecanismo de control de vientoLa estrategia de la compañía es: establecer el máximo retiro, hacer un solo movimiento, etc., para evitar grandes pérdidas en los mercados extremos.

  6. Mejoras integradasLa integración con otros tipos de estrategias o modelos para formar un mecanismo de votación y mejorar la estabilidad de los juicios.

Resumir

La estrategia primero calcula la distribución de probabilidades de los precios y el indicador RSI, luego calcula la probabilidad de composición utilizando la ley de Bayes, genera una señal de negociación cuando la probabilidad es mayor que un umbral dado y genera ganancias. La estrategia integra información de múltiples fuentes, aplica predicciones de probabilidad y optimización de Bayes, para un mejor rendimiento. Las principales direcciones de optimización incluyen ampliación del marco de tiempo, aumento de indicadores, dinámica de parámetros, etc.

Código Fuente de la Estrategia
/*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)