Estrategia cuantitativa de Bollinger basada en la inversión de la banda de volatilidad


Fecha de creación: 2023-11-22 17:44:40 Última modificación: 2023-11-22 17:44:40
Copiar: 0 Número de Visitas: 673
1
Seguir
1617
Seguidores

Estrategia cuantitativa de Bollinger basada en la inversión de la banda de volatilidad

Descripción general

Esta estrategia se llama estrategia cuantitativa de Bollinger basada en la reversión de la banda de fluctuación. La estrategia utiliza el alza y bajada de la banda de Bollinger para realizar compras y ventas. Se compra cuando el precio de la acción está cerca de la banda de fluctuación y hay signos de ruptura hacia abajo, lo que indica que el precio de la acción podría estar en el momento de la reversión; se vende cuando el precio de la acción sube hasta cerca de la banda de fluctuación, lo que indica que el precio de la acción podría revertirse hacia abajo.

Principio de estrategia

La estrategia utiliza el indicador RSI para determinar el momento de comprar. En concreto, determina si el precio de cierre de la barra más reciente es inferior al precio mínimo de las 6 barras anteriores, mientras que el ancho de banda de Brin (BBW) es mayor que el umbral establecido y el índice de banda de Brin (BBR) se encuentra en el rango establecido. Si se cumplen estas condiciones, indica que el precio de la acción puede estar en un momento de reversión, en el que se abre una posición de compra.

La salida es más simple, cuando el RSI es mayor que 70, lo que indica que el precio de las acciones está demasiado caliente, y se vende una posición cerrada.

Análisis de las ventajas

La mayor ventaja de esta estrategia es que utiliza el alza y bajada de la banda de Bollinger para juzgar, cuando la banda de Bollinger se invierte, se compra y se vende, se puede aprovechar la oportunidad de reversión a corto plazo. En comparación con la simple estrategia RSI, esta estrategia es más rigurosa en el momento de comprar y evitar la probabilidad de una transacción errónea.

Además, la estrategia es más sensible a los parámetros y se puede optimizar para diferentes variedades ajustando los parámetros de BBW, BBR, para obtener mejores resultados.

Análisis de riesgos

El principal riesgo de esta estrategia es que las bandas de Brin no pueden predecir un cambio de precio del 100%, y si se hace en el momento equivocado, es fácil que se produzcan situaciones de pérdidas o pérdidas virtuales.

Además, las fluctuaciones a corto plazo en el precio de las acciones pueden conducir a una estrategia de apertura y liquidación frecuentes, aumentando los costos de transacción y los costos de deslizamiento. Si la reversión no es lo suficientemente fuerte, existe el riesgo de liquidación con pérdidas.

Dirección de optimización

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Parámetros de optimización. Se pueden probar y optimizar los parámetros BBW, BBR, etc. con métodos más precisos, para seleccionar los parámetros óptimos para diferentes variedades de transacciones.

  2. Se puede configurar un stop móvil o un stop temporal para controlar la máxima pérdida.

  3. Se puede combinar con otros indicadores, como KDJ, MACD, etc., para que la señal de compra sea más precisa y confiable.

  4. Mecanismos de salida optimizados. Los mecanismos de salida actuales son más simples y se pueden optimizar, por ejemplo, estableciendo paradas móviles adecuadas o retirándose de una situación de fluctuación.

Resumir

Esta estrategia utiliza las características de las bandas de Bollinger para determinar el momento en que los precios pueden invertir, comprar y vender. En comparación con un solo indicador como el RSI, esta estrategia determina el momento con mayor precisión.

Código Fuente de la Estrategia
/*backtest
start: 2022-11-15 00:00:00
end: 2023-11-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

//study(title = "Bolinger strategy", overlay=true)
strategy("Bolinger strategy",currency="SEK",default_qty_value=10000,default_qty_type=strategy.cash,max_bars_back=50)
len = 5
src = close
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))


bbw3level = input(15, title="bbw3")
bbr3level = input(0.45, title="bbr3level")
bbrlower = input(0.4480, title="bbrlower")
bbrhigher = input(0.4560, title="bbrhigher")
sincelowestmin = input(7, title="sincelowestmin")
sincelowestmax = input(57, title="sincelowestmax")


length = input(20, minval=1)
mult = 20
src3 = close[3]
basis3 = sma(src3, length)
dev3 = mult * stdev(src3, length)
upper3 = basis3 + dev3
lower3 = basis3 - dev3
bbr3 = (src3 - lower3)/(upper3 - lower3)
bbw3 = (upper3-lower3)/basis3*100


basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
bbr = (src - lower)/(upper - lower)
bbw = (upper-lower)/basis*100

criteriamet = 0
crossUnderB0 = crossunder(bbr,0)

since_x_under = barssince(crossUnderB0)


sincelowest = barssince(close[6] > close[3] and close[5] > close[3] and close[4] > close[3] and close[2] > close[3] and close[1] > close[3] and close > close[3] and bbw3 > bbw3level and bbr3 < bbr3level) //  and bbr3 < 0 

if sincelowest > sincelowestmin and sincelowest < sincelowestmax and bbr > bbrlower and bbr < bbrhigher
	criteriamet := 1
else
	criteriamet := 0	
//plot (criteriamet)

//exit 
exitmet = 0
if rsi > 70
	exitmet := 1
else
	exitmet := 0

if criteriamet == 1
	strategy.entry("long", strategy.long)
if exitmet == 1
	strategy.close("long")