Las operaciones de los pares de divisas de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés de los tipos de interés.

El autor:¿ Qué pasa?, Fecha: 2023-11-14 13:49:12
Las etiquetas:

img

Resumen general

Esta estrategia utiliza las rupturas de la banda de Bollinger para generar señales comerciales e implementar el comercio de pares entre dos activos positivamente correlacionados MCL y YG. Se hace largo MCL y corto YG cuando el precio de MCL toca la banda superior, y se hace corto MCL y largo YG cuando el precio de MCL toca la banda inferior, para operar a lo largo de la tendencia del precio.

Estrategia lógica

En primer lugar, la estrategia calcula la línea SMA y StdDev en función de los precios de cierre durante un cierto período. Luego se agrega un desplazamiento por encima y por debajo de la SMA para formar las bandas superior e inferior de las bandas de Bollinger. Se genera una señal de compra cuando el precio toca la banda superior, y una señal de venta cuando el precio toca la banda inferior.

La estrategia utiliza la lógica de negociación de breakout de las bandas de Bollinger: ir largo cuando el precio se rompe por encima de la banda superior y ir corto cuando el precio se rompe por debajo de la banda inferior. Las bandas de Bollinger ajustan dinámicamente el ancho de las bandas en función de la volatilidad del mercado, lo que ayuda a filtrar el ruido del mercado durante los períodos de rango.

Implementa el comercio de pares entre dos activos positivamente correlacionados MCL y YG. Cuando MCL rompe por encima de la banda superior, muestra que MCL está en una tendencia alcista.

Ventajas

  1. Las operaciones de ruptura basadas en bandas de Bollinger pueden filtrar eficazmente el ruido del mercado e identificar tendencias
  2. Las operaciones en pares de activos correlacionados pueden obtener rendimientos alfa de la divergencia de precios
  3. El dimensionamiento dinámico de las posiciones ayuda a controlar el riesgo de las operaciones individuales
  4. La lógica estándar de entrada y salida de ruptura hace que la lógica de la estrategia sea simple y clara

Los riesgos

  1. La regulación de los parámetros de las bandas de Bollinger puede dar lugar a demasiadas señales o señales poco claras.
  2. La disminución de la correlación entre los activos puede reducir las ganancias de la negociación del par
  3. Las rupturas pueden ser engañadas por señales falsas en mercados agitados, causando pérdidas
  4. No se aplicará ningún tipo de suspensión de pérdidas.

Los riesgos pueden reducirse optimizando los parámetros, seleccionando activos con una correlación y liquidez más fuertes, estableciendo un stop loss adecuado, etc.

Oportunidades de optimización

  1. Optimizar los parámetros de las bandas de Bollinger para encontrar la mejor combinación
  2. Pruebe más pares de activos correlacionados y seleccione la mejor combinación
  3. Añadir una lógica de stop loss para limitar las pérdidas en operaciones individuales
  4. Añadir más filtros para evitar señales falsas de fuga
  5. Incorporar otros factores como la confirmación de volumen para mejorar el tiempo de entrada

Resumen de las actividades

En general, la estrategia es simple y directa, capturando tendencias con bandas de Bollinger y ganando alfa de la negociación de pares. Pero hay margen de mejora en el ajuste de parámetros, stop loss y selección de pares.


/*backtest
start: 2022-11-07 00:00:00
end: 2023-11-13 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/
// © shark792

//@version=5

// 1. Define strategy settings
strategy(title="MCL-YG Pair Trading Strategy", overlay=true,
     pyramiding=0, initial_capital=10000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

smaLength = input.int(title="SMA Length", defval=20)
stdLength = input.int(title="StdDev Length", defval=20)

ubOffset = input.float(title="Upper Band Offset", defval=1, step=0.5)
lbOffset = input.float(title="Lower Band Offset", defval=1, step=0.5)

usePosSize = input.bool(title="Use Position Sizing?", defval=true)
riskPerc   = input.float(title="Risk %", defval=0.5, step=0.25)


// 2. Calculate strategy values
smaValue = ta.sma(close, smaLength)
stdDev   = ta.stdev(close, stdLength)

upperBand = smaValue + (stdDev * ubOffset)
lowerBand = smaValue - (stdDev * lbOffset)

riskEquity  = (riskPerc / 100) * strategy.equity
atrCurrency = (ta.atr(20) * syminfo.pointvalue)
posSize     = usePosSize ? math.floor(riskEquity / atrCurrency) : 1


// 3. Output strategy data
plot(series=smaValue, title="SMA", color=color.teal)

plot(series=upperBand, title="UB", color=color.green,
     linewidth=2)
plot(series=lowerBand, title="LB", color=color.red,
     linewidth=2)


// 4. Determine long trading conditions
enterLong = ta.crossover(close, upperBand)
exitLong  = ta.crossunder(close, smaValue)


// 5. Code short trading conditions
enterShort = ta.crossunder(close, lowerBand)
exitShort  = ta.crossover(close, smaValue)


// 6. Submit entry orders
if enterLong
    strategy.entry(id="EL", direction=strategy.long, qty=posSize)

if enterShort
    strategy.entry(id="ES", direction=strategy.short, qty=posSize)


// 7. Submit exit orders
strategy.close(id="EL", when=exitLong)
strategy.close(id="ES", when=exitShort)



Más.