Comprar con baja volatilidad VS comprar con alta volatilidad

El autor:¿ Qué pasa?, Fecha: 2024-01-08 11:33:58
Las etiquetas:

img

Resumen general

Esta estrategia tiene como objetivo estudiar la diferencia entre comprar activos cuando la volatilidad es baja y cuando es alta.

Estrategia lógica

Esta estrategia determina la volatilidad calculando el ATR y su SMA. Específicamente, calcula el SMA de ATR, y luego calcula la relación entre el ATR y su SMA. Si esta relación es superior a la volatilidad de umbral definida por el usuarioTargetRatio, la volatilidad se considera alta. Si es inferior al umbral, la volatilidad se considera baja.

Dependiendo del modo elegido por el usuario, la estrategia genera señales de compra cuando la volatilidad es alta o baja. Una vez comprada, la estrategia se mantendrá durante un número de barras definidas por sellAfterNBarsLength y luego cerrará la posición.

Análisis de ventajas

Las principales ventajas de esta estrategia son las siguientes:

  1. Puede comparar intuitivamente el rendimiento de las estrategias de compra durante períodos de baja y alta volatilidad.
  2. Usar SMA para suavizar la ATR puede filtrar falsos brotes.
  3. Puede probar diferentes niveles de volatilidad ajustando los parámetros.

Análisis de riesgos

Los principales riesgos de esta estrategia son:

  1. Puede perder oportunidades de tendencia al alza de precios si sólo compra baja volatilidad.
  2. Puede aumentar el riesgo del sistema si solo se compra una alta volatilidad.
  3. La configuración inadecuada de los parámetros puede llevar a perder oportunidades de compra o a cerrar posiciones demasiado pronto.

Los riesgos anteriores pueden mitigarse ajustando los parámetros y combinando compras de diferentes niveles de volatilidad.

Direcciones de optimización

Esta estrategia se puede optimizar aún más mediante:

  1. Probando diferentes parámetros de longitud ATR.
  2. Añadiendo estrategias de stop loss.
  3. Combinando otros indicadores para filtrar falsos brotes.
  4. Optimización de los criterios de entrada y salida.

Conclusión

Esta estrategia puede comparar eficazmente el rendimiento de las estrategias de compra de baja volatilidad y de alta volatilidad. Utiliza SMA para suavizar el ATR y genera señales comerciales basadas en los niveles de volatilidad. La estrategia se puede mejorar a través del ajuste de parámetros y la optimización de condiciones. En general, esta estrategia proporciona una herramienta efectiva para investigar estrategias basadas en la volatilidad.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 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/
// © I11L

//@version=5
strategy("I11L - Better Buy Low Volatility or High Volatility?", overlay=false)

mode = input.string("Buy low Volatility",options = ["Buy low Volatility","Buy high Volatility"])
volatilityTargetRatio = input.float(1,minval = 0, maxval = 100,step=0.1, tooltip="1 equals the average atr for the security, a lower value means that the volatility is lower")
atrLength = input.int(14)

atr = ta.atr(atrLength) / close
avg_atr = ta.sma(atr,atrLength*5)
ratio = atr / avg_atr

sellAfterNBarsLength = input.int(5, step=5, minval=0)


var holdingBarsCounter = 0

if(strategy.opentrades > 0)
    holdingBarsCounter := holdingBarsCounter + 1


isBuy = false

if(mode == "Buy low Volatility")
    isBuy := ratio < volatilityTargetRatio
else
    isBuy := ratio > volatilityTargetRatio

isClose = holdingBarsCounter > sellAfterNBarsLength



if(isBuy)
    strategy.entry("Buy",strategy.long)

if(isClose)
    holdingBarsCounter := 0
    strategy.exit("Close",limit=close)

plot(ratio, color=isBuy[1] ? color.green : isClose[1] ? color.red : color.white)
plot(1, color=color.white)



Más.