Estrategia de negociación cuantitativa basada en el índice de rentabilidad de las acciones y en las IFM

El autor:¿ Qué pasa?, Fecha: 2024-01-29 10:11:14
Las etiquetas:

img

Resumen general

Esta estrategia combina los indicadores del RSI estocástico y de las IFM para identificar las condiciones de sobrecompra y sobreventa y tomar decisiones de compra y venta.

Principio de la estrategia

El indicador de RSI estocástico combina las ventajas del oscilador estocástico (KDJ) y el índice de fuerza relativa (RSI). Primero calcula los valores de RSI durante un período de tiempo a través del RSI, y luego aplica el método estocástico para calcular los valores de K y D de este conjunto de RSI para determinar si el RSI está sobrecomprado o sobrevendido.

El índice de flujo de dinero (MFI) juzga la relación entre la oferta y la demanda del mercado y las condiciones de sobrecompra/sobreventa basadas en los cambios en el volumen y el precio. El indicador cree que los precios en aumento reflejan que las fuerzas alcistas son más fuertes que las fuerzas bajistas.

Esta estrategia establece los niveles de sobrecompra y sobreventa para el RSI estocástico y las IFM. Cuando la línea K del indicador del RSI estocástico cruza la línea de sobreventa hacia arriba o el indicador de la IFM cruza la línea de sobreventa hacia arriba, se genera una señal de compra. Cuando la línea K del indicador del RSI estocástico cruza la línea de sobrecompra hacia abajo o el indicador de la IFM cruza la línea de sobrecompra hacia abajo, se genera una señal de venta.

Ventajas de la estrategia

Esta estrategia de combinación de los indicadores estocásticos de IOR y de las IFM permite identificar de manera más fiable las condiciones de sobrecompra/sobreventa en el mercado y evitar la generación de señales erróneas.

En primer lugar, el indicador estocástico RSI en sí tiene una mayor fiabilidad y sensibilidad, y puede juzgar las condiciones de sobrecompra / sobreventa con más precisión que el oscilador estocástico ordinario.

En segundo lugar, el indicador de IFM evalúa las condiciones de sobrecompra/sobreventa desde la perspectiva de las variaciones de volumen y precio, proporcionando una referencia desde otra dimensión para evitar errores causados por la evaluación desde una sola perspectiva.

Por último, los indicadores de RSI estocástico y de IFM son complementarios. El RSI estocástico se centra más en los cambios de precios para determinar las condiciones del mercado, mientras que las IFM se centran más en los cambios de volumen y facturación.

Riesgos de la estrategia

Los principales riesgos de esta estrategia incluyen:

  1. El riesgo de que los indicadores generen señales erróneas. Aunque los indicadores estocásticos RSI y las IFM tienen una alta fiabilidad, pueden generar señales erróneas de compra/venta en ciertos entornos de mercado, lo que resulta en pérdidas comerciales.

  2. El riesgo de ajustes incorrectos de los parámetros para los indicadores sobrecomprados/sobrevendidos. Los parámetros de los indicadores estocásticos RSI y de las IFM tienen una gran influencia en las señales de negociación. Si los parámetros se establecen incorrectamente, debilitará la utilidad de los indicadores.

  3. El riesgo de retraso de las señales de los indicadores: los indicadores estocásticos RSI y de las IFM presentan más o menos un cierto retraso, lo que puede hacer que se pierda el mejor momento de compra/venta.

  4. Si el mercado se consolida lateralmente durante los períodos de vacío cuando los indicadores no han emitido ninguna señal, esto dará lugar a cierto costo de oportunidad.

Las soluciones a los riesgos correspondientes incluyen: ajustar los parámetros del indicador, establecer el stop loss, reducir el tamaño de la posición, incorporar otros indicadores, etc.

Direcciones de optimización de la estrategia

La estrategia se puede optimizar en los siguientes aspectos:

  1. Incorporar indicadores de impulso. Agregar condiciones de juicio basadas en señales de indicadores de impulso sobre las señales de indicadores de RSI estocásticos y de IFM para evitar la negociación durante los períodos de consolidación. Por ejemplo, agregar criterios de ruptura para el precio/volumen de cierre.

  2. Añadir un mecanismo de stop loss. Para las tenencias a largo plazo, añadir un stop loss móvil. Para el comercio a corto plazo, establecer puntos de stop loss para controlar la pérdida única.

  3. Optimizar la configuración de los parámetros: ajustar los parámetros del RSI estocástico y de las IFM, como la longitud, la posición de las líneas sobrecompradas / sobrevendidas, etc., para que la configuración de los parámetros se adapte mejor a las condiciones del mercado.

  4. Ajustar dinámicamente las estrategias de acuerdo con las condiciones del mercado. Identificar tendencias y mercados de consolidación, ejecutar estrategias de seguimiento de tendencias durante los mercados de tendencias y desactivar estrategias durante los mercados de consolidación para evitar operaciones innecesarias.

  5. Incorporar algoritmos de aprendizaje automático para optimizar automáticamente. Aplicar algoritmos de aprendizaje de refuerzo para ajustar dinámicamente los parámetros y reglas basados en los resultados de las pruebas de retroceso para lograr la optimización automática de las estrategias.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © carterac

//@version=5
strategy("MFI and Stoch RSI Bot", overlay=true)

// Stochastic RSI settings
length = input(14, title="Stochastic RSI Length")
smoothK = input(3, title="Stochastic RSI K")
smoothD = input(3, title="Stochastic RSI D")

// Stochastic RSI overbought and oversold levels
stochRSIOverbought = input(70, title="Stochastic RSI Overbought Level")
stochRSIOversold = input(20, title="Stochastic RSI Oversold Level")

// Money Flow Index (MFI) settings
mfiLength = input(14, title="MFI Length")
mfiOverbought = input(70, title="MFI Overbought Level")
mfiOversold = input(20, title="MFI Oversold Level")

// Calculate RSI
rsiValue = ta.rsi(close, 11)

// Calculate Stochastic RSI
rsiHigh = ta.highest(rsiValue, 11)
rsiLow = ta.lowest(rsiValue, 7)
k = ta.sma(100 * (rsiValue - rsiLow) / (rsiHigh - rsiLow), 3)
d = ta.sma(k, 3)

// Calculate MFI
mfiValue = ta.mfi(volume, mfiLength)

// Determine buy and sell signals
buyCondition = ta.crossover(k, stochRSIOversold) or ta.crossover(mfiValue, mfiOversold)
sellCondition = ta.crossunder(k, stochRSIOverbought) or ta.crossunder(mfiValue, mfiOverbought)

// Plotting signals
plotshape(buyCondition, location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(sellCondition, location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)


Más.