Indice de doble impulso y estrategia híbrida de inversión

El autor:¿ Qué pasa?, Fecha: 2024-02-06 12:22:32
Las etiquetas:

img

Resumen general

El índice de doble impulso y la estrategia híbrida de reversión es una estrategia compuesta que combina las estrategias de reversión y impulso.

Estrategia lógica

La estrategia consta de dos subestrategias:

  1. 123 Estrategia de reversión. Se va largo cuando el precio de cierre sube durante dos días consecutivos y el Stoch está por debajo de 50; se va corto cuando el precio de cierre cae durante dos días consecutivos y el Stoch está por encima de 50.

  2. Estrategia del índice de selección de productos básicos (CSI). Combina el rango verdadero promedio (ATR) y el índice de movimiento direccional promedio (ADX). ATR refleja la volatilidad del mercado y ADX refleja la fuerza de la tendencia. Cuanto mayor sea el valor del CSI, más fuerte será la tendencia y la volatilidad del mercado.

La estrategia completa toma la estrategia 123 Reversal como el cuerpo principal y CSI como una confirmación asistente. Las señales de negociación se generan solo cuando las señales de ambas estrategias son consistentes. Va largo cuando el precio de cierre aumenta durante dos días consecutivos y Stoch está por debajo de 50, y al mismo tiempo cuando CSI cruza por encima de su promedio móvil; va corto cuando el precio de cierre cae durante dos días consecutivos y Stoch está por encima de 50, y al mismo tiempo cuando CSI cruza por debajo de su promedio móvil.

Esto garantiza el atributo de reversión de las señales comerciales, mientras que agregar CSI al filtro puede reducir las señales falsas.

Ventajas

La estrategia tiene las siguientes ventajas:

  1. La combinación de la inversión y el impulso mejora la precisión de la señal. La 123 Reversión como la señal principal puede capturar inversiones repentinas y violentas. CSI como confirmación puede filtrar algo de ruido.

  2. La adopción de filtros compuestos puede reducir en gran medida las posiciones netas. Incluso si las subestrategias en sí tienen algunas señales falsas, la señal final debe confirmarse dos veces, lo que puede filtrar la mayoría de las señales falsas y minimizar la apertura y cierre innecesarias de posiciones.

  3. Los parámetros de las subestrategias se pueden optimizar por separado sin interferencia entre sí, lo que facilita la búsqueda de la combinación óptima de parámetros.

  4. Las subestrategias se pueden activar por separado. La estrategia admite el uso solo de 123 Reversión o CSI para el comercio solo. Esto proporciona flexibilidad.

Análisis de riesgos

Aunque la estrategia reduce significativamente las señales falsas mediante el filtrado compuesto, siguen existiendo los siguientes riesgos principales:

  1. La frecuencia de generación de señales de estrategia es relativamente baja. Al adoptar la doble confirmación, una cierta proporción de oportunidades comerciales se filtrarán inevitablemente. Este es el costo inevitable para lograr una alta tasa de ganancia.

  2. Si los parámetros de las dos subestrategias son inadecuados, puede resultar en señales raras o incluso nulas.

  3. 123 La inversión pertenece a las operaciones contra tendencia. En caso de avances de precios consecutivos y violentos de una sola dirección, la estrategia se enfrentará a mayores riesgos.

Dirección de optimización

Las principales posibilidades de optimización de esta estrategia se encuentran en las siguientes áreas:

  1. Optimizar los parámetros intrínsecos de cada subestrategia para encontrar las combinaciones óptimas de parámetros, incluidos los parámetros de Stoch, CSI, etc.

  2. Prueba de adición en diferentes filtros de condiciones de mercado, como el uso de CSI solo cuando prevalece la tendencia, el uso de 123 Reversión solo en mercados de rango, etc. Esto puede superar las desventajas de las subestrategias hasta cierto punto.

  3. Desarrollar módulos de autoadaptación de parámetros y optimización dinámica, que permitan a la estrategia ajustar automáticamente los parámetros y realizar un seguimiento de las combinaciones óptimas de parámetros de acuerdo con las condiciones del mercado y las estadísticas en tiempo real.

  4. Prueba diferentes mecanismos de stop loss. Un stop loss adecuado puede controlar los riesgos de manera efectiva y reducir la apertura y cierre innecesarias de posiciones.

Resumen de las actividades

La estrategia híbrida de doble impulso y inversión utiliza las ideas de confirmación y combinación de múltiples señales, haciendo buen uso de las respectivas fortalezas de las estrategias de inversión e impulso, al tiempo que supera sus deficiencias mediante el filtrado mutuo, para lograr una alta eficiencia y estabilidad.


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/10/2019
// 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
// The Commodity Selection Index ("CSI") is a momentum indicator. It was 
// developed by Welles Wilder and is presented in his book New Concepts in 
// Technical Trading Systems. The name of the index reflects its primary purpose. 
// That is, to help select commodities suitable for short-term trading.
// A high CSI rating indicates that the commodity has strong trending and volatility 
// characteristics. The trending characteristics are brought out by the Directional 
// Movement factor in the calculation--the volatility characteristic by the Average 
// True Range factor.
// Wilder's approach is to trade commodities with high CSI values (relative to other 
// commodities). Because these commodities are highly volatile, they have the potential 
// to make the "most money in the shortest period of time." High CSI values imply 
// trending characteristics which make it easier to trade the security.
// The Commodity Selection Index is designed for short-term traders who can handle 
// the risks associated with highly volatile markets.
//
// 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

fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

CSI(Length, Commission, Margin, PointValue) =>
    pos = 0.0
    K = 100 * ((PointValue / sqrt(Margin) / (150 + Commission)))
    xATR = atr(Length)
    xADX = fADX(Length)
    nADXR = (xADX + xADX[Length]) * 0.5
    xCSI = K * xATR * nADXR
    xMACSI = sma(xCSI, Length)
    pos := iff(xCSI < xMACSI, 1,
    	     iff(xCSI > xMACSI, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & Commodity Selection Index", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
PointValue = input(50)
Margin = input(3000)
Commission = input(10)
LengthCSI = input(14)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCSI = CSI(LengthCSI, Commission, Margin, PointValue)
pos = iff(posReversal123 == 1 and posCSI == 1 , 1,
	   iff(posReversal123 == -1 and posCSI == -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.