Estrategia de combinación de volatilidad de inversión de tendencia

El autor:¿ Qué pasa?, Fecha: 2023-10-24 14:23:58
Las etiquetas:

img

Resumen general

Esta estrategia combina una estrategia de inversión de tendencia con una estrategia de volatilidad estadística para generar señales comerciales más fuertes.

Cómo funciona

La estrategia consta de dos partes:

  1. Estrategia de reversión de tendencia

    • Identifique los puntos de reversión de tendencia utilizando el patrón 123. Específicamente, vaya largo si el cierre ha aumentado durante 2 días consecutivos y la línea lenta estocástica de 9 días está por debajo de 50; vaya corto si el cierre ha caído durante 2 días consecutivos y la línea rápida estocástica de 9 días está por encima de 50.
  2. Estrategia estadística de volatilidad

    • Calcular la volatilidad estadística de 30 días utilizando el Método de Valor Extremo. Ir largo si la volatilidad es superior al 0,5%; ir corto si la volatilidad es inferior al 0,16%.

La estrategia genera una señal comercial solo cuando ambas estrategias están de acuerdo en la dirección (ambas largas o ambas cortas).

Análisis de ventajas

La estrategia combinada mejora la fiabilidad de la señal mediante la combinación de dos tipos diferentes de estrategias:

  1. El patrón 123 captura con precisión los puntos de inversión de tendencia y evita ser engañado por picos de precios únicos.

  2. La volatilidad estadística se centra en los períodos de alta volatilidad y de alta oportunidad basados en el movimiento del mercado durante el último mes.

Al verificarse entre sí, las dos estrategias combinadas capturan los puntos clave de inflexión del mercado con mayor precisión y generan señales comerciales más precisas.

Análisis de riesgos

  1. 123 patrones no pueden evitar completamente el riesgo de fallas erráticas.

  2. La volatilidad estadística solo considera datos históricos y no puede predecir cambios futuros en la volatilidad.

  3. Ambas estrategias dependen en gran medida del ajuste de parámetros.

  4. Aunque es más confiable en general, el enfoque combinado puede perder algunas señales fuertes de las estrategias individuales.

Áreas de mejora

  1. Incorporar más indicadores como Bollinger Bands, KDJ para formar un mecanismo de votación.

  2. Añadir algoritmos de aprendizaje automático para determinar las probabilidades de inversión de tendencia utilizando más datos históricos.

  3. Establezca umbrales de intensidad de la señal para filtrar el ruido.

  4. Optimizar los parámetros para diferentes productos y plazos.

  5. Añadir mecanismos de stop loss para controlar el riesgo de la estrategia combinada.

Conclusión

La estrategia mejora la calidad de la señal al combinar estrategias de inversión de tendencia y volatilidad estadística, proporcionando señales comerciales más precisas alrededor de los puntos de inflexión del mercado.


/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/07/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// This indicator used to calculate the statistical volatility, sometime 
// called historical volatility, based on the Extreme Value Method.
// Please use this link to get more information about Volatility.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


SV(Length,TopBand,LowBand) =>
    pos = 0.0
    xMaxC = highest(close, Length)
    xMaxH = highest(high, Length)
    xMinC = lowest(close, Length)
    xMinL = lowest(low, Length)
    SqrTime = sqrt(253 / Length)
    Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
    nRes = iff(Vol < 0,  0, iff(Vol > 2.99, 2.99, Vol))
    pos := iff(nRes > TopBand, 1,
    	     iff(nRes < LowBand, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Statistical Volatility", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Statistical Volatility ----")
LengthSV = input(30, minval=1)
TopBand = input(0.005, step=0.001)
LowBand = input(0.0016, step=0.001)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posSV = SV(LengthSV,TopBand,LowBand)
pos = iff(posReversal123 == 1 and posSV == 1 , 1,
	   iff(posReversal123 == -1 and posSV == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1 ) 
    strategy.entry("Long", strategy.long)
if (possig == -1 )
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Más.