Estrategia de negociación cuantitativa de FNGU basada en bandas de Bollinger y RSI

El autor:¿ Qué pasa?, fecha: 2024-01-29 14:53:47
Las etiquetas:

img

Resumen general

Esta estrategia se llama FNGU Quantitative Trading Strategy Based on Bollinger Bands and RSI. Es una estrategia de largo plazo diseñada específicamente para las acciones FNGU. La estrategia utiliza principalmente las bandas de Bollinger y los indicadores RSI para identificar las condiciones de sobrecompra y sobreventa de la acción para generar señales de compra y venta.

Estrategia lógica

La lógica central de esta estrategia se basa en la combinación de bandas de Bollinger e indicadores RSI.

En primer lugar, las bandas de Bollinger contienen tres líneas: línea media, línea superior y línea inferior. La línea media es la media móvil simple de n días, mientras que la línea superior y la línea inferior son k veces la desviación estándar por encima y por debajo de la línea media. Cuando el precio alcanza o toca la línea superior o inferior, indica que la acción está en estado de sobrecompra o sobreventa.

En esta estrategia, la duración del período de la línea media de Bollinger Bands es de 235 días, y el valor del parámetro k es 2. Genera señales de compra cuando el precio cae por debajo de la línea inferior de Bollinger o cruza por encima de la línea media, y genera señales de venta cuando el precio se eleva por encima de la línea superior de Bollinger.

En segundo lugar, el indicador RSI refleja el nivel de sobrecompra / sobreventa de una acción. RSI por encima de 70 sugiere el estado de sobrecompra, mientras que por debajo de 30 el estado de sobreventa.

En esta estrategia, las bandas de Bollinger y los indicadores RSI se utilizan juntos: las señales de compra se generan cuando el RSI rompe el nivel de sobreventa mientras el precio toca o cae por debajo de la línea inferior de Bollinger. Las señales de venta se generan cuando el RSI se rompe desde el nivel de sobrecompra mientras el precio sube por encima de la línea superior de Bollinger.

Ventajas de la estrategia

Esta estrategia tiene las siguientes ventajas:

  1. La combinación de bandas de Bollinger y el RSI hace que las señales de compra/venta sean más precisas y confiables.
  2. Las bandas de Bollinger identifican las zonas de precios sobrecompradas/sobrevendidas, mientras que el RSI filtra señales falsas.
  3. Sólo lleva a cabo operaciones largas, no hay necesidad de considerar los riesgos de corto.
  4. Los parámetros optimizados lo hacen adecuado específicamente para el stock de GNLF altamente volátil.
  5. Implementa un stop loss automatizado para reducir los riesgos de pérdida.
  6. La realización de la codificación es simple y clara, fácil de entender y modificar.

Riesgos y soluciones

También hay algunos riesgos asociados con esta estrategia:

  1. Tanto las bandas de Bollinger como el RSI pueden generar señales falsas, lo que conduce fácilmente a un sobreajuste.
  2. El FNGU en sí tiene una alta volatilidad. La configuración inadecuada de stop loss puede aumentar las pérdidas.
  3. La estrategia sólo se aplica a las acciones altamente volátiles como FNGU en lugar de otras.
  4. Aunque optimizados, los parámetros pueden quedarse obsoletos con los cambios del mercado, lo que requiere un monitoreo y una optimización continuos.

Direcciones para la optimización de la estrategia

Hay varias direcciones para optimizar aún más esta estrategia:

  1. Agregue otros indicadores técnicos como KDJ y MACD para producir señales más precisas.
  2. Optimizar los parámetros de las bandas de Bollinger y el RSI para adaptar más tipos de acciones.
  3. Incorporar modelos de aprendizaje automático para ayudar a tomar decisiones con más datos.
  4. Implementar el comercio interperiódico utilizando datos de marcos de tiempo más altos.
  5. Combine el análisis del sentimiento utilizando datos de las redes sociales para generar señales comerciales.
  6. Desarrollar un sistema de backtesting cuantitativo para probar rápidamente diferentes configuraciones de parámetros.

Conclusión

Esta es una estrategia de largo plazo particularmente adecuada para acciones altamente volátiles como el FNGU. Al combinar las bandas de Bollinger y el RSI, genera señales comerciales alrededor de los niveles de precios sobrecomprados / sobrevendidos, con el objetivo de capturar oportunidades de inversión de precios.


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

//@version=4
strategy("Bollinger + RSI + EMA, Double Strategy Long-Only (by EMKM)", shorttitle="1Min Killer", overlay=true)

///////////// RSI
RSIlength = input(2, title="RSI Period Length") // Adjusted RSI period length
RSIoverSold = 50
RSIoverBought = 50
price = close
vrsi = rsi(price, RSIlength)

///////////// Bollinger Bands
BBlength = input(235, minval=1, title="Bollinger Period Length") // Adjusted Bollinger period length
BBmult = 2
BBbasis = sma(price, BBlength)
BBdev = BBmult * stdev(price, BBlength)
BBupper = BBbasis + BBdev
BBlower = BBbasis - BBdev
BBtarget38 = BBbasis + 0.38 * BBdev  // Line at 38% of Bollinger Band width
BBtarget50 = BBbasis + 0.50 * BBdev  // Line at 50% of Bollinger Band width

///////////// EMA
emaLength = input(20, title="EMA Period Length")
ema = ema(close, emaLength)

source = close
buyEntry = crossover(source, BBlower) or (close < BBlower and close > BBbasis) or (low < BBlower and close > BBbasis) // Add condition for low touching Bollinger Band
sellEntry = crossunder(source, BBupper)

///////////// Plotting
plot(BBbasis, color=color.aqua, title="Bollinger Bands SMA Basis Line")
plot(BBupper, color=color.silver, title="Bollinger Bands Upper Line")
plot(BBlower, color=color.silver, title="Bollinger Bands Lower Line")
plot(BBtarget38, color=color.blue, linewidth=2, title="SMA at 38% of BB width")  // Line at 38%
plot(BBtarget50, color=color.green, linewidth=2, title="SMA at 50% of BB width")  // Line at 50%
plot(ema, color=color.orange, title="EMA")  // Plot EMA

///////////// RSI + Bollinger Bands Strategy
longCondition = crossover(vrsi, RSIoverSold) and buyEntry
sellCondition = crossunder(vrsi, RSIoverBought) and close > BBupper

close_long = close > BBbasis
close_short = close < BBbasis

if (not na(vrsi))
    if longCondition
        strategy.entry("Buy", strategy.long, qty=10, stop=BBlower, comment="Buy")
    else
        strategy.cancel(id="Buy")
        
    if close_long
        strategy.close("Buy")

if (sellCondition)
    strategy.entry("Sell", strategy.short, qty=10, stop=BBupper, comment="Sell")
else
    strategy.cancel(id="Sell")

if close_short
    strategy.close("Sell")


Más.